/* hero.css — dark screening room with letterbox curtain + projector beam */
.hero{position:relative;min-height:100vh;background:radial-gradient(120% 90% at 70% 40%,#2c241b 0%,#15110d 60%,#0d0a08 100%);color:var(--paper);overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.lb{position:absolute;left:0;right:0;height:50vh;background:#000;z-index:5;transition:height 1.8s var(--ease-io)}
.lb-top{top:0}.lb-bot{bottom:0}
.hero.open .lb{height:9vh}
.beam{position:absolute;top:-20%;left:-10%;width:90vw;height:140%;pointer-events:none;z-index:1;
  background:conic-gradient(from 105deg at 0% 30%,transparent 0deg,rgba(255,214,150,.0) 8deg,rgba(255,214,150,.16) 14deg,rgba(255,214,150,.05) 22deg,transparent 30deg);
  filter:blur(8px);transform-origin:0 30%;animation:sweep 9s var(--ease-io) infinite alternate;mix-blend-mode:screen}
@keyframes sweep{from{transform:rotate(-7deg)}to{transform:rotate(9deg)}}
.hero-grid{position:relative;z-index:2;max-width:1240px;width:100%;margin:0 auto;padding:12vh 28px;display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center}
.kicker .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--amber-hi);margin-right:10px;box-shadow:0 0 12px var(--amber-hi);animation:blink 2.4s infinite}
@keyframes blink{50%{opacity:.25}}
.hero-title{font-weight:900;font-size:clamp(84px,15vw,210px);line-height:.92;letter-spacing:-.02em;margin:22px 0 18px}
.hero-title .ln{display:block;overflow:hidden}
.hero-title .ln>span{display:inline-block;transform:translateY(105%);transition:transform 1.4s var(--ease) .9s}
.hero-title .ln:nth-child(2)>span{transition-delay:1.05s}
.hero.open .hero-title .ln>span{transform:none}
.hero-title i{font-style:normal;color:var(--amber-hi)}
.hero-en{font-family:var(--display);font-style:italic;font-size:clamp(20px,2.4vw,30px);color:#d9cdb6}
.hero-en b{font-style:normal;color:var(--amber-hi);font-weight:400}
.hero-sub{margin-top:10px;color:#a99c86;font-size:16px;max-width:520px}
.hero-cta{display:flex;gap:16px;margin-top:38px;flex-wrap:wrap}
.hero-copy>*:not(.hero-title){opacity:0;transform:translateY(16px);transition:opacity 1s var(--ease) 1.4s,transform 1s var(--ease) 1.4s}
.hero.open .hero-copy>*{opacity:1;transform:none}
.hero-reel{height:76vh;overflow:hidden;position:relative;transform:rotate(4deg);
  -webkit-mask-image:linear-gradient(transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(transparent,#000 18%,#000 82%,transparent)}
.reel-col{width:min(260px,100%);margin:0 auto;background:#0a0807;padding:0 34px;animation:reelUp 60s linear infinite;
  background-image:radial-gradient(circle at center,#e9dfcc 0 3px,transparent 3.6px),radial-gradient(circle at center,#e9dfcc 0 3px,transparent 3.6px);
  background-size:12px 22px,12px 22px;background-position:11px 0,calc(100% - 11px) 0;background-repeat:repeat-y}
.reel-col .frame{margin:0 0 14px;border-radius:3px;overflow:hidden;aspect-ratio:2/3;filter:sepia(.25) contrast(1.05)}
.reel-col .frame:first-child{margin-top:14px}
@keyframes reelUp{to{transform:translateY(-50%)}}
.hero-foot{position:absolute;bottom:calc(9vh + 18px);left:0;right:0;z-index:6;display:flex;align-items:center;justify-content:center;gap:14px;font-family:var(--mono);font-size:10px;letter-spacing:.3em;color:#8d8170}
.hero-foot i{width:60px;height:1px;background:#8d8170}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr}.hero-reel{display:none}}
/* manifesto */
.manifesto{height:260vh;position:relative;background:var(--paper)}
.mf-sticky{position:sticky;top:0;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.mf-bar{position:absolute;left:0;right:0;height:calc(var(--lb,0) * 14vh);background:var(--ink);z-index:2}
.mf-bar.t{top:0}.mf-bar.b{bottom:0}
.mf-text{max-width:980px;padding:0 28px}
.mf-line{font-size:clamp(28px,4.6vw,60px);font-weight:900;line-height:1.3;letter-spacing:-.01em;color:var(--ink);
  clip-path:inset(0 0 100% 0);transform:translateY(40%);transition:clip-path 1s var(--ease),transform 1s var(--ease)}
.mf-line.on{clip-path:inset(0 0 -10% 0);transform:none}
.mf-line.accent{color:var(--amber);font-style:italic}
