:root{--oxide:#290c0a;--ember:#77200f;--orange:#c53d13;--copper:#e58a4a;--cream:#f1dec1;--ivory:#fff5e5;--p:0;--keyLift:0;--selectP:0;--editP:0;--gradeP:0;--base:41 12 10;--glow:119 32 15}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:#290c0a}body{margin:0;background:#290c0a;color:var(--ivory);font-family:"DM Sans",system-ui,sans-serif;overflow-x:hidden}.skip-link{position:fixed;z-index:100;left:1rem;top:-5rem;padding:.8rem 1rem;border-radius:.5rem;background:var(--ivory);color:var(--oxide)}.skip-link:focus{top:1rem}.topbar{position:fixed;z-index:50;top:0;left:0;width:100%;height:76px;padding:0 clamp(24px,4.5vw,72px);display:grid;grid-template-columns:1fr 180px 1fr;align-items:center;color:white;mix-blend-mode:difference;pointer-events:none}.brand{color:inherit;text-decoration:none;font-size:1.22rem;font-weight:600;letter-spacing:-.04em;pointer-events:auto}.topbar p{justify-self:end;margin:0;font-size:.65rem;text-transform:uppercase;letter-spacing:.14em}.progress{height:1px;background:rgba(255,255,255,.25)}.progress span{display:block;height:100%;background:white;transform:scaleX(0);transform-origin:left}.story{height:720vh}.stage{position:sticky;top:0;height:100vh;min-height:650px;overflow:hidden;background:radial-gradient(circle at 68% 44%,rgb(var(--glow)/.34),transparent 34%),linear-gradient(135deg,rgb(var(--base)),#120707 120%);transition:background .05s linear;isolation:isolate}.stage::after{content:"";position:absolute;z-index:1;inset:0;background:radial-gradient(ellipse at 67% 85%,rgba(229,138,74,.1),transparent 38%),linear-gradient(90deg,rgba(0,0,0,.18),transparent 48%);pointer-events:none}.stage-glow{position:absolute;z-index:1;right:5vw;top:15vh;width:58vw;height:70vh;border-radius:50%;background:radial-gradient(circle,rgba(229,138,74,.12),transparent 65%);filter:blur(25px);transform:scale(calc(.9 + var(--p)*.18))}.copy-track{position:absolute;z-index:20;left:clamp(24px,5vw,80px);top:0;width:min(35vw,540px);height:100%}.copy-step{position:absolute;left:0;top:50%;width:100%;transform:translateY(-50%);opacity:0;pointer-events:none;will-change:opacity,transform}.copy-step.is-visible{pointer-events:auto}.eyebrow{margin:0 0 1.6rem;color:var(--copper);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em}.copy-step h1,.copy-step h2{margin:0;font:400 clamp(4rem,6.1vw,6.4rem)/.9 "Instrument Serif",Georgia,serif;letter-spacing:-.045em}.copy-step h2{font-size:clamp(3.8rem,5.6vw,5.8rem)}.copy-step h2 em{font-weight:400;color:var(--orange)}.accent{margin:.7rem 0 1.7rem;font:italic 400 clamp(2.6rem,4.1vw,4.2rem)/.94 "Instrument Serif",Georgia,serif;color:var(--copper);letter-spacing:-.035em}.lede{max-width:470px;margin:1.6rem 0 0;color:var(--cream);font-size:clamp(.95rem,1.1vw,1.08rem);line-height:1.55}.ready-label{display:inline-flex;align-items:center;gap:9px;margin-bottom:1.4rem;padding:9px 13px;border-radius:999px;background:rgba(255,245,229,.08);color:var(--cream);font-size:.64rem;text-transform:uppercase;letter-spacing:.1em}.ready-label span{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:var(--orange);color:white}.object-stage{position:absolute;z-index:10;right:1vw;top:8vh;width:64vw;height:84vh;perspective:1500px}.hero-object{position:absolute;inset:0;display:grid;place-items:center;opacity:0;will-change:transform,opacity,filter}.hero-object img{max-width:100%;max-height:100%;object-fit:contain}.camera-object{transform-origin:38% 52%}.camera-object>img{width:96%;height:94%;filter:drop-shadow(0 44px 35px rgba(0,0,0,.42))}.lens-light{position:absolute;z-index:-1;left:22%;top:37%;width:20%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(229,138,74,.55),rgba(197,61,19,.12) 42%,transparent 68%);filter:blur(7px);transform:scale(calc(.65 + var(--p)*3.2))}.laptop-object{transform-origin:52% 62%}.device-render{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 42px 34px rgba(0,0,0,.42))}.laptop-screen{position:absolute;z-index:2;left:14.8%;top:8%;width:70.4%;height:57.2%;overflow:hidden;background:#0d0909;border-radius:1.4%}.screen-state{position:absolute;inset:0;opacity:0;overflow:hidden;background:#100908;will-change:opacity}.select-state{display:flex;align-items:stretch;gap:1.1%;padding:2.2%}.selected-panel{position:relative;flex:1;border-radius:5px;overflow:hidden;transform:translateY(calc((1 - var(--selectP))*24px)) rotateY(calc((1 - var(--selectP))*8deg));opacity:calc(.25 + var(--selectP)*.75)}.selected-panel img{width:100%;height:100%;object-fit:cover}.selected-panel--a img{object-position:46% center}.selected-panel--c img{object-position:58% center}.screen-label{position:absolute;left:4%;bottom:4%;padding:6px 9px;border-radius:999px;background:rgba(18,7,7,.78);color:var(--cream);font-size:.45rem;letter-spacing:.12em}.edit-state{padding:2.2%;display:grid;grid-template-columns:30% 1fr;grid-template-rows:9% 61% 17% 9%;gap:1.4%}.edit-top{grid-column:1/3;display:flex;justify-content:space-between;color:#a18a82;font-size:.43rem;letter-spacing:.08em}.preview-window{grid-column:1/3;border-radius:5px;overflow:hidden}.preview-window img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.03)}.mini-timeline{grid-column:1/3;display:flex;gap:3px;position:relative;overflow:hidden;border-radius:4px;background:#24100e}.mini-clip{height:100%;background-position:center;background-size:cover}.clip-a{width:38%;background-image:url('./assets/ride-detail.png')}.clip-remove{width:calc(24% * (1 - var(--editP)));background-image:url('./assets/ride-wide.png');filter:grayscale(1);opacity:calc(1 - var(--editP))}.clip-c{flex:1;background-image:url('./assets/ride-reel.png')}.mini-playhead{position:absolute;left:calc(4% + var(--editP)*90%);top:0;width:2px;height:100%;background:var(--copper);box-shadow:0 0 8px var(--copper)}.mini-wave{grid-column:1/3;background:repeating-linear-gradient(90deg,transparent 0 3px,var(--copper) 3px 4px,transparent 4px 7px);opacity:.65;clip-path:polygon(0 45%,4% 20%,8% 62%,12% 28%,18% 69%,24% 30%,31% 61%,38% 21%,46% 66%,54% 26%,62% 58%,70% 18%,78% 64%,87% 30%,94% 57%,100% 44%,100% 56%,94% 43%,87% 70%,78% 36%,70% 82%,62% 42%,54% 74%,46% 34%,38% 79%,31% 39%,24% 70%,18% 31%,12% 72%,8% 38%,4% 80%,0 55%)}.grade-state>img,.grade-after,.grade-after img{width:100%;height:100%;object-fit:cover}.grade-before{filter:saturate(.62) contrast(.88) brightness(1.04)}.grade-after{position:absolute;inset:0;clip-path:inset(0 calc((1 - var(--gradeP))*100%) 0 0)}.grade-after img{filter:saturate(1.18) contrast(1.1) sepia(.12) brightness(.94)}.grade-line{position:absolute;left:calc(var(--gradeP)*100%);top:0;width:2px;height:100%;background:white;box-shadow:0 0 15px rgba(0,0,0,.35)}.grade-line span{position:absolute;top:4%;padding:5px 7px;border-radius:4px;background:rgba(41,12,10,.8);font-size:.42rem;letter-spacing:.08em}.grade-line span:first-child{right:8px}.grade-line span:last-child{left:8px}.key-field{position:absolute;z-index:5;left:50%;top:73%;width:0;height:0;transform-style:preserve-3d}.key-field i{position:absolute;display:grid;place-items:center;width:38px;height:34px;border-radius:6px;background:linear-gradient(#2b2928,#0d0c0c);border:1px solid rgba(255,255,255,.18);box-shadow:0 10px 18px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.18);color:#d9ccc4;font:500 .72rem "DM Sans",sans-serif;font-style:normal;opacity:var(--keyLift);transform:translate(calc(var(--x)*var(--keyLift)),calc(var(--y)*var(--keyLift))) rotate(calc(var(--r)*var(--keyLift))) scale(calc(.72 + var(--keyLift)*.28));will-change:transform,opacity}.phone-object{right:8%;left:auto;width:54%;transform-origin:center}.phone-object .device-render{filter:drop-shadow(0 45px 36px rgba(0,0,0,.48))}.phone-screen{position:absolute;z-index:2;left:22%;top:5.7%;width:55.5%;height:88.5%;overflow:hidden;border-radius:12% 12% 11% 11%;background:#0b0808;transform:perspective(900px) rotateY(-1.8deg)}.phone-screen>img{width:100%;height:100%;object-fit:cover;object-position:52% center;animation:drift 7s ease-in-out infinite alternate}.reel-title{position:absolute;left:10%;right:8%;bottom:11%;text-shadow:0 3px 12px rgba(0,0,0,.8)}.reel-title small,.reel-title strong{display:block}.reel-title small{font-size:.48rem;text-transform:uppercase;letter-spacing:.12em}.reel-title strong{margin-top:.3rem;font:italic 400 1.6rem/1 "Instrument Serif",serif}.reel-bar{position:absolute;left:10%;right:10%;bottom:5%;height:2px;background:rgba(255,255,255,.35)}.reel-bar span{display:block;height:100%;background:white;animation:reelProgress 4.5s linear infinite}.drive-object{right:0;left:auto;width:66%}.drive-object>img{position:relative;z-index:2;width:100%;height:100%;filter:drop-shadow(0 42px 34px rgba(0,0,0,.45))}.drive-halo{position:absolute;z-index:1;width:72%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(229,138,74,.32),rgba(197,61,19,.08) 45%,transparent 70%)}.drive-status{position:absolute;z-index:3;right:7%;bottom:13%;min-width:205px;padding:13px 16px 13px 42px;border-radius:12px;background:rgba(18,7,7,.88);box-shadow:0 22px 50px rgba(0,0,0,.3)}.drive-status>span{position:absolute;left:16px;top:18px;width:11px;height:11px;border-radius:50%;background:#65d297;box-shadow:0 0 13px #65d297}.drive-status small,.drive-status strong{display:block}.drive-status small{color:var(--copper);font-size:.54rem;text-transform:uppercase;letter-spacing:.1em}.drive-status strong{margin-top:3px;font-size:.8rem}.chapter-dots{position:absolute;z-index:30;right:3vw;top:50%;display:grid;gap:10px;transform:translateY(-50%)}.chapter-dots i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.25);transition:.3s}.chapter-dots i.active{background:var(--copper);transform:scale(1.7)}.scroll-hint{position:absolute;z-index:20;right:5vw;bottom:5vh;margin:0;color:var(--cream);font-size:.61rem;text-transform:uppercase;letter-spacing:.12em}.scroll-hint span{color:var(--copper)}footer{position:absolute;z-index:20;left:5vw;right:5vw;bottom:4vh;display:none;justify-content:space-between;padding-top:16px;border-top:1px solid rgba(255,245,229,.18);font-size:.62rem;text-transform:uppercase;letter-spacing:.1em}.cta-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:2rem}.primary-cta,.secondary-cta,.text-cta{border:0;font:600 .84rem "DM Sans",sans-serif;cursor:pointer}.primary-cta{padding:14px 21px;border-radius:11px;background:var(--orange);color:var(--ivory)}.secondary-cta{padding:13px 20px;border-radius:11px;border:1px solid rgba(255,245,229,.3);background:transparent;color:var(--ivory)}.text-cta{padding:12px 8px;background:transparent;color:var(--cream)}.toast{position:fixed;z-index:100;left:50%;bottom:28px;transform:translate(-50%,30px);padding:12px 18px;border-radius:10px;background:#120707;color:var(--ivory);font-size:.78rem;opacity:0;pointer-events:none;transition:.3s}.toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes drift{from{transform:scale(1.04) translateY(0)}to{transform:scale(1.12) translateY(-2%)}}@keyframes reelProgress{from{width:0}to{width:100%}}
@media(max-width:850px){.topbar{height:62px;padding:0 20px;grid-template-columns:1fr 90px 1fr}.topbar p{font-size:.48rem}.stage{min-height:620px}.copy-track{left:24px;right:24px;top:0;width:auto;height:45%}.copy-step{top:55%;width:min(86vw,520px)}.copy-step h1,.copy-step h2{font-size:clamp(3.3rem,14vw,4.5rem)}.accent{font-size:clamp(2.35rem,10vw,3.2rem);margin-bottom:1rem}.lede{font-size:.84rem;max-width:340px;margin-top:1rem}.eyebrow{margin-bottom:1rem}.object-stage{left:-8vw;right:-8vw;top:39vh;width:auto;height:59vh}.camera-object>img{width:112%}.laptop-object{inset:2% -2%}.phone-object{right:16%;width:68%}.drive-object{right:-9%;width:88%;opacity:.72!important}.key-field i{width:31px;height:28px}.chapter-dots{right:14px}.scroll-hint{right:20px;bottom:2.5vh}.copy-step--final{top:50%}.copy-step--final .lede{max-width:280px}.copy-step--final .cta-row{max-width:290px;margin-top:1.2rem}.copy-step--final h2{font-size:3.6rem}.drive-status{right:12%;bottom:5%;min-width:175px}footer{left:24px;right:24px}.stage.is-final footer{display:flex}.stage.is-final .scroll-hint{display:none}}
@media(max-width:850px) and (max-height:700px){.copy-step{top:58%}.copy-step h1,.copy-step h2{font-size:3.25rem}.accent{font-size:2.4rem}.lede{display:none}.object-stage{top:38vh;height:61vh}.copy-step--final{top:42%}.copy-step--final .lede{display:block}.ready-label{margin-bottom:.7rem}.copy-step--final .cta-row{margin-top:.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-object,.copy-step,.key-field i{transition:none!important}.key-field{display:none}.phone-screen>img,.reel-bar span{animation:none}}
.stage.is-final footer{display:flex}.stage.is-final .scroll-hint{display:none}

/* Precision device compositing: content stays behind the physical bezels. */
.morph-flare{position:absolute;z-index:9;left:47%;top:42%;width:34%;aspect-ratio:1;border-radius:50%;pointer-events:none;opacity:var(--morphFlash,0);transform:translate(-50%,-50%) scale(calc(.72 + var(--morphFlash,0)*.72));background:radial-gradient(circle,rgba(255,226,188,.72) 0,rgba(229,138,74,.3) 24%,rgba(197,61,19,.11) 48%,transparent 72%);filter:blur(18px);mix-blend-mode:screen}
.laptop-screen{left:16.25%;top:9.65%;width:67.45%;height:53.9%;border-radius:1.1%;clip-path:polygon(.7% 1.3%,99.3% 1.3%,98.7% 98.8%,1.3% 98.8%);box-shadow:inset 0 0 0 2px #090606}
.laptop-screen .screen-state{inset:1.1%;border-radius:2px;contain:paint}
.phone-screen{left:23.55%;top:7.25%;width:52.75%;height:85.45%;border-radius:14% 14% 13% 13%;clip-path:inset(.4% .5% .6% .5% round 13%);transform:none;box-shadow:inset 0 0 0 2px #080606}
.phone-screen>img{position:absolute;inset:1.2%;width:97.6%;height:97.6%;border-radius:12%;contain:paint}
.key-sockets{position:absolute;z-index:4;left:29.2%;top:66.7%;width:42.5%;height:8.8%;opacity:var(--keyLift);transform:perspective(600px) rotateX(58deg);transform-origin:center top;pointer-events:none}
.key-sockets i{position:absolute;width:6.8%;height:35%;border-radius:3px;background:#050505;box-shadow:inset 0 4px 6px #000,0 0 0 1px rgba(229,138,74,.12)}
.key-sockets i:nth-child(1){left:20%;top:8%}.key-sockets i:nth-child(2){left:30%;top:10%}.key-sockets i:nth-child(3){left:40%;top:12%}.key-sockets i:nth-child(4){left:55%;top:14%}.key-sockets i:nth-child(5){left:67%;top:16%}.key-sockets i:nth-child(6){left:45%;top:55%}
.key-field{top:70.5%}
.key-field i{transform-origin:center bottom}
@media(max-width:850px){.laptop-screen{left:16.5%;top:10.1%;width:67%;height:53.2%}.phone-screen{left:23.8%;top:7.6%;width:52.2%;height:84.7%}.key-sockets{left:29.5%;top:67%;width:42%}.morph-flare{left:56%;top:54%;width:50%}}

/* Perspective-matched media planes and the editorial domino-key layer. */
.laptop-screen{left:15.95%;top:9.35%;width:68.1%;height:54.35%;border-radius:0;clip-path:polygon(1.1% 1.2%,99.15% 0,98.35% 99%,.55% 98.7%);transform:perspective(1400px) rotateY(-1.2deg) skewY(-.12deg) scale(1.012);transform-origin:50% 52%;box-shadow:none}
.laptop-screen .screen-state{inset:0;border-radius:0}
.selected-panel{border-radius:2px}.selected-panel img,.preview-window img,.grade-state>img,.grade-after img{width:100%;height:100%;object-fit:cover}
.selected-panel--a img{object-position:50% 66%}.selected-panel--b img{object-position:50% 53%}.selected-panel--c img{object-position:50% 58%}
.preview-window img{object-position:50% 59%}
.grade-state>img,.grade-after img{object-position:50% 45%}
.clip-a{background-image:url('./assets/stock-party.jpg')}.clip-remove{background-image:url('./assets/stock-concert.jpg')}.clip-c{background-image:url('./assets/stock-wedding.jpg')}
.key-sockets,.key-field{display:none!important}
.key-wave{position:absolute;z-index:5;left:25.8%;top:66.2%;width:47.5%;height:8%;display:grid;grid-template-columns:repeat(14,1fr);gap:2px;perspective:600px;transform:rotate(-.6deg) skewX(-4deg);transform-origin:center;pointer-events:none}
.key-wave i{display:grid;place-items:center;min-width:0;height:78%;border-radius:4px;background:linear-gradient(155deg,#373330,#11100f 62%);border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 12px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.16);color:#e2d5cb;font:500 clamp(.34rem,.55vw,.62rem) "DM Sans",sans-serif;font-style:normal;opacity:var(--wave,0);transform-origin:50% 100%;transform:translateY(calc(-5px - var(--wave,0)*30px)) rotateX(calc(var(--wave,0)*-68deg)) scale(calc(.78 + var(--wave,0)*.22));filter:brightness(calc(.7 + var(--wave,0)*.3));will-change:transform,opacity}
.phone-screen{left:23.15%;top:6.85%;width:53.45%;height:86.25%;border-radius:0;clip-path:polygon(5.2% .5%,95.8% 0,99.25% 96.7%,4.3% 100%);transform:perspective(1000px) rotateY(-2.4deg) skewY(.15deg) scale(1.012);transform-origin:52% 50%;box-shadow:none;background:#f7f4ef}
.social-feed{position:absolute;inset:0;height:300%;transform:translateY(calc(var(--feedP,0)*-66.666%));will-change:transform}
.social-post{height:33.333%;display:grid;grid-template-rows:10% 72% 18%;overflow:hidden;background:#f7f4ef;color:#1b1411;font-family:"DM Sans",sans-serif}
.social-post header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:5px;padding:0 7%;font-size:.42rem;letter-spacing:.01em}.social-post header small{color:#7c6f67}.avatar{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,var(--orange),var(--copper));color:white;font-size:.45rem;font-weight:700}
.social-post>img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}.social-post:nth-child(1)>img{object-position:52% 50%}.social-post:nth-child(2)>img{object-position:50% 57%}.social-post:nth-child(3)>img{object-position:50% 52%}
.social-post footer{position:static;display:grid;justify-content:stretch;align-content:center;gap:2px;padding:4% 7%;border:0;color:#1b1411;text-transform:none;letter-spacing:0;font-size:.42rem;line-height:1.15}.social-post footer span{font-size:.64rem}.social-post footer b{font-size:.49rem}.social-post footer small{color:#7c6f67}
@media(max-width:850px){.laptop-screen{left:16.2%;top:9.75%;width:67.65%;height:53.7%}.phone-screen{left:23.4%;top:7.2%;width:52.9%;height:85.5%}.key-wave{left:26%;top:66.7%;width:47%}.social-post header,.social-post footer{font-size:.34rem}}

/* Measured device coordinate systems. The rigs match the source PNG ratios exactly. */
.device-rig{position:relative;display:block;isolation:isolate}
.laptop-rig{width:100%;aspect-ratio:3/2}
.phone-rig{height:100%;aspect-ratio:2/3}
.device-rig>.device-render{position:absolute;z-index:1;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:fill}
.laptop-screen{z-index:2;left:16.0807%;top:8.0078%;width:68.1641%;height:56.7383%;border:0;border-radius:0;clip-path:polygon(2.2923% 0,97.7077% 0,100% 100%,0 100%);transform:none;box-shadow:none;background:#080707}
.laptop-screen .screen-state{inset:0;clip-path:none;border-radius:0}
.key-wave{z-index:3;left:25.8%;top:66.2%;width:47.5%;height:8%}
.phone-screen{z-index:2;left:21.4844%;top:2.8646%;width:55.8594%;height:93.099%;border:0;border-radius:0;clip-path:polygon(13% 2%,88% 0,98.5% 4%,100% 95.5%,88% 100%,12% 97.5%,0 92%,0 8%);transform:none;box-shadow:none;background:#f7f4ef}
.phone-screen::after{content:"";position:absolute;z-index:20;left:47.7%;top:3%;width:5.2%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 60% 38%,#385c8c 0 10%,#07101d 18%,#020203 62%);box-shadow:0 0 0 2px rgba(0,0,0,.78)}
.phone-screen .social-feed{clip-path:inherit}
.clip-defs{position:absolute;inline-size:0;block-size:0;overflow:hidden}
.phone-screen{clip-path:url(#phoneGlass)}
.phone-screen .social-feed{clip-path:none}

/* Frame 1 and global type/header direction. */
body{font-family:"Nunito",system-ui,sans-serif}
.topbar{grid-template-columns:1fr auto 1fr}
.topbar .brand{grid-column:2;justify-self:center;font-family:"Righteous",sans-serif;font-size:1.34rem;font-weight:400;letter-spacing:.045em;transform-origin:50% 50%;animation:brandArrival 1.15s cubic-bezier(.2,.82,.25,1) 1 both}
.topbar p{grid-column:3;font-family:"Nunito",sans-serif;font-weight:700}
.progress{display:none!important}
.copy-step{top:44.5%}
.copy-step h1,.copy-step h2{font-family:"Righteous",sans-serif;font-weight:400;font-style:normal;line-height:.94;letter-spacing:-.025em}
.copy-step:first-child h1{font-size:clamp(5.2rem,7.2vw,7.7rem);line-height:.9}
.copy-step h2{font-size:clamp(3.6rem,5.25vw,5.45rem)}
.accent{font-family:"Righteous",sans-serif;font-style:normal;font-weight:400;font-size:clamp(2.45rem,3.65vw,3.8rem);line-height:1;color:var(--copper);letter-spacing:-.02em}
.eyebrow,.lede,.ready-label,.primary-cta,.secondary-cta,.text-cta,footer,.toast{font-family:"Nunito",system-ui,sans-serif}
.camera-rig{position:relative;width:96%;aspect-ratio:3/2;isolation:isolate}
.camera-rig>img{position:absolute;z-index:1;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:fill;filter:drop-shadow(0 44px 35px rgba(0,0,0,.42))}
.camera-rig .lens-light{z-index:0}
.operation-led{position:absolute;z-index:3;left:92.4%;top:40.5%;width:10px;aspect-ratio:1;border-radius:50%;background:#78e5aa;box-shadow:0 0 2px #e7fff2,0 0 10px rgba(101,210,151,.95),0 0 24px rgba(101,210,151,.42);opacity:.3;animation:cameraStatus 2.8s ease-in-out infinite}
@keyframes brandArrival{0%{transform:rotate(-360deg) scale(.72);opacity:0;filter:blur(4px)}72%{transform:rotate(10deg) scale(1.05);opacity:1;filter:blur(0)}100%{transform:rotate(0) scale(1);opacity:1;filter:blur(0)}}
@keyframes cameraStatus{0%,12%,100%{opacity:.3;transform:scale(.82)}2%,7%{opacity:1;transform:scale(1.18)}4%,9%{opacity:.38;transform:scale(.9)}}
@media(max-width:850px){.topbar .brand{font-size:1.08rem}.copy-step{top:47%}.copy-step:first-child h1{font-size:clamp(3.8rem,15vw,5rem)}.copy-step h2{font-size:clamp(3.1rem,12vw,4.2rem)}.accent{font-size:clamp(2rem,8.8vw,2.8rem)}.operation-led{width:7px}}
@media(prefers-reduced-motion:reduce){.topbar .brand,.operation-led{animation:none}}

/* User-supplied BRIO mark and focused Frame 2/3 typography motion. */
.topbar .brand{display:inline-flex;align-items:center;gap:9px;animation:none;transform:none}
.topbar .brand span{display:inline-block;transform:none}
.brand-mark{display:block;width:29px;height:29px;object-fit:contain;transform-origin:50% 50%;animation:markArrival 1.15s cubic-bezier(.2,.82,.25,1) 1 both}
.copy-step[data-copy="1"],.copy-step[data-copy="2"]{top:42.5%}
.copy-step[data-copy="1"] h2,.copy-step[data-copy="2"] h2{font-size:clamp(3.85rem,5.45vw,5.65rem);line-height:.95}
.glyph{display:inline-block;opacity:0;will-change:opacity,transform}
@keyframes markArrival{0%{transform:rotate(-360deg) scale(.7);opacity:0;filter:blur(4px)}72%{transform:rotate(12deg) scale(1.08);opacity:1;filter:blur(0)}100%{transform:rotate(0) scale(1);opacity:1;filter:blur(0)}}
@media(max-width:850px){.brand-mark{width:24px;height:24px}.topbar .brand{gap:7px}.copy-step[data-copy="1"],.copy-step[data-copy="2"]{top:44%}.copy-step[data-copy="1"] h2,.copy-step[data-copy="2"] h2{font-size:clamp(3.2rem,12.5vw,4.35rem)}}
@media(prefers-reduced-motion:reduce){.brand-mark{animation:none}.glyph{opacity:1!important;transform:none!important}}

/* Phone frame: preserve the physical glass, camera bay, and lower safe area. */
.topbar{grid-template-columns:1fr auto 1fr}
.copy-step[data-copy="4"]{top:42.5%}
.copy-step[data-copy="4"] h2{font-size:clamp(4.05rem,5.7vw,5.95rem);line-height:.94}
.phone-screen{background:#020202;overflow:hidden}
.phone-screen .phone-viewport{position:absolute;z-index:4;left:3.7%;right:4.2%;top:10.5%;bottom:7.2%;overflow:hidden;background:#f7f4ef;clip-path:polygon(1.4% 0,98.7% 0,100% 97.6%,98.2% 100%,1.2% 99%,0 2.2%);transform:perspective(1000px) rotateY(-.35deg) skewY(.05deg);transform-origin:50% 50%;contain:paint}
.phone-viewport .social-feed{position:absolute;inset:0;height:300%;clip-path:none}
.phone-screen::after{top:3.1%;z-index:8}
.phone-like{position:absolute;z-index:12;left:50%;top:50%;display:grid;place-items:center;width:42%;aspect-ratio:1;transform:translate(-50%,-50%) scale(.35);border-radius:50%;color:#f12f47;font-size:clamp(3.8rem,7vw,7rem);line-height:1;text-shadow:0 8px 30px rgba(0,0,0,.5);filter:drop-shadow(0 0 18px rgba(241,47,71,.55));opacity:0;pointer-events:none;transition:opacity .16s ease,transform .34s cubic-bezier(.18,.86,.22,1)}
.phone-object:hover .phone-like,.phone-object:active .phone-like,.phone-object.show-like .phone-like,.phone-object:focus-visible .phone-like{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media(max-width:850px){.copy-step[data-copy="4"]{top:44%}.copy-step[data-copy="4"] h2{font-size:clamp(3.35rem,12.8vw,4.5rem)}.phone-like{font-size:clamp(3rem,15vw,5rem)}}
@media(prefers-reduced-motion:reduce){.phone-like{transition:none}.phone-object:hover .phone-like,.phone-object:active .phone-like{opacity:1;transform:translate(-50%,-50%) scale(1)}}

/* Final delivery tableau: centered story book, status pill, and bottom support dock. */
.copy-step--final{position:fixed;inset:0;width:100vw;height:100vh;padding:10.5vh 5vw 3.5vh;display:flex;flex-direction:column;align-items:center;text-align:center;transform:none}
.copy-step--final h2{font-size:clamp(3.8rem,5.4vw,5.7rem);line-height:.92}
.copy-step--final .lede{max-width:600px;margin:.9rem auto 0}
.copy-step--final .cta-row{margin:auto 0 7vh;padding:10px 12px;border:1px solid rgba(255,245,229,.16);border-radius:16px;background:rgba(18,7,7,.72);box-shadow:0 18px 46px rgba(0,0,0,.28);backdrop-filter:blur(14px)}
.drive-object{position:absolute;top:25%;bottom:30%;left:-10vw;right:auto;width:52vw}
.drive-object>img{width:100%;height:100%;object-fit:contain}
.drive-halo{width:min(42vw,560px)}
.drive-status{left:calc(50% + 10vw);right:auto;top:49%;bottom:auto;min-width:185px;padding:0 0 0 10px;transform:none;border-radius:0;background:transparent;box-shadow:none;text-align:left}
.drive-status>span{display:none}
.drive-status::before{content:"";position:absolute;right:100%;top:50%;width:9vw;height:1px;background:rgba(255,255,255,.88);transform:translateY(-50%)}
.drive-status::after{content:"";position:absolute;right:calc(100% + 9vw);top:50%;width:7px;height:7px;border:1px solid white;border-radius:50%;background:#120707;transform:translate(50%,-50%);box-shadow:0 0 12px rgba(255,255,255,.45)}
.drive-status small{color:rgba(255,255,255,.72)}
.drive-status strong{color:white;font-size:.88rem}
footer{grid-template-columns:1fr 1fr}
footer span:last-child{justify-self:end}
@media(max-width:850px){.copy-step--final{padding:9vh 20px 2.5vh}.copy-step--final h2{font-size:clamp(3rem,12vw,4.2rem)}.copy-step--final .lede{max-width:330px}.copy-step--final .cta-row{justify-content:center;max-width:92vw;margin-bottom:7.5vh}.drive-object{top:31%;bottom:27%;left:22vw;width:72vw}.drive-status{left:calc(50% + 14vw);top:52%;min-width:148px}.drive-status::before{width:11vw}.drive-status::after{right:calc(100% + 11vw)}.drive-status strong{font-size:.72rem}}

/* Functional booking dialog. */
.primary-cta,.secondary-cta,.text-cta{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.booking-dialog{width:min(92vw,560px);max-height:min(88vh,760px);padding:0;border:1px solid rgba(255,245,229,.18);border-radius:22px;background:#180908;color:var(--ivory);box-shadow:0 32px 90px rgba(0,0,0,.58);overflow:auto}
.booking-dialog::backdrop{background:rgba(7,2,2,.76);backdrop-filter:blur(12px)}
.booking-form{display:grid;gap:15px;padding:clamp(22px,4vw,36px);font-family:"Nunito",system-ui,sans-serif}
.booking-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.booking-head p{margin:0 0 7px;color:var(--copper);font-size:.68rem;font-weight:700;letter-spacing:.15em}.booking-head h2{margin:0;font:400 clamp(2.2rem,7vw,3.4rem)/.95 "Righteous",sans-serif}.booking-close{border:0;background:transparent;color:var(--ivory);font-size:2rem;line-height:1;cursor:pointer}.booking-intro,.booking-note{margin:0;color:var(--cream);font-size:.9rem;line-height:1.45}.booking-note{font-size:.76rem;opacity:.78}.booking-form label{display:grid;gap:7px;color:var(--cream);font-size:.78rem;font-weight:700}.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:1px solid rgba(255,245,229,.2);border-radius:11px;background:rgba(255,255,255,.06);color:var(--ivory);padding:12px 13px;font:500 1rem "Nunito",sans-serif;outline:none}.booking-form select option{background:#180908}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--copper);box-shadow:0 0 0 3px rgba(229,138,74,.12)}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-submit{border:0;border-radius:12px;background:var(--orange);color:white;padding:14px 18px;font:700 .92rem "Nunito",sans-serif;cursor:pointer}

/* Phone-first tuning: stable viewport units, safe areas, and lighter effects. */
@media(max-width:850px){html{scroll-behavior:auto}.story{height:760svh}.stage{height:100svh;min-height:0}.topbar{height:calc(58px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 18px 0}.copy-track{left:20px;right:20px;width:auto;height:43svh}.copy-step{top:51%;width:min(88vw,500px)}.copy-step[data-copy="1"],.copy-step[data-copy="2"],.copy-step[data-copy="4"]{top:49%}.copy-step h1,.copy-step h2{font-size:clamp(3rem,13.5vw,4.25rem);line-height:.92}.copy-step:first-child h1{font-size:clamp(3.55rem,15.5vw,4.75rem)}.accent{font-size:clamp(2rem,9vw,2.7rem)}.lede{font-size:.82rem;line-height:1.4;max-width:88vw}.eyebrow{margin-bottom:.75rem}.object-stage{left:-10vw;right:-10vw;top:38svh;width:auto;height:61svh;perspective:1100px}.camera-object>img{width:108%}.laptop-object{inset:5% -2%}.phone-object{right:13%;width:72%}.copy-step--final{top:0;left:0;right:0;bottom:0;width:100vw;height:100svh;padding:calc(8.5svh + env(safe-area-inset-top)) 18px calc(2.5svh + env(safe-area-inset-bottom))}.copy-step--final h2{font-size:clamp(2.8rem,11.5vw,3.85rem)}.copy-step--final .lede{font-size:.78rem;max-width:320px}.copy-step--final .cta-row{max-width:94vw;margin-bottom:calc(6.5svh + env(safe-area-inset-bottom));padding:8px;gap:6px;border-radius:14px}.copy-step--final .primary-cta,.copy-step--final .secondary-cta,.copy-step--final .text-cta{min-height:43px;padding:10px 12px;font-size:.72rem}.drive-object{top:30%;bottom:28%;left:20vw;width:74vw}.drive-status{left:calc(50% + 11vw);top:51%}.stage-glow{filter:blur(15px)}.booking-dialog{width:calc(100vw - 24px);max-height:calc(100svh - 24px);border-radius:18px}.booking-form{padding:22px 18px}.booking-grid{grid-template-columns:1fr}.scroll-hint{display:none}footer{bottom:calc(2vh + env(safe-area-inset-bottom));font-size:.54rem}}
@media(max-width:420px){.copy-step:first-child h1{font-size:14vw}.accent{font-size:8vw}.copy-step h2{font-size:11.5vw}.phone-object{right:15%;width:70%}.copy-step--final .cta-row{width:calc(100vw - 24px)}.copy-step--final .primary-cta,.copy-step--final .secondary-cta,.copy-step--final .text-cta{flex:1;white-space:nowrap;padding-inline:7px;font-size:.68rem}}
