@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_e52ee316-module__464_ba__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_e52ee316-module__464_ba__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial}}}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.block{display:block}.hidden{display:none}.inline{display:inline}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.list-none{list-style-type:none}.overflow-x-clip{overflow-x:clip}.overflow-x-hidden{overflow-x:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.bg-background{background-color:var(--color-background)}.bg-surface{background-color:var(--color-surface)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-accent{color:var(--color-accent)}.text-current{color:currentColor}.text-text-body{color:var(--color-text-body)}.text-text-primary{color:var(--color-text-primary)}.text-text-secondary{color:var(--color-text-secondary)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}@media (hover:hover){.hover\:text-accent:hover{color:var(--color-accent)}}@media (min-width:48rem){.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (min-width:64rem){.lg\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.lg\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.lg\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.lg\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.lg\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.lg\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:120rem){.\33 xl\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.\33 xl\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.\33 xl\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.\33 xl\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.\33 xl\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.\33 xl\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.\33 xl\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:160rem){.\34 xl\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.\34 xl\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.\34 xl\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.\34 xl\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.\34 xl\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.\34 xl\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.\34 xl\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}:root,:host{--color-background:#f9fcfd;--color-border:#e5e8eb;--color-text-primary:#2c3846;--color-text-secondary:#818a92;--color-text-body:#57616c;--color-accent:#0f00ab;--color-accent-muted:#0f00ab14;--color-accent-secondary:#a892a6;--color-surface:#eff2f4}@supports (color:color-mix(in lab, red, red)){:root,:host{--color-surface:color-mix(in srgb, var(--color-border) 50%, var(--color-background))}}:root,:host{--color-on-accent:#fff;--color-accent-emphasis:#0f00abe6;--color-shadow:#2c38461a;--text-sm:.875rem;--text-sm--line-height:1.25rem;--text-base:1rem;--text-base--line-height:1.5rem;--text-lg:1.125rem;--text-lg--line-height:1.75rem;--text-xl:1.25rem;--text-xl--line-height:1.75rem;--text-2xl:1.5rem;--text-2xl--line-height:2rem;--text-3xl:1.875rem;--text-3xl--line-height:2.25rem;--text-4xl:2.25rem;--text-4xl--line-height:2.5rem;--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-medium:500;--font-weight-normal:400;--tracking-tight:-.025em;--font-sans:var(--font-geist-sans);--font-mono:var(--font-geist-mono)}:root{--gutter:clamp(1.25rem, 4vw, 3rem);--container-max:min(1920px, max(1440px, 88vw), 100%);--grid-gap:clamp(1rem, 2vw, 2rem);--space-section:clamp(4rem, 7vw, 6rem);--space-block:2.5rem;--space-list:clamp(3rem, 4.5vw, 4rem);--space-hero-selected:clamp(3.5rem, 5.5vw, 5.5rem);--space-section-gap:calc(var(--space-hero-selected) + var(--space-block));--space-footer:clamp(1.25rem, 2vw, 1.75rem)}@layer base{html{font-family:var(--font-geist-sans);scroll-behavior:smooth;scroll-padding-top:var(--space-section)}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3,h4,h5,h6,p{font:inherit;color:inherit;margin:0}}body{background-color:var(--color-background);min-height:100svh;color:var(--color-text-primary);font-family:var(--font-geist-sans);flex-direction:column;display:flex}.site{flex-direction:column;flex:1;min-height:0;display:flex}main{flex:auto}a{text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html.has-custom-cursor,html.has-custom-cursor *{cursor:auto!important}.custom-cursor{display:none}}@layer components{.shell{box-sizing:border-box;width:100%;min-width:0;max-width:var(--container-max);padding-inline:var(--gutter);margin-inline:auto}.content-grid{column-gap:var(--grid-gap);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.hero-section{padding-top:var(--space-section);padding-bottom:0}.col-measure--10{grid-column:1/span 10;min-width:0}.col-full{grid-column:1/-1;min-width:0}.footer{padding-top:0;padding-bottom:var(--space-footer);flex-shrink:0;margin-top:auto;position:relative;overflow:clip}.footer__inner{flex-direction:column;gap:.5rem;width:100%;min-width:0;display:flex;position:relative}.footer__signoff{text-align:left;min-width:0;margin:0}.footer__quote-hover{border-radius:2px;margin:-8px;padding:8px}.footer__gif-anchor{vertical-align:text-top;width:0;height:0;display:inline-block;position:relative;overflow:visible}.footer__year{font-family:var(--font-geist-mono);letter-spacing:.4px;text-align:left;white-space:nowrap;color:var(--color-text-secondary);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;align-self:flex-start;margin:0;font-size:.875rem;font-weight:400;line-height:1.25rem}@media (min-width:64rem){.footer__year{font-size:1rem;line-height:1.5rem}}@media (min-width:80rem){.footer__inner{column-gap:var(--grid-gap);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.footer__signoff{text-align:right;grid-column:3/-1;align-self:center}.footer__year{grid-column:1/span 2;place-self:center start}}@media (max-width:63.999rem){.col-measure--10,.col-full{grid-column:1/-1}}.hero-flow{font-weight:var(--font-weight-normal);margin:0}.hero-flow__block{display:block}.hero-flow__block+.hero-flow__block{padding-top:3rem}.home-sections{gap:var(--space-section-gap);padding-bottom:var(--space-section-gap);flex-direction:column;display:flex}}.footer__gif{width:min(240px,40vw);max-width:calc(100vw - 2 * var(--gutter));opacity:0;visibility:hidden;pointer-events:none;z-index:20;transition:opacity .3s ease-out,visibility .3s ease-out;position:fixed}.footer__gif--visible{opacity:1;visibility:visible}.footer__gif-img{aspect-ratio:450/373;object-fit:unset;border-radius:0;width:100%;height:auto;display:block}.selected-work__link{min-width:0;color:inherit;text-decoration:none;display:block}.selected-work__media{aspect-ratio:16/10;border-radius:8px;width:100%;transition:opacity .25s ease-out,filter .25s ease-out}.selected-work__body{padding-top:1rem}@media (hover:hover) and (pointer:fine){.selected-work__media{opacity:.5;filter:saturate(.8)}.selected-work__grid:has(.selected-work__link:hover) .selected-work__link:not(:hover) .selected-work__media{opacity:.3}.selected-work__link:hover .selected-work__media,.selected-work__link:focus-visible .selected-work__media{opacity:1;filter:none}}@media (hover:none){.selected-work__media{opacity:1;filter:none}}.selected-work{gap:var(--space-list);flex-direction:column;width:100%;min-width:0;padding:0;display:flex}.selected-work__header{align-items:center;column-gap:var(--grid-gap);grid-template-columns:auto 1fr;width:100%;min-width:0;display:grid}.selected-work__divider{border:0;border-top:1px solid var(--color-border);align-self:center;width:100%;height:0;margin:0}.selected-work__grid{grid-template-columns:1fr;gap:2rem;width:100%;min-width:0;margin:0;padding:0;display:grid}@media (min-width:48rem){.selected-work__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:96rem){.selected-work__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2.5rem}}.selected-work__eyebrow{white-space:nowrap;font-family:var(--font-geist-mono);letter-spacing:.4px;text-transform:uppercase;color:var(--color-text-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-shrink:0;margin:0;font-weight:400;line-height:1}.case-study{--cs-label:clamp(.875rem, .8125rem + .15625vw, 1rem);--cs-body-prose:clamp(.9375rem, .875rem + .15625vw, 1rem);--cs-body-meta:clamp(.9375rem, .875rem + .15625vw, 1rem);--cs-nav:clamp(.875rem, .8125rem + .15625vw, 1rem);--cs-inset-top:clamp(2.5rem, 4.5vw, 4rem);--cs-main-max:50rem;--case-study-mobile-header-height:3.25rem;flex:0 auto;width:100%}.case-study__frame{gap:var(--space-list);grid-template-columns:minmax(0,1fr);width:100%;min-width:0;display:grid}.case-study__sidebar{min-width:0;padding-top:var(--cs-inset-top);flex-direction:column;gap:2rem;padding-bottom:0;display:flex}.case-study-nav__list{flex-direction:column;gap:.5rem;display:flex}.case-study-nav__button{width:100%;color:var(--color-text-secondary);font:inherit;font-size:var(--cs-nav);text-align:left;cursor:pointer;opacity:.5;background:0 0;border:0;align-items:flex-start;margin:0;padding:0;line-height:1.4;transition:color .15s,opacity .15s;display:flex}.case-study-nav__button--active{color:var(--color-text-primary);opacity:1}.case-study-nav__button:focus-visible,.case-study-mobile-header__menu-button:focus-visible,.case-study-mobile-header__menu-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.case-study-mobile-header{z-index:10;height:var(--case-study-mobile-header-height);padding-inline:var(--gutter);background-color:var(--color-background);border-bottom:1px solid var(--color-border);align-items:center;gap:1rem;display:flex;position:fixed;top:0;left:0;right:0}.case-study-mobile-header__title{min-width:0;font-family:var(--font-geist-mono);font-size:var(--cs-nav);letter-spacing:.02em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;text-align:center;color:var(--color-text-primary);flex:auto;margin:0;font-weight:400;line-height:1.4;overflow:hidden}.case-study-mobile-header__menu-button{border:1px solid var(--color-border);width:2.25rem;height:2.25rem;color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:9999px;flex:none;justify-content:center;align-items:center;margin:0;padding:0;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.case-study-mobile-header__backdrop{inset:0;top:var(--case-study-mobile-header-height);z-index:9;background-color:#2c384633;border:0;margin:0;padding:0;position:fixed}@supports (color:color-mix(in lab, red, red)){.case-study-mobile-header__backdrop{background-color:color-mix(in srgb, var(--color-text-primary) 20%, transparent)}}.case-study-mobile-header__backdrop{cursor:pointer}.case-study-mobile-header__menu{top:var(--case-study-mobile-header-height);z-index:11;max-height:calc(100dvh - var(--case-study-mobile-header-height));padding:1rem var(--gutter) 1.5rem;background-color:var(--color-background);border-bottom:1px solid var(--color-border);position:fixed;left:0;right:0;overflow-y:auto}.case-study-mobile-header__menu-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.case-study-mobile-header__menu-item{min-width:0}.case-study-mobile-header__menu-link{width:100%;color:var(--color-text-secondary);font:inherit;font-size:var(--cs-nav);text-align:left;cursor:pointer;opacity:.65;background:0 0;border:0;align-items:flex-start;margin:0;padding:.625rem 0;line-height:1.4;transition:color .15s,opacity .15s;display:flex}.case-study-mobile-header__menu-link--active{color:var(--color-text-primary);opacity:1}.case-study-back{align-items:center;gap:8px;text-decoration:none;display:inline-flex}.case-study-back__label{font-family:var(--font-geist-mono);font-size:var(--cs-label);letter-spacing:.4px;text-transform:uppercase;font-weight:400;line-height:1}.case-study__main{width:100%;min-width:0;padding-top:var(--cs-inset-top);padding-bottom:var(--space-list)}.case-study__rail{min-width:0;display:none}.case-study__stack{flex-direction:column;gap:3rem;width:100%;min-width:0;display:flex}.case-study__header{width:100%;min-width:0}.case-study__eyebrow{font-family:var(--font-geist-mono);letter-spacing:.4px;text-transform:uppercase;color:var(--color-text-secondary);margin:0;font-weight:400;line-height:1}.case-study__title{font-family:var(--font-geist-sans);letter-spacing:-.02em;color:var(--color-text-primary);margin:0;padding-top:1rem;font-weight:400;line-height:1.05}.case-study__hero{aspect-ratio:16/9;width:100%;margin-top:var(--space-list);background-color:var(--color-surface);position:relative;overflow:hidden}.case-study__hero-image{object-fit:cover}.case-study__hero-placeholder{background:linear-gradient(135deg,#d9d2da 0%,#e5e2e7 45%,#d6d6f1 100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex}@supports (color:color-mix(in lab, red, red)){.case-study__hero-placeholder{background:linear-gradient(135deg, color-mix(in srgb, var(--color-accent-secondary) 40%, var(--color-background)) 0%, color-mix(in srgb, var(--color-accent-secondary) 25%, var(--color-background)) 45%, color-mix(in srgb, var(--color-accent) 15%, var(--color-background)) 100%)}}.case-study__hero-placeholder-label{color:var(--color-text-primary);text-align:center;padding-inline:1.5rem;font-weight:500;line-height:1.2}.case-study-meta{width:100%;padding-top:var(--space-list);grid-template-columns:minmax(0,1fr);grid-template-areas:"role""timeline""team""skills";gap:1.5rem 2rem;display:grid}.case-study-meta:not(:has(.case-study-meta__item--team)){grid-template-areas:"role""timeline""skills"}.case-study-meta:not(:has(.case-study-meta__item--skills)){grid-template-areas:"role""timeline""team"}.case-study-meta:not(:has(.case-study-meta__item--team)):not(:has(.case-study-meta__item--skills)){grid-template-areas:"role""timeline"}.case-study-meta__item--role{grid-area:role}.case-study-meta__item--team{grid-area:team}.case-study-meta__item--timeline{grid-area:timeline}.case-study-meta__item--skills{grid-area:skills}@media (min-width:48rem) and (max-width:63.999rem){.case-study-meta{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"role team""timeline skills"}.case-study-meta:not(:has(.case-study-meta__item--team)){grid-template-areas:"role timeline""skills skills"}.case-study-meta:not(:has(.case-study-meta__item--skills)){grid-template-areas:"role team""timeline timeline"}.case-study-meta:not(:has(.case-study-meta__item--team)):not(:has(.case-study-meta__item--skills)){grid-template-areas:"role timeline"}}@media (min-width:64rem){.case-study-meta{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"role team timeline skills";gap:0 2rem}.case-study__frame{column-gap:var(--grid-gap);grid-template-columns:1fr auto 1fr;align-items:start}.case-study__sidebar{z-index:2;min-width:10rem;height:fit-content;padding-top:var(--cs-inset-top);padding-bottom:var(--space-list);grid-column:1;align-self:start;position:sticky;top:0}.case-study__main{width:100%;max-width:var(--cs-main-max);padding-top:var(--cs-inset-top);padding-bottom:var(--space-list);grid-column:2}.case-study__rail{grid-column:3;display:block}.case-study__stack{gap:6rem}.case-study-mobile-header{display:none}}.case-study-meta__item{min-width:0}.case-study-meta__label{font-family:var(--font-geist-mono);font-size:var(--cs-label);letter-spacing:.4px;text-transform:uppercase;color:var(--color-text-secondary);margin:0;font-weight:400;line-height:1}.case-study-meta__value{font-size:var(--cs-body-meta);color:var(--color-text-body);margin:0;padding-top:.5rem;line-height:1.5}.case-study-meta__skills{margin:0;padding-top:.5rem;list-style:none}.case-study-meta__skills li{font-size:var(--cs-body-meta);color:var(--color-text-body);line-height:1.5}.case-study-meta__skills li+li{padding-top:.125rem}.case-study__body{width:100%;min-width:0;font-size:var(--cs-body-prose);color:var(--color-text-body);line-height:1.65}.case-study__body>.case-study__section-heading:first-child{margin-top:0}.case-study__section-heading{margin:var(--space-list) 0 0;font-family:var(--font-geist-mono);letter-spacing:.4px;text-transform:uppercase;color:var(--color-text-secondary);scroll-margin-top:0;font-weight:400;line-height:1}.case-study__subsection-heading{scroll-margin-top:var(--space-section);font-family:var(--font-geist-sans);letter-spacing:-.01em;color:var(--color-text-primary);margin:0;padding-top:1.5rem;font-weight:400;line-height:1.2}.case-study__paragraph{color:var(--color-text-body);margin:0;padding-top:1rem;line-height:1.65}.case-study__list{font-size:var(--cs-body-prose);color:var(--color-text-body);margin:0;padding-top:1rem;padding-left:1.25rem;line-height:1.65;list-style-type:disc}.case-study__list--ordered{list-style-type:decimal}.case-study__list-item+.case-study__list-item{padding-top:.5rem}.case-study__blockquote{border-left:2px solid var(--color-border);font-size:var(--cs-body-prose);color:var(--color-text-body);margin:0;padding-top:1rem;padding-left:1rem;line-height:1.65}@media (hover:hover){.case-study-nav__button:hover,.case-study-nav__button--active{color:var(--color-text-primary);opacity:1}.case-study-mobile-header__menu-button:hover,.case-study-mobile-header__menu-button:focus-visible{color:var(--color-text-primary);border-color:#9a97d5}@supports (color:color-mix(in lab, red, red)){.case-study-mobile-header__menu-button:hover,.case-study-mobile-header__menu-button:focus-visible{border-color:color-mix(in srgb, var(--color-accent) 35%, var(--color-border))}}.case-study-mobile-header__menu-button:hover,.case-study-mobile-header__menu-button:focus-visible{background-color:var(--color-accent-muted)}.case-study-mobile-header__menu-link:hover,.case-study-mobile-header__menu-link--active{color:var(--color-text-primary);opacity:1}}@media (max-width:63.999rem){.case-study{overflow-x:clip}.case-study__sidebar{display:none}.case-study__main{padding-top:calc(var(--case-study-mobile-header-height) + var(--cs-inset-top))}.case-study-nav{display:none}.case-study__stack{gap:2rem}}@media (hover:hover) and (pointer:fine){html.has-custom-cursor,html.has-custom-cursor *{cursor:none!important}}@media (hover:none),(pointer:coarse),(max-width:768px){.custom-cursor{display:none}}.custom-cursor{--cursor-dot-size:16px;--cursor-link-dot-size:36px;--cursor-link-opacity:.35;z-index:9999;width:var(--cursor-dot-size);height:var(--cursor-dot-size);background-color:var(--color-accent-emphasis);color:var(--color-on-accent);pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform, opacity, width, height;border-radius:9999px;justify-content:center;align-items:center;transition:width .2s ease-out,height .2s ease-out,min-width .2s ease-out,padding .2s ease-out,gap .2s ease-out,opacity .15s ease-out,transform .1s ease-out,box-shadow .2s ease-out;display:flex;position:fixed;top:0;left:0;overflow:hidden}.custom-cursor--link{width:var(--cursor-link-dot-size);height:var(--cursor-link-dot-size);opacity:var(--cursor-link-opacity)}.custom-cursor--link.custom-cursor--pressed{opacity:1}.custom-cursor--pill{width:auto;height:auto;box-shadow:0 2px 8px var(--color-shadow);gap:8px;padding:8px 12px}.custom-cursor__icon{width:16px;height:16px;color:var(--color-on-accent);opacity:0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.custom-cursor--pill .custom-cursor__icon{opacity:1}.custom-cursor__icon svg{shape-rendering:geometricprecision;width:16px;height:16px;display:block}.custom-cursor__label{white-space:nowrap;color:var(--color-on-accent);font-family:var(--font-geist-mono);letter-spacing:.4px;text-transform:uppercase;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;align-items:center;font-size:14px;font-style:normal;font-weight:400;line-height:1;transition:max-width .2s ease-out;display:flex;overflow:hidden}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}
