/* ---------- Hero (scrub), kun forsiden ---------- */
.hero{position:relative;height:520vh}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--canvas)}
.poster,.stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background-size:cover;background-position:center}
.stage video{opacity:0;transition:opacity 1.2s var(--ease);transform:translateZ(0);will-change:transform}
.stage.video-ready video{opacity:1}
.stage.video-failed video{display:none}
.veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(var(--veil),.55) 0%,rgba(var(--veil),.3) 40%,rgba(var(--veil),0) 68%)}
.ring{position:absolute;left:50%;bottom:32px;transform:translateX(-50%);width:40px;height:40px;color:var(--accent);opacity:.9;transition:opacity .8s}
.ring circle{transition:stroke-dashoffset .15s linear}
.stage.video-ready .ring{opacity:0}
.cue{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary)}
.cue i{width:1px;height:34px;background:var(--text-secondary);display:block;transform-origin:top;animation:cue 2.6s var(--ease) -1.2s infinite}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(0);transform-origin:bottom}}
@media (max-height:560px){.cue,.ring{display:none}}

.band{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;align-items:center;padding:0 7vw;opacity:0;pointer-events:none;text-shadow:var(--tshadow)}
.band .inner{width:min(58%,640px)}
.band::before{content:"";position:absolute;inset:-6%;pointer-events:none;z-index:-1;opacity:calc(.25 + .75*var(--k,1));background:radial-gradient(ellipse 48% 60% at 26% 50%,rgba(var(--veil),var(--peak,.62)) 0%,rgba(var(--veil),calc(var(--peak,.62)*.6)) 46%,rgba(var(--veil),0) 76%)}
.band h1,.band h2,.band .line{font-family:var(--display);font-weight:300;font-size:clamp(34px,5vw,68px);line-height:1.04;letter-spacing:-.015em;margin:0}
.band .sub{margin-top:18px;font-size:clamp(16px,1.35vw,20px);color:var(--text-secondary);max-width:40ch}
.band .wm{font-family:var(--display);font-size:clamp(18px,1.6vw,24px);letter-spacing:.22em;text-transform:uppercase;margin-bottom:22px;color:var(--text-secondary)}
.band .btn{text-shadow:none}
.band.active{pointer-events:auto}
.w{display:inline-block;white-space:pre}
.c{display:inline-block}

.b1{--peak:.66}
.b1 .stack{position:relative}
.b1 h1{font-size:clamp(32px,4.4vw,60px)}
.b4 .line{font-size:clamp(30px,4vw,54px)}
.faq summary h3{font:inherit;margin:0;font-weight:300}
.intro .prose p{font-size:17px}
.b2{--peak:.62}
.b2 .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*2.8,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*-26px))}
.b3{--peak:.6}
.b3 .line{transform:scale(calc(.96 + .04*var(--k,0)));transform-origin:0 50%}
.b3 .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*2.6,1);opacity:var(--kc);transform:translateX(calc((1 - var(--kc))*var(--jx,0px)))}
.b4{--peak:.72}
.b4 .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*3,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*22px))}
.b4 .sub{--ks:clamp(0,(var(--k,0) - .62)*4,1);opacity:var(--ks);transform:translateY(calc((1 - var(--ks))*14px))}
.b4 .ctas{--kb:clamp(0,(var(--k,0) - .76)*5,1);opacity:var(--kb);transform:translateY(calc((1 - var(--kb))*14px));margin-top:30px;display:flex;gap:12px;flex-wrap:wrap}

.static-copy{display:none}
@media (max-width:720px),(orientation:portrait) and (max-width:1024px),(orientation:portrait) and (pointer:coarse),(orientation:landscape) and (pointer:coarse) and (max-height:560px),(prefers-reduced-motion:reduce){
  .hero{height:auto}
  .stage{position:relative;height:100svh;min-height:560px}
  .stage video,.ring,.cue,.band{display:none}
  .poster{background-image:url("/assets/hero-ending.jpg")}
  .veil{background:linear-gradient(180deg,rgba(var(--veil),.2) 0%,rgba(var(--veil),.55) 55%,rgba(var(--veil),.85) 100%)}
  .static-copy{display:flex;position:absolute;inset:0;align-items:flex-end;padding:0 24px 56px}
  .static-copy .h1{font-family:var(--display);font-weight:300;line-height:1.08;letter-spacing:-.01em;font-size:clamp(34px,8.4vw,60px)}
  .static-copy p{margin-top:16px;color:var(--text-secondary);max-width:34ch}
  .static-copy .btn{margin-top:26px}
}
.b1 h1.stack::before{content:attr(data-t);position:absolute;inset:0;filter:blur(10px);opacity:calc(1 - var(--k,0))}
.b1 h1.stack > span{opacity:var(--k,0)}
