html{scroll-behavior:smooth}
body{margin:0;background:#000}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
img,video{display:block}
.eyebrow{font:600 11px/1 Cinzel,serif;letter-spacing:.32em;color:#B18A52}
.btn{display:inline-block;padding:17px 30px;font:600 11px/1 Cinzel,serif;letter-spacing:.22em;border:1px solid #B18A52;background:transparent;color:#EAE0CC;transition:background .35s,color .35s,transform .35s;min-height:44px;box-sizing:border-box}
.btn:hover{transform:translateY(-2px);background:#B18A52;color:#191715}
.btn.solid{background:#8F3029;border-color:#8F3029}
.btn.solid:hover{background:#B18A52;border-color:#B18A52}

.sc{position:relative;height:300vh;view-timeline:--s block}
.sc.t4{height:400vh;--a:20%;--b:80%}
.sc.t25{height:250vh;--a:29%;--b:71%}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#000}
.L{position:absolute;inset:0;width:100%;height:100%}
.L>img,.L>video,img.L,video.L{width:100%;height:100%;object-fit:cover}
.vig{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,transparent 40%,rgba(0,0,0,.6) 100%)}
.shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,.1) 55%,rgba(0,0,0,.35))}
.cap{position:absolute;left:clamp(20px,5vw,80px);bottom:11vh;max-width:640px;z-index:5;text-shadow:0 2px 24px rgba(0,0,0,.8)}
.cap p.big{margin:16px 0 14px;font:500 clamp(28px,3.8vw,56px)/1.12 'Cormorant Garamond',serif}
.cap p.sm{margin:0;font:400 15px/1.7 Inter,sans-serif;color:#EAE0CC}
.src{position:absolute;left:clamp(14px,3vw,36px);bottom:14px;z-index:6;padding:6px 10px;border:1px solid rgba(234,224,204,.3);background:rgba(0,0,0,.5);font:500 10px/1.3 Inter,sans-serif;letter-spacing:.12em;color:#C8B89B;max-width:56vw;text-align:left}
.tag{display:inline-block;padding:6px 10px;border:1px solid #B18A52;font:600 10px/1 Cinzel,serif;letter-spacing:.18em;color:#B18A52;margin-right:6px}

@keyframes z1{from{transform:scale(1)}to{transform:scale(1.22)}}
@keyframes zi{from{transform:scale(1.25)}to{transform:scale(1)}}
@keyframes fo{0%,12%{opacity:1;transform:none}38%,100%{opacity:0;transform:translateY(-5vh)}}
@keyframes rise{from{transform:translateY(105%)}to{transform:translateY(0)}}
@keyframes cS{0%{opacity:0;transform:translateY(24px)}14%,84%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-16px)}}
@keyframes cA{0%,16%{opacity:1}24%,100%{opacity:0}}
@keyframes cB{0%,24%{opacity:0}30%,44%{opacity:1}50%,100%{opacity:0}}
@keyframes cC{0%,49%{opacity:0}55%,69%{opacity:1}75%,100%{opacity:0}}
@keyframes cD{0%,74%{opacity:0}80%,100%{opacity:1}}
@keyframes phB{0%,24%{opacity:0}34%,100%{opacity:1}}
@keyframes phC{0%,49%{opacity:0}59%,100%{opacity:1}}
@keyframes phD{0%,74%{opacity:0}84%,100%{opacity:1}}
@keyframes dimIn{0%{opacity:.15}100%{opacity:.85}}
@keyframes navin{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
@keyframes curtain{0%,70%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
@keyframes logoin{0%{opacity:0;transform:scale(.94);filter:blur(10px)}30%,75%{opacity:1;transform:scale(1);filter:blur(0)}100%{opacity:0;transform:scale(1.05)}}
@keyframes sline{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@keyframes prog{to{transform:scaleY(1)}}
@keyframes pv{from{transform:translateY(-8%)}to{transform:translateY(8%)}}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.14) translate(-1.5%,1%)}}

.curtain{position:fixed;inset:0;z-index:90;background:#000;display:flex;align-items:center;justify-content:center;animation:curtain 3.8s ease-in forwards;pointer-events:none}
.curtain img{width:min(620px,84vw);height:auto;animation:logoin 3.8s ease-in-out forwards}
.nav{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px clamp(16px,3vw,44px);background:linear-gradient(180deg,rgba(0,0,0,.6),transparent);animation:navin 1.2s 3.4s both}
.nav a.l{white-space:nowrap;font:500 11px/1 Inter,sans-serif;letter-spacing:.2em;padding:12px 0;color:#EAE0CC;opacity:.85;transition:opacity .3s,color .3s}
.nav a.l:hover{opacity:1;color:#B18A52}
.links{display:flex;gap:clamp(14px,2vw,32px)}
.mbtn{display:none;padding:12px 16px;border:1px solid #B18A52;background:rgba(0,0,0,.4);font:600 11px/1 Cinzel,serif;letter-spacing:.2em;min-height:44px}
@media (max-width:1240px){.links{display:none}.mbtn{display:block}}
.progress{position:fixed;left:0;top:0;bottom:0;width:3px;background:rgba(234,224,204,.1);z-index:70}
.progress i{display:block;width:100%;height:100%;background:#B18A52;transform:scaleY(0);transform-origin:top}
.film{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;background:#000}
.slide{flex:0 0 min(86vw,1280px);aspect-ratio:21/10;min-height:360px;position:relative;scroll-snap-align:center;overflow:hidden;border-right:1px solid #000;margin:0}
.slide img{width:100%;height:100%;object-fit:cover;transition:transform 8s ease-out}
.slide:hover img{transform:scale(1.06)}
.slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:60px 28px 22px;background:linear-gradient(0deg,rgba(0,0,0,.85),transparent)}
.chip{padding:12px 16px;border:1px solid rgba(234,224,204,.35);font:500 11px/1 Inter,sans-serif;letter-spacing:.14em;min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center;transition:all .3s}
.chip:hover{border-color:#B18A52;color:#B18A52}
.fld{display:flex;flex-direction:column;gap:8px;font:600 11px/1 Cinzel,serif;letter-spacing:.18em;color:#C8B89B}
.fld input,.fld textarea{padding:14px;background:transparent;border:1px solid #6b6258;color:#EAE0CC;font:400 15px Inter,sans-serif}
.fld input:focus,.fld textarea:focus{outline:none;border-color:#B18A52}
.sline{display:block;width:1px;height:52px;background:rgba(234,224,204,.25);position:relative;overflow:hidden}
.sline i{position:absolute;inset:0;background:#B18A52;animation:sline 2.4s ease-in-out infinite}
.kbimg{animation:kb 30s ease-in-out infinite alternate}

@supports (animation-timeline:view()){
.a{animation-timing-function:linear;animation-fill-mode:both;animation-duration:1ms;animation-timeline:--s;animation-range:cover var(--a,25%) cover var(--b,75%)}
.z1{animation-name:z1}.zi{animation-name:zi}.fo{animation-name:fo}.rs{animation-name:rise}
.cS{animation-name:cS}.cA{animation-name:cA}.cB{animation-name:cB}.cC{animation-name:cC}.cD{animation-name:cD}
.phB{animation-name:phB}.phC{animation-name:phC}.phD{animation-name:phD}.dimIn{animation-name:dimIn}
.cap{opacity:0}.cap.cA{opacity:1}
.pv{animation:pv linear both;animation-timeline:view()}
.progress i{animation:prog linear both;animation-timeline:scroll(root)}
}
@supports not (animation-timeline:view()){.cB,.cC,.cD{display:none}}
@media (prefers-reduced-motion:reduce){
.a,.pv,.progress i,.nav,.curtain,.curtain img,.sline i,.kbimg{animation:none !important}
.curtain{display:none}.cB,.cC,.cD{display:none}html{scroll-behavior:auto}
}

.fxv{position:fixed;inset:0;z-index:45;pointer-events:none;box-shadow:inset 0 0 140px rgba(0,0,0,.8),inset 0 0 40px rgba(0,0,0,.9)}
.dustfx{position:fixed;inset:0;z-index:44;pointer-events:none;overflow:hidden}
.dp{position:absolute;bottom:-10px;border-radius:50%;animation:dprise linear infinite;transition:background 1.5s}
@keyframes dprise{0%{transform:translate(0,0);opacity:0}15%{opacity:.7}100%{transform:translate(70px,-110vh);opacity:0}}
.audio{position:fixed;right:clamp(14px,2vw,28px);bottom:18px;z-index:75;display:flex;align-items:center;gap:12px;padding:10px 18px;min-height:44px;box-sizing:border-box;border:1px solid rgba(177,138,82,.45);border-radius:999px;background:rgba(10,9,8,.7);backdrop-filter:blur(10px);font:600 11px/1 Cinzel,serif;letter-spacing:.16em;color:#EAE0CC;transition:border-color .3s}
.audio:hover{border-color:#B18A52}
.waves{display:flex;gap:3px;align-items:center;height:16px}
.waves i{display:block;width:2px;height:4px;background:#B18A52;border-radius:2px}
.waves.on i{animation:wave 1s ease-in-out infinite}
.waves.on i:nth-child(2){animation-delay:.2s}.waves.on i:nth-child(3){animation-delay:.4s}.waves.on i:nth-child(4){animation-delay:.1s}
@keyframes wave{0%,100%{height:4px}50%{height:16px}}
.thud{position:fixed;right:clamp(14px,2vw,28px);top:50%;transform:translateY(-50%);z-index:70;display:flex;flex-direction:column;gap:20px;align-items:flex-end;pointer-events:none}
.tn{display:flex;align-items:center;gap:10px;opacity:.35;transition:opacity .5s,transform .5s;font:600 10px/1 Cinzel,serif;letter-spacing:.2em;color:#EAE0CC;text-shadow:0 1px 8px #000}
.tn.on{opacity:1;transform:translateX(-4px)}
.tn i{width:7px;height:7px;border-radius:50%;background:#B18A52;box-shadow:0 0 10px #B18A52}
@media (max-width:900px){.thud{display:none}}
.navr{display:flex;align-items:center;gap:12px}
.navcta{padding:13px 20px;font-size:10px;white-space:nowrap}
.navcta .s{display:none}
@media (max-width:560px){.navcta .l2{display:none}.navcta .s{display:inline}.navcta{padding:13px 12px}}
.cmp{position:relative;max-width:1100px;margin:0 auto;aspect-ratio:3/2;overflow:hidden;border:1px solid rgba(177,138,82,.4);background:#000;user-select:none}
.cmp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cmp input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.cmp .h{position:absolute;top:0;bottom:0;width:3px;margin-left:-1px;background:#B18A52;pointer-events:none}
.cmp .k{position:absolute;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:#0a0908;border:2px solid #B18A52;display:flex;align-items:center;justify-content:center;font:600 14px Inter,sans-serif;color:#B18A52;pointer-events:none}
.cmp .b{position:absolute;top:14px;padding:7px 12px;background:rgba(0,0,0,.7);border:1px solid rgba(234,224,204,.3);font:600 10px/1 Cinzel,serif;letter-spacing:.2em;pointer-events:none}
.step{display:flex;gap:22px;align-items:flex-start;padding:24px 0;border-bottom:1px solid rgba(177,138,82,.25)}
.step b{font:500 44px/1 'Cormorant Garamond',serif;color:#B18A52;min-width:56px}
.step h3{margin:0 0 8px;font:600 13px/1.3 Cinzel,serif;letter-spacing:.2em}
.step p{margin:0;font:400 15px/1.7 Inter,sans-serif;color:#d9ccb4;max-width:560px}
@media (prefers-reduced-motion:reduce){.dp,.waves i{animation:none !important}}
.dustfx.ash .dp{background:#8d877e}
.dp{background:#EAE0CC}
.skip{position:fixed;left:12px;top:-60px;z-index:200;padding:12px 18px;background:#B18A52;color:#191715;font:600 12px/1 Cinzel,serif;letter-spacing:.14em;transition:top .2s}
.skip:focus{top:12px}
:focus-visible{outline:2px solid #B18A52;outline-offset:3px}
.menu{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.96);display:flex;flex-direction:column;justify-content:center;padding:0 32px;gap:6px}
.menu[hidden]{display:none}
.menu a:not(.btn){font:500 38px/1.5 'Cormorant Garamond',serif}
.formmsg{font:italic 400 20px/1.3 'Cormorant Garamond',serif;color:#B18A52}
.formmsg.err{color:#e08a7a}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.legal a{text-decoration:underline;text-underline-offset:3px}
@supports not (animation-timeline:view()){
.sc,.sc.t4,.sc.t25{height:100vh;height:100svh}
.phB,.phC,.phD,.dimIn{display:none}
.cap{opacity:1}
}
