/* ============================================================
   YY GAME — Components  ·  The Grand Opera House
   Sections · Playbill cards · Opera boxes · Carousels ·
   Screenshot slider · Stats · Steps · FAQ · Footer · Loader
   ============================================================ */

/* ---------- SECTION SHELLS ---------- */
.section{position:relative;padding:clamp(64px,8vw,116px) 0;overflow:hidden;isolation:isolate}
.section--tight{padding:clamp(46px,5.4vw,76px) 0}
.section--void{background:var(--ob-900)}
.section--deep{background:linear-gradient(180deg,var(--ob-900),var(--ob-800) 45%,var(--ob-900))}
.section--house{
  background:
    radial-gradient(90% 70% at 50% 0%,rgba(92,16,35,.42),transparent 62%),
    linear-gradient(180deg,var(--ob-900),var(--ob-850));
}
.section--stage{
  background:
    radial-gradient(76% 62% at 50% 8%,rgba(140,31,58,.30),transparent 66%),
    linear-gradient(180deg,var(--ob-850),var(--ob-900));
}
.section-foot{position:relative;margin-top:clamp(44px,6vw,72px)}
.section-top-lights{position:absolute;top:0;left:0;right:0;z-index:2}
.sec-body{margin-top:clamp(34px,4.4vw,58px)}
.sec-body--lg{margin-top:clamp(42px,5.4vw,70px)}

/* Divider strip between sections */
.stage-edge{
  position:relative;height:2px;width:100%;
  background:linear-gradient(90deg,transparent,var(--line-strong) 20%,var(--gd-600) 50%,var(--line-strong) 80%,transparent);
  box-shadow:0 0 26px rgba(240,217,168,.32);
}

/* ---------- PANEL (generic dark card) ---------- */
.panel{
  position:relative;border-radius:var(--r-lg);padding:clamp(24px,3.2vw,38px);
  background:linear-gradient(180deg,rgba(30,26,34,.82),rgba(11,10,12,.92));
  border:1px solid var(--line);
  box-shadow:var(--glow-soft);
  transition:transform .45s var(--ease),border-color .45s,box-shadow .45s;
  overflow:hidden;
}
.panel:hover{border-color:var(--line-strong);box-shadow:0 30px 80px -34px rgba(240,217,168,.34),var(--glow-soft)}
.panel--velvet{background:linear-gradient(180deg,rgba(92,16,35,.5),rgba(11,10,12,.94))}

/* ============================================================
   OPERA-BOX FRAME — private balcony overlooking the stage
   ============================================================ */
.opera-box{
  position:relative;
  border-radius:clamp(56px,7vw,86px) clamp(56px,7vw,86px) var(--r-md) var(--r-md);
  padding:clamp(30px,3.6vw,44px) clamp(22px,2.8vw,32px) clamp(26px,3vw,36px);
  background:
    linear-gradient(180deg,rgba(92,16,35,.34),rgba(17,16,20,.92) 52%,rgba(11,10,12,.96)),
    radial-gradient(80% 46% at 50% 0%,rgba(240,217,168,.13),transparent 68%);
  border:1px solid var(--line);
  box-shadow:var(--glow-soft);
  transition:transform .5s var(--ease),border-color .5s,box-shadow .5s;
  overflow:hidden;isolation:isolate;height:100%;
}
.opera-box::before{
  content:"";position:absolute;inset:7px;border-radius:inherit;pointer-events:none;
  border:1px solid rgba(212,175,122,.16);transition:border-color .5s;
}
/* balcony rail across the bottom */
.opera-box::after{
  content:"";position:absolute;left:12px;right:12px;bottom:9px;height:8px;pointer-events:none;
  background:
    repeating-linear-gradient(90deg,rgba(212,175,122,.42) 0 1.5px,transparent 1.5px 9px),
    linear-gradient(180deg,rgba(212,175,122,.34),transparent);
  border-top:1px solid rgba(212,175,122,.34);
  opacity:.7;
}
.opera-box:hover{transform:translateY(-8px);border-color:var(--line-strong);box-shadow:0 38px 96px -40px rgba(240,217,168,.45),var(--glow-soft)}
.opera-box:hover::before{border-color:rgba(212,175,122,.34)}
.opera-box .ob-spot{
  position:absolute;left:50%;top:-40%;width:120%;height:120%;transform:translateX(-50%);
  background:radial-gradient(46% 46% at 50% 50%,rgba(240,217,168,.22),transparent 68%);
  opacity:0;transition:opacity .55s var(--ease);pointer-events:none;z-index:-1;filter:blur(12px);
}
.opera-box:hover .ob-spot{opacity:1}

.ob-icon{
  width:56px;height:56px;border-radius:16px;display:grid;place-items:center;margin-bottom:20px;
  background:linear-gradient(160deg,rgba(212,175,122,.26),rgba(92,16,35,.62));
  border:1px solid var(--line-strong);
  box-shadow:inset 0 1px 0 rgba(247,233,201,.3),0 14px 34px -18px rgba(240,217,168,.7);
  transition:transform .5s var(--ease),box-shadow .5s;
}
.opera-box:hover .ob-icon{transform:translateY(-3px) rotate(-4deg);box-shadow:inset 0 1px 0 rgba(247,233,201,.5),0 20px 44px -16px rgba(240,217,168,.95)}
.ob-icon svg{width:26px;height:26px;color:var(--gd-400)}
.opera-box h3{margin-bottom:11px}
.opera-box p{color:var(--ink-soft);font-size:.94rem;line-height:1.72}
.ob-list{list-style:none;margin-top:16px;padding-top:15px;border-top:1px solid var(--line);display:grid;gap:8px}
.ob-list li{position:relative;padding-left:22px;font-size:.855rem;color:var(--ink-mute);line-height:1.6}
.ob-list li::before{content:"";position:absolute;left:2px;top:.62em;width:6px;height:6px;transform:rotate(45deg);background:var(--gd-600);box-shadow:0 0 8px rgba(240,217,168,.7)}
.ob-num{
  position:absolute;top:14px;right:18px;font-family:var(--f-display);font-size:2.6rem;font-weight:900;
  color:rgba(212,175,122,.13);line-height:1;pointer-events:none;
}

/* ============================================================
   PLAYBILL TICKET CARD — game / category tiles
   ============================================================ */
.playbill{
  position:relative;display:flex;flex-direction:column;height:100%;
  border-radius:14px;overflow:hidden;isolation:isolate;
  background:linear-gradient(180deg,rgba(35,29,38,.94),rgba(11,10,12,.97));
  border:1px solid var(--line);
  box-shadow:0 18px 46px -26px rgba(0,0,0,.95);
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s;
  /* card-stock grain */
  background-image:
    linear-gradient(180deg,rgba(35,29,38,.94),rgba(11,10,12,.97)),
    repeating-linear-gradient(0deg,rgba(255,255,255,.014) 0 1px,transparent 1px 3px);
}
.playbill:hover,.playbill:focus-within{
  transform:translateY(-9px) rotate(-1.1deg) scale(1.018);
  border-color:var(--line-strong);
  box-shadow:0 34px 80px -30px rgba(240,217,168,.5),0 18px 46px -26px rgba(0,0,0,.95);
}
/* perforated / torn edge down the left side */
.playbill::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:12px;z-index:3;pointer-events:none;
  background:radial-gradient(circle at 0 6px,var(--ob-900) 4.4px,transparent 4.8px) 0 0/12px 13px repeat-y;
  filter:drop-shadow(1px 0 0 rgba(212,175,122,.22));
  transition:transform .5s var(--ease),opacity .4s;
}
.playbill:hover::before{transform:translateX(1.5px);opacity:.9}
/* dashed stub line */
.playbill::after{
  content:"";position:absolute;left:13px;top:8px;bottom:8px;width:1px;z-index:3;pointer-events:none;
  background:repeating-linear-gradient(180deg,rgba(212,175,122,.34) 0 5px,transparent 5px 10px);
}
.pb-media{position:relative;aspect-ratio:211/260;overflow:hidden;background:var(--ob-800)}
.pb-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),filter .5s}
.playbill:hover .pb-media img{transform:scale(1.09);filter:brightness(1.12) saturate(1.06)}
.pb-media::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(11,10,12,0) 42%,rgba(11,10,12,.86));
}
/* spotlight wash on hover */
.pb-spot{
  position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;
  background:radial-gradient(60% 44% at 50% 8%,rgba(240,217,168,.4),transparent 66%);
  transition:opacity .5s var(--ease);
}
.playbill:hover .pb-spot,.playbill:focus-within .pb-spot{opacity:1}

.pb-tag{
  position:absolute;top:9px;right:9px;z-index:3;
  font-family:var(--f-marquee);font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;
  padding:5px 9px;border-radius:5px;color:var(--gd-300);
  background:rgba(11,10,12,.82);border:1px solid var(--line-strong);backdrop-filter:blur(6px);
}
.pb-hot{
  position:absolute;top:9px;left:20px;z-index:3;
  font-family:var(--f-marquee);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  padding:5px 9px;border-radius:5px;color:#1A0B10;background:var(--grad-gold);
  box-shadow:0 6px 18px -6px rgba(240,217,168,.9);
}
.pb-body{padding:13px 14px 15px 22px;display:flex;flex-direction:column;gap:5px;flex:1}
.pb-title{
  font-family:var(--f-display);font-size:.98rem;font-weight:700;line-height:1.24;color:var(--ink);
  transition:color .35s;
  /* two-line cap keeps every playbill in a row the same height */
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;min-height:2.48em;
}
.playbill:hover .pb-title{color:var(--gd-400)}
.pb-meta{
  font-size:.71rem;color:var(--ink-mute);letter-spacing:.04em;
  display:flex;align-items:center;gap:8px;white-space:nowrap;min-width:0;margin-top:auto;
}
.pb-meta b{color:var(--gd-700);font-weight:700;overflow:hidden;text-overflow:ellipsis;min-width:0}
.pb-rtp{margin-left:auto;flex:0 0 auto;font-family:var(--f-marquee);font-size:.67rem;color:var(--gd-600)}

/* hover overlay with actions */
.pb-overlay{
  position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;padding:16px 14px 16px 24px;text-align:center;
  background:linear-gradient(180deg,rgba(46,7,17,.86),rgba(11,10,12,.94));
  opacity:0;visibility:hidden;transform:scale(1.03);
  transition:opacity .4s var(--ease),transform .5s var(--ease),visibility .4s;
  backdrop-filter:blur(3px);
}
.playbill:hover .pb-overlay,.playbill:focus-within .pb-overlay{opacity:1;visibility:visible;transform:scale(1)}
.pb-overlay .pb-ov-cat{font-family:var(--f-marquee);font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--gd-600)}
.pb-overlay .pb-ov-name{font-family:var(--f-display);font-size:1.06rem;font-weight:700;color:var(--gd-300);line-height:1.22}
.pb-overlay p{font-size:.76rem;color:var(--ink-mute);line-height:1.55;max-width:22ch}

/* Category playbill (larger, image-free) */
.cat-bill{
  position:relative;display:block;height:100%;border-radius:16px;overflow:hidden;isolation:isolate;
  padding:clamp(24px,2.8vw,32px) clamp(20px,2.4vw,26px) clamp(22px,2.6vw,28px) clamp(28px,3vw,34px);
  background:linear-gradient(165deg,rgba(92,16,35,.44),rgba(17,16,20,.95) 58%,rgba(11,10,12,.98));
  border:1px solid var(--line);
  box-shadow:0 20px 54px -28px rgba(0,0,0,.95);
  transition:transform .48s var(--ease),border-color .48s,box-shadow .48s;
}
.cat-bill::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:12px;z-index:3;pointer-events:none;
  background:radial-gradient(circle at 0 6px,var(--ob-900) 4.4px,transparent 4.8px) 0 0/12px 13px repeat-y;
  transition:transform .5s var(--ease);
}
.cat-bill:hover::before{transform:translateX(2px)}
.cat-bill::after{
  content:"";position:absolute;left:14px;top:10px;bottom:10px;width:1px;z-index:3;
  background:repeating-linear-gradient(180deg,rgba(212,175,122,.3) 0 5px,transparent 5px 10px);
}
.cat-bill:hover{transform:translateY(-9px);border-color:var(--line-strong);box-shadow:0 36px 88px -34px rgba(240,217,168,.45)}
.cat-glow{
  position:absolute;left:50%;top:-50%;width:130%;height:130%;transform:translateX(-50%);z-index:-1;
  background:radial-gradient(44% 44% at 50% 50%,rgba(240,217,168,.24),transparent 68%);
  opacity:0;transition:opacity .5s;pointer-events:none;filter:blur(10px);
}
.cat-bill:hover .cat-glow{opacity:1}
.cat-ico{
  width:50px;height:50px;border-radius:14px;display:grid;place-items:center;margin-bottom:16px;
  background:linear-gradient(160deg,rgba(212,175,122,.3),rgba(92,16,35,.7));
  border:1px solid var(--line-strong);box-shadow:inset 0 1px 0 rgba(247,233,201,.34);
  transition:transform .5s var(--ease);
}
.cat-bill:hover .cat-ico{transform:rotate(-6deg) scale(1.06)}
.cat-ico svg{width:24px;height:24px;color:var(--gd-400)}
.cat-bill h3{font-size:1.22rem;margin-bottom:8px}
.cat-bill p{font-size:.87rem;color:var(--ink-soft);line-height:1.66}
.cat-count{
  display:inline-flex;align-items:center;gap:7px;margin-top:15px;
  font-family:var(--f-marquee);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gd-600);
}
.cat-count::after{content:"→";transition:transform .4s var(--ease)}
.cat-bill:hover .cat-count::after{transform:translateX(5px)}

/* ============================================================
   VELVET SHELF CAROUSEL — playbills gliding along a shelf
   ============================================================ */
.shelf{
  position:relative;width:100%;overflow:hidden;padding:26px 0 34px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}
.shelf::after{
  content:"";position:absolute;left:0;right:0;bottom:12px;height:12px;pointer-events:none;
  background:linear-gradient(180deg,rgba(92,16,35,.75),rgba(46,7,17,.2));
  border-top:1px solid rgba(212,175,122,.3);
  box-shadow:0 -10px 30px -10px rgba(240,217,168,.35);
}
.shelf-track{display:flex;gap:16px;width:max-content;animation:shelfGlide 58s linear infinite;will-change:transform}
.shelf:hover .shelf-track{animation-play-state:paused}
@keyframes shelfGlide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.shelf-track .playbill{width:clamp(150px,20vw,196px);flex:0 0 auto}
.shelf--rev .shelf-track{animation-direction:reverse;animation-duration:66s}

/* Draggable / scroll-snap rail (game details related, screenshots fallback) */
.rail{
  display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:6px 2px 20px;scrollbar-width:thin;
}
.rail>*{scroll-snap-align:start;flex:0 0 auto}
.rail::-webkit-scrollbar{height:6px}

/* ============================================================
   STAT STRIP — spotlight counters
   ============================================================ */
.stat-strip{
  position:relative;display:grid;gap:1px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-radius:var(--r-lg);overflow:hidden;
  background:var(--line);
  border:1px solid var(--line-strong);
  box-shadow:0 30px 80px -40px rgba(240,217,168,.4),var(--glow-soft);
}
@media (min-width:860px){.stat-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}
.stat{
  position:relative;padding:clamp(24px,3vw,36px) clamp(14px,2vw,24px);text-align:center;
  background:linear-gradient(180deg,rgba(46,7,17,.86),rgba(11,10,12,.96));
  overflow:hidden;transition:background .5s;
}
.stat:hover{background:linear-gradient(180deg,rgba(92,16,35,.8),rgba(11,10,12,.96))}
.stat::before{
  content:"";position:absolute;left:50%;top:-70%;width:70%;height:150%;transform:translateX(-50%);
  background:linear-gradient(180deg,rgba(240,217,168,.24),transparent 70%);
  clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);filter:blur(14px);pointer-events:none;
  opacity:.55;transition:opacity .5s;
}
.stat:hover::before{opacity:1}
.stat-val{
  display:block;font-family:var(--f-display);font-weight:900;line-height:1;
  font-size:clamp(1.75rem,3.4vw,2.65rem);margin-bottom:8px;position:relative;
}
.stat-label{
  font-family:var(--f-marquee);font-size:clamp(9px,.2vw + 8.6px,10.5px);
  letter-spacing:.24em;text-transform:uppercase;color:var(--gd-700);display:block;
}
.stat-sub{font-size:.74rem;color:var(--ink-mute);margin-top:7px;display:block}
.live-dot{
  display:inline-block;width:7px;height:7px;border-radius:50%;background:#5BE08A;margin-right:7px;
  box-shadow:0 0 10px #5BE08A;animation:livePulse 1.8s ease-in-out infinite;vertical-align:middle;
}
@keyframes livePulse{0%,100%{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}

/* ============================================================
   STAGE MARKS — the 4-act step process
   ============================================================ */
.acts{position:relative;display:grid;gap:clamp(18px,2.4vw,26px);grid-template-columns:1fr}
@media (min-width:700px){.acts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1060px){.acts{grid-template-columns:repeat(4,minmax(0,1fr))}}
.act{
  position:relative;padding:clamp(28px,3vw,36px) clamp(20px,2.4vw,26px) clamp(24px,2.6vw,30px);
  border-radius:18px;text-align:center;overflow:hidden;isolation:isolate;height:100%;
  background:linear-gradient(180deg,rgba(30,26,34,.86),rgba(11,10,12,.95));
  border:1px solid var(--line);
  transition:transform .5s var(--ease),border-color .5s,box-shadow .5s;
}
.act:hover{transform:translateY(-8px);border-color:var(--line-strong);box-shadow:0 34px 84px -36px rgba(240,217,168,.5)}
/* the stage mark — a lit pool of light on the floor */
.act::after{
  content:"";position:absolute;left:50%;bottom:-30px;width:80%;height:64px;transform:translateX(-50%);
  background:radial-gradient(50% 50% at 50% 50%,rgba(240,217,168,.3),transparent 70%);
  filter:blur(10px);pointer-events:none;opacity:.55;transition:opacity .5s;z-index:-1;
}
.act:hover::after{opacity:1}
.act-mark{
  position:relative;width:70px;height:70px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle at 50% 34%,rgba(240,217,168,.28),rgba(92,16,35,.72));
  border:1px solid var(--line-strong);
  box-shadow:inset 0 1px 0 rgba(247,233,201,.4),0 0 40px -10px rgba(240,217,168,.7);
}
.act-mark span{font-family:var(--f-display);font-size:1.65rem;font-weight:900;color:var(--gd-300);line-height:1}
.act-mark::before{
  content:"";position:absolute;inset:-9px;border-radius:50%;border:1px dashed rgba(212,175,122,.34);
  animation:markSpin 22s linear infinite;
}
@keyframes markSpin{to{transform:rotate(360deg)}}
.act-label{font-family:var(--f-marquee);font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--gd-700);display:block;margin-bottom:9px}
.act h3{font-size:1.16rem;margin-bottom:10px}
.act p{font-size:.87rem;color:var(--ink-soft);line-height:1.68}
/* connector between acts */
@media (min-width:1060px){
  .act:not(:last-child)::before{
    content:"";position:absolute;top:58px;right:-14px;width:28px;height:1px;z-index:4;
    background:linear-gradient(90deg,var(--gd-700),transparent);
  }
}

/* ============================================================
   OG BANNER SHOWCASE
   ============================================================ */
.og-showcase{
  position:relative;border-radius:var(--r-xl);overflow:hidden;isolation:isolate;
  border:1px solid var(--line-strong);
  box-shadow:0 50px 120px -50px rgba(240,217,168,.5),var(--glow-soft);
  background:var(--ob-850);
}
.og-showcase::before{
  content:"";position:absolute;inset:10px;border-radius:calc(var(--r-xl) - 6px);pointer-events:none;z-index:3;
  border:1px solid rgba(212,175,122,.24);
  box-shadow:inset 0 0 60px rgba(240,217,168,.09);
}
.og-frame{position:relative;overflow:hidden}
.og-frame img{width:100%;height:auto;display:block;transition:transform 1.2s var(--ease)}
.og-showcase:hover .og-frame img{transform:scale(1.035)}
.og-frame::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(102deg,transparent 34%,rgba(255,255,255,.14) 47%,transparent 60%);
  transform:translateX(-110%);animation:ogSheen 7s var(--ease) infinite;
}
@keyframes ogSheen{0%,70%{transform:translateX(-110%)}100%{transform:translateX(110%)}}
.og-caption{
  position:relative;z-index:4;padding:clamp(22px,3vw,34px) clamp(20px,3vw,40px);
  background:linear-gradient(180deg,rgba(46,7,17,.9),rgba(11,10,12,.97));
  border-top:1px solid var(--line-strong);
  display:grid;gap:18px;align-items:center;
}
@media (min-width:840px){.og-caption{grid-template-columns:minmax(0,1fr) auto}}
.og-caption h3{margin-bottom:7px}
.og-caption p{font-size:.9rem;color:var(--ink-soft);max-width:62ch}
.og-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px;list-style:none}
.og-pills li{
  font-family:var(--f-marquee);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
  padding:6px 12px;border-radius:999px;color:var(--gd-600);
  border:1px solid var(--line);background:rgba(92,16,35,.34);
}

/* ============================================================
   SCREENSHOT SLIDER — phones on a lit stage
   ============================================================ */
.shots{position:relative;width:100%;overflow:hidden;padding:14px 0 6px}
.shots-viewport{
  position:relative;width:100%;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
}
.shots-track{
  display:flex;gap:clamp(16px,2.4vw,30px);
  transition:transform .8s var(--ease-drama);will-change:transform;padding:26px 0 30px;
}
.shot{
  position:relative;flex:0 0 auto;
  width:clamp(178px,44vw,236px);
  transition:transform .7s var(--ease),filter .7s var(--ease),opacity .7s;
  filter:saturate(.78) brightness(.7);opacity:.68;
  transform:scale(.9);
}
.shot.is-focus{filter:none;opacity:1;transform:scale(1.06)}
.shot-frame{
  position:relative;border-radius:26px;padding:7px;
  background:linear-gradient(155deg,#F0D9A8 0%,#8A6A38 18%,#211C28 40%,#14111A 66%,#8A6A38 90%,#F0D9A8 100%);
  box-shadow:0 0 0 1px rgba(247,233,201,.24),0 44px 90px -40px rgba(0,0,0,.95);
  transition:box-shadow .6s;
}
.shot.is-focus .shot-frame{box-shadow:0 0 0 1px rgba(247,233,201,.55),0 44px 90px -34px rgba(0,0,0,.95),0 0 80px -14px rgba(240,217,168,.6)}
.shot-frame img{width:100%;aspect-ratio:9/19.5;object-fit:cover;object-position:top center;border-radius:20px;display:block;background:#0B0A0C}
.shot-cap{
  margin-top:14px;text-align:center;font-family:var(--f-marquee);font-size:.7rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gd-700);transition:color .5s;
}
.shot.is-focus .shot-cap{color:var(--gd-400)}
.shot-desc{margin-top:5px;text-align:center;font-size:.74rem;color:var(--ink-mute);line-height:1.5;padding-inline:6px}

.shots-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:6px}
.shots-btn{
  width:48px;height:48px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;
  border:1px solid var(--line-strong);background:linear-gradient(180deg,rgba(92,16,35,.6),rgba(11,10,12,.9));
  color:var(--gd-500);transition:.35s var(--ease);
}
.shots-btn:hover{color:var(--gd-300);border-color:var(--gd-700);transform:scale(1.08);box-shadow:0 0 30px -6px rgba(240,217,168,.75)}
.shots-btn svg{width:18px;height:18px}
.shots-dots{display:flex;gap:9px;align-items:center}
.shots-dots button{
  width:9px;height:9px;border-radius:50%;background:rgba(212,175,122,.26);transition:.35s var(--ease);
}
.shots-dots button.is-on{width:30px;border-radius:6px;background:var(--grad-gold);box-shadow:0 0 14px rgba(240,217,168,.8)}

/* ============================================================
   TELEGRAM DUAL PANELS
   ============================================================ */
.tg-grid{display:grid;gap:clamp(18px,2.4vw,26px);grid-template-columns:1fr}
@media (min-width:880px){.tg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tg-panel{
  position:relative;border-radius:var(--r-lg);padding:clamp(26px,3.2vw,40px);height:100%;
  border:1px solid var(--line);overflow:hidden;isolation:isolate;
  transition:transform .5s var(--ease),border-color .5s,box-shadow .5s;
}
.tg-panel:hover{transform:translateY(-7px);box-shadow:0 34px 86px -38px rgba(0,0,0,.95)}
.tg-panel--support{
  background:linear-gradient(160deg,rgba(92,16,35,.55),rgba(17,16,20,.95) 58%,rgba(11,10,12,.98));
}
.tg-panel--support:hover{border-color:var(--line-strong);box-shadow:0 34px 86px -38px rgba(240,217,168,.5)}
.tg-panel--community{
  background:linear-gradient(160deg,rgba(29,143,204,.28),rgba(17,16,20,.95) 58%,rgba(11,10,12,.98));
  border-color:rgba(42,171,238,.24);
}
.tg-panel--community:hover{border-color:rgba(42,171,238,.5);box-shadow:0 34px 86px -38px rgba(42,171,238,.55)}
.tg-badge{
  display:inline-flex;align-items:center;gap:9px;padding:6px 13px;border-radius:999px;margin-bottom:18px;
  font-family:var(--f-marquee);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;
}
.tg-panel--support .tg-badge{color:var(--gd-500);border:1px solid var(--line-strong);background:rgba(11,10,12,.6)}
.tg-panel--community .tg-badge{color:#8ED4F8;border:1px solid rgba(42,171,238,.42);background:rgba(11,10,12,.6)}
.tg-ico{
  width:62px;height:62px;border-radius:18px;display:grid;place-items:center;margin-bottom:20px;
  border:1px solid var(--line);transition:transform .5s var(--ease);
}
.tg-panel:hover .tg-ico{transform:rotate(-6deg) scale(1.05)}
.tg-panel--support .tg-ico{background:linear-gradient(160deg,rgba(212,175,122,.28),rgba(92,16,35,.7));border-color:var(--line-strong)}
.tg-panel--community .tg-ico{background:linear-gradient(160deg,rgba(42,171,238,.4),rgba(11,60,90,.7));border-color:rgba(42,171,238,.42)}
.tg-ico svg{width:30px;height:30px}
.tg-panel--support .tg-ico svg{color:var(--gd-400)}
.tg-panel--community .tg-ico svg{color:#BFE7FF}
.tg-panel h3{margin-bottom:10px}
.tg-panel p{color:var(--ink-soft);font-size:.93rem}
.tg-points{list-style:none;display:grid;gap:9px;margin:18px 0 22px;padding-top:16px;border-top:1px solid var(--line)}
.tg-points li{position:relative;padding-left:24px;font-size:.855rem;color:var(--ink-mute);line-height:1.62}
.tg-points li::before{content:"";position:absolute;left:2px;top:.58em;width:7px;height:7px;transform:rotate(45deg)}
.tg-panel--support .tg-points li::before{background:var(--gd-600);box-shadow:0 0 8px rgba(240,217,168,.7)}
.tg-panel--community .tg-points li::before{background:#2AABEE;box-shadow:0 0 8px rgba(42,171,238,.8)}
.tg-handle{
  display:block;margin-top:14px;font-family:var(--f-marquee);font-size:.72rem;letter-spacing:.06em;
  color:var(--ink-mute);line-height:1.7;overflow-wrap:anywhere;word-break:normal;
}

/* Floating telegram quick-join chip beside CTAs */
.tg-chip{
  display:inline-flex;align-items:center;gap:11px;padding:10px 18px 10px 10px;border-radius:999px;
  background:linear-gradient(180deg,rgba(42,171,238,.2),rgba(11,10,12,.85));
  border:1px solid rgba(42,171,238,.42);color:#CFEDFF;
  font-size:.8rem;font-weight:600;transition:.38s var(--ease);
}
.tg-chip:hover{color:#fff;transform:translateY(-3px);border-color:rgba(42,171,238,.9);box-shadow:0 18px 44px -20px rgba(42,171,238,.95)}
.tg-chip i{
  display:grid;place-items:center;width:32px;height:32px;border-radius:50%;flex:0 0 auto;
  background:linear-gradient(180deg,#1A88BC,#146F9F);box-shadow:0 0 18px -4px rgba(42,171,238,.9);
}
.tg-chip i svg{width:18px;height:18px;color:#fff}
.tg-chip b{display:block;font-family:var(--f-marquee);font-size:.72rem;letter-spacing:.1em;color:#8ED4F8;font-weight:700}
.tg-chip span{display:block;font-size:.72rem;color:var(--ink-mute);line-height:1.3}

/* ============================================================
   TESTIMONIALS — opera-box balcony cards
   ============================================================ */
.balcony{
  position:relative;height:100%;border-radius:clamp(50px,6vw,74px) clamp(50px,6vw,74px) var(--r-md) var(--r-md);
  padding:clamp(30px,3.4vw,40px) clamp(22px,2.6vw,30px) clamp(30px,3.4vw,38px);
  background:linear-gradient(180deg,rgba(92,16,35,.42),rgba(17,16,20,.94) 55%,rgba(11,10,12,.97));
  border:1px solid var(--line);overflow:hidden;isolation:isolate;
  transition:transform .5s var(--ease),border-color .5s,box-shadow .5s;
}
.balcony:hover{transform:translateY(-8px);border-color:var(--line-strong);box-shadow:0 36px 90px -38px rgba(240,217,168,.45)}
.balcony::before{
  content:"";position:absolute;left:14px;right:14px;bottom:10px;height:11px;pointer-events:none;
  background:repeating-linear-gradient(90deg,rgba(212,175,122,.4) 0 1.5px,transparent 1.5px 10px),
             linear-gradient(180deg,rgba(212,175,122,.3),transparent);
  border-top:1px solid rgba(212,175,122,.36);
}
.balcony::after{
  content:"\201C";position:absolute;top:6px;left:50%;transform:translateX(-50%);
  font-family:var(--f-display);font-size:5.4rem;line-height:1;color:rgba(212,175,122,.16);pointer-events:none;
}
.bal-stars{display:flex;gap:4px;justify-content:center;margin-bottom:16px;position:relative;z-index:2}
.bal-stars svg{width:15px;height:15px;color:var(--gd-500)}
.balcony blockquote{margin:0;font-size:.94rem;line-height:1.78;color:var(--ink-soft);text-align:center;position:relative;z-index:2}
.bal-who{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);text-align:center}
.bal-name{font-family:var(--f-display);font-size:1rem;font-weight:700;color:var(--gd-400);display:block}
.bal-city{font-size:.74rem;color:var(--ink-mute);letter-spacing:.08em;display:block;margin-top:3px}
.bal-seat{
  display:inline-block;margin-top:9px;font-family:var(--f-marquee);font-size:8.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gd-700);padding:4px 10px;border-radius:999px;border:1px solid var(--line);
}

/* ============================================================
   FAQ ACCORDION — spotlight expand
   ============================================================ */
.faq{display:grid;gap:12px}
.faq-item{
  border-radius:var(--r-md);overflow:hidden;
  background:linear-gradient(180deg,rgba(30,26,34,.76),rgba(11,10,12,.92));
  border:1px solid var(--line);transition:border-color .4s,box-shadow .4s,background .4s;
}
.faq-item.is-open{
  border-color:var(--line-strong);
  background:linear-gradient(180deg,rgba(92,16,35,.44),rgba(11,10,12,.95));
  box-shadow:0 26px 66px -32px rgba(240,217,168,.5);
}
.faq-q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:19px clamp(18px,2.4vw,26px);text-align:left;
  font-family:var(--f-display);font-size:clamp(1rem,1.1vw,1.1rem);font-weight:700;color:var(--ink);
  transition:color .35s;line-height:1.4;
}
.faq-q:hover{color:var(--gd-400)}
.faq-item.is-open .faq-q{color:var(--gd-400)}
.faq-ico{
  position:relative;width:30px;height:30px;border-radius:50%;flex:0 0 auto;
  border:1px solid var(--line-strong);background:rgba(11,10,12,.6);
  transition:transform .45s var(--ease),background .4s,box-shadow .4s;
}
.faq-ico::before,.faq-ico::after{
  content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  background:var(--gd-500);border-radius:2px;transition:.4s var(--ease);
}
.faq-ico::before{width:11px;height:1.6px}
.faq-ico::after{width:1.6px;height:11px}
.faq-item.is-open .faq-ico{transform:rotate(135deg);background:rgba(212,175,122,.2);box-shadow:0 0 20px -4px rgba(240,217,168,.9)}
.faq-item.is-open .faq-ico::after{opacity:0}
.faq-a{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.faq-a-inner{padding:0 clamp(18px,2.4vw,26px) 22px;color:var(--ink-soft);font-size:.93rem;line-height:1.78}
.faq-a-inner p+p{margin-top:.9em}
.faq-a-inner ul{list-style:none;margin-top:.8em;display:grid;gap:7px}
.faq-a-inner ul li{position:relative;padding-left:22px;font-size:.9rem}
.faq-a-inner ul li::before{content:"";position:absolute;left:3px;top:.62em;width:6px;height:6px;transform:rotate(45deg);background:var(--gd-600)}

/* ============================================================
   STICKY BONUS BAR
   ============================================================ */
.sticky-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:880;
  transform:translateY(115%);transition:transform .55s var(--ease-drama);
  background:linear-gradient(180deg,rgba(46,7,17,.96),rgba(11,10,12,.985));
  border-top:1px solid var(--line-strong);
  box-shadow:0 -18px 60px -26px rgba(0,0,0,.95),0 -1px 26px -8px rgba(240,217,168,.4);
  backdrop-filter:blur(16px);
}
.sticky-bar.is-up{transform:translateY(0)}
.sticky-inner{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:11px 0;
}
.sticky-copy{display:flex;align-items:center;gap:14px;min-width:0}
.sticky-copy img{height:32px;width:auto;flex:0 0 auto}
.sticky-text{min-width:0}
.sticky-text b{display:block;font-family:var(--f-display);font-size:.98rem;color:var(--gd-400);line-height:1.24}
.sticky-text span{display:block;font-size:.73rem;color:var(--ink-mute);line-height:1.35}
@media (max-width:560px){
  .sticky-copy img{display:none}
  .sticky-text b{font-size:.88rem}
  .sticky-text span{display:none}
}
.sticky-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.sticky-tg{
  display:grid;place-items:center;width:42px;height:42px;border-radius:50%;flex:0 0 auto;
  background:linear-gradient(180deg,#16749F,#0F5C85);color:#fff;
  box-shadow:0 0 22px -6px rgba(42,171,238,.95);transition:.35s var(--ease);
}
.sticky-tg:hover{transform:translateY(-3px) scale(1.06);color:#fff}
.sticky-tg svg{width:21px;height:21px}

/* ============================================================
   CTA BANNER
   ============================================================ */
.cta-band{
  position:relative;border-radius:var(--r-xl);overflow:hidden;isolation:isolate;
  padding:clamp(40px,5.4vw,72px) clamp(24px,4vw,58px);text-align:center;
  border:1px solid var(--line-strong);
  box-shadow:0 44px 110px -50px rgba(240,217,168,.55),var(--glow-soft);
}
.cta-band h2{margin-bottom:14px}
.cta-band p{color:var(--ink-soft);max-width:64ch;margin-inline:auto}
.cta-band .btn-row{margin-top:28px}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{
  position:relative;overflow:hidden;isolation:isolate;
  background:linear-gradient(180deg,var(--ob-900),#080709);
  border-top:1px solid var(--line);
  padding-top:clamp(48px,6vw,78px);
}
.footer-lights{position:absolute;top:-11px;left:0;right:0;z-index:3}
.footer-grid{
  display:grid;gap:clamp(28px,3.4vw,44px);grid-template-columns:1fr;
  padding-bottom:clamp(34px,4vw,52px);
}
@media (min-width:720px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1040px){.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1.25fr}}
.f-brand img{height:46px;width:auto;margin-bottom:18px}
.f-brand p{font-size:.885rem;color:var(--ink-mute);line-height:1.76;max-width:44ch}
.f-title{
  font-family:var(--f-marquee);font-size:.76rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gd-600);margin-bottom:18px;display:flex;align-items:center;gap:9px;
}
.f-title::before{content:"";width:6px;height:6px;transform:rotate(45deg);background:var(--gd-600);box-shadow:0 0 8px var(--gd-600)}
.f-links{list-style:none;display:grid;gap:10px}
.f-links a{font-size:.875rem;color:var(--ink-mute);display:inline-flex;align-items:center;gap:9px;transition:.32s var(--ease)}
.f-links a::before{content:"";width:0;height:1px;background:var(--gd-600);transition:width .32s var(--ease)}
.f-links a:hover{color:var(--gd-400)}
.f-links a:hover::before{width:12px}
.f-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.f-soc{
  display:inline-flex;align-items:center;gap:10px;padding:10px 15px;border-radius:11px;
  border:1px solid var(--line);background:rgba(17,16,20,.72);font-size:.8rem;color:var(--ink-soft);
  transition:.35s var(--ease);
}
.f-soc:hover{transform:translateY(-3px);border-color:var(--line-strong);color:var(--gd-400);box-shadow:0 16px 40px -22px rgba(240,217,168,.8)}
.f-soc svg{width:18px;height:18px;flex:0 0 auto}
.f-soc--tg svg{color:#2AABEE}
.f-soc--gold svg{color:var(--gd-500)}
.f-soc small{display:block;font-size:.66rem;color:var(--ink-mute);letter-spacing:.04em}
.f-soc b{display:block;font-size:.82rem;color:var(--ink);font-weight:600}

.f-keywords{
  padding:clamp(22px,2.6vw,30px) 0;border-top:1px solid var(--line);
}
.f-keywords h4{font-family:var(--f-marquee);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gd-700);margin-bottom:12px}
.f-keywords p{font-size:.775rem;color:#8E8274;line-height:1.9;letter-spacing:.01em}

.f-legal{
  border-top:1px solid var(--line);padding:clamp(24px,3vw,34px) 0;
}
.f-disclaimer{
  border-radius:var(--r-md);padding:clamp(18px,2.4vw,24px);
  background:linear-gradient(180deg,rgba(92,16,35,.3),rgba(11,10,12,.75));
  border:1px solid var(--line);
  display:flex;gap:16px;align-items:flex-start;
}
.f-disclaimer .age{
  flex:0 0 auto;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--f-display);font-weight:900;font-size:1rem;color:#1A0B10;
  background:var(--grad-gold);box-shadow:0 0 24px -6px rgba(240,217,168,.9);
}
.f-disclaimer p{font-size:.82rem;color:var(--ink-mute);line-height:1.76;margin:0}
.f-disclaimer p+p{margin-top:.7em}
.f-disclaimer strong{color:var(--gd-600);font-weight:700}
.f-bottom{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;
  padding:22px 0 30px;border-top:1px solid var(--line);margin-top:clamp(22px,2.6vw,30px);
  font-size:.79rem;color:#8E8274;
}
.f-bottom nav{display:flex;flex-wrap:wrap;gap:8px 18px}
.f-bottom nav a{color:#8A8078;font-size:.79rem}
.f-bottom nav a:hover{color:var(--gd-500)}

/* ============================================================
   LOADER — curtains part, logo revealed under one beam
   ============================================================ */
.loader{
  position:fixed;inset:0;z-index:9990;display:grid;place-items:center;
  background:var(--ob-900);transition:opacity .6s var(--ease),visibility .6s;
}
.loader.is-done{opacity:0;visibility:hidden;pointer-events:none}
.loader-curtain{
  position:absolute;top:0;bottom:0;width:51%;z-index:2;background:var(--grad-velvet);
  box-shadow:0 0 70px 24px rgba(0,0,0,.8);
}
.loader-curtain::before{
  content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(90deg,rgba(0,0,0,.55) 0px,rgba(0,0,0,.04) 18px,rgba(165,48,76,.3) 38px,rgba(0,0,0,.12) 58px,rgba(0,0,0,.55) 80px);
  mix-blend-mode:overlay;
}
.loader-curtain--l{left:0;animation:loadPartL 1.35s .85s var(--ease-drama) forwards}
.loader-curtain--r{right:0;animation:loadPartR 1.35s .85s var(--ease-drama) forwards}
@keyframes loadPartL{to{transform:translateX(-101%)}}
@keyframes loadPartR{to{transform:translateX(101%)}}
.loader-stage{position:relative;z-index:1;text-align:center;padding-inline:24px}
.loader-beam{
  position:absolute;left:50%;top:-160%;width:250px;height:330%;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(240,217,168,.4),rgba(240,217,168,.06) 62%,transparent);
  clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);filter:blur(20px);
  transform:translateX(-50%);opacity:0;animation:loadBeam 1.4s 1.1s var(--ease) forwards;
}
@keyframes loadBeam{to{opacity:1}}
.loader-stage img{
  width:min(280px,64vw);height:auto;margin-inline:auto;opacity:0;
  animation:loadLogo 1s 1.15s var(--ease) forwards;
}
@keyframes loadLogo{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
.loader-tag{
  margin-top:22px;font-family:var(--f-marquee);font-size:10px;letter-spacing:.42em;text-transform:uppercase;
  color:var(--gd-700);opacity:0;animation:loadLogo .9s 1.5s var(--ease) forwards;
}
.loader-bar{
  width:min(220px,54vw);height:2px;margin:20px auto 0;border-radius:2px;overflow:hidden;
  background:rgba(212,175,122,.16);opacity:0;animation:loadLogo .6s 1.6s var(--ease) forwards;
}
.loader-bar i{display:block;height:100%;width:0;background:var(--grad-gold);box-shadow:0 0 14px rgba(240,217,168,.9);animation:loadFill 1.5s 1.6s var(--ease) forwards}
@keyframes loadFill{to{width:100%}}

/* ============================================================
   MOTION — scroll reveals with a beam-sweep flash
   ============================================================ */
[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .85s var(--ease-drama),transform .85s var(--ease-drama)}
[data-reveal="left"]{transform:translateX(-38px)}
[data-reveal="right"]{transform:translateX(38px)}
[data-reveal="zoom"]{transform:scale(.94)}
[data-reveal].is-in{opacity:1;transform:none}

/* the spotlight sweep that accompanies a section entrance */
.sweep{position:relative;overflow:hidden}
.sweep::before{
  content:"";position:absolute;top:-40%;left:-30%;width:44%;height:180%;z-index:5;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(240,217,168,.16) 42%,rgba(247,233,201,.28) 50%,rgba(240,217,168,.16) 58%,transparent);
  filter:blur(14px);transform:translateX(-160%) rotate(8deg);opacity:0;
}
.sweep.is-in::before{animation:sectionSweep 1.5s var(--ease-drama) forwards}
@keyframes sectionSweep{
  0%{transform:translateX(-160%) rotate(8deg);opacity:0}
  18%{opacity:1}
  100%{transform:translateX(340%) rotate(8deg);opacity:0}
}

/* Counter number */
.count{font-variant-numeric:tabular-nums}

/* ---------- BADGE ROW / TRUST ---------- */
.trust-row{
  display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(12px,2vw,22px);list-style:none;
}
.trust-item{
  display:inline-flex;align-items:center;gap:11px;padding:12px 20px;border-radius:12px;
  border:1px solid var(--line);background:linear-gradient(180deg,rgba(30,26,34,.72),rgba(11,10,12,.9));
  font-size:.8rem;color:var(--ink-soft);transition:.4s var(--ease);
}
.trust-item:hover{border-color:var(--line-strong);transform:translateY(-4px);box-shadow:0 20px 50px -26px rgba(240,217,168,.75)}
.trust-item svg{width:19px;height:19px;color:var(--gd-500);flex:0 0 auto}
.trust-item b{color:var(--gd-500);font-weight:700}

/* ---------- MARQUEE TICKER ---------- */
.ticker{
  position:relative;overflow:hidden;border-block:1px solid var(--line);
  background:linear-gradient(180deg,rgba(46,7,17,.7),rgba(11,10,12,.9));padding:11px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
.ticker-track{display:flex;gap:44px;width:max-content;animation:tick 42s linear infinite}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ticker-track span{
  display:inline-flex;align-items:center;gap:12px;white-space:nowrap;
  font-family:var(--f-marquee);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gd-700);
}
.ticker-track span::before{content:"";width:6px;height:6px;transform:rotate(45deg);background:var(--gd-600);box-shadow:0 0 9px var(--gd-600);flex:0 0 auto}

/* ---------- TABLE ---------- */
.tbl-wrap{overflow-x:auto;border-radius:var(--r-md);border:1px solid var(--line);background:rgba(11,10,12,.6)}
table.tbl{width:100%;border-collapse:collapse;min-width:520px;font-size:.875rem}
table.tbl th,table.tbl td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line)}
table.tbl th{
  font-family:var(--f-marquee);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gd-600);background:rgba(92,16,35,.42);font-weight:700;
}
table.tbl td{color:var(--ink-soft)}
table.tbl tr:last-child td{border-bottom:0}
table.tbl tbody tr{transition:background .3s}
table.tbl tbody tr:hover{background:rgba(92,16,35,.24)}
table.tbl td strong{color:var(--gd-500)}

/* ---------- REDUCED MOTION ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important;scroll-behavior:auto !important;
  }
  .curtain,.loader-curtain{display:none}
  [data-reveal]{opacity:1 !important;transform:none !important}
  .shelf-track,.ticker-track{animation:none;transform:none}
  .beam,.phone-glow,.gold-lit::before{opacity:.5}
  .beam-drop{opacity:1 !important;transform:translateX(-50%) !important}
}
