.case{--case-gap:var(--ws-section-pad);--case-head:var(--ws-space-head-body);--case-bar:70px}.case__main{width:100%;padding-top:var(--case-bar);padding-bottom:var(--case-gap);color:var(--ws-ink-muted);flex:1;line-height:1.6;overflow-x:clip}.case__main :where(p){margin:0}.case__main :where(p,dd){text-wrap:pretty}.case__film,.case__how,.case__rules,.case__scope,.case__build,.case__screens,.case__end{margin-top:var(--case-gap)}.case__h2{max-width:100%;color:var(--ws-ink);text-wrap:balance;margin:0;font-size:clamp(2.25rem,5vw,4.25rem);line-height:1.18}.case__h3{text-wrap:balance;letter-spacing:-.01em;color:var(--ws-ink);margin:0;font-size:1.3rem;font-weight:600;line-height:1.3}.case__sub{max-width:52ch;margin-top:var(--ws-space-title-lead);font-size:var(--ws-type-sub);color:var(--ws-ink-muted);line-height:1.6}.case__hero{min-height:min(calc(100dvh - var(--case-bar)), 860px);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(2rem,6vw,6rem);padding-block:clamp(2.5rem,7vh,4.5rem);display:grid}.case__intro{container-type:inline-size}.case__kicker{margin:0 0 1.25rem}.case__name{color:var(--ws-ink);margin:0;font-size:clamp(3.5rem,28cqi,12rem);line-height:.96}.case__name[data-joined=true]{font-size:clamp(3.25rem,25cqi,12rem)}.case__lede{max-width:34ch;margin:var(--ws-space-title-lead) 0 2.25rem}.case__hero-phone{isolation:isolate;justify-self:center;width:min(100%,min(72dvh,680px)/2.0466)}.case__hero-phone:after{content:"";z-index:-1;background:radial-gradient(closest-side, color-mix(in srgb, var(--ws-accent) 22%, transparent), transparent);pointer-events:none;position:absolute;inset:-12% -55%}.case__art{aspect-ratio:1;border-radius:var(--ws-radius-lg);width:min(100%,min(70dvh,640px));box-shadow:var(--ws-shadow-pop);isolation:isolate;justify-self:center;position:relative;overflow:hidden}.case__facts{border-block:1px solid var(--ws-border);grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;margin:0;padding-block:2rem;display:grid}.case__fact dt{font-size:var(--ws-type-label);letter-spacing:.04em;color:var(--ws-ink-faint);margin-bottom:.4rem;font-weight:500}.case__fact dd{font-size:var(--ws-type-body);color:var(--ws-ink);margin:0;line-height:1.6}.case__player{margin-top:var(--case-head);aspect-ratio:16/9;max-height:calc(100dvh - var(--case-bar) - 3rem);border:1px solid var(--ws-border-hi);border-radius:var(--ws-radius-lg);background:var(--ws-bg-raised);margin-inline:auto;overflow:hidden}.case__player .loopvideo__video,.case__poster{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.case__poster--tall{display:none}.case__steps{margin:var(--case-head) 0 0;grid-template-rows:auto auto auto;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(1.5rem,4vw,4rem);padding:0;list-style:none;display:grid}.case__step{grid-row:span 3;grid-template-rows:subgrid;width:100%;display:grid}.case__step-card{aspect-ratio:4/5;border:1px solid var(--ws-border-hi);border-radius:var(--ws-radius-md);background:var(--ws-bg-raised);width:100%;max-width:calc(min(58dvh,520px)/1.25);overflow:hidden}.case__step-card .loopvideo__video,.case__step-poster{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}div.case__step-card{position:relative}.case__tiles:has(>.case__tile:last-child:nth-child(odd))>.case__tile:nth-child(-n+3){grid-column:span 2}.case__step .case__h3{margin-top:1.5rem}.case__step p{max-width:38ch;font-size:var(--ws-type-body);margin-top:.5rem}.case__tiles{margin:var(--case-head) 0 0;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem;padding:0;list-style:none;display:grid}.case__tile{background:var(--ws-surface);border:1px solid var(--ws-border);border-top:2px solid var(--tile);border-radius:var(--ws-radius-md);flex-direction:column;grid-column:span 3;gap:.9rem;padding:clamp(1.5rem,3vw,2.5rem);display:flex}.case__tile-name{font-size:var(--ws-type-h3-display);color:var(--tile);margin:0}.case__tile p{max-width:46ch}.case__tags{flex-wrap:wrap;gap:.4rem;margin:auto 0 0;padding:.5rem 0 0;list-style:none;display:flex}.case__tags li{font-size:var(--ws-text-2xs);color:var(--ws-ink-muted);border:1px solid var(--ws-border-hi);border-radius:var(--ws-radius-pill);font-variant-numeric:tabular-nums;padding:.3rem .7rem;font-weight:500}.case__scope{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(2.5rem,7vw,7rem);display:grid}.case__scope-list{border-top:1px solid var(--ws-border);margin:0}.case__scope-row{border-bottom:1px solid var(--ws-border);grid-template-columns:minmax(0,11rem) minmax(0,1fr);align-items:baseline;gap:.35rem 1.5rem;padding-block:1.15rem;display:grid}.case__scope-row dt{font-size:var(--ws-text-read)}.case__scope-row dd{max-width:46ch;font-size:var(--ws-type-read);margin:0;line-height:1.6}.case__build{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(2.5rem,7vw,7rem);display:grid}.case__build-side{top:calc(var(--case-bar) + 2.5rem);position:sticky}.case__notes{gap:clamp(2rem,5vh,3rem);display:grid}.case__note{border-top:1px solid var(--ws-border);padding-top:clamp(2rem,5vh,3rem)}.case__note:first-child{border-top:0;padding-top:0}.case__note p{max-width:58ch;font-size:var(--ws-type-read);margin-top:.6rem;line-height:1.6}.case__numbers{margin:var(--case-gap) 0 0;border-block:1px solid var(--ws-border);grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;padding-block:clamp(2.5rem,6vh,3.5rem);display:grid}.case__number{flex-direction:column-reverse;gap:.5rem;display:flex}.case__number dd{color:var(--ws-accent);margin:0;font-size:clamp(3.5rem,8vw,7rem);line-height:1}.case__number dt{font-size:var(--ws-text-base);color:var(--ws-ink-muted)}.case__gallery{--phone-w:calc(min(56dvh, 540px) * 1030 / 2108);margin:var(--case-head) 0 0;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;justify-items:center;gap:clamp(1rem,2.5vw,2.5rem);padding:0;list-style:none;display:grid}.case__gallery li{width:100%;max-width:var(--phone-w)}.case__gallery[data-landscape=true] li{max-width:none}.case__end{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2.5rem,6vw,6rem);display:grid}.case__get .badges,.case__contact .btn{margin-top:2rem}.case__docs{font-size:var(--ws-text-sm);flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1.5rem;display:flex}.case__docs a{color:var(--ws-ink-muted);transition:color var(--ws-dur-fast) var(--ws-ease);margin-block:-.25rem;padding-block:.25rem;text-decoration:none;display:inline-block}.case__docs a:active{color:var(--ws-accent)}@media (pointer:coarse){.case__docs a{position:relative}.case__docs a:after{content:"";position:absolute;inset:-.7rem 0}}.case__next{border-block:1px solid var(--ws-border);grid-column:1/-1;justify-content:space-between;align-items:flex-end;gap:2rem;padding-block:clamp(2rem,5vh,3rem);text-decoration:none;display:flex;position:relative}.case__next:before{content:"";background:var(--next-accent,var(--ws-accent));transform-origin:0;height:1px;transition:transform var(--ws-dur-fast) var(--ws-ease);position:absolute;inset:-1px 0 auto;transform:scaleX(0)}.case__next-text{flex-direction:column;gap:.75rem;display:flex}.case__next-label{font-size:var(--ws-text-micro);text-transform:uppercase;letter-spacing:var(--ws-track-micro);color:var(--ws-ink-faint);font-weight:500}.case__next-name{color:var(--ws-ink);transition:color var(--ws-dur-fast) var(--ws-ease);font-size:clamp(2.5rem,7vw,6rem)}.case__next-arrow{color:var(--ws-ink-faint);transition:color var(--ws-dur-fast) var(--ws-ease), transform var(--ws-dur-fast) var(--ws-ease);font-size:clamp(2.5rem,7vw,6rem);display:block}.case__next:active .case__next-name{color:var(--next-accent,var(--ws-accent));transition-duration:var(--ws-dur-fast)}.case__next:focus-visible:before{transition-duration:var(--ws-dur-slow);transform:scaleX(1)}.case__next:focus-visible .case__next-name,.case__next:focus-visible .case__next-arrow{color:var(--next-accent,var(--ws-accent));transition-duration:var(--ws-dur-base)}.case__next:focus-visible .case__next-arrow{transform:translate(8px)}@media (hover:hover) and (pointer:fine){.case__docs a:hover{color:var(--ws-accent)}.case__next:hover:before{transition-duration:var(--ws-dur-slow);transform:scaleX(1)}.case__next:hover .case__next-name,.case__next:hover .case__next-arrow{color:var(--next-accent,var(--ws-accent));transition-duration:var(--ws-dur-base)}.case__next:hover .case__next-arrow{transform:translate(8px)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.case [data-reveal]{animation:linear both case-reveal;animation-timeline:view();animation-range:entry entry 80%}}}.case .fx-blur:not([data-blurring]){filter:none}@keyframes case-reveal{0%{opacity:0;transform:translateY(16px)}}@media (prefers-reduced-motion:reduce){.case__next:hover .case__next-arrow,.case__next:focus-visible .case__next-arrow{transform:none}.case__next:before{transition:none}}@media (max-height:760px){.case__build-side{position:static}}@media (max-width:1024px){.case__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.case__build,.case__scope{grid-template-columns:minmax(0,1fr)}.case__build-side{position:static}.case__gallery{--phone-w:min(40vw, 260px);margin-inline:calc(var(--ws-gutter) * -1);padding:.5rem var(--ws-gutter) 3rem;scroll-snap-type:x proximity;scroll-padding-inline:var(--ws-gutter);scrollbar-width:none;overscroll-behavior-x:contain;display:flex;overflow-x:auto}.case__gallery::-webkit-scrollbar{display:none}.case__gallery li{width:var(--phone-w);scroll-snap-align:start;flex:none}.case__gallery[data-landscape=true] li{width:min(78vw,30rem)}}@media (min-width:721px) and (max-width:1180px) and (orientation:portrait){.case__hero{grid-template-columns:minmax(0,1fr);justify-items:center;gap:clamp(2rem,4svh,3rem);min-height:0;padding-block:clamp(1.5rem,3svh,2.5rem) clamp(3rem,6svh,4.5rem)}.case__art,.case__hero-phone{order:-1}.case__art{width:min(100%, max(22rem, calc(100svh - var(--case-bar) - 30rem)), 40rem)}.case__intro{text-align:center;width:100%}.case__name{font-size:clamp(4.5rem,14cqi,8.5rem)}.case__name[data-joined=true]{font-size:clamp(4.5rem,13cqi,8rem)}.case__lede{max-width:44ch;margin-inline:auto}.case__intro .badges{justify-content:center}}@media (max-width:720px){.case{--case-gap:clamp(4.5rem, 11vh, 6rem);--case-head:2rem}.case__hero{grid-template-columns:minmax(0,1fr);gap:2rem;min-height:0;padding-block:1.25rem 3rem}.case__art{order:-1}.case__name,.case__name[data-joined=true]{font-size:clamp(3.25rem,19vw,6rem)}.case__intro{text-align:center}.case__lede{margin-inline:auto}.case__intro .badges{justify-content:center}.case__hero-phone{width:min(78%,min(64dvh,520px)/2.0466)}.case__art{width:100%}.case__facts{gap:1.5rem 1.25rem}.case__player{aspect-ratio:4/5;border-radius:var(--ws-radius-md);max-height:none}.case__poster--wide{display:none}.case__poster--tall{display:block}.case__player--landscape{aspect-ratio:1}.case__player--landscape .loopvideo__video,.case__player--landscape .case__poster{object-position:50% 0}.case__steps{margin-inline:calc(var(--ws-gutter) * -1);padding:0 var(--ws-gutter) .5rem;scroll-snap-type:x mandatory;scroll-padding-inline:var(--ws-gutter);overscroll-behavior-x:contain;scrollbar-width:none;gap:1rem;display:flex;overflow-x:auto}.case__steps::-webkit-scrollbar{display:none}.case__step{scroll-snap-align:start;flex-direction:column;flex:0 0 min(76vw,20rem);display:flex}.case__step-card{max-width:none}.case__step .case__h3{margin-top:1.1rem}.case__steps{counter-reset:case-step}.case__step .case__h3:before{counter-increment:case-step;content:counter(case-step, decimal-leading-zero);font-size:var(--ws-type-num);letter-spacing:var(--ws-track-label);color:var(--ws-accent);font-variant-numeric:tabular-nums;margin-bottom:.4rem;font-weight:500;display:block}.case__tiles,.case__end{grid-template-columns:minmax(0,1fr)}.case__tiles>.case__tile{grid-column:auto}.case__tiles:has(>.case__tile:last-child:nth-child(odd))>.case__tile:nth-child(-n+3){grid-column:auto}.case__scope-row{grid-template-columns:minmax(0,1fr)}.case__numbers{grid-template-columns:minmax(0,1fr);gap:2.5rem}.case__gallery{--phone-w:56vw;scroll-snap-type:x mandatory}.case__gallery li{scroll-snap-align:center}.case__gallery[data-landscape=true]{padding-bottom:1.5rem}.case__gallery[data-landscape=true] li{width:84vw}.case__next:active:before{transition-duration:var(--ws-dur-base);transform:scaleX(1)}.case__next:active .case__next-arrow{color:var(--next-accent,var(--ws-accent));transform:translate(6px)}}
