.case-study-detail-page{display:grid;min-height:100svh;justify-items:center;padding:0 var(--site-gutter) clamp(5rem,18vw,7rem);background:var(--color-surface);color:var(--color-ink)}.case-study-detail-page__figcaption{position:absolute;width:.0625rem;height:.0625rem;margin:-.0625rem;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.case-study-detail-page__back{position:sticky;top:6.75rem;z-index:40;display:inline-flex;min-height:3rem;align-self:start;align-items:center;justify-self:start;gap:.65rem;margin-top:clamp(2.5rem,10vw,4rem);color:var(--color-surface);font-size:.92rem;font-weight:var(--font-weight-regular);mix-blend-mode:difference}.case-study-detail-page__back-icon{flex:0 0 auto}.case-study-detail-page__hero{display:grid;width:min(100%,48rem);justify-items:center;margin-top:clamp(2.5rem,10vw,4rem);text-align:center}.case-study-detail-page__kicker{margin:0;color:var(--color-muted);font-size:.82rem;font-weight:var(--font-weight-regular);letter-spacing:.04em;line-height:1;text-transform:uppercase}.case-study-detail-page__title{margin:1.2rem 0 0;font-size:clamp(2.5rem,12vw,4.8rem);font-weight:var(--font-weight-regular);letter-spacing:-.045em;line-height:.98;text-wrap:balance}.case-study-detail-page__lead{width:min(100%,39rem);margin:1.5rem 0 0;color:var(--color-ink-soft);font-size:clamp(1rem,4.4vw,1.25rem);font-weight:var(--font-weight-light);line-height:1.55;text-wrap:pretty}.case-study-detail-page__feature{width:calc(100% + var(--site-gutter) + var(--site-gutter));margin:4rem calc(var(--site-gutter) * -1) 0;overflow:hidden;background:var(--color-ink)}.case-study-detail-page__feature-image{display:block;width:100%;height:auto}.case-study-detail-page__gallery{display:grid;width:min(100%,84rem);gap:clamp(2.5rem,11vw,4rem);align-items:start;margin-top:clamp(4.5rem,18vw,7rem);scroll-margin-top:9rem}.case-study-detail-page__gallery-copy{display:grid;min-width:0;align-content:start}.case-study-detail-page__gallery-heading{position:absolute;width:.0625rem;height:.0625rem;margin:-.0625rem;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.case-study-detail-page__gallery-copy-body{display:grid;gap:clamp(1.5rem,7vw,2.25rem)}.case-study-detail-page__gallery-paragraph{margin:0;color:var(--color-ink);font-size:clamp(1rem,4.5vw,1.15rem);font-weight:var(--font-weight-light);line-height:1.52;text-wrap:pretty}.case-study-detail-page__gallery-link{color:inherit;font-weight:var(--font-weight-medium);text-decoration-line:underline;text-decoration-thickness:.0625rem;text-underline-offset:.2em}.case-study-detail-page__gallery-link:hover,.case-study-detail-page__gallery-link:focus-visible{text-decoration-thickness:.125rem}.case-study-detail-page__gallery-list{display:grid;min-width:0;gap:clamp(1.25rem,5vw,2rem);margin:0;padding:0;list-style:none}.case-study-detail-page__gallery-item{min-width:0}.case-study-detail-page__gallery-media{position:relative;isolation:isolate;margin:0;overflow:hidden;border-radius:clamp(.65rem,2.8vw,1.25rem);background:var(--color-ink);contain:layout paint}.case-study-detail-page__gallery-image{position:relative;z-index:1;display:block;width:100%;height:auto}.case-study-detail-page__services{display:grid;width:min(100%,48rem);justify-items:center;margin-top:clamp(4rem,16vw,7rem)}.case-study-detail-page__section-title{margin:0;font-size:clamp(1.6rem,7vw,2.4rem);font-weight:var(--font-weight-regular);letter-spacing:-.035em;line-height:1.1}.case-study-detail-page__service-list{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin:1.8rem 0 0;padding:0;list-style:none}.case-study-detail-page__service{display:inline-flex;min-height:3rem;align-items:center;padding:.8rem 1.25rem;border:.0625rem solid currentColor;border-radius:62.5rem;font-size:.92rem;line-height:1}.case-study-detail-page__contact{display:grid;width:min(100%,58rem);justify-items:center;margin-top:clamp(5rem,19vw,8rem);padding:clamp(3.5rem,13vw,6.5rem) clamp(1.2rem,6vw,4rem);border-radius:clamp(1.5rem,6vw,3.5rem);background:var(--color-accent);text-align:center}.case-study-detail-page__contact-title{max-width:45rem;margin:0;font-size:clamp(1.4rem,5.95vw,2.87rem);font-weight:var(--font-weight-regular);letter-spacing:-.045em;line-height:1.02;text-wrap:balance}.case-study-detail-page__contact-copy{max-width:35rem;margin:1.5rem 0 0;font-size:clamp(.98rem,4vw,1.15rem);font-weight:var(--font-weight-light);line-height:1.55;text-wrap:pretty}.case-study-detail-page__contact-cta{width:min(100%,20rem);margin-top:2.25rem}@media(prefers-reduced-motion:no-preference){.case-study-detail-page__feature-image{opacity:0;transform:translate3d(0,2.5rem,0) scale(1.045);transition:opacity .7s ease,transform .95s cubic-bezier(.16,1,.3,1);will-change:transform,opacity}.case-study-detail-page__feature.is-visible .case-study-detail-page__feature-image{opacity:1;transform:translateZ(0) scale(1)}.case-study-detail-page__gallery-media:after{position:absolute;inset:-.0625rem;z-index:2;background:var(--color-surface);content:"";pointer-events:none;transform:translateZ(0);transition:transform .62s cubic-bezier(.76,0,.24,1);will-change:transform}.case-study-detail-page__gallery-image{opacity:.001;transform:translate3d(0,1.2rem,0) scale(1.08);transition:opacity .72s linear .02s,transform .82s cubic-bezier(.16,1,.3,1) .02s;will-change:transform,opacity}.case-study-detail-page__gallery-media.is-visible:after{transform:translate3d(0,-102%,0)}.case-study-detail-page__gallery-media.is-visible .case-study-detail-page__gallery-image{opacity:1;transform:translateZ(0) scale(1)}}@media(min-width:64rem){.case-study-detail-page{padding-top:0}.case-study-detail-page__back{top:10.25rem;width:min(100%,78rem);font-size:1rem}.case-study-detail-page__hero{margin-top:3.5rem}.case-study-detail-page__gallery{--case-study-gallery-menu-safe: clamp(11rem, 16vw, 15rem);width:min(100% - var(--case-study-gallery-menu-safe),78rem);grid-template-columns:minmax(19rem,.36fr) minmax(0,.64fr);gap:clamp(3rem,4vw,5rem);justify-self:start;margin-top:clamp(5.5rem,8vw,8rem)}.case-study-detail-page__gallery-copy{position:sticky;top:clamp(15.25rem,24dvh,16.5rem);width:100%;max-height:calc(100dvh - clamp(15.25rem,24dvh,16.5rem) - 1.5rem);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.case-study-detail-page__gallery-copy::-webkit-scrollbar{display:none}.case-study-detail-page__gallery-copy-body{gap:clamp(1.25rem,2vw,2rem);padding-right:clamp(.3rem,.8vw,.75rem)}.case-study-detail-page__gallery-paragraph{font-size:clamp(.82rem,1.05vw,1rem);line-height:1.5}.case-study-detail-page__gallery-list{gap:clamp(2.5rem,5vw,5.5rem)}}@media(min-width:76rem){.case-study-detail-page__gallery{width:min(100%,78rem,100vw - 28rem);justify-self:center}}@media(min-width:64rem)and (max-height:56rem){.case-study-detail-page__gallery-copy{top:15.25rem;max-height:calc(100dvh - 16.75rem)}.case-study-detail-page__gallery-copy-body{gap:1rem}.case-study-detail-page__gallery-paragraph{font-size:.86rem;line-height:1.44}}@media(min-width:64rem)and (max-height:37.5rem){.case-study-detail-page__gallery{grid-template-columns:minmax(23rem,.44fr) minmax(0,.56fr);gap:clamp(2.5rem,3vw,3.75rem)}.case-study-detail-page__gallery-copy-body{gap:.85rem}}@media(min-width:90rem){.case-study-detail-page__gallery-copy{top:14.25rem;max-height:calc(100dvh - 15.75rem)}}@media(min-width:64rem)and (max-height:64rem){.case-study-detail-page__gallery-copy{position:static;max-height:none;overflow-y:visible;overscroll-behavior:auto}}
