.CaseStudy_page__oPppJ{min-height:100vh;background:var(--bg);color:var(--text)}.CaseStudy_topbar__voHZr{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:var(--muted);font-size:13px}.CaseStudy_backLink__2_sD3{color:var(--text);text-decoration:none;font-weight:700}.CaseStudy_backLink__2_sD3:hover{color:var(--accent-strong)}.CaseStudy_hero__xmHSv{padding:76px 0 72px;border-block:1px solid var(--border);background:radial-gradient(circle at 90% 0,var(--accent-soft),transparent 34%),var(--surface)}.CaseStudy_eyebrow__mhaQm,.CaseStudy_sectionLabel__VCTJe{color:var(--accent-strong);font-size:12px;font-weight:780;letter-spacing:.11em;text-transform:uppercase}.CaseStudy_hero__xmHSv h1{max-width:950px;margin:18px 0 24px;font-size:clamp(46px,7vw,82px);line-height:1.01;letter-spacing:-.058em}.CaseStudy_hero__xmHSv>div>p{max-width:760px;margin:0;color:var(--muted);font-size:clamp(18px,2vw,22px);line-height:1.55}.CaseStudy_metaGrid__SZ8y6{display:grid;grid-template-columns:1.1fr .8fr 1fr;grid-gap:1px;gap:1px;margin-top:52px;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--border)}.CaseStudy_metaGrid__SZ8y6 div{padding:20px;background:var(--bg)}.CaseStudy_metaGrid__SZ8y6 span,.CaseStudy_metaGrid__SZ8y6 strong{display:block}.CaseStudy_metaGrid__SZ8y6 span{margin-bottom:7px;color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.CaseStudy_metaGrid__SZ8y6 strong{font-size:14px}.CaseStudy_stack__OXzuy{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.CaseStudy_stack__OXzuy span{padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font-size:11px;font-weight:650}.CaseStudy_layout__jZYcD{display:grid;grid-template-columns:210px minmax(0,760px);justify-content:space-between;grid-gap:72px;gap:72px;padding-block:88px}.CaseStudy_layout__jZYcD>aside{min-width:0}.CaseStudy_sideNav__atWBh{position:-webkit-sticky;position:sticky;top:104px;display:grid}.CaseStudy_sideNav__atWBh>span{margin-bottom:16px;color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.CaseStudy_sideNav__atWBh a{display:flex;align-items:center;gap:10px;padding:8px 0;color:var(--muted);font-size:12px;text-decoration:none;transition:color .2s ease}.CaseStudy_sideNav__atWBh a i{width:14px;height:1px;background:var(--border);transition:width .2s ease,background .2s ease}.CaseStudy_sideNav__atWBh a.CaseStudy_active__TYvKE,.CaseStudy_sideNav__atWBh a:hover{color:var(--text)}.CaseStudy_sideNav__atWBh a.CaseStudy_active__TYvKE i{width:26px;background:var(--accent)}.CaseStudy_article__V3meX{min-width:0}.CaseStudy_section__O3vkw{scroll-margin-top:100px;padding:0 0 88px}.CaseStudy_section__O3vkw+.CaseStudy_section__O3vkw{padding-top:88px;border-top:1px solid var(--border)}.CaseStudy_section__O3vkw h2{max-width:720px;margin:18px 0 24px;font-size:clamp(32px,4.5vw,52px);line-height:1.08;letter-spacing:-.045em}.CaseStudy_section__O3vkw>p{color:var(--muted);font-size:17px;line-height:1.75}.CaseStudy_section__O3vkw>p code{color:var(--text);font-size:.8em}.CaseStudy_challengeList__EFQAm{margin:32px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.CaseStudy_challengeList__EFQAm li{position:relative;padding:17px 16px 17px 38px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--muted);font-size:13px}.CaseStudy_challengeList__EFQAm li:before{content:"";position:absolute;left:18px;top:1.22em;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--accent-soft)}.CaseStudy_processGrid__zs6NC{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:34px}.CaseStudy_processCard__yaWLp{min-height:210px;padding:24px;border:1px solid var(--border);border-radius:11px;background:var(--surface);transition:transform .25s ease,border-color .25s ease}.CaseStudy_processCard__yaWLp:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.CaseStudy_processCard__yaWLp>span{color:var(--accent-strong);font:700 11px/1 Menlo,Consolas,monospace}.CaseStudy_processCard__yaWLp h3{margin:55px 0 9px;font-size:20px}.CaseStudy_feature__0dSCm p,.CaseStudy_processCard__yaWLp p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.CaseStudy_featureGrid__JTmdt{display:grid;margin-top:30px;border-top:1px solid var(--border)}.CaseStudy_feature__0dSCm{display:grid;grid-template-columns:.75fr 1.25fr;grid-gap:30px;gap:30px;padding:25px 0;border-bottom:1px solid var(--border)}.CaseStudy_feature__0dSCm h3{margin:0;font-size:18px}.CaseStudy_galleryGrid__4nhRY{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:30px}.CaseStudy_galleryItem__pwdM8{position:relative;overflow:hidden;min-height:260px;border:1px solid var(--border);border-radius:11px;background:var(--surface)}.CaseStudy_galleryLead__YFFyA{grid-column:1/-1;min-height:400px}.CaseStudy_galleryItem__pwdM8 button{position:absolute;inset:0;width:100%;border:0;background:transparent;cursor:zoom-in}.CaseStudy_galleryItem__pwdM8 img{object-fit:cover}.CaseStudy_assetPlaceholder__n4L2H{height:100%;min-height:inherit;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;background:linear-gradient(145deg,var(--surface),var(--surface-soft))}.CaseStudy_assetPlaceholder__n4L2H:before{content:"IMAGE PLACEHOLDER";position:absolute;top:22px;left:24px;color:var(--muted);font-size:9px;font-weight:750;letter-spacing:.13em}.CaseStudy_assetPlaceholder__n4L2H>span{position:absolute;right:20px;top:18px;color:var(--accent-strong);font:700 10px/1 Menlo,Consolas,monospace}.CaseStudy_assetPlaceholder__n4L2H strong{font-size:19px}.CaseStudy_assetPlaceholder__n4L2H p{margin:7px 0 15px;color:var(--muted);font-size:12px}.CaseStudy_assetPlaceholder__n4L2H code{overflow:hidden;padding:8px 9px;border:1px solid var(--border);border-radius:6px;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.CaseStudy_outcome__HPjQV{margin-bottom:0;padding:clamp(30px,6vw,58px)!important;border:0!important;border-radius:13px;background:#015083;color:#fff}.CaseStudy_outcome__HPjQV .CaseStudy_sectionLabel__VCTJe{color:rgba(255,255,255,.68)}.CaseStudy_outcome__HPjQV>p{color:rgba(255,255,255,.8);font-size:19px}.CaseStudy_outcome__HPjQV blockquote{margin:36px 0 0;padding-top:28px;border-top:1px solid rgba(255,255,255,.2)}.CaseStudy_outcome__HPjQV blockquote p{margin:0 0 12px;font-size:20px;line-height:1.55}.CaseStudy_outcome__HPjQV cite{color:rgba(255,255,255,.65);font-size:12px;font-style:normal}.CaseStudy_sourceNote__8jjLV{margin-top:20px;color:var(--muted);font-size:11px;text-align:right}.CaseStudy_sourceNote__8jjLV a{color:inherit}.CaseStudy_nextProject__1Yco4{padding:64px 0;border-top:1px solid var(--border);background:var(--surface)}.CaseStudy_nextProject__1Yco4>div{display:grid;grid-gap:13px;gap:13px}.CaseStudy_nextProject__1Yco4 span{color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.CaseStudy_nextProject__1Yco4 a{display:flex;justify-content:space-between;gap:30px;color:var(--text);font-size:clamp(26px,4vw,48px);font-weight:760;line-height:1.08;letter-spacing:-.04em;text-decoration:none}.CaseStudy_nextProject__1Yco4 a i{color:var(--accent-strong);font-style:normal}.CaseStudy_lightbox__JI42b{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:4vw;background:rgba(0,0,0,.86)}.CaseStudy_lightboxImage__X8Dog{position:relative;width:min(1200px,92vw);height:min(760px,82vh)}.CaseStudy_lightboxImage__X8Dog img{object-fit:contain}.CaseStudy_lightboxClose__SYgyl{position:fixed;z-index:2;right:24px;top:20px;width:42px;height:42px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(0,0,0,.35);color:#fff;font-size:25px;cursor:pointer}@media (max-width:820px){.CaseStudy_hero__xmHSv{padding:58px 0}.CaseStudy_layout__jZYcD,.CaseStudy_metaGrid__SZ8y6{grid-template-columns:1fr}.CaseStudy_layout__jZYcD{gap:0;padding-block:60px}.CaseStudy_layout__jZYcD>aside{display:none}.CaseStudy_article__V3meX{max-width:none}.CaseStudy_section__O3vkw{padding-bottom:68px}.CaseStudy_section__O3vkw+.CaseStudy_section__O3vkw{padding-top:68px}}@media (max-width:600px){.CaseStudy_topbar__voHZr{min-height:62px}.CaseStudy_hero__xmHSv h1{font-size:44px}.CaseStudy_challengeList__EFQAm,.CaseStudy_galleryGrid__4nhRY,.CaseStudy_processGrid__zs6NC{grid-template-columns:1fr}.CaseStudy_galleryLead__YFFyA{grid-column:auto;min-height:300px}.CaseStudy_feature__0dSCm{grid-template-columns:1fr;gap:8px}.CaseStudy_metaGrid__SZ8y6{margin-top:36px}.CaseStudy_processCard__yaWLp{min-height:180px}.CaseStudy_processCard__yaWLp h3{margin-top:38px}.CaseStudy_nextProject__1Yco4 a{font-size:28px}}@media (prefers-reduced-motion:reduce){.CaseStudy_processCard__yaWLp,.CaseStudy_sideNav__atWBh a,.CaseStudy_sideNav__atWBh a i{transition:none}}