*{box-sizing:border-box;margin:0;padding:0}
:root{--acc:#c9935a;--fg:#f4ede4;--mut:rgba(244,237,228,.62)}
html{background:#000;color:var(--fg);font:16px/1.5 -apple-system,"Helvetica Neue","Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2{font-family:"Cormorant Garamond","Playfair Display",Didot,"Bodoni 72",Georgia,serif;font-weight:400;letter-spacing:-.02em;line-height:.98}
em{font-style:italic;color:var(--acc)}
.lbl{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--acc);margin-bottom:1.2em}
.badge{position:fixed;top:14px;right:14px;z-index:20;font-size:11px;letter-spacing:.08em;color:var(--mut);border:1px solid rgba(201,147,90,.35);padding:5px 11px;border-radius:99px;background:rgba(0,0,0,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.bar{position:fixed;left:0;right:0;top:0;height:2px;z-index:21;background:rgba(255,255,255,.06)}
.bar i{display:block;height:100%;width:100%;background:var(--acc);transform-origin:0 50%;transform:scaleX(0)}
.story{height:1400vh;position:relative}
.sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
#cv,.still{position:absolute;inset:0;width:100%;height:100%}
.still{display:none;object-fit:cover}
.vign{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 45%,rgba(0,0,0,.55) 100%),linear-gradient(90deg,rgba(0,0,0,.55),transparent 38%)}
.intro{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 6vw;will-change:opacity,transform}
.intro h1{font-size:clamp(3.6rem,11vw,10rem);text-shadow:0 10px 60px rgba(0,0,0,.8)}
.intro h1 span,.intro h1 em{display:inline-block;opacity:0;transform:translateY(40px);filter:blur(8px);animation:rise 1.4s cubic-bezier(.2,.7,.1,1) forwards}
.intro h1 em{animation-delay:.25s}
.intro .lbl,.intro .sub{opacity:0;animation:fade 1.4s .6s forwards}
.intro .sub{color:var(--mut);margin-top:1.4em;letter-spacing:.06em}
@keyframes rise{to{opacity:1;transform:none;filter:none}}
@keyframes fade{to{opacity:1}}
.steps{list-style:none;position:absolute;left:7vw;bottom:14vh;width:min(560px,80vw)}
.steps li{position:absolute;left:0;bottom:0;opacity:0;transform:translateY(30px);transition:opacity .9s cubic-bezier(.2,.7,.1,1),transform .9s cubic-bezier(.2,.7,.1,1),filter .9s;filter:blur(6px)}
.steps li.on{opacity:1;transform:none;filter:none}
.steps h2{font-size:clamp(2.6rem,5.6vw,5.4rem);text-shadow:0 6px 40px rgba(0,0,0,.9)}
.ki{position:absolute;right:16px;bottom:12px;font-size:11px;color:rgba(244,237,228,.45)}
.finale{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}
.fbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.finale:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000 10%,rgba(0,0,0,.2) 70%)}
.fin{position:relative;z-index:1;padding:0 7vw;max-width:720px}
.fin h2{font-size:clamp(3rem,8vw,7rem);margin-bottom:.35em}
.fin p{color:var(--mut)}
.btn{display:inline-block;margin:2.2em 0 2em;padding:1.05em 2.6em;border:1px solid var(--acc);border-radius:99px;color:#120a04;background:var(--acc);text-decoration:none;font-weight:600;letter-spacing:.06em;transition:background .3s,color .3s}
.btn:hover{background:transparent;color:var(--acc)}
.addr{font-size:13px}.addr small{opacity:.75}
footer{padding:2.2em 7vw;font-size:12px;color:rgba(244,237,228,.4);border-top:1px solid #1a1410;text-align:center}
footer a{color:var(--mut)}
@media (max-width:799px){
 .vign{background:radial-gradient(ellipse at 50% 40%,transparent 40%,rgba(0,0,0,.6) 100%),linear-gradient(0deg,rgba(0,0,0,.85),transparent 45%)}
 .steps{bottom:9vh;left:7vw}
 .finale:after{background:linear-gradient(0deg,#000 25%,rgba(0,0,0,.2) 80%)}
 .finale{align-items:flex-end;padding-bottom:8vh}
 .ki{top:16px;left:16px;right:auto;bottom:auto}
}
@media (prefers-reduced-motion:reduce){
 .story{height:auto}.sticky{position:relative;height:auto;min-height:100vh;padding-bottom:4em}
 #cv{display:none}.still{display:block;opacity:.6}
 .intro{position:relative;min-height:70vh}.intro *{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}
 .steps{position:relative;left:auto;bottom:auto;margin:0 7vw}.steps li{position:static;opacity:1;transform:none;filter:none;margin-bottom:1.6em}
 .steps h2{font-size:2rem}
}
