/* Three real planes at entry: studio, polishing detail, then the alpha car.
   Scroll passes the car and enters the polishing frame. */
.hero{height:280svh}
.hero .studio-plane{opacity:1;transform:translate3d(calc(var(--px)*-7px),calc(var(--hp)*-65px),0) scale(calc(1 + var(--hp)*.16))}
.hero .studio-plane img{filter:brightness(.5)}
.hero .polish-window{z-index:2;clip-path:inset(calc((1 - var(--open,0))*14%) calc((1 - var(--open,0))*5%) calc((1 - var(--open,0))*32%) calc((1 - var(--open,0))*56%) round calc((1 - var(--open,0))*12px));transform:translate3d(calc(var(--px)*-12px),calc(var(--py)*8px),0)}
.polish-poster img,#polish-film{object-position:70% 50%;transform:scale(calc(1 + var(--hp)*.12))}
.hero .hero-car{display:block;z-index:3;opacity:1;width:88%;left:15%;top:43%;transform:translate3d(calc(var(--px)*15px - var(--approach,0)*180px),calc(var(--py)*6px + var(--approach,0)*720px),0) scale(calc(1 + var(--approach,0)*.55));transform-origin:55% 90%}
.hero .rear-type{z-index:1;top:36%;left:-1%;font-size:16vw;opacity:calc(1 - var(--hp)*2);color:#d7dcdf3d;transform:translate3d(calc(var(--px)*-16px + var(--hp)*180px),calc(var(--hp)*-110px),0) scale(calc(1 - var(--hp)*.2))}
.hero .hero-title{top:17%;max-width:60%;z-index:5;transform:translate3d(calc(var(--hp)*-170px),calc(var(--hp)*-100px),0);opacity:var(--intro-opacity,1)}
.hero h1{font-size:clamp(66px,7.4vw,118px)}
.hero h1 em{font-size:1.1em;transform:translateX(calc(var(--hp)*80px))}
.hero-title .eyebrow{font-size:9px;margin-bottom:24px}
.hero-title .outline-button{margin-top:26px}
.hero .hero-title:before{inset:-20px -60px -20px -45px;background:radial-gradient(ellipse at 15% 40%,#08090abf 0%,#08090a85 40%,transparent 72%)}
.hero .hero-shade{background:linear-gradient(0deg,#08090a 0%,transparent 22%);z-index:4}
.hero .near-haze{transform:translate3d(calc(var(--px)*-28px),calc(var(--hp)*-350px),0) scale(1.3);opacity:.7}
.hero .near-reflection{bottom:-8%;height:26%;transform:translate3d(calc(var(--px)*-35px - var(--hp)*170px),calc(var(--hp)*-420px),0)}
.hero .hero-second{opacity:var(--pass-opacity,0);bottom:16%;font-size:clamp(65px,7.4vw,110px);transform:translateY(calc((1 - var(--hp))*120px));text-shadow:0 3px 32px #000c}
.pass-shade{position:absolute;z-index:5;pointer-events:none;left:0;bottom:0;width:78%;height:53%;opacity:var(--pass-opacity,0);background:radial-gradient(ellipse at 25% 65%,#050607e8 0%,#050607b8 38%,transparent 72%)}
.hero-note{display:block;bottom:5%;right:5%;opacity:var(--intro-opacity,1)}
.hero-note p>span{display:inline-block;font-size:26px;line-height:1;margin-top:7px}
.film-toggle{top:100px;right:5%;bottom:auto}
.polish-orbit{display:none}
/* The wash starts immediately after a shorter opening: it is within the
   engine's three-screen warm-up range on initial load. */
.wash{z-index:5}
.wash-stage{box-shadow:0 -35px 90px #0009}
.wash-copy .eyebrow{font-size:9px}
.wash-actions{display:flex;align-items:center;gap:26px}.wash-actions .text-link{min-height:44px}
/* Pinned photographic depth study. The two close planes pass opposite sides
   of the type, while the far word moves at a much slower rate. */
.invitation.section{height:260svh;min-height:0;display:block;padding:0;overflow:visible;position:relative;background:#0a0c0e}
.material-stage{position:sticky;top:0;width:100%;height:100svh;min-height:640px;overflow:hidden;isolation:isolate;display:grid;place-items:center;padding:80px var(--gutter)}
.invitation-type{max-width:940px;width:70%;text-align:center;transform:translateY(calc((.5 - var(--depth,0))*95px)) scale(calc(.92 + var(--depth,0)*.12));isolation:isolate}
.invitation-type:before{content:'';position:absolute;inset:-80px -70px;z-index:-1;background:radial-gradient(ellipse,#08090aee 0%,#08090aa0 40%,transparent 70%);pointer-events:none}
.invitation .word-reveal{font-size:clamp(42px,5.2vw,80px)}
.material-photo{width:35%;height:66%;filter:brightness(.75);box-shadow:0 30px 90px #0006}
.material-one{left:-9%;top:24%;border-radius:0;transform:translate3d(calc(var(--depth,0)*-100px),calc((.5 - var(--depth,0))*620px),0) rotate(calc(-12deg + var(--depth,0)*18deg)) scale(calc(.85 + var(--depth,0)*.35))}
.material-two{right:-8%;top:12%;bottom:auto;border-radius:0;transform:translate3d(calc(var(--depth,0)*100px),calc((var(--depth,0) - .5)*510px),0) rotate(calc(10deg - var(--depth,0)*16deg)) scale(calc(1.15 - var(--depth,0)*.25))}
.material-word{font-size:20vw;bottom:1%;color:#bfc5ca17;transform:translateX(calc(var(--depth,0)*-360px))}
.stories{position:relative;z-index:6}
.story-left{transform:translate3d(calc((var(--scene,0) - .5)*-80px),calc(var(--scene,0)*-240px + 100px),0) rotate(calc(-8deg + var(--scene,0)*10deg))}
.story-right{transform:translate3d(calc((var(--scene,0) - .5)*80px),calc(var(--scene,0)*220px - 120px),0) rotate(calc(8deg - var(--scene,0)*10deg))}
.featured-story{transform:translateY(calc(var(--scene,0)*-70px))}
.craft-card>img{transform:translate3d(var(--image-pan,0px),var(--detail-y,-5%),0) scale(1.12)}
@media(max-width:860px){
 .hero{height:260svh}.hero-stage{min-height:600px}
 .hero .hero-title{top:17%;left:24px;right:20px;max-width:100%;transform:translate3d(calc(var(--hp)*-70px),calc(var(--hp)*-100px),0)}
 .hero h1{font-size:clamp(48px,10vw,78px)}.hero h1 em{font-size:1.12em}
 .hero-title .eyebrow{font-size:7px;margin-bottom:18px}.hero-title .outline-button{font-size:10px;margin-top:24px;padding:12px 15px;min-height:46px}
 .hero .polish-window{clip-path:inset(calc((1 - var(--open,0))*34%) 0 calc((1 - var(--open,0))*28%) calc((1 - var(--open,0))*40%) round 0)}
 .hero .hero-car{width:124%;left:-7%;top:57%;transform:translate3d(calc(var(--px)*8px - var(--approach,0)*90px),calc(var(--approach,0)*500px),0) scale(calc(1 + var(--approach,0)*.35))}
 .hero .rear-type{top:51%;font-size:21vw;width:112%;left:-6%;color:#d7dcdf66}
 .hero .hero-second{left:24px;font-size:12vw;bottom:16%}.hero-note{display:block;left:24px;right:auto;bottom:4%;text-align:left}.hero-note>span{font-size:8px}.hero-note p{display:none}
 .pass-shade{width:100%;height:45%;bottom:0;background:radial-gradient(ellipse at 25% 50%,#050607e8 0%,#050607bd 40%,transparent 75%)}
 .film-toggle{top:auto;bottom:24px;right:24px;font-size:9px;padding:8px 12px}
 .wash-actions{width:100%;justify-content:space-between;gap:12px}.wash-actions .text-link{gap:12px}
 .hero .hero-title:before{inset:-30px -20px;background:radial-gradient(ellipse at 25% 35%,#08090acc,#08090a55 50%,transparent 75%)}
 .invitation.section{height:210svh}.material-stage{min-height:620px;padding:65px 24px}.invitation-type{width:100%;transform:translateY(calc((.5 - var(--depth,0))*55px))}
 .invitation .word-reveal{font-size:clamp(34px,8.5vw,54px)}.invitation-type:before{inset:-70px -45px}
 .material-photo{width:58%;height:49%;filter:brightness(.6)}.material-one{left:-30%;top:20%;transform:translate3d(0,calc((.5 - var(--depth,0))*450px),0) rotate(calc(-12deg + var(--depth,0)*15deg))}.material-two{right:-30%;top:27%;transform:translate3d(0,calc((var(--depth,0) - .5)*410px),0) rotate(calc(12deg - var(--depth,0)*15deg))}
 .material-word{font-size:34vw;bottom:9%;transform:translateX(calc(var(--depth,0)*-180px))}
 .story-left{transform:translateY(calc((.5 - var(--scene,0))*100px)) rotate(-3deg)}.story-right{transform:translateY(calc((var(--scene,0) - .5)*100px)) rotate(3deg)}.featured-story{transform:translateY(calc(var(--scene,0)*-25px))}
}
@media(prefers-reduced-motion:reduce){
 .hero .hero-title{opacity:1!important}.hero .hero-car{opacity:1;transform:none!important}.hero .rear-type{display:block;opacity:1;transform:none!important}.hero .hero-second{display:none}
 .invitation.section{height:auto!important}.material-stage{position:relative;min-height:720px;height:auto;padding:180px 24px}.invitation-type,.material-photo,.material-word,.story-left,.story-right,.featured-story{transform:none!important}
}
