.case{--case-pad:max(var(--gutter), calc((100vw - var(--max)) / 2))}.case-dot{background:#f0eee855;border-radius:50%;width:7px;height:7px;display:inline-block}.case-dot[data-live]{background:#3ddc84;box-shadow:0 0 10px #3ddc84}.case-hero{min-height:100svh;padding:calc(var(--header-h) + 3vh) var(--case-pad) 6vh;isolation:isolate;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:center;gap:3vw;display:grid;overflow:clip}.case--web .case-hero{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.case-hero__copy{z-index:2;animation:case-rise .9s var(--u-ease) both;position:relative}.case-crumbs{letter-spacing:.22em;text-transform:uppercase;color:var(--u-muted);flex-wrap:wrap;gap:10px;margin-bottom:4vh;font-size:10.5px;font-weight:700;display:flex}.case-crumbs a:hover{color:var(--paper)}.case-crumbs>*+:before{content:"/";color:#5f5b54;margin-right:10px}.case-crumbs span{color:var(--accent)}.case-kind{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 2vh;font-size:11px;font-weight:700;display:flex}.case-kind span{border:1px solid var(--u-line);color:#d6d2c8;letter-spacing:.12em;border-radius:99px;align-items:center;gap:8px;padding:5px 11px;display:inline-flex}.case-hero h1{letter-spacing:-.06em;text-wrap:balance;margin:0 0 2.4vh;font-size:clamp(44px,5.4vw,96px);font-weight:780;line-height:.92}.case-hero__lead{color:#c9c4b9;max-width:40ch;margin:0;font-size:16px;line-height:1.7}.case-actions{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:4vh;display:flex}.case-link{border-bottom:1px solid #f0eee855;align-items:center;gap:8px;padding:8px 0;font-size:13px;font-weight:600;display:inline-flex}.case-link:hover{color:var(--accent);border-color:var(--accent)}.case .store-badge{color:var(--paper);background:#f0eee80d;border-color:#f0eee833}.case-hero__stage{perspective:1700px;place-items:center;height:min(76svh,700px);display:grid;position:relative}.case-hero__light{z-index:-1;pointer-events:none;clip-path:polygon(38% 0,62% 0,100% 100%,0 100%);filter:blur(16px);background:radial-gradient(34% 70% at 50% 0,#fff3e624,#0000 70%);width:120%;height:125%;position:absolute;top:-26%;left:50%;translate:-50%}.case-hero__floor{z-index:-1;pointer-events:none;background:radial-gradient(50% 50%,#ff4d0026,#0000 70%);width:110%;height:26%;position:absolute;bottom:4%;left:50%;translate:-50%}.case-visual{width:100%;height:100%;transform-style:preserve-3d;transform:rotateX(var(--ty,0deg)) rotateY(var(--tx,0deg));transition:transform .9s var(--u-ease);place-items:center;display:grid;position:relative}.case-visual--phones{--ph:min(64svh,600px)}.case-visual__phone{width:calc(var(--ph) * 9 / 19.5);animation:case-phone-in 1.2s var(--u-ease) both;animation-delay:calc(var(--i) * .14s);position:absolute}.case-visual__phone:first-child{z-index:3;transform:translate(-24%)rotateY(14deg)translateZ(50px)}.case-visual__phone:nth-child(2){z-index:2;transform:translate(46%)rotateY(-18deg)translateZ(-90px)scale(.92)}.case-visual__phone:nth-child(3){z-index:1;transform:translate(-92%)rotateY(24deg)translateZ(-170px)scale(.84)}.case-visual__phone .phone{-webkit-box-reflect:below 14px linear-gradient(transparent 76%, #ffffff1c);animation:7s ease-in-out infinite case-float;animation-delay:calc(var(--i) * -2.3s)}.case-visual__phone .phone__screen img{object-position:top center!important}.case-visual__browser{transform-origin:50% 60%;width:100%;animation:case-browser-in 1.3s var(--u-ease) both;transform:rotateX(14deg)rotateY(-16deg)rotate(1.5deg)}.case-visual__browser .browser{-webkit-box-reflect:below 14px linear-gradient(transparent 80%, #ffffff14);box-shadow:0 60px 110px #000d,0 0 0 1px #f0eee81f}.case-visual__browser .browser__screen img{object-position:top center!important}.case-visual__plate{aspect-ratio:16/10;border-radius:16px;width:100%;position:relative;overflow:hidden;box-shadow:0 60px 110px #000d,0 0 0 1px #f0eee81f}@keyframes case-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes case-phone-in{0%{opacity:0;translate:0 60px}to{opacity:1;translate:0}}@keyframes case-float{50%{translate:0 -12px}}@keyframes case-browser-in{0%{opacity:0;transform:rotateX(38deg)rotateY(-24deg)translateY(60px)scale(.9)}to{opacity:1;transform:rotateX(14deg)rotateY(-16deg)rotate(1.5deg)}}.case-play__stage{min-height:100svh;padding:10vh var(--case-pad);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:5vw;display:grid}.case-play__copy ol{gap:2.4vh;margin:3vh 0 0;padding:0;list-style:none;display:grid}.case-play__copy li{letter-spacing:-.02em;grid-template-columns:36px 1fr;gap:10px;font-size:clamp(17px,1.5vw,24px);font-weight:620;line-height:1.3;display:grid}.case-play__copy li b{color:var(--accent);letter-spacing:.14em;padding-top:6px;font-size:11px}.case-play__device{perspective:1400px}.case-play__device .phone{width:calc(min(70svh,640px)/2.16667);position:relative;box-shadow:0 60px 110px #000d,inset 0 0 0 1px #ffffff14}.case-play__screen{inset:3.2%;width:auto!important;height:auto!important;position:absolute!important}.case-play__screen img{object-position:top center!important}.case-play__notes{gap:3vh;margin:0;display:grid}.case-play__notes div{padding-left:28px;position:relative}.case-play__notes div:before{content:"";background:var(--accent);width:16px;height:1px;position:absolute;top:7px;left:0}.case-play__notes dt{letter-spacing:.24em;text-transform:uppercase;color:#8d897f;font-size:9.5px;font-weight:700}.case-play__notes dd{flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0;font-size:14px;font-weight:600;display:flex}.case-play__notes dd span{color:var(--u-muted);font-size:12px;font-weight:500}.case-pan__stage{padding:10vh var(--case-pad);gap:2.4vh;display:grid}.case-pan__frame{border-radius:18px;height:min(72svh,760px);position:relative;overflow:hidden;box-shadow:0 60px 110px #000c,0 0 0 1px #f0eee81f}.case-pan__frame img{transform-origin:30% 20%;object-position:top left!important}.case-pan__caption{letter-spacing:.14em;text-transform:uppercase;color:var(--u-muted);margin:0;font-size:12px}.case-specs{border-top:1px solid var(--u-line);padding:14vh 0}.case-specs__grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:6vw;display:grid}.case-specs h2{letter-spacing:-.05em;margin:0 0 4vh;font-size:clamp(32px,3.4vw,58px);font-weight:760;line-height:1}.case .attribution-proof{border:1px solid var(--u-line);background:#f0eee808;border-radius:16px;margin:0;padding:20px 22px}.case .attribution-proof .eyebrow{color:var(--accent)}.case-specs .case-actions{margin-top:3vh}.case-specs__table{border-top:1px solid var(--u-line);margin:0}.case-specs__table div{border-bottom:1px solid var(--u-line);grid-template-columns:180px minmax(0,1fr);gap:3vw;padding:2.4vh 0;display:grid}.case-specs__table dt{letter-spacing:.22em;text-transform:uppercase;color:#8d897f;padding-top:3px;font-size:10.5px;font-weight:700}.case-specs__table dd{flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:16px;font-weight:560;line-height:1.5;display:flex}.case-stack{flex-wrap:wrap;gap:8px;display:flex}.case-stack span{border:1px solid var(--u-line);background:#f0eee808;border-radius:99px;align-items:center;gap:8px;padding:6px 12px 6px 9px;font-size:13px;display:inline-flex}.universe .case-story{background-color:var(--paper);color:var(--ink);border-radius:32px 32px 0 0}.case-annex{border-top:1px solid var(--u-line);padding:10vh 0}.case-annex__figure{margin:0 0 6vh}.case-annex__figure figcaption{color:var(--u-muted);margin-top:12px;font-size:12px}.case .case-docs{gap:10px;margin:0;padding:0;list-style:none;display:grid}.case .case-docs a{align-items:center;gap:10px;display:inline-flex}.case-next{border-top:1px solid var(--u-line);padding:12vh 0}.case .next-project{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) minmax(0,.9fr) auto;align-items:center;column-gap:4vw;display:grid}.case .next-project .universe__label{grid-column:1/-1}.case .next-project__title{letter-spacing:-.055em;font-size:clamp(40px,5vw,92px);font-weight:780;line-height:.94;transition:color .4s}.case .next-project__visual{clip-path:none;opacity:1;z-index:auto;aspect-ratio:16/10;width:100%;transition:transform .9s var(--u-ease);border-radius:16px;display:block;position:relative;top:auto;right:auto;overflow:hidden;transform:perspective(1200px)rotateY(-14deg)rotateX(6deg);box-shadow:0 40px 90px #000c,0 0 0 1px #f0eee81f}.case .next-project__visual img{object-position:top center!important}.case .next-project__arrow{transition:transform .5s var(--u-ease), color .3s}.case .next-project:hover .next-project__title{color:var(--accent)}.case .next-project:hover .next-project__visual{transform:perspective(1200px)rotateY(0)rotateX(0)scale(1.03)}.case .next-project:hover .next-project__arrow{color:var(--accent);transform:translate(10px)}@supports (animation-timeline:view()) and (view-timeline-name:--a){@media (prefers-reduced-motion:no-preference){.case--web .case-hero__stage{view-timeline:--hero block}.case-visual__browser{animation:case-browser-in 1.3s var(--u-ease) both, case-flatten linear both;animation-timeline:auto,--hero;animation-range:normal,exit exit 70%}.case-hero__copy{animation:case-rise .9s var(--u-ease) both, case-leave linear both;animation-timeline:auto,view();animation-range:normal,exit exit 90%}.case-play{height:calc(var(--screens) * 90svh + 100svh);view-timeline:--play block}.case-play__stage{height:100svh;min-height:0;padding-block:calc(var(--header-h) + 2vh) 6vh;position:sticky;top:0}.case-play__device .phone{animation:linear both case-turn;animation-timeline:--play;animation-range:contain}.case-play__screen:not(:first-of-type){animation:linear both case-wipe;animation-timeline:--play;animation-range:contain calc((var(--k) - .45) * 100% / var(--screens)) contain calc((var(--k) - .05) * 100% / var(--screens))}.case-play__copy li{animation:linear both case-focus;animation-timeline:--play;animation-range:contain calc((var(--k) - .45) * 100% / var(--screens)) contain calc((var(--k) + .55) * 100% / var(--screens))}.case-pan{view-timeline:--pan block;height:260svh}.case-pan__stage{height:100svh;padding-block:calc(var(--header-h) + 2vh) 6vh;align-content:center;position:sticky;top:0}.case-pan__frame{animation:linear both case-frame;animation-timeline:--pan;animation-range:contain contain 35%}.case-pan__frame img{animation:linear both case-camera;animation-timeline:--pan;animation-range:contain 10%}.case-specs__table div,.case-specs h2,.case .attribution-proof{animation:linear both universe-in;animation-timeline:view();animation-range:entry entry 70%}}}@keyframes case-flatten{to{transform:rotateX(0)rotateY(0)rotate(0)scale(1.04)}}@keyframes case-leave{to{opacity:.15;transform:translateY(-10vh)}}@keyframes case-turn{0%{transform:rotateY(-16deg)rotateX(4deg)}50%{transform:rotateY(0)rotateX(0)}to{transform:rotateY(14deg)rotateX(-3deg)}}@keyframes case-wipe{0%{clip-path:inset(100% 0 0 round 12% 12% 0 0)}to{clip-path:inset(0)}}@keyframes case-focus{0%,to{opacity:.3}20%,80%{opacity:1}}@keyframes case-frame{0%{border-radius:28px;transform:scale(.84)}to{border-radius:18px;transform:none}}@keyframes case-camera{0%{transform:scale(1.6)translate(10%,6%)}55%{transform:scale(1.35)translate(-8%,-2%)}to{transform:scale(1.05)translate(0)}}@media (max-width:1100px){.case-hero,.case--web .case-hero{grid-template-columns:1fr}.case-hero__stage{height:62svh}.case-play__stage{grid-template-columns:minmax(0,1fr) auto}.case-play__notes{display:none}.case-specs__grid{grid-template-columns:1fr}}@media (max-width:760px){.case-hero{padding-top:calc(var(--header-h) + 2vh)}.case-hero__stage{height:56svh}.case-visual--phones{--ph:50svh}.case-play__stage{grid-template-columns:1fr;justify-items:center;gap:3vh}.case-play__copy{justify-self:stretch}.case-play__device .phone{width:25.8462svh}.case-pan__frame{height:52svh}.case-specs__table div{grid-template-columns:1fr;gap:6px}.case .next-project{grid-template-columns:1fr auto;row-gap:3vh}.case .next-project__visual{grid-area:3/1/auto/-1}}@media (prefers-reduced-motion:reduce){.case-visual{transform:none}}.case-publisher{width:64px;margin:0 0 24px}.case-publisher img{object-fit:contain;width:64px;height:64px}.case-domains{border-top:1px solid #f0eee825;margin-top:28px;padding-top:28px}.case-domains ul{gap:16px;padding:0;list-style:none;display:grid}.case-domains li{font-size:18px}.case-domains p:not(.source-label){color:#a9a398;font-size:14px;line-height:1.7}
