html body :is(.site-shell.page-shell,.site-shell.case-study-shell){--wsol-void:#070706;--wsol-signal:#f5340e;--wsol-ink:#f2efea;--wsol-mute:#8a8880;--wsol-dim:#55534e;--wsol-panel:#161513;--wsol-raised:#0b0b0a;--wsol-line:#f2efea38;--wsol-line-soft:#f2efea1f;--bg:var(--wsol-void);--bg-soft:var(--wsol-raised);--panel:var(--wsol-panel);--panel-strong:var(--wsol-panel);--panel-solid:var(--wsol-panel);--line:var(--wsol-line);--line-strong:var(--wsol-signal);--text:var(--wsol-ink);--muted:var(--wsol-mute);--soft:var(--wsol-dim);--blue:var(--wsol-ink);--blue-hot:var(--wsol-signal);--violet:var(--wsol-signal);--magenta:var(--wsol-signal);--cyan:var(--wsol-signal);--brand-navy:var(--wsol-ink);--brand-paper:var(--wsol-void);--brand-white:var(--wsol-ink);--brand-orange:var(--wsol-signal);--brand-wash:var(--wsol-raised);--radius:0px;--radius-sm:0px;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;max-width:100%;position:relative;overflow-x:clip;background:var(--wsol-void)!important;color:var(--wsol-ink)!important}:is(body:has(.site-shell.page-shell),body:has(.site-shell.case-study-shell)){color:#f2efea!important;background:#070706!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell):before,html body :is(.site-shell.page-shell,.site-shell.case-study-shell) main{background:var(--wsol-void)!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(.grid-field,.scan-field,.brand-cursor-dot){display:none!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) *{scrollbar-color:var(--wsol-signal) var(--wsol-void)}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) ::selection{background:var(--wsol-signal);color:var(--wsol-void)}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(h1,h2,h3,.section-title,.hero-title,.page-title){margin-top:0;color:var(--wsol-ink)!important;font-family:var(--font-frank), "Frank Ruhl Libre", Georgia, serif!important;letter-spacing:-.035em!important;text-shadow:none!important;font-weight:450!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(p,li,dd){color:var(--wsol-mute)}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(.eyebrow,.kicker,.number-badge,.work-project-topline span,.case-study-story-block>span){text-transform:uppercase;color:var(--wsol-signal)!important;font-family:var(--font-heebo), ui-monospace, "SFMono-Regular", Consolas, monospace!important;letter-spacing:.11em!important;font-size:.74rem!important;font-style:normal!important;font-weight:750!important;line-height:1.2!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) a{text-underline-offset:.22em}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(a,button,input,select,textarea):focus-visible{outline:2px solid var(--wsol-signal)!important;outline-offset:3px!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav{z-index:1000!important;border:0!important;border-bottom:1px solid var(--wsol-line)!important;width:100%!important;max-width:none!important;min-height:68px!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;color:var(--wsol-ink)!important;opacity:1!important;direction:ltr!important;background:#070706f5!important;border-radius:0!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:clamp(24px,4vw,72px)!important;padding:0 clamp(18px,3vw,44px)!important;display:grid!important;inset:0 0 auto!important;transform:none!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav .brand-mark{color:var(--wsol-ink)!important;justify-self:start!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav .brand-lockup{align-items:center!important;gap:10px!important;display:inline-flex!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav .brand-emblem{filter:none!important;width:30px!important;height:30px!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav .brand-word{color:var(--wsol-ink)!important;font-family:var(--font-heebo), Arial, sans-serif!important;letter-spacing:.14em!important;font-size:.98rem!important;font-weight:760!important;display:inline!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav .nav-menu{direction:ltr!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:clamp(16px,2vw,32px)!important;min-width:0!important;display:grid!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav .nav-links{direction:ltr!important;justify-content:flex-end!important;gap:clamp(12px,1.35vw,24px)!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav .nav-links a{min-height:44px!important;color:var(--wsol-mute)!important;box-shadow:none!important;direction:rtl!important;background:0 0!important;border:0!important;border-radius:0!important;padding:0!important;font-size:.8rem!important;font-weight:660!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav .nav-links a:after{display:none!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav .nav-links a:before{width:100%!important;height:2px!important;box-shadow:none!important;background:0 0!important;border-radius:0!important;inset:auto 0 0!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav .nav-links a:is(:hover,:focus-visible),html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav .nav-links a[aria-current=page]{color:var(--wsol-ink)!important;text-shadow:none!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav .nav-links a[aria-current=page]:before{background:var(--wsol-signal)!important;box-shadow:none!important;display:block!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav .nav-actions{direction:ltr!important;gap:8px!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav :is(.language-switch,.nav-cta,.nav-toggle){min-height:44px!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-radius:0!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav .language-switch{border:1px solid var(--wsol-line)!important;min-width:44px!important;color:var(--wsol-ink)!important;background:0 0!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav .nav-cta{border:1px solid var(--wsol-signal)!important;background:var(--wsol-signal)!important;color:var(--wsol-void)!important;padding:0 18px!important;font-weight:780!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav .nav-cta:is(:hover,:focus-visible){background:var(--wsol-ink)!important;border-color:var(--wsol-ink)!important;color:var(--wsol-void)!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(.button,.work-hero-actions a,.case-study-back,.case-study-overview a,.case-study-next-actions a,.blog-index-link,.blog-resource-topics a,.blog-resource-starting-points a,.work-filter-bar button,.load-more-control button){transform:none;border:1px solid var(--wsol-line)!important;min-height:44px!important;color:var(--wsol-ink)!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important;border-radius:0!important;text-decoration:none!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(.button-primary,.work-hero-actions a:first-child,.blog-index-link){border-color:var(--wsol-signal)!important;background:var(--wsol-signal)!important;color:var(--wsol-void)!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(.button,.work-hero-actions a,.case-study-back,.case-study-overview a,.case-study-next-actions a,.blog-index-link,.blog-resource-topics a,.blog-resource-starting-points a,.work-filter-bar button,.load-more-control button):is(:hover,:focus-visible){border-color:var(--wsol-signal)!important;background:var(--wsol-signal)!important;color:var(--wsol-void)!important;box-shadow:none!important;transform:none!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(.page-hero,.legacy-hero,.work-hero-v2,.case-study-hero,.hero-section){border:0!important;border-bottom:1px solid var(--wsol-line)!important;background:var(--wsol-void)!important;min-height:auto!important;box-shadow:none!important;color:var(--wsol-ink)!important;background-image:none!important;border-radius:0!important;padding-top:clamp(126px,10vw,166px)!important;padding-bottom:clamp(58px,7vw,94px)!important;position:relative!important;overflow:hidden!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(.page-hero,.legacy-hero,.work-hero-v2,.case-study-hero,.hero-section):before,html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(.page-hero,.legacy-hero,.work-hero-v2,.case-study-hero,.hero-section):after{content:none!important;background:0 0!important;display:none!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(.page-hero-copy h1,.legacy-hero h1,.work-hero-copy h1,.case-study-hero-copy h1,.hero-copy h1){text-wrap:balance;max-width:11ch!important;color:var(--wsol-ink)!important;letter-spacing:-.045em!important;text-shadow:none!important;margin:0!important;font-size:clamp(3.8rem,6.6vw,7.4rem)!important;line-height:.94!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(.page-hero .hero-text,.legacy-hero .hero-text,.work-hero-copy>p:not(.eyebrow),.case-study-intro,.hero-copy>p){max-width:62ch!important;color:var(--wsol-mute)!important;font-size:clamp(1rem,1.25vw,1.2rem)!important;line-height:1.72!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .page-hero-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.55fr)!important;align-items:end!important;gap:clamp(36px,6vw,92px)!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(.page-note-stack,.page-note,.page-visual-card){box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important;border-radius:0!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .page-note-stack{border-top:1px solid var(--wsol-line)!important;gap:0!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .page-note{border:0!important;border-bottom:1px solid var(--wsol-line)!important;padding:18px 0!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .page-note :is(h2,p){color:var(--wsol-ink)!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .page-note p{color:var(--wsol-mute)!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .page-visual-card{border:1px solid var(--wsol-line)!important;overflow:hidden!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .section{position:relative;border:0!important;border-bottom:1px solid var(--wsol-line-soft)!important;background:var(--wsol-void)!important;color:var(--wsol-ink)!important;background-image:none!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(.detail-section,.final-section){background:var(--wsol-void)!important;background-image:none!important;min-height:auto!important;padding-block:clamp(72px,8vw,124px)!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .section-head{opacity:1!important;filter:none!important;max-width:1080px!important;margin-bottom:clamp(34px,5vw,66px)!important;transform:none!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .section-head h2{max-width:15ch!important;font-size:clamp(2.7rem,5vw,5.8rem)!important;line-height:.98!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .section-head p{max-width:65ch!important;color:var(--wsol-mute)!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(.glass-card,.page-card,.blog-index-card,.work-project-tile,.blog-resource-panel,.work-filter-shell,.legacy-aside>div,.case-study-facts,.case-study-overview-grid,.case-study-story-block,.case-study-gallery figure,.case-study-tech-list,.final-cta,.contact-form,.contact-panel){border:1px solid var(--wsol-line)!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;background:0 0!important;border-radius:0!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(.page-card-grid,.blog-index-grid,.work-project-grid-v2,.case-study-gallery-grid){background:var(--wsol-line)!important;gap:1px!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(.page-card,.blog-index-card,.work-project-tile,.case-study-gallery figure){background:var(--wsol-raised)!important;border-color:#0000!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(.page-card,.blog-index-card,.work-project-tile) :is(h2,h3,a){color:var(--wsol-ink)!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(.page-card,.blog-index-card,.work-project-tile) p{color:var(--wsol-mute)!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .final-cta{border-inline:0!important;border-color:var(--wsol-line)!important;padding:clamp(34px,5vw,68px) 0!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .final-cta h2{max-width:14ch!important;color:var(--wsol-ink)!important;font-size:clamp(3rem,6vw,6.8rem)!important;line-height:.95!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .final-cta h2 em{font-style:italic;color:var(--wsol-signal)!important}html body .site-shell.page-shell .work-hero-grid{grid-template-columns:minmax(0,.82fr) minmax(420px,1.08fr)!important;align-items:center!important;gap:clamp(40px,6vw,96px)!important}html body .site-shell.page-shell .work-hero-copy{gap:clamp(18px,2vw,28px)!important}html body .site-shell.page-shell .work-hero-signals{border:1px solid var(--wsol-line)!important;box-shadow:none!important;background:0 0!important;border-radius:0!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;display:grid!important}html body .site-shell.page-shell .work-hero-signals div{border-inline-start:1px solid var(--wsol-line)!important;background:0 0!important;gap:8px!important;padding:18px!important}html body .site-shell.page-shell .work-hero-signals div:first-child{border-inline-start:0!important}html body .site-shell.page-shell .work-hero-signals strong{color:var(--wsol-ink)!important;font-family:var(--font-heebo), Arial, sans-serif!important;font-size:clamp(1.55rem,2.3vw,2.2rem)!important;font-weight:780!important;line-height:1!important}html body .site-shell.page-shell .work-hero-signals span{color:var(--wsol-mute)!important;font-size:.82rem!important}html body .site-shell.page-shell .work-hero-featured{border:1px solid var(--wsol-line)!important;background:var(--wsol-raised)!important;min-height:0!important;box-shadow:none!important;color:var(--wsol-ink)!important;background-image:none!important;border-radius:0!important;grid-template-rows:minmax(300px,.95fr) auto!important;display:grid!important;overflow:hidden!important;transform:none!important}html body .site-shell.page-shell .work-hero-featured:after,html body .site-shell.page-shell .work-project-tile a:after{content:none!important;background:0 0!important;display:none!important}html body .site-shell.page-shell .work-hero-featured figure{background:var(--wsol-panel)!important;border:0!important;border-radius:0!important;min-height:300px!important;position:relative!important;inset:auto!important}html body .site-shell.page-shell :is(.work-hero-featured img,.work-project-tile img){filter:none!important}html body .site-shell.page-shell .work-hero-featured>div{z-index:1!important;border-top:1px solid var(--wsol-line)!important;background:var(--wsol-raised)!important;align-self:auto!important;padding:clamp(24px,3vw,38px)!important;position:relative!important}html body .site-shell.page-shell .work-hero-featured :is(h2,strong,p,em,li){color:var(--wsol-ink)!important;text-shadow:none!important}html body .site-shell.page-shell .work-hero-featured :is(p,strong){color:var(--wsol-mute)!important}html body .site-shell.page-shell .work-featured-tags li{border:1px solid var(--wsol-line)!important;color:var(--wsol-ink)!important;background:0 0!important;border-radius:0!important;padding:6px 9px!important}html body .site-shell.page-shell .work-hero-featured em{border-bottom-color:var(--wsol-signal)!important}html body .site-shell.page-shell .work-hero-strip{border:1px solid var(--wsol-line)!important;background:0 0!important;border-radius:0!important;gap:0!important;margin-top:clamp(26px,4vw,48px)!important}html body .site-shell.page-shell .work-hero-strip a{border:0!important;border-inline-start:1px solid var(--wsol-line)!important;min-height:118px!important;box-shadow:none!important;color:var(--wsol-ink)!important;opacity:1!important;filter:none!important;background:0 0!important;border-radius:0!important;padding:18px!important;transform:none!important}html body .site-shell.page-shell .work-hero-strip a:first-child{border-inline-start:0!important}html body .site-shell.page-shell .work-hero-strip a:is(:hover,:focus-visible){background:var(--wsol-panel)!important}html body .site-shell.page-shell .work-hero-strip :is(strong,em){color:var(--wsol-ink)!important;text-shadow:none!important}html body .site-shell.page-shell .work-hero-strip em{color:var(--wsol-mute)!important}html body .site-shell.page-shell .work-index-section{background:var(--wsol-void)!important;color:var(--wsol-ink)!important;background-image:none!important;margin-top:0!important;padding-top:clamp(72px,8vw,118px)!important}html body .site-shell.page-shell .work-filter-shell{border:1px solid var(--wsol-line)!important;background:0 0!important;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr)!important;gap:0!important;margin-bottom:clamp(34px,5vw,58px)!important;padding:0!important;display:grid!important}html body .site-shell.page-shell :is(.work-filter-summary,.work-filter-bar){box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important}html body .site-shell.page-shell .work-filter-summary{border-inline-end:1px solid var(--wsol-line)!important;padding:22px!important}html body .site-shell.page-shell .work-filter-summary>span{color:var(--wsol-signal)!important;font-family:var(--font-heebo), ui-monospace, monospace!important;letter-spacing:-.04em!important;font-size:clamp(2.5rem,4vw,4.4rem)!important;font-weight:760!important;line-height:1!important}html body .site-shell.page-shell .work-filter-summary :is(strong,p){color:var(--wsol-ink)!important}html body .site-shell.page-shell .work-filter-summary p{color:var(--wsol-mute)!important}html body .site-shell.page-shell .work-filter-bar{padding:18px!important}html body .site-shell.page-shell .work-filter-bar button[aria-pressed=true]{border-color:var(--wsol-signal)!important;background:var(--wsol-signal)!important;color:var(--wsol-void)!important}html body .site-shell.page-shell .work-filter-bar button em{color:currentColor!important}html body .site-shell.page-shell .work-project-grid-v2{opacity:1!important;filter:none!important;transform:none!important}html body .site-shell.page-shell .work-project-tile{opacity:1!important;filter:none!important;overflow:hidden!important;transform:none!important}html body .site-shell.page-shell .work-project-tile :is(a,.work-project-static-card){background:var(--wsol-raised)!important;min-height:100%!important;color:var(--wsol-ink)!important;grid-template-rows:auto auto!important;display:grid!important;position:relative!important}html body .site-shell.page-shell .work-project-tile figure{aspect-ratio:16/10!important;background:var(--wsol-panel)!important;border:0!important;border-radius:0!important;min-height:260px!important;position:relative!important;inset:auto!important}html body .site-shell.page-shell .work-project-content{z-index:1!important;border-top:1px solid var(--wsol-line)!important;background:var(--wsol-raised)!important;padding:clamp(22px,3vw,34px)!important;position:relative!important}html body .site-shell.page-shell .work-project-content h3{color:var(--wsol-ink)!important;font-size:clamp(1.8rem,2.6vw,3.1rem)!important;line-height:1!important}html body .site-shell.page-shell .work-project-content :is(p,strong,em){color:var(--wsol-mute)!important;text-shadow:none!important}html body .site-shell.page-shell .work-project-outcomes p{border:0!important;border-top:1px solid var(--wsol-line-soft)!important;background:0 0!important;border-radius:0!important;padding:10px 0!important}html body .site-shell.page-shell .work-project-outcomes span{color:var(--wsol-signal)!important}html body .site-shell.legacy-shell .legacy-hero .container{z-index:1!important;display:block!important;position:relative!important}html body .site-shell.legacy-shell .legacy-hero h1{max-width:13ch!important;margin-block:16px 0!important}html body .site-shell.legacy-shell .legacy-meta{border:1px solid var(--wsol-line)!important;width:max-content!important;max-width:100%!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important;border-radius:0!important;flex-wrap:wrap!important;gap:0!important;margin-top:26px!important;padding:0!important;display:flex!important}html body .site-shell.legacy-shell .legacy-meta span{border:0!important;border-inline-start:1px solid var(--wsol-line)!important;color:var(--wsol-mute)!important;background:0 0!important;border-radius:0!important;padding:9px 12px!important}html body .site-shell.legacy-shell .legacy-meta span:first-child{border-inline-start:0!important}html body .site-shell.legacy-shell .legacy-hero-media{border:1px solid var(--wsol-line)!important;background:var(--wsol-panel)!important;width:min(820px,100%)!important;min-height:0!important;box-shadow:none!important;border-radius:0!important;margin-top:clamp(32px,5vw,58px)!important;overflow:hidden!important}html body .site-shell.legacy-shell .legacy-hero-media:before,html body .site-shell.legacy-shell .legacy-hero-media:after{content:none!important;display:none!important}html body .site-shell.legacy-shell .legacy-hero-media img{filter:none!important}html body .site-shell.legacy-shell .legacy-layout{gap:clamp(42px,7vw,104px)!important}html body .site-shell.legacy-shell .legacy-article{max-width:74ch!important}html body .site-shell.legacy-shell .legacy-article h2{color:var(--wsol-ink)!important;margin-block:1.7em .42em!important;font-size:clamp(2.2rem,3.8vw,4.4rem)!important;line-height:1!important}html body .site-shell.legacy-shell .legacy-article :is(p,li){color:var(--wsol-mute)!important;line-height:1.82!important}html body .site-shell.legacy-shell .legacy-article a{color:var(--wsol-signal)!important;-webkit-text-decoration-color:var(--wsol-signal)!important;text-decoration-color:var(--wsol-signal)!important}html body .site-shell.legacy-shell .legacy-aside>div{background:var(--wsol-raised)!important;padding:22px!important}html body .site-shell.legacy-shell .legacy-aside a{border-top-color:var(--wsol-line)!important;color:var(--wsol-ink)!important}html body .site-shell.legacy-shell .blog-resource-panel{border-inline:0!important;padding:clamp(28px,4vw,52px) 0!important}html body .site-shell.legacy-shell .blog-resource-head strong{color:var(--wsol-ink)!important;font-family:var(--font-frank), "Frank Ruhl Libre", Georgia, serif!important;font-size:clamp(2.7rem,5vw,5.5rem)!important;line-height:.98!important}html body .site-shell.legacy-shell .blog-resource-head p,html body .site-shell.legacy-shell .blog-index-card p{color:var(--wsol-mute)!important}html body .site-shell.legacy-shell .blog-resource-search input{border:1px solid var(--wsol-line)!important;min-height:52px!important;color:var(--wsol-ink)!important;box-shadow:none!important;background:0 0!important;border-radius:0!important}html body .site-shell.legacy-shell .blog-resource-search input::placeholder{color:var(--wsol-dim)!important}html body .site-shell.legacy-shell .blog-index-card{overflow:hidden!important}html body .site-shell.legacy-shell .blog-index-card h2,html body .site-shell.legacy-shell .blog-index-card h2 a{color:var(--wsol-ink)!important;font-family:var(--font-frank), "Frank Ruhl Libre", Georgia, serif!important}html body .site-shell.case-study-shell .case-study-hero-grid{grid-template-columns:minmax(0,.82fr) minmax(420px,1.08fr)!important;align-items:center!important;gap:clamp(40px,6vw,96px)!important}html body .site-shell.case-study-shell .case-study-facts{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;padding:0!important;display:grid!important}html body .site-shell.case-study-shell .case-study-facts>div{border-inline-start:1px solid var(--wsol-line)!important;background:0 0!important;padding:18px!important}html body .site-shell.case-study-shell .case-study-facts>div:first-child{border-inline-start:0!important}html body .site-shell.case-study-shell .case-study-facts :is(dt,dd){color:var(--wsol-ink)!important}html body .site-shell.case-study-shell .case-study-facts dt{color:var(--wsol-signal)!important}html body .site-shell.case-study-shell .case-study-hero-media{border:1px solid var(--wsol-line)!important;background:var(--wsol-panel)!important;box-shadow:none!important;background-image:none!important;border-radius:0!important;overflow:hidden!important}html body .site-shell.case-study-shell .case-study-hero-media:before,html body .site-shell.case-study-shell .case-study-hero-media:after{content:none!important;display:none!important}html body .site-shell.case-study-shell .case-study-hero-media img{filter:none!important}html body .site-shell.case-study-shell :is(.case-study-overview,.case-study-story,.case-study-gallery,.case-study-tech,.case-study-next){border-bottom:1px solid var(--wsol-line-soft)!important;background:var(--wsol-void)!important;background-image:none!important}html body .site-shell.case-study-shell :is(.case-study-overview-grid,.case-study-story-block,.case-study-tech-list){background:0 0!important}html body .site-shell.case-study-shell .case-study-story-block{border-inline:0!important;border-bottom:1px solid var(--wsol-line)!important}html body .site-shell.case-study-shell :is(.case-study-overview-grid,.case-study-story-block,.case-study-tech-list) :is(h2,h3,strong){color:var(--wsol-ink)!important}html body .site-shell.case-study-shell :is(.case-study-overview-grid,.case-study-story-block,.case-study-tech-list) p{color:var(--wsol-mute)!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-footer{border-top:1px solid var(--wsol-line)!important;background:var(--wsol-void)!important;color:var(--wsol-ink)!important;background-image:none!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-footer:before,html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-footer:after{content:none!important;display:none!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-footer :is(h2,h3,strong,.brand-mark,.brand-word,a){color:var(--wsol-ink)!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-footer :is(p,li,small){color:var(--wsol-mute)!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-footer :is(.footer-grid,.footer-bottom,.footer-contact-strip){border-color:var(--wsol-line)!important;box-shadow:none!important;background:0 0!important;border-radius:0!important}:is(body:has(.site-shell.page-shell) :is(.cookie-banner,.accessibility-panel),body:has(.site-shell.case-study-shell) :is(.cookie-banner,.accessibility-panel)){box-shadow:none!important;-webkit-backdrop-filter:none!important;color:#f2efea!important;background:#0b0b0a!important;border:1px solid #f2efea38!important;border-radius:0!important}:is(body:has(.site-shell.page-shell) .cookie-banner,body:has(.site-shell.case-study-shell) .cookie-banner){width:min(500px,100vw - 32px)!important;max-width:min(500px,100vw - 32px)!important;padding:16px!important;inset:auto 16px 16px auto!important}body:has(.site-shell.english-page) .cookie-banner{width:min(720px,100vw - 32px)!important;max-width:min(720px,100vw - 32px)!important}body:has(.site-shell.english-page) .cookie-actions{justify-content:flex-end}:is(body:has(.site-shell.page-shell) .cookie-banner :is(strong,p,a),body:has(.site-shell.case-study-shell) .cookie-banner :is(strong,p,a)){color:#f2efea!important}:is(body:has(.site-shell.page-shell) .cookie-banner p,body:has(.site-shell.case-study-shell) .cookie-banner p){color:#8a8880!important}:is(body:has(.site-shell.page-shell) .cookie-actions :is(button,a),body:has(.site-shell.case-study-shell) .cookie-actions :is(button,a),body:has(.site-shell.page-shell) .accessibility-panel button,body:has(.site-shell.case-study-shell) .accessibility-panel button){color:#f2efea!important;min-height:42px!important;box-shadow:none!important;background:0 0!important;border:1px solid #f2efea38!important;border-radius:0!important}:is(body:has(.site-shell.page-shell) .cookie-actions button:first-child,body:has(.site-shell.case-study-shell) .cookie-actions button:first-child,body:has(.site-shell.page-shell) .accessibility-panel button[aria-pressed=true],body:has(.site-shell.case-study-shell) .accessibility-panel button[aria-pressed=true]){color:#070706!important;background:#f5340e!important;border-color:#f5340e!important}:is(body:has(.site-shell.page-shell) .accessibility-toggle,body:has(.site-shell.case-study-shell) .accessibility-toggle){color:#f2efea!important;min-width:96px!important;min-height:42px!important;box-shadow:none!important;background:#070706!important;border:1px solid #f5340e!important;border-radius:0!important;padding:0 14px!important}@media (max-width:1180px){html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav{gap:18px!important;padding-inline:18px!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav .nav-links{gap:12px!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav .nav-links a{font-size:.74rem!important}}@media (max-width:980px){html{scroll-padding-top:76px!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .container{width:min(100% - 28px,1320px)!important;min-width:0!important;max-width:calc(100vw - 28px)!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav{grid-template-columns:1fr auto!important;min-height:60px!important;padding:0 12px 0 16px!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav .nav-toggle{border:1px solid var(--wsol-line)!important;width:44px!important;min-width:44px!important;height:44px!important;color:var(--wsol-ink)!important;background:0 0!important;display:inline-flex!important;position:relative!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav .nav-menu{border:0!important;border-bottom:1px solid var(--wsol-line)!important;background:var(--wsol-void)!important;max-height:calc(100svh - 60px)!important;box-shadow:none!important;border-radius:0!important;grid-template-columns:1fr!important;gap:0!important;padding:12px!important;display:none!important;position:absolute!important;inset:100% 0 auto!important;overflow:auto!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav.is-open .nav-menu{display:grid!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav .nav-links{grid-template-columns:1fr!important;gap:0!important;display:grid!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav .nav-links a{border-bottom:1px solid var(--wsol-line-soft)!important;justify-content:flex-start!important;min-height:46px!important;padding:0 8px!important;font-size:.92rem!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav .nav-actions{grid-template-columns:68px 1fr!important;gap:8px!important;padding-top:10px!important;display:grid!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(.page-hero,.legacy-hero,.work-hero-v2,.case-study-hero,.hero-section){padding-top:106px!important;padding-bottom:54px!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(.page-hero-grid,.work-hero-grid,.case-study-hero-grid,.legacy-layout,.blog-resource-head){grid-template-columns:1fr!important;gap:30px!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(.page-hero-copy h1,.legacy-hero h1,.work-hero-copy h1,.case-study-hero-copy h1,.hero-copy h1){max-width:12ch!important;font-size:clamp(3rem,11vw,5.6rem)!important;line-height:.98!important}html body .site-shell.page-shell .work-hero-featured{grid-template-rows:minmax(280px,50vw) auto!important}html body .site-shell.page-shell .work-hero-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}html body .site-shell.page-shell .work-hero-strip a{border-top:1px solid var(--wsol-line)!important}html body .site-shell.page-shell .work-filter-shell{grid-template-columns:1fr!important}html body .site-shell.page-shell .work-filter-summary{border-inline-end:0!important;border-bottom:1px solid var(--wsol-line)!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(.detail-section,.final-section){padding-block:64px!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .section-head h2{font-size:clamp(2.5rem,8vw,4.7rem)!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-footer{padding-top:56px!important}}@media (max-width:620px){html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav .brand-emblem{width:27px!important;height:27px!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .site-nav .brand-word{font-size:.88rem!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(.page-hero,.legacy-hero,.work-hero-v2,.case-study-hero,.hero-section){padding-top:92px!important;padding-bottom:42px!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(.page-hero-copy h1,.legacy-hero h1,.work-hero-copy h1,.case-study-hero-copy h1,.hero-copy h1){overflow-wrap:normal!important;word-break:normal!important;max-width:100%!important;font-size:clamp(2.65rem,12.2vw,4.25rem)!important;line-height:1!important}html body .site-shell.page-shell .work-hero-signals{grid-template-columns:1fr!important}html body .site-shell.page-shell .work-hero-signals div{border-inline-start:0!important;border-top:1px solid var(--wsol-line)!important;grid-template-columns:64px 1fr!important;align-items:center!important}html body .site-shell.page-shell .work-hero-signals div:first-child{border-top:0!important}html body .site-shell.page-shell .work-hero-featured{grid-template-rows:240px auto!important}html body .site-shell.page-shell .work-hero-featured figure{min-height:240px!important}html body .site-shell.page-shell .work-hero-strip{grid-template-columns:1fr!important}html body .site-shell.page-shell .work-hero-strip a{border-inline-start:0!important;border-top:1px solid var(--wsol-line)!important;min-height:0!important}html body .site-shell.page-shell .work-hero-strip a:first-child{border-top:0!important}html body .site-shell.page-shell .work-project-tile figure{min-height:220px!important}html body .site-shell.legacy-shell .legacy-meta{width:100%!important}html body .site-shell.legacy-shell .legacy-meta span{text-align:center!important;flex:auto!important}html body .site-shell.case-study-shell .case-study-facts{grid-template-columns:1fr!important}html body .site-shell.case-study-shell .case-study-facts>div{border-inline-start:0!important;border-top:1px solid var(--wsol-line)!important}html body .site-shell.case-study-shell .case-study-facts>div:first-child{border-top:0!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :is(.page-card-grid,.blog-index-grid,.work-project-grid-v2,.case-study-gallery-grid){grid-template-columns:1fr!important}html body :is(.site-shell.page-shell,.site-shell.case-study-shell) .final-cta h2{max-width:100%!important;font-size:clamp(2.7rem,12vw,4.4rem)!important}:is(body:has(.site-shell.page-shell) .cookie-banner,body:has(.site-shell.case-study-shell) .cookie-banner){width:calc(100vw - 16px)!important;max-width:none!important;padding:10px!important;inset:auto 8px 8px!important}:is(body:has(.site-shell.page-shell) .cookie-banner p,body:has(.site-shell.case-study-shell) .cookie-banner p){display:none!important}:is(body:has(.site-shell.page-shell) .cookie-actions,body:has(.site-shell.case-study-shell) .cookie-actions){grid-template-columns:1fr 1fr 1fr!important;gap:6px!important;display:grid!important}:is(body:has(.site-shell.page-shell) .cookie-actions :is(button,a),body:has(.site-shell.case-study-shell) .cookie-actions :is(button,a)){white-space:nowrap!important;min-height:38px!important;padding:0 5px!important;font-size:.72rem!important}:is(body:has(.site-shell.page-shell) .accessibility-toggle,body:has(.site-shell.case-study-shell) .accessibility-toggle){min-width:82px!important;min-height:38px!important;padding-inline:10px!important;font-size:.76rem!important}}:is(body:has(.site-shell.page-shell) .site-nav,body:has(.site-shell.case-study-shell) .site-nav){box-shadow:none!important;-webkit-backdrop-filter:none!important;background:#070706f5!important;border-radius:0!important}:is(body:has(.site-shell.page-shell) :is(.grid-field,.scan-field),body:has(.site-shell.case-study-shell) :is(.grid-field,.scan-field)){background:0 0!important;display:none!important}html body .site-shell.page-shell .work-hero-featured>div>span,html body .site-shell.page-shell .work-hero-strip a>span{color:var(--wsol-signal)!important;text-shadow:none!important}html body .site-shell.page-shell :is(.work-hero-featured,.work-project-tile,.page-visual-card) img,html body .site-shell.legacy-shell :is(.legacy-hero-media,.blog-index-media) img,html body .site-shell.case-study-shell :is(.case-study-hero-media,.case-study-gallery) img{box-shadow:none!important;border-radius:0!important}html body .site-shell.legacy-shell .blog-index-media{background:var(--wsol-panel)!important;box-shadow:none!important;background-image:none!important;border-radius:0!important}:is(body:has(.site-shell.page-shell) .skip-link,body:has(.site-shell.case-study-shell) .skip-link){color:#f2efea!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#070706!important;border:1px solid #f5340e!important;border-radius:0!important}:is(body:has(.site-shell.page-shell) .accessibility-toolbar,body:has(.site-shell.case-study-shell) .accessibility-toolbar){justify-items:start!important;inset:auto auto 16px 12px!important}:is(body:has(.site-shell.page-shell) .accessibility-toggle,body:has(.site-shell.case-study-shell) .accessibility-toggle){left:12px!important;right:auto!important}@media (prefers-reduced-motion:reduce){html body :is(.site-shell.page-shell,.site-shell.case-study-shell) *,html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :before,html body :is(.site-shell.page-shell,.site-shell.case-study-shell) :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.base-en-header{--base-signal:#f5340e;--base-ink:#f2efea;--base-mute:#8a8880;--base-dim:#55534e;--base-line:#f0ece41a;z-index:90;border-bottom:1px solid var(--base-line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--base-mute);font-family:var(--font-plex), "IBM Plex Mono", monospace;background:#070706b8;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;padding:14px clamp(18px,4vw,44px);display:grid;position:fixed;inset:0 0 auto}.base-en-header a{text-decoration:none}.base-en-brand{grid-column:1;justify-self:start;align-items:center;gap:12px;display:inline-flex;color:var(--base-ink)!important}.base-en-brand span{font:600 14px/1 var(--font-plex), "IBM Plex Mono", monospace;letter-spacing:.22em}.base-en-links{color:var(--base-mute);font:500 11px/1 var(--font-plex), "IBM Plex Mono", monospace;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;grid-column:2;align-items:center;gap:26px;display:none}.base-en-links a{transition:color .2s;color:inherit!important}.base-en-links a:hover,.base-en-links a:focus-visible{color:var(--base-ink)!important}.base-en-actions{white-space:nowrap;grid-column:3;justify-self:end;align-items:center;gap:12px;display:inline-flex}.base-en-language{border:1px solid var(--base-line);font:600 11px/1 var(--font-plex), "IBM Plex Mono", monospace;letter-spacing:.08em;align-items:center;padding:10px 11px;display:inline-flex;color:var(--base-ink)!important}.base-en-cta{background:var(--base-signal);font:600 11px/1 var(--font-plex), "IBM Plex Mono", monospace;letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:9px;padding:10px 18px;transition:filter .2s;display:inline-flex;color:#070706!important}.base-en-cta:hover,.base-en-cta:focus-visible{filter:brightness(1.15)}.base-en-footer{--base-signal:#f5340e;--base-ink:#f2efea;--base-mute:#8a8880;--base-dim:#55534e;--base-line:#f0ece41a;border-top:1px solid var(--base-line);color:var(--base-mute);font-family:var(--font-plex), "IBM Plex Mono", monospace;background:#050504}.base-en-footer-inner{max-width:1400px;margin:0 auto;padding:clamp(56px,8vh,90px) clamp(20px,5vw,72px) 40px}.base-en-footer-grid{border-bottom:1px solid var(--base-line);grid-template-columns:1.4fr repeat(3,minmax(150px,1fr));gap:clamp(28px,4vw,48px);padding-bottom:clamp(36px,5vh,56px);display:grid}.base-en-footer-lockup{align-items:center;gap:16px;display:flex}.base-en-footer-lockup strong{color:var(--base-ink);font:600 18px/1 var(--font-plex), "IBM Plex Mono", monospace;letter-spacing:.2em;display:block}.base-en-footer-lockup span{color:var(--base-mute);font:500 10px/1.4 var(--font-plex), "IBM Plex Mono", monospace;letter-spacing:.2em;text-transform:uppercase;margin-top:6px;display:block}.base-en-footer-brand p{max-width:34ch;color:var(--base-dim);font:400 12.5px/1.7 var(--font-plex), "IBM Plex Mono", monospace;margin:20px 0 0}.base-en-footer-brand b{color:var(--base-signal)}.base-en-footer nav{flex-direction:column;gap:11px;display:flex}.base-en-footer nav h2{color:var(--base-dim);font:500 10px/1 var(--font-plex), "IBM Plex Mono", monospace;letter-spacing:.2em;text-transform:uppercase;margin:0 0 5px}.base-en-footer nav :is(a,span){color:var(--base-mute);font:400 12.5px/1.4 var(--font-plex), "IBM Plex Mono", monospace;text-decoration:none;transition:color .2s}.base-en-footer nav a:hover,.base-en-footer nav a:focus-visible{color:var(--base-ink)}.base-en-footer nav span{color:var(--base-dim)}.base-en-footer-wordmark{color:#0000;font:600 clamp(72px, 14vw, 210px)/.85 var(--font-plex), "IBM Plex Mono", monospace;letter-spacing:.04em;text-align:center;-webkit-user-select:none;user-select:none;-webkit-text-stroke:1px #f0ece417;padding-top:clamp(28px,5vh,52px);overflow:hidden}.base-en-footer-meta{color:var(--base-dim);font:500 11px/1.8 var(--font-plex), "IBM Plex Mono", monospace;letter-spacing:.12em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:20px;padding-top:22px;display:flex}@media (min-width:1024px){.base-en-links{display:inline-flex}}@media (max-width:760px){.base-en-header{gap:12px;padding-inline:14px}.base-en-actions{gap:8px}.base-en-language{padding-inline:8px}.base-en-cta{letter-spacing:.08em;padding-inline:12px}.base-en-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.base-en-footer-brand{grid-column:1/-1}}@media (max-width:480px){.base-en-footer-grid{grid-template-columns:1fr}.base-en-footer-brand{grid-column:auto}.base-en-footer-meta{font-size:9px}}
