.case-study-page{--case-next-gap:clamp(2.5rem,8svh,5rem);--case-section-offset:clamp(7.75rem,35svh,16rem);position:relative;overflow:clip;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans,sans-serif);font-size:1rem;font-weight:400;line-height:1.25}.case-study-page .case-study-layout{position:relative;z-index:1;display:flex;gap:1rem;padding:0 1rem;background:var(--color-bg)}.case-study-page.is-next-revealing .case-study-layout{transform:translate3d(var(--case-reveal-x),var(--case-reveal-y),0);opacity:var(--case-reveal-opacity);will-change:transform,opacity}.case-study-page .case-study-sidebar{position:sticky;top:0;align-self:flex-start;flex:0 0 20rem;width:20rem;height:100svh;padding:7.75rem .75rem 1.5rem;overflow-y:auto;scrollbar-width:none}.case-study-page .case-study-sidebar::-webkit-scrollbar{display:none}.case-study-page .case-study-mobile-title h1,.case-study-page .case-study-mobile-title>p,.case-study-page .case-study-sidebar-title h1,.case-study-page .case-study-sidebar-title>p,.case-study-page .case-study-text-label h2:not(.case-study-overline){font-family:var(--font-display,sans-serif);font-size:1.5rem;font-weight:500;line-height:1.2;letter-spacing:0;text-wrap:wrap}.case-study-page .case-study-mobile-title>p,.case-study-page .case-study-sidebar-title>p{color:var(--color-muted)}.case-study-page .case-study-tags{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;margin-top:1rem;color:var(--color-muted)}.case-study-page .case-study-overline,.case-study-page .case-study-tags{font-family:var(--font-ui,monospace);font-size:.6875rem;font-weight:400;line-height:1;letter-spacing:0;text-transform:uppercase}.case-study-page .case-study-tags i{flex-shrink:0;width:.125rem;height:.125rem;border-radius:50%;background:currentColor}.case-study-page .case-study-anchor-nav{display:flex;flex-direction:column;margin-top:1.5rem}.case-study-page .case-study-anchor-nav a{position:relative;display:block;padding:.5rem 0;color:var(--color-muted);font-family:var(--font-sans,sans-serif);font-size:1rem;font-weight:400;line-height:1.25rem;transition:color 167ms linear}.case-study-page .case-study-anchor-nav a.is-active,.case-study-page .case-study-anchor-nav a:hover{color:var(--color-accent)}.case-study-page .case-study-nav-dot{position:absolute;top:1rem;left:-.6875rem;display:block;width:.1875rem;height:.1875rem;border-radius:50%;background:currentColor;transform:scale(0);transition:transform 333ms cubic-bezier(.38,.02,.41,.98)}.case-study-page .case-study-anchor-nav a.is-active .case-study-nav-dot,.case-study-page .case-study-anchor-nav a:hover .case-study-nav-dot{transform:scale(1)}.case-study-page .case-study-content{display:flex;flex:1 1 auto;flex-direction:column;min-width:0;gap:.5rem;padding:1rem 0 calc(1rem + var(--case-next-gap))}.case-study-page .case-study-media-tile{position:relative;display:block;width:100%;min-width:0;overflow:hidden;border:0;border-radius:.375rem;background:var(--color-panel)}.case-study-page .case-study-hero{aspect-ratio:16/9}.case-study-page .case-study-image{cursor:zoom-in}.case-study-page .case-study-image img{display:block;width:100%;height:auto}.case-study-page .case-study-hero img,.case-study-page .case-study-image-fixed img,.case-study-page .case-study-motion video{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.case-study-page .case-study-mobile-title{display:none}.case-study-page .case-study-text-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));-moz-column-gap:.5rem;column-gap:.5rem;margin-top:.25rem;padding:1.25rem 0 2.25rem;border-top:1px solid var(--color-line)}.case-study-page .case-study-text-label{padding-right:1.5rem}.case-study-page .case-study-text-label h2:not(.case-study-overline){max-width:22.5rem}.case-study-page .case-study-text-label .case-study-overline{margin-top:1px;color:var(--color-muted)}.case-study-page .case-study-text-body{min-width:0;color:var(--color-muted)}.case-study-page .case-study-text-body p{font-size:1rem;font-weight:400;line-height:1.25rem;letter-spacing:0;text-wrap:wrap}.case-study-page .case-study-text-body p+p{margin-top:.5rem}.case-study-page .case-study-text-body .case-study-overline{margin:1.5rem 0 .75rem;color:var(--color-text)}.case-study-page .case-study-archive,.case-study-page .case-study-overview,.case-study-page .case-study-section{scroll-margin-top:var(--case-section-offset)}.case-study-page .case-study-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-block:.25rem;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line)}.case-study-page .case-study-overview>section{padding:1.25rem 1.5rem}.case-study-page .case-study-overview>section:first-child{padding-left:0}.case-study-page .case-study-overview>section:last-child{padding-right:0}.case-study-page .case-study-overview>section+section{border-left:1px solid var(--color-line)}.case-study-page .case-study-overview .case-study-overline{margin:0 0 .75rem;color:var(--color-text)}.case-study-page .case-study-media-grid{display:grid;grid-template-columns:repeat(var(--case-columns,1),minmax(0,1fr));gap:.5rem;align-items:start}.case-study-page .case-study-media-stack{display:flex;flex-direction:column;gap:.5rem}.case-study-page .case-study-feature-grid{display:grid;grid-template-columns:var(--case-feature-columns);align-items:start;gap:.5rem}.case-study-page .case-study-media-carousel{display:flex;gap:.5rem;overflow-x:auto;scroll-snap-type:x mandatory}.case-study-page .case-study-media-carousel[data-lenis-prevent-horizontal]{overscroll-behavior-x:contain;overscroll-behavior-y:auto}.case-study-page .case-study-media-carousel>*{flex:0 0 calc(25% - 0.375rem);scroll-snap-align:start}.case-study-page .case-study-archive{margin-top:.25rem;border-top:1px solid var(--color-line)}.case-study-page .case-study-archive>summary{display:flex;justify-content:space-between;gap:1.5rem;padding:1.25rem 0;cursor:pointer;list-style:none;font-family:var(--font-display,sans-serif);font-size:1.5rem;font-weight:500;line-height:1.2}.case-study-page .case-study-archive>summary::-webkit-details-marker{display:none}.case-study-page .case-study-archive>summary>span:last-child{transition:transform 167ms ease}.case-study-page .case-study-archive[open]>summary>span:last-child{transform:rotate(45deg)}.case-study-page .case-study-archive-media{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem}.case-study-page .case-study-disclosure,.case-study-page .case-study-further{margin-top:.25rem;padding:1.25rem 0;color:var(--color-muted);border-top:1px solid var(--color-line);font-size:.8125rem;line-height:1.4}.case-study-page .case-study-further a{color:var(--color-text)}.case-study-page .case-study-next-up{display:flex;flex-direction:column;gap:2rem;padding:1.5rem 1rem 1rem}.case-study-page .case-study-next-bottom,.case-study-page .case-study-next-heading{display:grid;grid-template-columns:20rem minmax(0,1fr);gap:1rem}.case-study-page .case-study-next-heading>.case-study-overline{padding-left:.75rem;color:var(--color-muted)}.case-study-page .case-study-next-title{display:flex;flex-direction:column;font-family:var(--font-display,sans-serif);font-size:1.5rem;font-weight:500;line-height:1.2}.case-study-page .case-study-next-title span:last-child{color:var(--color-muted)}.case-study-page .case-study-next-contact{align-self:end;min-width:0;padding-left:.75rem;font-size:.875rem;line-height:1.25}.case-study-page .case-study-next-contact>p{max-width:15.5rem}.case-study-page .case-study-next-contact>p span{display:block;color:var(--color-muted)}.case-study-page .case-study-next-links{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;padding-top:2.25rem;font-family:var(--font-ui,monospace);font-size:.6875rem;line-height:1;text-transform:uppercase}.case-study-page .case-study-next-links a:hover{color:var(--color-accent)}.case-study-page .case-study-next-media-column{display:flex;min-width:0;flex-direction:column;gap:1rem}.case-study-page .case-study-next-visual{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;border-radius:.375rem;background:var(--color-panel)}.case-study-page .case-study-next-frame{position:absolute;inset:0;overflow:hidden;border-radius:inherit}.case-study-page .case-study-next-frame img,.case-study-page .case-study-next-frame video,.case-study-page .case-study-next-media-link{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.case-study-page .case-study-next-open{position:absolute;bottom:1rem;right:1rem;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid #ffffff66;border-radius:50%;color:var(--color-text);background:#0a0a0a80;font-size:1.25rem}.case-study-page .case-study-next-visual--video .case-study-next-open{top:1rem;bottom:auto}.case-study-page .case-study-next-shell.is-reveal-enabled{height:var(--case-next-width)}.case-study-page .is-reveal-enabled .case-study-next-up{position:fixed;z-index:0;top:0;right:0;width:var(--case-next-width);height:100svh;justify-content:space-between;gap:9.25rem;padding:4rem 1rem 1rem 1.75rem;visibility:hidden}.case-study-page.is-next-revealing .is-reveal-enabled .case-study-next-up{visibility:visible}.case-study-page .is-reveal-enabled .case-study-next-heading{grid-template-columns:15.5rem minmax(0,1fr);gap:1.5rem;opacity:var(--case-next-copy-opacity,0)}.case-study-page .is-reveal-enabled .case-study-next-heading>.case-study-overline{padding:0}.case-study-page .is-reveal-enabled .case-study-next-title{font-size:2rem;line-height:1.15}.case-study-page .is-reveal-enabled .case-study-next-bottom{display:flex;align-items:flex-end;gap:1.5rem}.case-study-page .is-reveal-enabled .case-study-next-contact{flex:1 1 0;padding:1rem 0 0;border-top:1px solid var(--color-line);opacity:var(--case-next-copy-opacity,0);transform:translateX(var(--case-next-contact-x,0))}.case-study-page .is-reveal-enabled .case-study-next-links{padding-top:6.75rem}.case-study-page .is-reveal-enabled .case-study-next-media-column{flex:0 0 26rem;width:26rem}.case-study-page .is-reveal-enabled .case-study-next-visual{background:transparent;transform:scale(var(--case-next-scale,.5));transform-origin:bottom right}.case-study-page .is-reveal-enabled .case-study-next-frame{clip-path:inset(var(--case-next-clip,89%) 0 0 var(--case-next-clip,89%) round .25rem)}.case-study-page .is-reveal-enabled .case-study-next-open{opacity:var(--case-next-copy-opacity,0)}.case-study-page .case-study-mobile-trigger{display:none}.case-study-page .case-study-mobile-navigation{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:2.5rem 1rem 6.25rem;overflow-y:auto;overscroll-behavior:contain;border:0;color:var(--color-text);background:#0a0a0af2;backdrop-filter:blur(2.5rem)}.case-study-page .case-study-mobile-navigation::backdrop{background:var(--color-bg)}.case-study-page .case-study-mobile-navigation .case-study-mobile-name{color:var(--color-text)}.case-study-page .case-study-mobile-navigation .case-study-anchor-nav{margin-top:2.25rem;padding-left:.75rem}.case-study-page .case-study-mobile-close{position:fixed;left:50%;bottom:.625rem;display:flex;justify-content:space-between;align-items:center;gap:.75rem;transform:translateX(-50%);padding:1rem;border-radius:.125rem;color:var(--color-text);background:var(--color-panel);font-family:var(--font-ui,monospace);font-size:.6875rem;line-height:.6875rem;text-transform:uppercase}.case-study-page .case-study-mobile-close span{font-size:1.25rem}@media (max-width:52.0625rem){.case-study-page{--case-next-gap:1.75rem;--case-section-offset:clamp(4.375rem,30svh,12rem)}.case-study-page .case-study-layout{display:block;padding:0 .5rem}.case-study-page .case-study-sidebar{display:none}.case-study-page .case-study-content{padding:0 0 calc(.5rem + var(--case-next-gap))}.case-study-page .case-study-hero{width:calc(100% + 1rem);aspect-ratio:4/5;margin-left:-.5rem;border-radius:0}.case-study-page .case-study-mobile-title{display:block;padding:1rem 0 0}.case-study-page .case-study-mobile-title h1,.case-study-page .case-study-mobile-title>p{font-size:1.4375rem;line-height:1.2}.case-study-page .case-study-text-section{grid-template-columns:minmax(0,1fr);row-gap:2.25rem;padding:1.5rem 0 .75rem}.case-study-page .case-study-overview{grid-template-columns:minmax(0,1fr)}.case-study-page .case-study-overview>section{padding:1.5rem 0}.case-study-page .case-study-overview>section+section{border-top:1px solid var(--color-line);border-left:0}.case-study-page .case-study-text-body p{font-size:.9375rem;line-height:1.25}.case-study-page .case-study-archive,.case-study-page .case-study-overview,.case-study-page .case-study-section{scroll-margin-top:var(--case-section-offset)}.case-study-page .case-study-feature-grid{grid-template-columns:minmax(0,1fr)}.case-study-page .case-study-feature-grid>.case-study-image-fixed{aspect-ratio:auto!important}.case-study-page .case-study-feature-grid>.case-study-image-fixed img{position:static;height:auto}.case-study-page .case-study-media-grid{grid-template-columns:repeat(var(--case-mobile-columns,1),minmax(0,1fr))}.case-study-page .case-study-media-carousel>*{flex-basis:calc(60% - 0.5rem)}.case-study-page .case-study-archive>summary{padding:1.5rem 0;font-size:1.4375rem}.case-study-page .case-study-next-up{gap:1.5rem;padding:1.5rem .5rem 6.25rem}.case-study-page .case-study-next-bottom,.case-study-page .case-study-next-heading{grid-template-columns:minmax(0,1fr);gap:1.5rem}.case-study-page .case-study-next-heading{padding-inline:.5rem;gap:1rem}.case-study-page .case-study-next-heading>.case-study-overline{padding:0}.case-study-page .case-study-next-title{font-size:1.4375rem}.case-study-page .case-study-next-contact{padding-inline:.5rem}.case-study-page .case-study-next-contact>p{display:none}.case-study-page .case-study-next-links{flex-direction:row;flex-wrap:wrap;gap:1.5rem;padding:0}.case-study-page .case-study-next-visual{aspect-ratio:4/5}.case-study-page .case-study-mobile-trigger{position:fixed;bottom:.625rem;left:50%;z-index:75;display:grid;grid-template-columns:minmax(0,1fr) 1.25rem;min-width:13.75rem;max-width:calc(100vw - 2rem);padding:.75rem .875rem;border:1px solid var(--color-line);border-radius:.125rem;color:var(--color-text);background:#141414eb;backdrop-filter:blur(1.25rem);text-align:left;transform:translateX(-50%)}.case-study-page .case-study-mobile-trigger>span:first-child{grid-column:1;font-size:.9375rem;line-height:1.25rem}.case-study-page .case-study-mobile-trigger>span:nth-child(2){grid-column:1;overflow:hidden;color:var(--color-muted);font-size:.6875rem;text-overflow:ellipsis;white-space:nowrap}.case-study-page .case-study-mobile-trigger>span:last-child{grid-column:2;grid-row:1/3;align-self:center;justify-self:end}}@media (min-width:40rem) and (max-width:52.0625rem){.case-study-page .case-study-content{padding-top:5.125rem}.case-study-page .case-study-hero{width:100%;margin-left:0;aspect-ratio:16/9;border-radius:.375rem}}@media (prefers-reduced-motion:reduce){.case-study-page .case-study-next-visual:hover img{transform:none}.case-study-page .case-study-anchor-nav a,.case-study-page .case-study-archive>summary>span:last-child,.case-study-page .case-study-nav-dot,.case-study-page .case-study-next-visual img{transition:none}}