/* Horror Planet: the theater. Loaded last on every page. */
:root{--marker:"Permanent Marker","Special Elite",cursive;--bulb:#ffcf7a}

/* ===== CINEMA HERO ===== */
.cine{position:relative;min-height:min(92vh,880px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;isolation:isolate;margin-top:-1px}
.cine-bg{position:absolute;inset:-4%;z-index:-3;background:#050203 url(assets/palace.jpg) 30% 50%/cover no-repeat;animation:cine-push 40s ease-in-out infinite alternate;filter:saturate(1.05) contrast(1.05)}
@keyframes cine-push{from{transform:scale(1) translate(0,0)}to{transform:scale(1.07) translate(-1.2%,-1%)}}
.cine::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:linear-gradient(90deg,rgba(5,2,3,0) 30%,rgba(5,2,3,.55) 58%,rgba(5,2,3,.86) 100%),
  linear-gradient(180deg,rgba(5,2,3,.5) 0%,transparent 22%,transparent 62%,rgba(7,4,5,.96) 100%)}
.cine::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:#000;opacity:0;animation:cine-flick 9s infinite}
@keyframes cine-flick{0%,46%,49%,100%{opacity:0}47%{opacity:.28}47.6%{opacity:.05}48.3%{opacity:.18}}
.cine-fog{position:absolute;left:-30%;right:-30%;bottom:8%;height:42%;z-index:-1;pointer-events:none;opacity:.55;
  background:radial-gradient(40% 50% at 30% 60%,rgba(230,200,190,.16),transparent 70%),radial-gradient(35% 45% at 72% 70%,rgba(230,190,180,.12),transparent 70%);filter:blur(22px);animation:hp-fog 26s ease-in-out infinite alternate}
.cine-beam{position:absolute;top:-10%;right:18%;width:42%;height:120%;z-index:-1;pointer-events:none;opacity:.07;
  background:linear-gradient(200deg,rgba(255,240,210,.9),transparent 55%);clip-path:polygon(46% 0,54% 0,100% 100%,0 100%);animation:cine-beam 7s ease-in-out infinite}
@keyframes cine-beam{0%,100%{opacity:.05}50%{opacity:.1}}
.cine-in{width:100%;display:flex;justify-content:flex-end;padding-top:120px;padding-bottom:48px}
.cine-copy{max-width:560px;text-align:left}
.cine-ticket{display:inline-flex;align-items:stretch;margin:0 0 22px;font:400 11.5px/1 var(--font-type);letter-spacing:.16em;text-transform:uppercase;color:#2a0f08;
  background:#e9d6b0;filter:drop-shadow(0 6px 14px rgba(0,0,0,.6));transform:rotate(-2deg);
  -webkit-mask:radial-gradient(circle 6px at 0 50%,transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 6px at 100% 50%,transparent 98%,#000) right/51% 100% no-repeat;
          mask:radial-gradient(circle 6px at 0 50%,transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 6px at 100% 50%,transparent 98%,#000) right/51% 100% no-repeat}
.cine-ticket span,.cine-ticket b{padding:9px 14px}
.cine-ticket b{font-weight:400;background:#8d0b12;color:#f3e3c4;border-left:1px dashed rgba(0,0,0,.45);border-right:1px dashed rgba(0,0,0,.45)}
.cine-h{font-size:clamp(50px,6.4vw,96px);line-height:.92;margin:0 0 22px;text-shadow:0 0 40px rgba(179,18,28,.45),0 3px 0 #000,0 0 2px #000}
.cine-h em{display:block;margin-top:10px;font-family:var(--font-head);font-style:italic;font-size:.44em;line-height:1.08;color:var(--accent-2);text-shadow:0 0 22px rgba(224,57,63,.6),0 2px 0 #000;animation:hp-flicker 7s infinite}
.cine-lede{font:italic 400 19px/1.55 var(--font-head);color:#e6d7c1;max-width:470px;margin:0 0 30px;text-shadow:0 1px 0 #000,0 0 18px #000}
.cine-btns{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:0 0 28px}
.cine .now-flag{background:rgba(5,2,3,.72);backdrop-filter:blur(4px)}
.cine .btn-secondary{background:rgba(5,2,3,.55);backdrop-filter:blur(3px)}

/* ticket-stub call to action */
.stub{display:inline-flex;align-items:stretch;text-decoration:none !important;color:#f6e7cc;font:400 14px/1 var(--font-type);letter-spacing:.1em;text-transform:uppercase;
  filter:drop-shadow(0 8px 20px rgba(179,18,28,.45));transition:transform .2s,filter .2s;
  -webkit-mask:radial-gradient(circle 7px at 0 50%,transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 7px at 100% 50%,transparent 98%,#000) right/51% 100% no-repeat;
          mask:radial-gradient(circle 7px at 0 50%,transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 7px at 100% 50%,transparent 98%,#000) right/51% 100% no-repeat}
.stub-l{padding:16px 14px 16px 20px;background:#3e0709;color:var(--highlight);border-right:2px dashed rgba(0,0,0,.55)}
.stub-r{padding:16px 22px 16px 16px;background:var(--blood)}
.stub:hover{transform:translateY(-2px) rotate(-1deg);filter:drop-shadow(0 0 26px rgba(224,57,63,.7));color:#fff}
.stub:focus-visible{outline:2px solid var(--highlight);outline-offset:4px}

/* marquee letter board */
.letterboard{position:relative;z-index:2;overflow:hidden;background:linear-gradient(180deg,#140607,#0a0304);border-top:1px solid #000;border-bottom:1px solid #000;
  box-shadow:inset 0 1px 0 rgba(255,207,122,.15),0 0 0 1px rgba(179,18,28,.35),0 -12px 40px rgba(0,0,0,.6)}
.letterboard::before,.letterboard::after{content:"";position:absolute;left:0;right:0;height:6px;z-index:1;
  background:radial-gradient(circle 2.2px at 9px 3px,var(--bulb) 60%,transparent 70%) 0 0/18px 6px repeat-x;filter:drop-shadow(0 0 4px var(--bulb));animation:lb-chase 1.2s steps(2) infinite}
.letterboard::before{top:3px}.letterboard::after{bottom:3px;animation-delay:.6s}
@keyframes lb-chase{0%{opacity:1}50%{opacity:.45}}
.lb-track{display:flex;width:max-content;gap:0;padding:17px 0;animation:lb-roll 60s linear infinite}
.lb-track span{font:400 clamp(16px,1.6vw,22px)/1 var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:#f3e6d2;padding:0 30px;white-space:nowrap;text-shadow:0 0 12px rgba(255,207,122,.35)}
.lb-track span::after{content:"\2726";margin-left:60px;color:var(--accent-2);font-size:.7em;vertical-align:.2em;text-shadow:0 0 10px var(--accent-2)}
.lb-track span:first-child,.lb-track span:nth-child(9){color:var(--accent-2);text-shadow:0 0 16px rgba(224,57,63,.7)}
@keyframes lb-roll{to{transform:translateX(-50%)}}
.letterboard:hover .lb-track{animation-play-state:paused}

/* lobby cards on a strip of film */
.strip-sec{position:relative;padding:34px 0 10px;overflow:hidden}
.filmstrip{position:relative;max-width:1400px;margin:0 auto;padding:26px 0;background:#0b0b0b;transform:rotate(-1.2deg);
  box-shadow:0 18px 50px rgba(0,0,0,.8),inset 0 0 0 1px #1a1a1a}
.filmstrip::before,.filmstrip::after{content:"";position:absolute;left:0;right:0;height:14px;
  background:radial-gradient(ellipse 6px 4.5px at 50% 50%,#2c2a28 92%,transparent 100%) 0 0/24px 14px repeat-x}
.filmstrip::before{top:6px}.filmstrip::after{bottom:6px}
.filmstrip .hero-posters{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;padding:0 24px;max-width:1400px}
.filmstrip .pcard{background:#000;border-color:#1b1b1b;border-radius:0}
.filmstrip .pcard .cap{background:#050505}
.filmstrip .pcard:hover{transform:translateY(-6px) rotate(1deg) scale(1.03);z-index:2}

/* VHS tracking glitch on hover, for every poster card */
.pcard .art::before{content:"";position:absolute;left:0;right:0;top:-20%;height:14%;z-index:2;pointer-events:none;opacity:0;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.18) 40%,rgba(120,255,255,.12) 50%,rgba(255,60,80,.14) 60%,transparent);mix-blend-mode:screen}
.pcard:hover .art::before{opacity:1;animation:vhs-track 1.1s linear}
@keyframes vhs-track{from{top:-20%}to{top:110%}}

/* ===== REELS: section title cards ===== */
main{counter-reset:reel}
main>.sec,main>.ns{counter-increment:reel}
main>.sec>.eyebrow::before,main>.ns .ns-head>.eyebrow::before{content:"Reel " counter(reel,decimal-leading-zero);width:auto;height:auto;background:none;box-shadow:none;
  display:inline-block;margin-right:12px;padding:5px 9px 4px;border:1px solid rgba(217,178,92,.45);color:var(--highlight);font-size:10.5px;letter-spacing:.2em;vertical-align:1px;
  background:repeating-linear-gradient(90deg,rgba(217,178,92,.08) 0 2px,transparent 2px 5px)}
main>.sec>h2,.ns-head h2{font-family:var(--font-display);font-size:clamp(40px,4.6vw,68px);line-height:.95;letter-spacing:.01em;text-shadow:0 0 30px rgba(179,18,28,.35),0 3px 0 #000}
main>.sec>h2::after,.ns-head h2::after{content:"";display:block;width:180px;height:12px;margin-top:14px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='12' viewBox='0 0 180 12'%3E%3Cpath d='M0 6h70M110 6h70' stroke='%23b3121c' stroke-width='1'/%3E%3Cpath d='M90 1l5 5-5 5-5-5z' fill='none' stroke='%23d9b25c'/%3E%3Ccircle cx='78' cy='6' r='1.6' fill='%23d9b25c'/%3E%3Ccircle cx='102' cy='6' r='1.6' fill='%23d9b25c'/%3E%3C/svg%3E") no-repeat}
.sec::before{background:none;box-shadow:none;height:0;margin-bottom:40px}

/* projector reveal */
.fx-reveal main>section:not(.cine):not(.lit),.fx-reveal .pg-sec:not(.lit){opacity:0;transform:translateY(26px);filter:brightness(.4)}
.fx-reveal main>section,.fx-reveal .pg-sec{transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1),filter 1.2s ease}

/* ===== NOW SHOWING ===== */
.ns{position:relative;padding:96px 0 0}
.ns-head{margin-bottom:28px}
.ns-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:-1px;position:relative;z-index:2}
.ns-tab{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px;color:#2a0f08;text-decoration:none !important;background:#d9c49c;
  transform:translateY(8px) rotate(var(--r,0deg));transition:transform .25s,background .25s,filter .25s;filter:brightness(.62) saturate(.7);
  -webkit-mask:radial-gradient(circle 8px at 50% 100%,transparent 98%,#000) 0 0/100% 100% no-repeat;mask:radial-gradient(circle 8px at 50% 100%,transparent 98%,#000)}
.ns-tab:nth-child(1){--r:-1deg}.ns-tab:nth-child(2){--r:.8deg}.ns-tab:nth-child(3){--r:-.6deg}.ns-tab:nth-child(4){--r:1deg}
.ns-tab::before{content:"";position:absolute;left:12px;right:12px;top:42px;border-top:1px dashed rgba(42,15,8,.4)}
.nt-no{font:400 11px/1 var(--font-type);letter-spacing:.2em;text-transform:uppercase;color:#8d0b12}
.ns-tab b{font:400 clamp(20px,2vw,28px)/1 var(--font-display);margin-top:12px;color:#1a0806}
.nt-g{font:400 12px/1.2 var(--font-type);color:#5a3a22}
.ns-tab:hover{filter:brightness(.85);transform:translateY(2px) rotate(var(--r,0deg))}
.ns-tab[aria-selected="true"]{filter:none;transform:translateY(0) rotate(0);background:#efdcb4;box-shadow:0 -10px 30px rgba(255,207,122,.18)}
.ns-tab:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px}
.ns-screen{position:relative;background:#030102;box-shadow:0 0 0 1px #2a0a0d,0 0 0 8px #0d0405,0 0 0 9px rgba(217,178,92,.22),0 40px 80px rgba(0,0,0,.85)}
.ns-screen::before,.ns-screen::after{content:"";position:absolute;top:0;bottom:0;width:7%;z-index:3;pointer-events:none;
  background:repeating-linear-gradient(90deg,#4a060b 0 10px,#7a0d14 10px 16px,#3a0408 16px 26px);box-shadow:inset -18px 0 30px rgba(0,0,0,.7)}
.ns-screen::before{left:0;border-right:1px solid #000}
.ns-screen::after{right:0;transform:scaleX(-1);border-right:1px solid #000}
.ns-panel{position:relative;display:none;min-height:620px;overflow:hidden}
.ns-panel.is-on,html:not(.fx) .ns-panel{display:grid}
.ns-panel{grid-template-columns:1fr 1fr;align-items:center}
.ns-art{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(.9) contrast(1.08)}
.ns-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 20%,rgba(3,1,2,.7) 52%,rgba(3,1,2,.96) 75%),linear-gradient(0deg,rgba(3,1,2,.7),transparent 40%)}
.ns-copy{position:relative;grid-column:2;padding:56px 10% 56px 24px;z-index:2}
.ns-eye{font:400 12px/1.4 var(--font-type);letter-spacing:.16em;text-transform:uppercase;color:var(--highlight);margin:0 0 12px}
.ns-title{font:400 clamp(54px,6vw,92px)/.9 var(--font-display);margin:0 0 14px;color:#f3e6d2;text-shadow:0 0 34px rgba(179,18,28,.55),0 3px 0 #000}
.ns-tag{font:italic 400 22px/1.3 var(--font-head);color:var(--accent-2);margin:0 0 14px;text-shadow:0 0 18px rgba(224,57,63,.35)}
.ns-premise{font-size:16px;line-height:1.6;color:#d9cab4;margin:0 0 10px;max-width:520px}
.ns-by{font-size:13.5px;color:var(--faint);margin:0 0 22px}
.ns-stats{list-style:none;padding:0;margin:0 0 26px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(217,178,92,.25);border-bottom:1px solid rgba(217,178,92,.25)}
.ns-stats li{padding:14px 12px 12px 0}
.ns-stats li+li{padding-left:12px;border-left:1px dashed rgba(217,178,92,.22)}
.ns-stats b{display:block;font:400 clamp(24px,2.2vw,32px)/1 var(--font-display);color:var(--highlight);text-shadow:0 0 16px rgba(217,178,92,.3)}
.ns-stats span{display:block;margin-top:6px;font:400 11px/1.3 var(--font-type);color:var(--muted);letter-spacing:.04em}
.ns-btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ns-src{font-size:12px;color:var(--faint);margin:18px 0 0}
.ns-src a{color:var(--muted)}
.ns-yellow .ns-tag{color:#e8c95a;text-shadow:0 0 18px rgba(232,201,90,.35)}
.ns-teal .ns-tag{color:#5fc9bd;text-shadow:0 0 18px rgba(95,201,189,.3)}
.ns-bone .ns-tag{color:#e9dcc2}
.ns-panel.roll .ns-art{animation:ns-roll 1s ease-out}
.ns-panel.roll .ns-copy>*{animation:ns-up .7s cubic-bezier(.2,.7,.2,1) both}
.ns-panel.roll .ns-copy>*:nth-child(2){animation-delay:.06s}.ns-panel.roll .ns-copy>*:nth-child(3){animation-delay:.12s}.ns-panel.roll .ns-copy>*:nth-child(4){animation-delay:.18s}.ns-panel.roll .ns-copy>*:nth-child(n+5){animation-delay:.24s}
@keyframes ns-roll{0%{filter:brightness(3) contrast(.6) blur(4px);transform:scale(1.04)}12%{filter:brightness(.2)}25%{filter:brightness(1.6) blur(1px)}100%{filter:saturate(.9) contrast(1.08);transform:none}}
@keyframes ns-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.ns .fineprint{margin-top:22px}

/* ===== THE VIDEO STORE ===== */
.store{position:relative;margin-top:30px;padding:30px 0 34px;isolation:isolate}
.store::before{content:"";position:absolute;inset:0 -24px;z-index:-1;background:linear-gradient(180deg,rgba(7,4,5,.55),rgba(7,4,5,.86) 55%,#070405),url(assets/videostore.jpg) center 30%/cover;
  -webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.store-sign{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;padding:0 4px 8px}
.ss-neon{font:400 clamp(44px,5vw,72px)/1 var(--marker);color:#ff5a8a;transform:rotate(-4deg);
  text-shadow:0 0 6px #ff5a8a,0 0 18px #ff2a6a,0 0 42px rgba(255,42,106,.6);animation:neon 6s infinite}
@keyframes neon{0%,18%,22%,62%,64%,100%{opacity:1}20%,63%{opacity:.35}}
.ss-sub{font:400 13px var(--font-type);letter-spacing:.14em;text-transform:uppercase;color:#e9d6b0}
.vhs-shelf{gap:18px;padding:26px 4px 30px;grid-auto-columns:minmax(250px,1fr);border-bottom:10px solid #1a0d07;box-shadow:0 14px 0 -4px #0c0604,0 30px 40px rgba(0,0,0,.6)}
.vhs-shelf .yc{position:relative;border:0;border-radius:4px 4px 2px 2px;padding:20px 34px 20px 34px;min-height:360px;overflow:hidden;
  background:linear-gradient(90deg,#090909 0 18px,#151515 18px 20px,transparent 20px),linear-gradient(180deg,#1a1a1a,#0c0c0c);
  box-shadow:inset 0 0 0 1px #262626,inset 0 2px 0 rgba(255,255,255,.06),0 16px 26px rgba(0,0,0,.7);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.vhs-shelf .yc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:18px;background:var(--spine,#b3121c);opacity:.9;
  background-image:repeating-linear-gradient(180deg,transparent 0 22px,rgba(0,0,0,.25) 22px 24px)}
.vhs-shelf .yc:nth-child(5n+1){--spine:#b3121c}.vhs-shelf .yc:nth-child(5n+2){--spine:#d9b25c}.vhs-shelf .yc:nth-child(5n+3){--spine:#2f7f78}.vhs-shelf .yc:nth-child(5n+4){--spine:#6b3fa0}.vhs-shelf .yc:nth-child(5n+5){--spine:#d6631e}
.vhs-shelf .yc:hover,.vhs-shelf .yc:focus-within{transform:translateY(-16px) rotate(-1.2deg);box-shadow:inset 0 0 0 1px #333,0 30px 40px rgba(0,0,0,.8),0 0 30px rgba(179,18,28,.25)}
.vhs-shelf .yc-top{position:relative;margin:-2px 0 0;padding:10px 12px;background:#f1e7d0;color:#1a1208;transform:rotate(-1deg);box-shadow:0 2px 0 rgba(0,0,0,.4)}
.vhs-shelf .yc-y{font:400 34px/1 var(--marker);color:#1a1208}
.vhs-shelf .yc-top::after{content:"Rental";position:absolute;right:10px;top:8px;font:400 10px var(--font-type);letter-spacing:.2em;text-transform:uppercase;color:#b3121c;border:1px solid #b3121c;padding:3px 5px;transform:rotate(6deg)}
.vhs-shelf .yc-live .yc-top::after{content:"New"}
.vhs-shelf .yc-top .live-pill{display:none}
.vhs-shelf .yc-k{color:#8f8573;font:400 10.5px var(--font-type);letter-spacing:.18em}
.vhs-shelf .yc-t{font:400 25px/1.05 var(--font-display);color:#f3e6d2}
.vhs-shelf .yc-g{font:400 14px var(--font-type);color:var(--highlight)}
.vhs-shelf .yc-n{color:#b9ad99}
.vhs-shelf .yc-picks button{border-radius:2px;background:#0a0a0a;border-color:#333;font-family:var(--font-type);font-size:11.5px}
.vhs-shelf .yc-more{color:var(--accent-2);font-family:var(--font-type);font-weight:400;letter-spacing:.06em}
.vhs-reels{position:absolute;right:16px;bottom:52px;display:flex;gap:26px;opacity:.5;pointer-events:none}
.vhs-reels i{width:30px;height:30px;border-radius:50%;background:radial-gradient(circle,#0a0a0a 26%,#3b3b3b 28% 33%,#0e0e0e 35%);box-shadow:inset 0 0 0 1px #444}
.vhs-shelf .yc:hover .vhs-reels i{animation:reel 1.4s linear infinite}
@keyframes reel{to{transform:rotate(360deg)}}
.vhs-reels i{background:conic-gradient(#0a0a0a 0 20deg,#3a3a3a 20deg 40deg,#0a0a0a 40deg 140deg,#3a3a3a 140deg 160deg,#0a0a0a 160deg 260deg,#3a3a3a 260deg 280deg,#0a0a0a 280deg)}
.vhs-rw{position:absolute;right:-34px;top:150px;transform:rotate(90deg);font:400 9.5px var(--font-type);letter-spacing:.24em;text-transform:uppercase;color:#4a4339;pointer-events:none}
.vhs-shelf .yc-picks,.vhs-shelf .yc-n{position:relative;z-index:1}

/* the 2026 tote board */
.hits{background:linear-gradient(180deg,#0e0506,#070304) !important;border:1px solid rgba(217,178,92,.18) !important;box-shadow:inset 0 0 60px rgba(0,0,0,.8),0 20px 40px rgba(0,0,0,.6)}
.hits .hr{font-family:var(--font-display)}
.hits .hb i{background:linear-gradient(90deg,#5e050a,#e0393f) !important;box-shadow:0 0 12px rgba(224,57,63,.45)}
.hits .hg{font-family:var(--font-display);font-size:18px;color:var(--highlight)}

/* projection booth behind the finder */
#finder{isolation:isolate}
#finder::after{content:"";position:absolute;left:0;right:0;top:0;height:520px;z-index:-1;pointer-events:none;opacity:.35;
  background:linear-gradient(180deg,transparent,#070405 90%),url(assets/projection.jpg) center/cover;-webkit-mask:radial-gradient(70% 90% at 50% 0,#000 40%,transparent);mask:radial-gradient(70% 90% at 50% 0,#000 40%,transparent)}

/* fewer boxes, more shadows */
.finder,.galaxy-box,.era-panel{border-color:transparent !important}

body{overflow-x:clip}
.usher.tucked .u-btn span{display:none}.usher.tucked .u-btn{width:40px;padding:0;justify-content:center}
/* ===== THE USHER: lights + sound ===== */
.usher{position:fixed;left:16px;bottom:16px;z-index:80;display:flex;gap:8px}
.u-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:20px;border:1px solid rgba(217,178,92,.35);background:rgba(5,2,3,.82);backdrop-filter:blur(6px);
  color:#e9d6b0;font:400 12px/1 var(--font-type);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:border-color .2s,box-shadow .2s,color .2s}
.u-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.u-btn:hover{border-color:var(--accent-2);color:#fff}
.u-btn[aria-pressed="true"]{border-color:var(--highlight);color:var(--highlight);box-shadow:0 0 18px rgba(217,178,92,.35)}
.u-btn[aria-pressed="false"] .u-w{opacity:.25}
.u-btn:focus-visible{outline:2px solid var(--highlight);outline-offset:2px}
.flashlight{position:fixed;inset:0;z-index:70;pointer-events:none;display:none;
  background:radial-gradient(circle 170px at var(--fx,50%) var(--fy,50%),transparent 0,rgba(0,0,0,.35) 120px,rgba(0,0,0,.94) 240px)}
.lights-out .flashlight{display:block}
.lights-out .top{z-index:75}
.lights-out .usher{z-index:90}

/* easter eggs */
.egg{position:fixed;left:50%;top:40%;z-index:95;transform:translate(-50%,-50%) scale(.9);opacity:0;pointer-events:none;
  font:400 clamp(28px,5vw,64px)/1.1 var(--font-display);color:#e0393f;text-align:center;max-width:90vw;text-shadow:0 0 30px rgba(224,57,63,.8),0 3px 0 #000;transition:opacity .4s,transform .6s}
.egg.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
.redrum body{animation:redrum .25s steps(2) 6}
.redrum h1,.redrum h2{transform:scaleX(-1);transition:transform .4s}
@keyframes redrum{50%{background:#2a0204}}

/* ===== responsive ===== */
@media (max-width:1100px){
  .filmstrip .hero-posters{grid-template-columns:repeat(4,1fr)}
  .filmstrip .hero-posters .pcard:nth-child(n+5){display:none}
  .ns-panel{grid-template-columns:1fr;min-height:0}
  .ns-art{position:relative;inset:auto;height:360px}
  .ns-art::after{background:linear-gradient(0deg,#030102,transparent 60%)}
  .ns-copy{grid-column:1;padding:0 9% 44px}
}
@media (max-width:760px){
  .cine{min-height:88vh}
  .cine-bg{background-position:38% 40%}
  .cine::before{background:linear-gradient(180deg,rgba(5,2,3,.35) 0%,transparent 25%,rgba(5,2,3,.75) 52%,rgba(7,4,5,.98) 82%)}
  .cine-in{padding-top:200px;padding-bottom:28px}
  .cine-h{font-size:clamp(46px,13vw,64px)}
  .cine-lede{font-size:17px}
  .cine-btns{gap:10px}
  .stub-l{padding:14px 10px 14px 16px}.stub-r{padding:14px 16px 14px 12px}
  .filmstrip{transform:rotate(-1.5deg);padding:22px 0}
  .filmstrip .hero-posters{grid-template-columns:repeat(3,1fr);gap:8px;padding:0 10px}
  .filmstrip .hero-posters .pcard:nth-child(n+4){display:none}
  .ns{padding-top:72px}
  .ns-tabs{grid-template-columns:1fr 1fr;gap:8px;padding:4px 2px 0}
  .ns-tab{transform:none;filter:brightness(.7) saturate(.7)}
  .ns-tab{padding:12px 12px 16px}
  .ns-tab::before{top:34px}
  .ns-tab b{font-size:19px;margin-top:8px}
  .nt-g{font-size:10.5px}
  .ns-screen::before,.ns-screen::after{width:12px}
  .ns-art{height:260px}
  .ns-copy{padding:0 22px 36px}
  .ns-stats{grid-template-columns:repeat(2,1fr)}
  .ns-stats li:nth-child(3){padding-left:0;border-left:0}
  .ns-stats li:nth-child(n+3){border-top:1px dashed rgba(217,178,92,.22)}
  .vhs-shelf{grid-auto-columns:78%}
  .store::before{inset:0 -16px}
  .usher{left:10px;bottom:10px}
  .u-btn span{display:none}.u-btn{width:40px;padding:0;justify-content:center}
  main>.sec>h2,.ns-head h2{font-size:clamp(36px,10vw,48px)}
}
@media (prefers-reduced-motion:reduce){
  .cine-bg,.cine::after,.cine-fog,.cine-beam,.lb-track,.letterboard::before,.letterboard::after,.ss-neon,.cine-h em{animation:none}
  .lb-track{flex-wrap:wrap;width:auto;justify-content:center}
  .lb-track span[aria-hidden]{display:none}
  .pcard:hover .art::before{animation:none;opacity:0}
}

/* long lists: capped on desktop, swipe rails on phones */
@media (min-width:701px){#mastersGrid.capped>:nth-child(n+9),#comingList.capped>:nth-child(n+11){display:none}}
.cap-more{display:block;margin:18px auto 0}
@media (max-width:700px){
  .cap-more{display:none}
  #vaultGrid,#comingList,#mastersGrid,#maraGrid,.fgrid{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:4px 20px 14px;margin-left:-20px;margin-right:-20px;scrollbar-width:none;-webkit-overflow-scrolling:touch;grid-template-columns:none!important}
  #vaultGrid::-webkit-scrollbar,#comingList::-webkit-scrollbar,#mastersGrid::-webkit-scrollbar,#maraGrid::-webkit-scrollbar,.fgrid::-webkit-scrollbar{display:none}
  #vaultGrid>*,#comingList>*,#mastersGrid>*,#maraGrid>*,.fgrid>*{flex:0 0 78vw;max-width:320px;scroll-snap-align:start}
  #comingList{list-style:none}
  #vaultGrid::after,#comingList::after,#mastersGrid::after,#maraGrid::after,.fgrid::after{content:"";flex:0 0 1px}
  .rail-hint{display:block;font-family:"Special Elite",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint,#9a8f8f);margin:6px 0 2px}
}
.rail-hint{display:none}
html{overflow-x:clip}
.cine-sub{margin:12px 0 0;font-size:14px;color:rgba(241,230,216,.72)}.cine-sub a{color:#f1e6d8;text-decoration:underline;text-decoration-color:rgba(226,102,108,.7);text-underline-offset:3px}
