/*
Theme Name: Staker Productions
Theme URI: https://stakerproductions.com/
Author: KRMA Digital
Author URI: https://krmadigital.com/
Description: The Staker Productions site: Bimmer Social, Wings N' Wheels, tickets, partners and past-show recaps. Activating it creates the site's pages automatically.
Version: 1.5.0
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary
Text Domain: staker
*/

@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(assets/media/dee1dfd0.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Martian Mono';font-style:normal;font-weight:300 700;font-stretch:100% 100%;font-display:swap;src:url(assets/media/614e23c5.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* ============================================================
   STAKER PRODUCTIONS
   Palette: Jacksonville dusk — asphalt black, sodium ember,
   taillight flare. Pulled straight off the ESS4 flyer.
   ============================================================ */
:root{
  --asphalt:#07080B; --carbon:#0E1116; --slate:#161B23; --steel:#232B37;
  --haze:#F2EEE7; --mute:#A6AEBA; --dim:#7C8694;
  --ember:#FF6A21; --flare:#FF2E68;
  --line:rgba(255,255,255,.10); --line-2:rgba(255,255,255,.06);
  --shell:min(1320px,92vw); --gut:clamp(1.1rem,4vw,2.5rem);
  --ease:cubic-bezier(.16,1,.3,1); --ease-q:cubic-bezier(.22,1,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
body{
  margin:0; background:var(--asphalt); color:var(--haze);
  font-family:'Archivo',system-ui,sans-serif;
  font-variation-settings:'wdth' 100,'wght' 400;
  font-size:clamp(16px,.4vw + 14.6px,17px); line-height:1.6;
  overflow-x:hidden; -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
button{font:inherit; color:inherit; background:none; border:0; cursor:pointer}
:focus-visible{outline:2px solid var(--ember); outline-offset:3px; border-radius:2px}
.shell{width:var(--shell); margin-inline:auto}
.sr{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}

.display{font-variation-settings:'wdth' 122,'wght' 880; line-height:.87; letter-spacing:-.028em; text-transform:uppercase; text-wrap:balance; margin:0}
.mono{font-family:'Martian Mono',ui-monospace,monospace; font-size:.755rem; letter-spacing:.1em; text-transform:uppercase; font-weight:500; line-height:1.5}
.lede{font-size:clamp(1.02rem,.5vw + .92rem,1.2rem); color:var(--mute); max-width:62ch; text-wrap:pretty}

/* reveals enhance an already-visible default; JS force-reveals as a safety net */
.js .rv{opacity:0; transform:translateY(22px); transition:opacity .85s var(--ease), transform .85s var(--ease)}
.js .rv.in{opacity:1; transform:none}
.js .rv-d1{transition-delay:.08s} .js .rv-d2{transition-delay:.16s} .js .rv-d3{transition-delay:.24s}

/* ---------------- NAV ---------------- */
.nav{position:fixed; inset:0 0 auto 0; z-index:200; display:flex; align-items:center; gap:1.5rem;
  padding:1.05rem var(--gut); border-bottom:1px solid transparent;
  transition:padding .5s var(--ease), background .5s var(--ease), backdrop-filter .5s var(--ease), border-color .5s var(--ease)}
.nav.stuck{padding:.6rem var(--gut); background:rgba(7,8,11,.84); backdrop-filter:blur(14px) saturate(1.3); border-bottom-color:var(--line-2)}
.nav__logo{display:flex; align-items:center; min-height:44px}
.nav__logo img{height:clamp(26px,3.4vw,34px); width:auto; transition:height .5s var(--ease)}
.nav.stuck .nav__logo img{height:clamp(23px,2.9vw,28px)}
.nav__links{display:flex; gap:1.9rem; margin-left:auto; align-items:center}
.nav__links a{font-family:'Martian Mono',monospace; font-size:.755rem; letter-spacing:.11em; text-transform:uppercase;
  color:var(--mute); position:relative; padding:.4rem 0; transition:color .3s var(--ease)}
.nav__links a::before{content:''; position:absolute; inset:-9px -10px}
.nav__links a::after{content:''; position:absolute; left:0; bottom:0; height:1px; width:100%; background:var(--ember);
  transform:scaleX(0); transform-origin:right; transition:transform .5s var(--ease)}
.nav__links a:hover{color:var(--haze)}
.nav__links a:hover::after{transform:scaleX(1); transform-origin:left}

.btn{display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  font-family:'Martian Mono',monospace; font-size:.755rem; letter-spacing:.1em; text-transform:uppercase; font-weight:600;
  padding:.78rem 1.35rem; border-radius:2px; position:relative; overflow:hidden;
  background:var(--haze); color:#0A0B0E; transition:color .45s var(--ease)}
.btn span{position:relative; z-index:1}
.btn::before{content:''; position:absolute; inset:0; background:linear-gradient(100deg,var(--ember),var(--flare));
  transform:translateY(101%); transition:transform .5s var(--ease)}
.btn:hover{color:#fff} .btn:hover::before{transform:translateY(0)}
.btn--ghost{background:transparent; color:var(--haze); border:1px solid var(--line)}
.btn--grad{background:linear-gradient(100deg,var(--ember),var(--flare)); color:#fff}
.btn--grad::before{background:var(--haze)}
.btn--grad:hover{color:#0A0B0E}
.btn--ghost:hover{color:#fff; border-color:transparent}

.burger{display:none; width:44px; height:44px; margin-left:auto; position:relative}
.burger i{position:absolute; left:10px; right:10px; height:1.5px; background:var(--haze); transition:transform .45s var(--ease)}
.burger i:nth-child(1){top:18px} .burger i:nth-child(2){top:26px}
.nav.open .burger i:nth-child(1){transform:translateY(4px) rotate(45deg)}
.nav.open .burger i:nth-child(2){transform:translateY(-4px) rotate(-45deg)}
.sheet{position:fixed; inset:0; z-index:300; background:var(--carbon); padding:6rem var(--gut) 2rem;
  display:flex; flex-direction:column; clip-path:inset(0 0 100% 0); transition:clip-path .6s var(--ease); pointer-events:none}
.sheet.open{clip-path:inset(0 0 0 0); pointer-events:auto}
.sheet a{font-variation-settings:'wdth' 118,'wght' 750; text-transform:uppercase; font-size:clamp(1.8rem,8.5vw,2.8rem);
  line-height:1.18; letter-spacing:-.02em; border-bottom:1px solid var(--line-2); padding:.5rem 0}
.sheet .btn{margin-top:1.8rem; align-self:flex-start; padding:1rem 1.8rem; border-bottom:0}

/* ---------------- HERO ---------------- */
.hero{position:relative; min-height:100svh; display:flex; flex-direction:column; isolation:isolate}
.hero__stage{position:absolute; inset:0; overflow:hidden; z-index:-2; background:#000}
.hero__stage figure{position:absolute; inset:0; margin:0; opacity:0; transition:opacity 1.5s ease-in-out}
.hero__stage figure.on{opacity:1}
.hero__stage img{width:100%; height:100%; object-fit:cover; object-position:var(--pos,center 62%); transform:scale(1.05); animation:drift 15s ease-out both}
@keyframes drift{from{transform:scale(1.13) translateY(1%)}to{transform:scale(1.02) translateY(-1%)}}
.hero__scrim{position:absolute; inset:0; z-index:-1; background:
  linear-gradient(to top,var(--asphalt) 1%,rgba(7,8,11,.9) 16%,rgba(7,8,11,.55) 42%,rgba(7,8,11,.28) 68%,rgba(7,8,11,.72) 100%),
  linear-gradient(to right,rgba(7,8,11,.80) 0%,rgba(7,8,11,.44) 44%,rgba(7,8,11,0) 80%),
  radial-gradient(115% 80% at 8% 92%,rgba(255,106,33,.22),transparent 58%),
  radial-gradient(90% 65% at 94% 6%,rgba(255,46,104,.15),transparent 62%)}
.hero__body{flex:1; display:flex; flex-direction:column; justify-content:flex-end; width:var(--shell); margin-inline:auto; padding:9rem 0 2.2rem}
.hero__tag{display:inline-flex; align-items:center; gap:.7rem; margin-bottom:1.5rem; flex-wrap:wrap}
.hero__tag b{font-weight:inherit; color:var(--ember); position:relative; padding-left:1.25rem}
.hero__tag b::before{content:''; position:absolute; left:0; top:50%; width:.5rem; height:.5rem; border-radius:50%;
  background:var(--ember); transform:translateY(-50%); box-shadow:0 0 0 0 rgba(255,106,33,.7); animation:pulse 2.6s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 12px rgba(255,106,33,0)}100%{box-shadow:0 0 0 0 rgba(255,106,33,0)}}
.hero h1{font-size:clamp(2.45rem,8.4vw,4.75rem); text-shadow:0 2px 40px rgba(7,8,11,.55)}
.hero h1 .ln{display:block; overflow:hidden}
.hero h1 .ln > span{display:block; transform:translateY(105%); animation:rise 1.1s var(--ease) forwards}
.hero h1 .ln:nth-child(1) > span{animation-delay:.15s}
.hero h1 .ln:nth-child(2) > span{animation-delay:.26s}
.hero h1 .ln:nth-child(3) > span{animation-delay:.37s}
@keyframes rise{to{transform:translateY(0)}}
.hero h1 em{font-style:normal; color:var(--ember)}
.hero__sub{margin:1.4rem 0 0; max-width:44ch; color:#D8D3CB; font-size:clamp(.98rem,.45vw + .88rem,1.12rem);
  text-shadow:0 1px 18px rgba(7,8,11,.85); opacity:0; animation:fade 1s var(--ease) .7s forwards}
@keyframes fade{to{opacity:1}}
.hero__acts{display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.9rem; opacity:0; animation:fade 1s var(--ease) .84s forwards}
.hero__acts .btn{padding:1rem 1.7rem}
.hero__dots{display:flex; gap:.75rem; margin-top:2.2rem; opacity:0; animation:fade 1s var(--ease) 1s forwards}
.hero__dots button{width:30px; height:2px; background:rgba(255,255,255,.24); border-radius:2px; position:relative; transition:background .4s}
.hero__dots button::after{content:''; position:absolute; inset:-21px -6px}
.hero__dots button[aria-current="true"]{background:var(--ember)}

/* signature: instrument cluster + odometer countdown */
.cluster{border-top:1px solid var(--line); background:rgba(7,8,11,.6); backdrop-filter:blur(10px)}
.cluster__in{width:var(--shell); margin-inline:auto; display:grid; grid-template-columns:auto 1px auto 1px 1fr;
  align-items:center; gap:clamp(1rem,2.6vw,2.4rem); padding:1.15rem 0}
.cluster__in hr{border:0; background:var(--line); width:1px; height:38px; margin:0}
.vital{display:flex; flex-direction:column; gap:.34rem; min-width:0}
.vital .k{color:var(--dim)}
.vital .v{font-variation-settings:'wdth' 112,'wght' 680; text-transform:uppercase;
  font-size:clamp(.82rem,.4vw + .72rem,1rem); letter-spacing:-.01em; line-height:1.15}
.odo{display:flex; align-items:flex-end; gap:.5rem; justify-self:end}
.odo__unit{display:flex; flex-direction:column; align-items:center; gap:.32rem}
.odo__reels{display:flex; gap:2px}
.reel{width:clamp(17px,2.4vw,23px); overflow:hidden; background:#0A0D13; border:1px solid rgba(255,106,33,.22);
  border-radius:2px; box-shadow:inset 0 7px 9px -7px #000, inset 0 -7px 9px -7px #000, 0 0 18px -8px rgba(255,106,33,.8)}
.reel ul{margin:0; padding:0; list-style:none; transition:transform .8s var(--ease-q)}
.reel li{height:clamp(26px,3.6vw,34px); display:grid; place-items:center; font-family:'Martian Mono',monospace;
  font-weight:600; font-size:clamp(.755rem,1vw,.88rem); color:var(--ember); text-shadow:0 0 12px rgba(255,106,33,.55)}
.odo__unit .k{color:var(--dim); font-size:.755rem}
.odo__sep{color:rgba(255,106,33,.45); font-family:'Martian Mono',monospace; padding-bottom:1.05rem}

/* ---------------- TICKER ---------------- */
.ticker{border-block:1px solid var(--line-2); overflow:hidden; padding:.8rem 0; background:var(--carbon)}
.ticker__track{display:flex; width:max-content; animation:slide 40s linear infinite}
.ticker:hover .ticker__track{animation-play-state:paused}
@keyframes slide{to{transform:translateX(-50%)}}
.ticker__track span{font-variation-settings:'wdth' 120,'wght' 800; text-transform:uppercase;
  font-size:clamp(.86rem,1.5vw,1.1rem); letter-spacing:-.01em; padding-inline:1.35rem;
  display:flex; align-items:center; gap:1.35rem; color:rgba(242,238,231,.5); white-space:nowrap}
.ticker__track span::after{content:''; width:6px; height:6px; background:var(--ember); border-radius:50%; flex:none}
.ticker__track span:nth-child(even){color:rgba(242,238,231,.17)}

/* ---------------- SECTIONS ---------------- */
.sec{padding:clamp(4.2rem,9vw,8rem) 0}
.sec--tight{padding-block:clamp(3.2rem,7vw,5.5rem)}
.sec-head{display:grid; gap:1rem; margin-bottom:clamp(2.2rem,5vw,3.4rem)}
.sec-head h2{font-size:clamp(1.75rem,4.4vw,2.75rem)}
.sec-head .rule{height:1px; background:linear-gradient(to right,var(--ember),rgba(255,46,104,.25),transparent)}

.evt{display:grid; grid-template-columns:1.02fr .98fr; gap:clamp(1.6rem,4vw,3.4rem); align-items:start}
.evt__poster{border-radius:3px; overflow:hidden; background:var(--slate); box-shadow:0 30px 70px -40px rgba(255,106,33,.5)}
.evt__poster img{width:100%; transition:transform 1.1s var(--ease)}
.evt__poster:hover img{transform:scale(1.03)}
.evt h3{font-size:clamp(1.5rem,3.6vw,2.05rem); margin:0 0 1rem}
.evt__meta{display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.4rem}
.chip{border:1px solid var(--line); border-radius:999px; padding:.42rem .85rem; color:var(--mute)}
.chip--live{border-color:rgba(255,106,33,.5); color:var(--ember)}

.expect{list-style:none; margin:2rem 0 0; padding:0; border-top:1px solid var(--line-2)}
.expect li{display:grid; grid-template-columns:6.4rem 1fr; gap:1.1rem; align-items:baseline;
  padding:1.05rem 0; border-bottom:1px solid var(--line-2)}
.expect .n{font-family:'Martian Mono',monospace; font-size:.755rem; letter-spacing:.1em; color:var(--ember)}
.expect .t{font-variation-settings:'wdth' 108,'wght' 640; text-transform:uppercase; font-size:1rem}
.expect .s{display:block; font-variation-settings:'wdth' 100,'wght' 400; text-transform:none;
  color:var(--mute); font-size:.93rem; margin-top:.22rem}
.callout{margin-top:2rem; padding:1.3rem 1.4rem; border-radius:3px;
  background:linear-gradient(140deg,rgba(255,106,33,.12),rgba(255,46,104,.06)); border:1px solid rgba(255,106,33,.26)}
.callout p{margin:.5rem 0 0; color:var(--mute); font-size:.93rem}
.callout strong{color:var(--haze)}

/* past editions */
.past{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(.7rem,2vw,1.4rem)}
.past a{display:block; position:relative}
.past figure{margin:0; overflow:hidden; border-radius:2px; background:var(--slate)}
.past img{width:100%; aspect-ratio:4/3; object-fit:cover; filter:saturate(.72) brightness(.82);
  transition:transform 1.1s var(--ease), filter .6s var(--ease)}
.past a:hover img{transform:scale(1.06); filter:saturate(1) brightness(1)}
.past .cap{display:flex; justify-content:space-between; gap:1rem; padding-top:.85rem; border-top:1px solid var(--line-2); margin-top:.85rem}
.past .cap b{font-variation-settings:'wdth' 108,'wght' 640; font-weight:400; text-transform:uppercase;
  font-family:'Archivo',sans-serif; font-size:.95rem; letter-spacing:-.005em}
.past .cap span{color:var(--dim); white-space:nowrap}

/* registration sheet */
.reg{border-top:1px solid var(--line)}
.reg__row{display:grid; grid-template-columns:1fr auto auto; gap:clamp(.9rem,3vw,2.5rem); align-items:center;
  padding:1.4rem .3rem; border-bottom:1px solid var(--line-2); position:relative;
  transition:background .45s var(--ease)}
.reg__row::before{content:''; position:absolute; left:0; top:0; bottom:0; width:2px;
  background:linear-gradient(var(--ember),var(--flare)); transform:scaleY(0); transform-origin:bottom; transition:transform .5s var(--ease)}
.reg__row:hover{background:rgba(255,255,255,.025)}
.reg__row:hover::before{transform:scaleY(1); transform-origin:top}
.reg__name{font-variation-settings:'wdth' 110,'wght' 660; text-transform:uppercase; font-size:clamp(.95rem,1.6vw,1.14rem); letter-spacing:-.01em}
.reg__name small{display:block; font-family:'Martian Mono',monospace; font-size:.755rem; letter-spacing:.08em;
  color:var(--dim); text-transform:uppercase; font-weight:400; margin-top:.4rem; line-height:1.6}
.reg__price{font-variation-settings:'wdth' 118,'wght' 820; font-size:clamp(1.3rem,3.2vw,1.9rem); letter-spacing:-.025em; white-space:nowrap}
.reg__price sup{font-size:max(12px,.5em); vertical-align:.7em; margin-right:.08em; color:var(--dim)}
.reg__price.free{color:var(--ember)}
.reg__cta{font-family:'Martian Mono',monospace; font-size:.755rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--dim); white-space:nowrap; transition:color .35s var(--ease)}
.reg__row:hover .reg__cta{color:var(--ember)}
.reg__note{color:var(--dim); margin-top:1.4rem}

/* ---- registration B: event credentials ---- */
.entry{display:grid; grid-template-columns:1.24fr .76fr; gap:clamp(1.6rem,3.5vw,3.2rem); align-items:start}
.entry__label{color:var(--dim); margin:0 0 1.1rem}
.passes{display:grid; grid-template-columns:1fr 1fr; gap:clamp(.7rem,1.5vw,1rem)}
.pass{position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between;
  background:var(--slate); border:1px solid var(--line); border-radius:5px; min-height:178px;
  transition:transform .55s var(--ease), border-color .5s var(--ease), box-shadow .55s var(--ease)}
.pass:hover{transform:translateY(-5px); border-color:rgba(255,106,33,.55); box-shadow:0 26px 50px -30px rgba(255,106,33,.85)}
.pass__top{padding:1.35rem 1.4rem 1.6rem; display:grid; gap:.5rem; align-content:start}
.pass__kind{color:var(--ember)}
.pass__name{font-variation-settings:'wdth' 110,'wght' 660; text-transform:uppercase; font-size:1.05rem; line-height:1.15; letter-spacing:-.01em}
.pass__price{font-variation-settings:'wdth' 120,'wght' 850; font-size:clamp(1.85rem,3.4vw,2.5rem);
  line-height:1; letter-spacing:-.035em; margin-top:.45rem}
.pass__price sup{font-size:max(12px,.44em); vertical-align:.9em; color:var(--dim); margin-right:.06em}
.pass__foot{position:relative; border-top:1px dashed rgba(255,255,255,.18); padding:.95rem 1.4rem;
  display:flex; justify-content:space-between; gap:1rem; align-items:center; color:var(--dim)}
.pass__foot::before,.pass__foot::after{content:''; position:absolute; top:0; width:17px; height:17px;
  border-radius:50%; background:var(--carbon); box-shadow:0 0 0 1px var(--line); transform:translateY(-50%)}
.pass__foot::before{left:-9px} .pass__foot::after{right:-9px}
.pass__go{color:var(--mute); transition:color .4s var(--ease); display:inline-flex; gap:.4rem; align-items:center}
.pass__go i{font-style:normal; transition:transform .45s var(--ease)}
.pass:hover .pass__go{color:var(--ember)} .pass:hover .pass__go i{transform:translateX(5px)}

.pass--vip{grid-column:1 / -1; margin-top:clamp(.7rem,1.5vw,1rem);
  background:linear-gradient(135deg,rgba(255,106,33,.15),rgba(255,46,104,.07)),var(--slate);
  border-color:rgba(255,106,33,.38); min-height:0}
.pass--vip .pass__top{grid-template-columns:1fr auto; align-items:start; gap:.55rem 2.6rem}
.pass--vip .pass__kind,.pass--vip .pass__name,.pass--vip .perks{grid-column:1}
.pass--vip .pass__price{grid-column:2; grid-row:1 / span 3; align-self:center; margin:0}
.pass--vip .pass__foot{border-top-color:rgba(255,106,33,.3)}
.pass--vip .pass__foot::before,.pass--vip .pass__foot::after{background:var(--carbon); box-shadow:0 0 0 1px rgba(255,106,33,.38)}
.perks{list-style:none; margin:.9rem 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:.5rem 1.4rem}
.perks li{position:relative; padding-left:1rem; color:var(--mute); font-size:.93rem}
.perks li::before{content:''; position:absolute; left:0; top:.62em; width:5px; height:5px; border-radius:50%; background:var(--ember)}

.gate{list-style:none; margin:0; padding:0; border-top:1px solid var(--line)}
.gate li{display:flex; justify-content:space-between; align-items:baseline; gap:1rem;
  padding:1.05rem .15rem; border-bottom:1px solid var(--line-2)}
.gate b{font-variation-settings:'wdth' 108,'wght' 620; font-weight:400; text-transform:uppercase; font-size:.95rem; letter-spacing:-.005em}
.gate b small{display:block; font-family:'Martian Mono',monospace; font-size:.755rem; letter-spacing:.08em;
  color:var(--dim); margin-top:.4rem; line-height:1.6}
.gate em{font-style:normal; font-variation-settings:'wdth' 118,'wght' 800; font-size:1.3rem; letter-spacing:-.025em; white-space:nowrap}
.gate em sup{font-size:max(12px,.48em); vertical-align:.75em; color:var(--dim)}
.gate em.free{color:var(--ember)}
.gate__note{color:var(--dim); margin-top:1.2rem}

@media (max-width:900px){ .entry{grid-template-columns:1fr} }
@media (max-width:560px){
  .passes{grid-template-columns:1fr}
  .pass--vip .pass__top{grid-template-columns:1fr}
  .pass--vip .pass__price,.pass--vip .pass__kind,.pass--vip .pass__name,.pass--vip .perks{grid-column:1}
  .pass--vip .pass__price{grid-row:auto; margin-top:.6rem}
  .perks{grid-template-columns:1fr}
  .pass__foot{flex-direction:column; align-items:flex-start; gap:.55rem}
}

/* hybrid: three credentials across + compact gate list */
.passes--three{grid-template-columns:repeat(3,1fr)}
.pass__desc{color:var(--mute); font-size:.93rem; margin:.8rem 0 0; line-height:1.5}
.passes--three .pass__top{flex:1; align-content:space-between}
.passes--three .pass--vip{grid-column:auto; margin-top:0}
.passes--three .pass--vip .pass__top{grid-template-columns:1fr; gap:.5rem}
.passes--three .pass--vip .pass__kind,.passes--three .pass--vip .pass__name,
.passes--three .pass--vip .perks,.passes--three .pass--vip .pass__price{grid-column:1}
.passes--three .pass--vip .pass__price{grid-row:auto; align-self:start; margin-top:.7rem}
.passes--three .perks{grid-template-columns:1fr; gap:.42rem; margin-top:.8rem}
.reg--gate{margin-top:0}
.reg--gate .reg__row{grid-template-columns:1fr auto; cursor:default}
.reg--gate .reg__row:hover{background:none}
.reg--gate .reg__row:hover::before{transform:scaleY(0)}
@media (max-width:900px){ .passes--three{grid-template-columns:1fr} }

/* about */
.about{display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.8rem,4vw,4rem); align-items:center}
.player{position:relative; border-radius:3px; overflow:hidden; background:#000; aspect-ratio:16/10}
.player img{width:100%; height:100%; object-fit:cover; opacity:.66; transition:opacity .6s var(--ease), transform 1.2s var(--ease)}
.player:hover img{opacity:.82; transform:scale(1.04)}
.player iframe{position:absolute; inset:0; width:100%; height:100%; border:0}
.player__go{position:absolute; inset:0; display:grid; place-items:center; width:100%; height:100%}
.player__go i{width:clamp(58px,9vw,80px); aspect-ratio:1; border-radius:50%; border:1px solid rgba(255,255,255,.6);
  display:grid; place-items:center; backdrop-filter:blur(3px); background:rgba(7,8,11,.3);
  transition:background .45s var(--ease), border-color .45s var(--ease), transform .45s var(--ease)}
.player__go i::after{content:''; border-left:13px solid var(--haze); border-block:8px solid transparent; margin-left:4px;
  transition:border-left-color .45s var(--ease)}
.player:hover .player__go i{background:var(--ember); border-color:var(--ember); transform:scale(1.06)}
.player:hover .player__go i::after{border-left-color:#0A0B0E}
.stats{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line-2);
  margin-top:2.3rem; border-block:1px solid var(--line-2)}
.stat{background:var(--asphalt); padding:1.25rem 1rem 1.35rem}
.stat .n{font-variation-settings:'wdth' 120,'wght' 850; font-size:clamp(1.5rem,3.4vw,2.1rem); line-height:1; letter-spacing:-.03em}
.stat .n em{font-style:normal; color:var(--ember); font-size:.62em}
.stat .k{color:var(--dim); margin-top:.5rem; display:block}

/* panorama band */
.band{position:relative; overflow:hidden; height:clamp(250px,42vw,440px)}
.band img{width:100%; height:100%; object-fit:cover; will-change:transform}
.band__scrim{position:absolute; inset:0; background:linear-gradient(to right,rgba(7,8,11,.95) 2%,rgba(7,8,11,.4) 50%,rgba(7,8,11,.82))}
.band__txt{position:absolute; inset:0; display:flex; align-items:center; width:var(--shell); margin-inline:auto; left:0; right:0}
.band__h{margin:0; max-width:18ch; font-variation-settings:'wdth' 116,'wght' 780; text-transform:uppercase;
  font-size:clamp(1.4rem,3.4vw,2.35rem); line-height:.97; letter-spacing:-.025em}
.band__h em{font-style:normal; color:var(--ember)}

/* gallery */
.grid{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:clamp(105px,12.5vw,168px);
  grid-auto-flow:dense; gap:clamp(.4rem,.9vw,.7rem)}
.tile{position:relative; overflow:hidden; background:var(--slate); border-radius:2px}
.tile img{width:100%; height:100%; object-fit:cover; filter:saturate(.85) contrast(1.03);
  transition:transform 1.15s var(--ease), filter .6s var(--ease)}
.tile:hover img{transform:scale(1.07); filter:saturate(1.06) contrast(1)}
.tile::after{content:''; position:absolute; inset:0; background:rgba(7,8,11,.2); transition:background .5s var(--ease)}
.tile:hover::after{background:rgba(7,8,11,0)}
.t-w2{grid-column:span 2} .t-h2{grid-row:span 2}

/* partners / newsletter */
.split{display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4.5rem); align-items:center}
.form{display:flex; gap:.5rem; margin-top:1.5rem; flex-wrap:wrap}
.form input{flex:1 1 240px; min-width:0; background:var(--asphalt); border:1px solid var(--line); color:var(--haze);
  padding:.95rem 1.1rem; border-radius:2px; font-family:'Martian Mono',monospace; font-size:16px;
  letter-spacing:.06em; transition:border-color .4s var(--ease)}
.form input::placeholder{color:var(--dim)}
.form input:focus{border-color:var(--ember); outline:none}
.form .btn{padding:1rem 1.6rem}

/* ---- video card (links out; embeds throw origin error 153 off-domain) ---- */
.player{display:block}
.player::after{content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(to top,rgba(7,8,11,.88),rgba(7,8,11,.1) 48%)}
.player__go{z-index:2}
.player__meta{position:absolute; left:1.15rem; right:1.15rem; bottom:1.05rem; z-index:3;
  display:flex; flex-wrap:wrap; align-items:baseline; gap:.35rem 1rem}
.player__meta .k{color:var(--dim)}
.player__meta b{font-variation-settings:'wdth' 110,'wght' 660; font-weight:400;
  text-transform:uppercase; font-size:1rem; letter-spacing:-.01em; flex:1 1 auto}
.player__ext{color:var(--ember); transition:transform .4s var(--ease); display:inline-block}
.player:hover .player__ext{transform:translateX(4px)}

/* ---- partners: full-bleed impact section ---- */
.partners{position:relative; isolation:isolate; overflow:hidden; padding-block:clamp(4.5rem,9vw,7.5rem)}
.partners__bg{position:absolute; inset:0; z-index:-2}
.partners__bg img{width:100%; height:100%; object-fit:cover}
.partners::before{content:''; position:absolute; inset:0; z-index:-1; background:
  linear-gradient(to right,rgba(7,8,11,.97) 0%,rgba(7,8,11,.93) 45%,rgba(7,8,11,.87) 100%),
  linear-gradient(to bottom,rgba(7,8,11,.5),rgba(7,8,11,.28) 42%,rgba(7,8,11,.72)),
  radial-gradient(85% 70% at 88% 18%,rgba(255,106,33,.24),transparent 62%),
  radial-gradient(70% 60% at 5% 95%,rgba(255,46,104,.14),transparent 60%)}
.partners__in{display:grid; grid-template-columns:1.06fr .94fr; gap:clamp(2rem,5vw,4.2rem); align-items:start}
.partners h2{font-size:clamp(1.85rem,4.6vw,2.75rem); margin:.9rem 0 0}
.partners__eyebrow{color:var(--ember); margin:0}
.offer{list-style:none; margin:2rem 0 0; padding:0; border-top:1px solid var(--line)}
.offer li{display:grid; grid-template-columns:auto 1fr; gap:1.1rem; padding:1.05rem 0; border-bottom:1px solid var(--line-2)}
.offer .n{font-family:'Martian Mono',monospace; font-size:.755rem; color:var(--ember); padding-top:.2rem}
.offer b{display:block; font-variation-settings:'wdth' 108,'wght' 640; font-weight:400;
  text-transform:uppercase; font-size:1rem; letter-spacing:-.005em}
.offer span.s{display:block; color:var(--mute); font-size:.93rem; margin-top:.25rem}
.partners__acts{display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.9rem}
.partners__acts .btn{padding:1rem 1.7rem}

.wall__label{color:var(--dim); margin:0 0 1.1rem}
.wall__grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--line-2);
  border:1px solid var(--line-2); border-radius:3px; overflow:hidden}
.plate{min-width:0; background:rgba(11,14,19,.82); backdrop-filter:blur(5px); display:grid; place-items:center; overflow:hidden;
  height:clamp(92px,9.5vw,128px); padding:.9rem 1.15rem; transition:background .45s var(--ease)}
.plate img{min-width:0; min-height:0; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain;
  transition:transform .5s var(--ease), filter .5s var(--ease)}
.plate:hover{background:rgba(22,27,35,.9)}
.plate:hover img{transform:scale(1.06)}
.plate--light{background:rgba(242,238,231,.94)}
.plate--light:hover{background:#F2EEE7}
.plate--invert img{filter:invert(1)}
.wall__note{color:var(--dim); margin-top:1rem}

/* ---- newsletter band ---- */
.subscribe{background:var(--carbon); border-top:1px solid var(--line-2); padding-block:clamp(2.6rem,5vw,3.8rem)}
.subscribe__in{display:grid; grid-template-columns:1fr auto; gap:1.6rem 3rem; align-items:center}
.subscribe h3{font-size:clamp(1.3rem,3vw,1.85rem); margin:0 0 .5rem}
.subscribe p{margin:0; color:var(--mute); font-size:.98rem}
.subscribe .form{margin-top:0; min-width:min(420px,100%)}

@media (max-width:900px){
  .partners__in{grid-template-columns:1fr}
  .subscribe__in{grid-template-columns:1fr}
}

/* footer */
.foot{border-top:1px solid var(--line); padding:clamp(3rem,6vw,4.5rem) 0 2rem; background:var(--carbon)}
.foot__top{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:2.4rem}
.foot img{height:34px; width:auto; margin-bottom:1.1rem}
.foot h4{margin:0 0 1rem; color:var(--ember); font-family:'Martian Mono',monospace; font-size:.755rem;
  letter-spacing:.11em; text-transform:uppercase; font-weight:500}
.foot ul{list-style:none; margin:0; padding:0; display:grid; gap:0}
.social{display:flex; gap:.55rem; margin-top:1.5rem}
.social a{width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--line);
  border-radius:3px; color:var(--mute); position:relative; overflow:hidden;
  transition:color .4s var(--ease), border-color .4s var(--ease), transform .4s var(--ease)}
.social a::before{content:''; position:absolute; inset:0; background:linear-gradient(120deg,var(--ember),var(--flare));
  transform:translateY(101%); transition:transform .45s var(--ease)}
.social a:hover{color:#fff; border-color:transparent; transform:translateY(-2px)}
.social a:hover::before{transform:translateY(0)}
.social svg{width:19px; height:19px; display:block; position:relative; z-index:1}
.foot ul a{display:block; padding:.78rem 0; color:var(--mute); font-size:.95rem; transition:color .3s var(--ease)}
.foot ul a:hover{color:var(--ember)}
.foot__bar{display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; margin-top:clamp(2.4rem,5vw,3.6rem);
  padding-top:1.5rem; border-top:1px solid var(--line-2); color:var(--dim)}

/* ---------------- RESPONSIVE ---------------- */
@media (max-width:1080px){ .foot__top{grid-template-columns:1fr 1fr} }
@media (max-width:900px){
  .nav__links,.nav > .btn{display:none}
  .burger{display:block}
  .evt,.about,.split{grid-template-columns:1fr}
  .about .player{order:-1}
  .cluster__in{grid-template-columns:1fr 1fr; gap:1rem 1.4rem; padding:1rem 0}
  .cluster__in hr{display:none}
  .vital .v{white-space:normal}
  .odo{grid-column:1 / -1; justify-self:start; padding-top:.85rem; margin-top:.2rem; border-top:1px solid var(--line-2); width:100%}
  .grid{grid-template-columns:repeat(2,1fr); grid-auto-rows:clamp(120px,27vw,180px)}
  .past{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .hero__body{padding-top:6.5rem}
  .hero__acts{gap:.55rem}
  .hero__acts .btn,.partners__acts .btn{flex:1 1 100%}
  .reg__row{grid-template-columns:1fr auto; row-gap:.45rem; padding-block:1.15rem}
  .reg__cta{grid-column:1 / -1}
  .stat{padding:1rem .1rem}
  .stat .k{font-size:.755rem}
  .foot__top{grid-template-columns:1fr; gap:2rem}
  .expect li{grid-template-columns:1fr; gap:.25rem}
  .past{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important;
    transition-duration:.001ms !important; scroll-behavior:auto !important}
  .js .rv{opacity:1; transform:none}
  .hero h1 .ln > span{transform:none}
  .hero__sub,.hero__acts,.hero__dots{opacity:1}
  .hero__stage img{transform:scale(1.02)}
}
@media print{ .js .rv{opacity:1 !important; transform:none !important} }

/* ============================================================
   v2 — BIMMER SOCIAL / SEASON
   ============================================================ */
[hidden]{display:none !important}

/* split hero on desktop: portrait photography behind a slanted edge
   borrowed from the speed lines in the Staker logo */
.hero__glow{position:absolute; inset:0; z-index:-3; background:
  radial-gradient(70% 60% at 6% 96%,rgba(255,106,33,.20),transparent 62%),
  radial-gradient(50% 45% at 40% 0%,rgba(255,46,104,.10),transparent 70%), var(--asphalt)}
.hero__kicker{display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; margin:0 0 1.1rem; color:var(--mute)}
.hero__kicker .x{color:var(--ember)}
@media (min-width:901px){
  .hero__stage{inset:0 0 0 38%; clip-path:polygon(15% 0,100% 0,100% 100%,0 100%); background:#05060A}
  .hero__scrim{inset:0 0 0 38%; clip-path:polygon(15% 0,100% 0,100% 100%,0 100%); background:
    linear-gradient(to right,rgba(7,8,11,.55) 0%,rgba(7,8,11,0) 34%),
    linear-gradient(to top,rgba(7,8,11,.9) 0%,rgba(7,8,11,0) 30%),
    linear-gradient(to bottom,rgba(7,8,11,.5) 0%,rgba(7,8,11,0) 22%)}
  .hero__stage::after{content:''; position:absolute; inset:0; z-index:2; pointer-events:none;
    background:linear-gradient(var(--ember),var(--flare));
    clip-path:polygon(15% 0,calc(15% + 3px) 0,3px 100%,0 100%)}
  .hero__body{padding-bottom:2.6rem}
  .hero__copy{max-width:min(560px,44%)}
}
@media (max-width:900px){
  .hero{min-height:0}
  .hero__stage{position:relative; inset:auto; height:clamp(320px,58svh,560px); z-index:0}
  .hero__stage img{object-position:var(--posm,center 62%)}
  .hero__scrim{inset:0 0 auto 0; height:clamp(320px,58svh,560px); z-index:0; background:
    linear-gradient(to bottom,rgba(7,8,11,.62) 0%,rgba(7,8,11,0) 24%,rgba(7,8,11,0) 52%,rgba(7,8,11,.88) 86%,var(--asphalt) 100%),
    radial-gradient(110% 60% at 8% 100%,rgba(255,106,33,.18),transparent 60%)}
  .hero__body{position:relative; z-index:1; padding:0 0 2rem; margin-top:-4.5rem; flex:none}
}
.hero h1 .ln:nth-child(2) > span{animation-delay:.26s}

/* live / wrapped messages that replace the odometer */
.odo-msg{justify-self:end; display:flex; align-items:center; gap:.7rem; color:var(--haze)}
.odo-msg b{font-weight:400; font-variation-settings:'wdth' 112,'wght' 700; text-transform:uppercase; letter-spacing:-.01em}
.odo-msg .dot{width:10px; height:10px; border-radius:50%; background:var(--ember); animation:pulse 2.6s infinite}

/* presented-by line */
.byline{display:flex; align-items:center; gap:.9rem 1.1rem; flex-wrap:wrap; margin:0 0 1.4rem}
.byline .k{color:var(--dim)}
.byline img{height:20px; width:auto}
.byline img.st{height:30px}
.byline .x{color:var(--ember); font-family:'Martian Mono',monospace}
.byline .pair{display:inline-flex; align-items:center; gap:1rem; white-space:nowrap}

/* event credential badge — pointer-reactive tilt */
.badge{perspective:1000px}
.badge__card{position:relative; border-radius:6px; overflow:hidden; background:#000; border:1px solid var(--line);
  transform-style:preserve-3d; transition:transform .7s var(--ease);
  box-shadow:0 50px 90px -50px #000, 0 30px 80px -45px rgba(255,106,33,.55)}
.badge__card img{width:100%; display:block}
.badge__card::after{content:''; position:absolute; inset:0; pointer-events:none; mix-blend-mode:screen;
  background:radial-gradient(55% 45% at var(--gx,50%) var(--gy,28%),rgba(255,255,255,.16),transparent 62%)}
.venue{margin-top:1.1rem; display:grid; grid-template-columns:1fr auto; gap:.3rem 1rem; align-items:end;
  padding-top:1rem; border-top:1px solid var(--line-2)}
.venue b{font-weight:400; font-variation-settings:'wdth' 110,'wght' 660; text-transform:uppercase; letter-spacing:-.005em}
.venue span{color:var(--mute); font-size:.93rem; grid-column:1}
.venue a{grid-row:1 / span 2; grid-column:2; color:var(--ember); padding:.75rem 0}

/* capacity ticks: 20 spaces drawn as 20 marks */
.ticks{display:flex; gap:3px; margin-top:1rem}
.ticks i{flex:1; height:7px; border-radius:1px; background:linear-gradient(var(--ember),var(--flare)); opacity:.9}
.ticks-k{color:var(--dim); margin-top:.5rem}

/* registration closed state */
#register.is-closed .pass,#register.is-closed .reg__row{pointer-events:none; opacity:.5}
.closed-note{margin:0 0 1.6rem; padding:1rem 1.2rem; border:1px solid rgba(255,106,33,.35); border-radius:3px;
  background:rgba(255,106,33,.07); color:var(--haze)}
.reg--guest .reg__row{grid-template-columns:1fr auto auto}

/* season timeline */
.season__rail{position:relative; height:2px; background:var(--line); margin:4.2rem 0 2rem}
.season__done{position:absolute; left:0; top:0; height:2px; width:var(--x0,0px); background:linear-gradient(90deg,var(--flare),var(--ember))}
/* one tick per day between two shows; inset from both stop dots so nothing ever collides */
.season__gauge{position:absolute; top:50%; left:var(--x0,0px); width:var(--gw,0px); height:16px; transform:translateY(-50%);
  display:flex; justify-content:space-between; align-items:center; padding:0 26px; background:var(--asphalt)}
.season__gauge i{width:2px; height:8px; border-radius:1px; background:rgba(255,255,255,.2); flex:none}
.season__gauge i.sat{height:14px; background:rgba(255,255,255,.34)}
.season__gauge i.on{background:var(--ember); box-shadow:0 0 8px rgba(255,106,33,.45)}
.season__gauge.is-tbd{height:2px; padding:0; background:repeating-linear-gradient(90deg,rgba(255,255,255,.28) 0 6px,transparent 6px 13px)}
.season__label{position:absolute; bottom:22px; left:var(--lx,50%); transform:translateX(-50%); margin:0; white-space:nowrap; color:var(--ember)}
.stops{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(.8rem,2vw,1.4rem); list-style:none; margin:0; padding:0}
.stop{position:relative; display:flex; flex-direction:column; gap:.55rem; padding:1.5rem 1.4rem 1.3rem;
  background:var(--slate); border:1px solid var(--line); border-radius:4px;
  transition:border-color .5s var(--ease), transform .55s var(--ease)}
.stop__dot{position:absolute; top:calc(-2rem - 7px); left:1.4rem; width:12px; height:12px; border-radius:50%;
  background:var(--asphalt); border:2px solid var(--steel)}
.stop.is-past{background:transparent}
.stop.is-past .stop__dot{background:var(--ember); border-color:var(--ember)}
.stop.is-past .stop__name,.stop.is-past .stop__where{color:var(--mute)}
.stop.is-next{border-color:rgba(255,106,33,.55); background:linear-gradient(150deg,rgba(255,106,33,.11),rgba(255,46,104,.05)),var(--slate)}
.stop.is-next .stop__dot{border-color:var(--ember)}
.stop__date{color:var(--dim)}
.stop__name{margin:0; font-variation-settings:'wdth' 116,'wght' 780; text-transform:uppercase; font-size:clamp(1.15rem,1.9vw,1.4rem); line-height:1.02; letter-spacing:-.02em}
.stop__where{margin:0; color:var(--mute); font-size:.93rem}
.stop__status{margin-top:auto; padding-top:1rem; color:var(--haze); display:flex; align-items:center; gap:.55rem}
.stop__status::before{content:''; width:7px; height:7px; border-radius:50%; background:var(--dim)}
.stop.is-next .stop__status{color:var(--ember)} .stop.is-next .stop__status::before{background:var(--ember)}
.stop__go{display:inline-flex; align-items:center; gap:.4rem; color:var(--mute); padding:.7rem 0 .1rem; min-height:44px;
  transition:color .35s var(--ease)}
.stop__go:hover{color:var(--ember)}
.today-row{display:none}
@media (max-width:900px){
  .season__rail{display:none}
  .stops{grid-template-columns:1fr; gap:0; border-left:2px solid var(--line); margin-left:6px; padding-left:1.4rem}
  .stops > li{position:relative; padding-bottom:1rem}
  .stop__dot{top:1.6rem; left:calc(-1.4rem - 8px)}
  .today-row{display:flex; align-items:center; gap:.7rem; position:relative; color:var(--ember); padding:.3rem 0 1.3rem}
  .today-row::before{content:''; position:absolute; left:calc(-1.4rem - 9px); width:14px; height:14px; border-radius:50%;
    background:var(--ember); box-shadow:0 0 0 5px rgba(255,106,33,.18)}
}

/* wings n' wheels band */
.band--wnw{height:auto; min-height:clamp(420px,46vw,580px); display:flex; align-items:center}
.band--wnw img{position:absolute; inset:0; object-position:var(--pos,center 45%)}
.band--wnw .band__scrim{background:linear-gradient(to right,rgba(7,8,11,.96) 0%,rgba(7,8,11,.82) 38%,rgba(7,8,11,.25) 72%,rgba(7,8,11,.55)),
  linear-gradient(to top,rgba(7,8,11,.7),transparent 40%)}
.band--wnw .band__txt{position:relative; padding-block:clamp(3.5rem,7vw,5rem)}
.band__k{color:var(--ember); margin:0 0 1rem}
.band--wnw .band__h{max-width:14ch; font-size:clamp(1.75rem,4.4vw,2.9rem)}
.band__sub{margin:1.2rem 0 1.7rem; color:#D8D3CB; max-width:40ch; font-size:clamp(1rem,.4vw + .9rem,1.12rem)}
.band__sub b{color:var(--haze); font-weight:400; font-variation-settings:'wdth' 100,'wght' 650}
@media (max-width:900px){
  .band--wnw{display:block; min-height:0; background:var(--asphalt)}
  .band--wnw img{position:relative; inset:auto; display:block; height:clamp(240px,64vw,380px); object-position:var(--posm,center 45%); transform:none !important}
  .band--wnw .band__scrim{inset:0 0 auto 0; height:clamp(240px,64vw,380px);
    background:linear-gradient(to bottom,rgba(7,8,11,.25) 0%,rgba(7,8,11,0) 35%,rgba(7,8,11,.8) 86%,var(--asphalt) 100%)}
  .band--wnw .band__txt{position:relative; padding:0 0 3.4rem; margin-top:-2.6rem}
}

@media (min-width:901px){
  /* photo on the right behind the hero's slanted edge, copy on solid dark — the whole aerial stays in frame */
  .band--wnw{background:var(--asphalt)}
  .band--wnw img{left:36%; width:64%; transform:none !important; object-position:var(--pos,center 55%);
    clip-path:polygon(14% 0,100% 0,100% 100%,0 100%)}
  .band__edge{position:absolute; top:0; bottom:0; left:36%; width:64%; z-index:1; pointer-events:none;
    background:linear-gradient(var(--ember),var(--flare)); clip-path:polygon(14% 0,calc(14% + 3px) 0,3px 100%,0 100%)}
  .band--wnw .band__scrim{background:
    linear-gradient(to right,var(--asphalt) 36%,rgba(7,8,11,.55) 46%,rgba(7,8,11,0) 62%),
    linear-gradient(to top,rgba(7,8,11,.45),transparent 35%),
    radial-gradient(60% 80% at 0% 100%,rgba(255,106,33,.16),transparent 60%)}
  .band--wnw .band__txt{z-index:2}
}
@media (max-width:900px){ .band__edge{display:none} }
@media (min-width:901px) and (max-width:1180px){
  .band--wnw img,.band__edge{left:47%; width:53%}
  .band--wnw .band__scrim{background:linear-gradient(to right,var(--asphalt) 47%,rgba(7,8,11,.5) 55%,rgba(7,8,11,0) 68%),
    linear-gradient(to top,rgba(7,8,11,.45),transparent 35%)}
  .band--wnw .band__h{font-size:clamp(1.6rem,3.4vw,2.3rem)}
  .band--wnw .band__sub{max-width:34ch}
}
/* past editions: four-up allowed */
.past .cap span{letter-spacing:.08em}
.past img{aspect-ratio:4/5; object-position:center top}
@media (max-width:900px){ .expect li{grid-template-columns:1fr; gap:.25rem} }
@media (prefers-reduced-motion:reduce){ .badge__card{transform:none !important} }
/* ============================================================
   REGISTRATION PAGE
   ============================================================ */
.rhero{position:relative; isolation:isolate; overflow:hidden; padding:clamp(8rem,14vw,10.5rem) 0 0}
.rhero__bg{position:absolute; inset:0; z-index:-2}
.rhero__bg img{width:100%; height:100%; object-fit:cover; object-position:center 64%}
.rhero::before{content:''; position:absolute; inset:0; z-index:-1; background:
  linear-gradient(to right,rgba(7,8,11,.96) 0%,rgba(7,8,11,.86) 45%,rgba(7,8,11,.55) 100%),
  linear-gradient(to top,var(--asphalt) 0%,rgba(7,8,11,0) 55%),
  radial-gradient(60% 70% at 4% 100%,rgba(255,106,33,.2),transparent 60%)}
.rhero h1{font-size:clamp(2.1rem,6vw,3.6rem); margin:.9rem 0 0}
.rhero .lede{margin-top:1rem; color:#D8D3CB}
.crumb{display:inline-flex; align-items:center; gap:.5rem; color:var(--mute); min-height:44px}
.crumb:hover{color:var(--ember)}
.rhero .cluster{margin-top:clamp(2rem,4vw,3rem)}
.rhero .cluster__in{grid-template-columns:auto 1px auto 1px auto; justify-content:start}

/* how it works */
.how{list-style:none; margin:0 0 clamp(2.6rem,6vw,4rem); padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.how li{padding:1.3rem 1.4rem 1.4rem 0; display:grid; gap:.35rem; align-content:start}
.how li + li{padding-left:1.4rem; border-left:1px solid var(--line-2)}
.how .n{color:var(--ember)}
.how b{font-weight:400; font-variation-settings:'wdth' 110,'wght' 680; text-transform:uppercase; letter-spacing:-.005em}
.how span:last-child{color:var(--mute); font-size:.95rem}

/* ticket cards */
.tgroup + .tgroup{margin-top:clamp(2.8rem,6vw,4.2rem)}
.tgroup__h{font-size:clamp(1.3rem,2.6vw,1.75rem); margin:0 0 1.2rem}
.tcards{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(.8rem,1.6vw,1.1rem)}
.tcard{display:flex; flex-direction:column; justify-content:space-between; background:var(--slate); border:1px solid var(--line);
  border-radius:5px; scroll-margin-top:110px; transition:border-color .5s var(--ease), box-shadow .5s var(--ease), transform .5s var(--ease)}
.tcard:hover{border-color:rgba(255,106,33,.45); transform:translateY(-3px)}
.tcard--vip{background:linear-gradient(150deg,rgba(255,106,33,.14),rgba(255,46,104,.06)),var(--slate); border-color:rgba(255,106,33,.4)}
.tcard:target,.grow:target,.tcard.is-target,.grow.is-target{border-color:var(--ember); box-shadow:0 0 0 1px var(--ember),0 30px 70px -40px rgba(255,106,33,.9)}
.tcard__top{padding:1.5rem 1.4rem 1.2rem}
.tcard__kind{color:var(--ember); margin:0}
.tcard__name{margin:.5rem 0 0; font-variation-settings:'wdth' 112,'wght' 740; text-transform:uppercase; font-size:1.2rem; letter-spacing:-.012em; line-height:1.1}
.tcard__price{margin:.7rem 0 0; font-variation-settings:'wdth' 120,'wght' 850; font-size:clamp(2rem,3.4vw,2.6rem); line-height:1; letter-spacing:-.035em}
.tcard__price sup,.gprice sup{font-size:max(12px,.44em); vertical-align:.9em; color:var(--dim); margin-right:.06em}
.tcard__perks{list-style:none; margin:1.1rem 0 0; padding:1rem 0 0; border-top:1px solid var(--line-2); display:grid; gap:.55rem}
.tcard__perks li{position:relative; padding-left:1.1rem; color:var(--mute); font-size:.94rem; line-height:1.45}
.tcard__perks li::before{content:''; position:absolute; left:0; top:.55em; width:6px; height:6px; border-radius:50%; background:var(--ember)}
.tcard__foot{position:relative; border-top:1px dashed rgba(255,255,255,.18); padding:1.1rem 1.4rem 1.3rem; display:grid; gap:.8rem}
.tcard__foot::before,.tcard__foot::after{content:''; position:absolute; top:0; width:17px; height:17px; border-radius:50%;
  background:var(--asphalt); box-shadow:0 0 0 1px var(--line); transform:translateY(-50%)}
.tcard__foot::before{left:-9px} .tcard__foot::after{right:-9px}
.tcard__cap{margin:0; color:var(--dim)}
.ck{width:100%; padding:.95rem 1rem; white-space:nowrap}
.ck--g{border-color:rgba(255,106,33,.5); color:var(--haze)}
.ck i{font-style:normal; margin-left:.2rem}

.guest{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(1rem,3vw,2.4rem); align-items:start;
  background:var(--slate); border:1px solid var(--line); border-radius:5px; padding:clamp(1.3rem,2.6vw,1.8rem)}
.guest__inc .tcard__perks{border-top:0; padding-top:0; margin-top:.8rem}
.grows{list-style:none; margin:0; padding:0; border-top:1px solid var(--line)}
.grow{display:grid; grid-template-columns:1fr auto auto; gap:.6rem 1.4rem; align-items:center; padding:1rem .2rem;
  border-bottom:1px solid var(--line-2); border-radius:3px; scroll-margin-top:110px}
.gname{font-variation-settings:'wdth' 110,'wght' 660; text-transform:uppercase; font-size:1rem; letter-spacing:-.005em}
.gname small{display:block; color:var(--dim); font-size:.755rem; letter-spacing:.08em; margin-top:.35rem; text-transform:uppercase; font-variation-settings:normal}
.gprice{font-variation-settings:'wdth' 118,'wght' 820; font-size:1.5rem; letter-spacing:-.025em; white-space:nowrap}
.gprice.free{color:var(--ember)}
.grow .ck{width:auto; padding:.8rem 1.2rem}
.fine{color:var(--dim); margin:clamp(2rem,4vw,2.8rem) 0 0; line-height:1.9}
.fine a{color:var(--mute); text-decoration:underline; text-decoration-color:var(--line); text-underline-offset:4px; display:inline-block; padding:.7rem 0; margin:-.7rem 0}
.closed{padding:clamp(2rem,5vw,3rem); border:1px solid rgba(255,106,33,.35); border-radius:6px; background:rgba(255,106,33,.06)}
.closed h2{font-size:clamp(1.4rem,3vw,2rem); margin:0 0 .8rem}
.closed p{color:var(--mute); margin:0 0 1.5rem}

@media (max-width:980px){
  .tcards{grid-template-columns:minmax(0,1fr)}
  .tcard--vip{order:-1}
  .guest{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:900px){
  .rhero .cluster__in{grid-template-columns:1fr 1fr}
  .rhero .cluster__in .vital:last-child{grid-column:1 / -1}
}
@media (max-width:760px){
  .tflow{display:flex; flex-direction:column}
  .tflow .how{order:3; margin:clamp(2.4rem,6vw,3rem) 0 0}
  .tflow .fine{order:4}
  .how{grid-template-columns:minmax(0,1fr)}
  .how li + li{padding-left:0; border-left:0; border-top:1px solid var(--line-2)}
}
@media (max-width:560px){
  .grow{grid-template-columns:1fr auto}
  .grow .ck{grid-column:1 / -1; width:100%}
}

/* ============================================================
   PAGES — one file, two views
   ============================================================ */
.page-in{animation:pageIn .5s var(--ease) both}
@keyframes pageIn{from{opacity:0}}
.nav__links a[aria-current="page"]{color:var(--haze)}
.nav__links a[aria-current="page"]::after{transform:scaleX(1)}
.sheet a[aria-current="page"]{color:var(--ember)}

/* ============================================================
   v10 — the v6 design Trey approved, extended to the new pages.
   1) solid header  2) standard type scale  3) a few new components
   ============================================================ */
:root{ --navh:68px; --bar:#0B0D12 }

/* 1. the header has its own surface on every page; photos start below it */
.nav,.nav.stuck{height:var(--navh); padding:0 var(--gut); background:var(--bar); backdrop-filter:none; border-bottom:1px solid var(--line)}
.nav__logo img,.nav.stuck .nav__logo img{height:28px}
.hero__stage{top:var(--navh)}
.rhero{padding-top:calc(var(--navh) + clamp(3.2rem,7vw,5rem))}
.rhero__bg{top:var(--navh)}
.nav.open{background:var(--bar)}

/* 2. type scale: hero 60px, page titles 48px, sections 36px, sub-heads 24px (desktop maxima) */
.display{font-variation-settings:'wdth' 116,'wght' 850; letter-spacing:-.02em; line-height:.95}
.hero h1{font-size:clamp(2.25rem,5.2vw,3.75rem)}
.rhero h1{font-size:clamp(2rem,4.4vw,3rem)}
.sec-head h2,.partners h2{font-size:clamp(1.6rem,3vw,2.25rem)}
.sec-head h2[style]{font-size:clamp(1.4rem,2.4vw,1.75rem) !important}
.evt h3{font-size:clamp(1.35rem,2.4vw,1.75rem)}
.band__h,.band--wnw .band__h{font-size:clamp(1.45rem,3vw,2.25rem)}
.subscribe h3{font-size:clamp(1.2rem,2vw,1.5rem)}
.tgroup__h{font-size:clamp(1.2rem,2vw,1.5rem)}
.closed h2{font-size:clamp(1.3rem,2.4vw,1.75rem)}
.sheet a{font-size:clamp(1.5rem,6vw,2rem)}
.stat .n{font-size:clamp(1.4rem,2.6vw,1.85rem)}
.pass__price,.tcard__price{font-size:clamp(1.8rem,3vw,2.25rem)}
.h-sub{font-size:clamp(1.15rem,1.8vw,1.5rem); margin:0}

/* placeholders for details Trae still needs to confirm */
.tbd{display:inline-block; border:1px dashed var(--ember); color:var(--ember); border-radius:3px; padding:0 .4em; line-height:1.5;
  font-family:'Martian Mono',ui-monospace,monospace; font-size:max(12px,.72em); letter-spacing:.06em; text-transform:uppercase; font-weight:500; font-variation-settings:normal}

/* page heroes: an optional fourth fact */
.rhero .cluster__in.c4{grid-template-columns:auto 1px auto 1px auto 1px auto}
.rhero .partners__acts{margin-top:1.6rem}
.rhero .kicker{color:var(--mute); margin:0}

/* two-column section body */
.cols{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(2rem,6vw,5rem); align-items:start}
.cols--wide{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}

/* FAQ */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line-2)}
.faq summary{list-style:none; cursor:pointer; padding:1.1rem 2.4rem 1.1rem 0; position:relative; min-height:44px;
  font-variation-settings:'wdth' 106,'wght' 620; text-transform:uppercase; font-size:.95rem; letter-spacing:-.003em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+'; position:absolute; right:.3rem; top:50%; transform:translateY(-50%); color:var(--ember); font-size:1.35rem; transition:transform .4s var(--ease)}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{margin:0 0 1.2rem; color:var(--mute); max-width:60ch}
.faq a{color:var(--ember); display:inline-block; padding:.6rem 0; margin:-.6rem 0}

/* schedule (same rhythm as .expect) */
.expect--time li{grid-template-columns:6.4rem 1fr}
.expect li.hot .t{color:var(--ember)}

/* partners page: flyer fan */
.fan{position:relative; height:clamp(340px,36vw,460px); margin:0}
.fan figure{position:absolute; left:50%; top:2%; width:min(54%,260px); margin:0; border-radius:3px; overflow:hidden;
  box-shadow:0 30px 60px -30px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.08);
  transform:translateX(calc(-50% + var(--x))) rotate(var(--r)); transition:transform .8s var(--ease)}
.fan figure img{display:block; width:100%; height:auto}
.fan:hover figure:nth-child(1),.fan:hover figure:nth-child(2){transform:translateX(calc(-50% + var(--x) * 1.25)) rotate(calc(var(--r) * 1.3))}
.fan:hover figure:nth-child(3){transform:translateX(-50%) translateY(-8px)}
.fan figcaption{position:absolute; left:0; right:0; bottom:0; text-align:center; color:var(--dim)}

/* partners page: hover cards on the v6 plate wall */
.pwall{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line-2); border:1px solid var(--line-2); border-radius:3px; overflow:hidden}
.pcard{position:relative; min-width:0; background:rgba(11,14,19,.92)}
.pcard--light{background:rgba(242,238,231,.95)}
.pcard__main{position:absolute; inset:0; z-index:1}
.pcard__main:focus-visible{outline:2px solid var(--ember); outline-offset:-3px}
.pcard__logo{display:block; position:relative; aspect-ratio:16/9; transition:transform .6s var(--ease), filter .45s var(--ease)}
.pcard__logo img{position:absolute; left:18%; top:20%; width:64%; height:60%; object-fit:contain}
.pcard--invert .pcard__logo img{filter:invert(1)}
.pcard__new{position:absolute; top:.75rem; left:.75rem; z-index:3; pointer-events:none; background:var(--ember); color:#0A0B0E; border-radius:999px; padding:.22rem .6rem}
.pcard__info{padding:1rem 1.15rem 1.1rem; display:grid; gap:.35rem; position:relative; z-index:2; pointer-events:none; background:var(--carbon)}
.pcard__info .mono{color:var(--ember); margin:0}
.pcard__name{font-weight:400; font-variation-settings:'wdth' 110,'wght' 700; text-transform:uppercase; font-size:1rem; line-height:1.15}
.pcard__what{margin:0; color:var(--mute); font-size:.92rem; line-height:1.45}
.pcard__links{display:flex; flex-wrap:wrap; gap:.2rem 1.2rem; margin:.15rem 0 0}
.pcard__links a{pointer-events:auto; display:inline-flex; align-items:center; min-height:40px; color:var(--haze); border-bottom:1px solid rgba(255,106,33,.5); line-height:1.2}
.pcard__links a:hover{color:var(--ember)}
@media (hover:hover) and (pointer:fine){
  .pcard__info{position:absolute; inset:0; align-content:end; padding:1.2rem 1.3rem; background:linear-gradient(to top,rgba(7,8,11,.97),rgba(7,8,11,.88) 55%,rgba(7,8,11,.6));
    opacity:0; transform:translateY(10px); transition:opacity .4s var(--ease), transform .5s var(--ease)}
  .pcard:hover .pcard__info,.pcard:focus-within .pcard__info{opacity:1; transform:none}
  .pcard:hover .pcard__logo,.pcard:focus-within .pcard__logo{transform:scale(1.05); filter:blur(2px)}
}
@media (hover:none),(pointer:coarse){ .hover-hint{display:none} }

/* past shows: series cards (the v6 .past card, larger) */
.series{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(.8rem,2vw,1.4rem)}
.series img{aspect-ratio:16/10 !important; object-position:center !important}
.past .cap small{display:block; color:var(--mute); font-size:.92rem; text-transform:none; letter-spacing:0; font-variation-settings:'wdth' 100,'wght' 400; margin-top:.3rem}
.past--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.past--4 img{aspect-ratio:4/5}
.past .nolink{display:block}
.past .cap .tbd{white-space:nowrap}

/* recap pages: one block per edition */
.edjump{display:flex; flex-wrap:wrap; gap:.2rem 1.6rem; margin:-1rem 0 0}
.edjump a{display:inline-flex; align-items:center; min-height:44px; color:var(--mute); border-bottom:1px solid transparent}
.edjump a:hover{color:var(--ember)}
.edition{scroll-margin-top:calc(var(--navh) + 16px)}
.edition + .edition{border-top:1px solid var(--line-2)}
.ed__head{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1.2rem clamp(2rem,6vw,5rem); align-items:end; margin-bottom:clamp(1.6rem,3.5vw,2.4rem)}
.ed__head .mono{color:var(--ember); margin:0 0 .6rem}
.ed__head p:not(.mono){color:var(--mute); margin:0}
.ed__chips{display:flex; flex-wrap:wrap; gap:.45rem; margin-top:1rem}
.ed__sub{color:var(--dim); margin:clamp(1.6rem,3.5vw,2.2rem) 0 .9rem}

/* gallery: tap to enlarge */
.gal{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(.4rem,.9vw,.7rem)}
.gal--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.gimg{position:relative; display:block; padding:0; border:0; background:var(--slate); border-radius:2px; overflow:hidden; aspect-ratio:4/3; cursor:zoom-in}
.gimg img{width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease), filter .6s var(--ease); filter:saturate(.92)}
.gimg:hover img{transform:scale(1.05); filter:saturate(1.05)}
.gimg:focus-visible{outline:2px solid var(--ember); outline-offset:2px}
.gal .gimg--tall{grid-row:span 2; aspect-ratio:auto}
.gal .gimg--wide{grid-column:span 2; aspect-ratio:auto}
.ph{display:grid; place-items:center; text-align:center; aspect-ratio:4/3; border:1px dashed rgba(255,106,33,.5); background:rgba(255,106,33,.04); border-radius:2px}
.ph span{color:var(--ember); line-height:1.8}

/* flyer strip */
.flyrow{display:flex; gap:clamp(.5rem,1vw,.7rem); overflow-x:auto; padding-bottom:.6rem; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:var(--steel) transparent}
.flyrow .gimg{flex:0 0 clamp(140px,15vw,190px); aspect-ratio:2/3; scroll-snap-align:start}
.flyrow .gimg img{object-position:center top}

/* reels */
.reels{display:flex; gap:clamp(.6rem,1.2vw,.9rem); overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:.6rem;
  scrollbar-width:thin; scrollbar-color:var(--steel) transparent; overscroll-behavior-x:contain}
.vreel{flex:0 0 clamp(170px,19vw,230px); scroll-snap-align:start; position:relative; aspect-ratio:9/16; border-radius:3px; overflow:hidden;
  background:#000; border:0; cursor:pointer; padding:0; color:inherit; font:inherit; text-align:left}
.vreel--wide{flex-basis:clamp(300px,36vw,440px); aspect-ratio:auto}
.reels--films .vreel{flex-basis:clamp(260px,30vw,380px); aspect-ratio:16/9}
.vreel video,.vreel img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease)}
.vreel:hover video,.vreel:hover img{transform:scale(1.04)}
.vreel::after{content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(7,8,11,.9),rgba(7,8,11,0) 50%); pointer-events:none}
.vreel__meta{position:absolute; left:.9rem; right:.9rem; bottom:.85rem; z-index:2; display:grid; gap:.25rem}
.vreel__meta .mono{color:var(--ember)}
.vreel__meta b{font-weight:400; font-variation-settings:'wdth' 110,'wght' 700; text-transform:uppercase; font-size:.95rem; line-height:1.15}
.vreel__play{position:absolute; top:.8rem; right:.8rem; z-index:2; width:40px; height:40px; border-radius:50%; display:grid; place-items:center;
  background:rgba(7,8,11,.5); border:1px solid rgba(255,255,255,.4); transition:background .3s, border-color .3s}
.vreel__play::after{content:''; border-left:10px solid var(--haze); border-block:6px solid transparent; margin-left:3px}
.vreel:hover .vreel__play,.vreel:focus-visible .vreel__play{background:var(--ember); border-color:var(--ember)}
.vreel:focus-visible{outline:2px solid var(--ember); outline-offset:2px}

/* lightbox for reels and photos */
.lb{position:fixed; inset:0; z-index:400; display:grid; place-items:center; padding:clamp(3.5rem,6vw,4.5rem) clamp(1rem,5vw,4.5rem); background:rgba(4,5,7,.95)}
.lb__stage{width:min(100%,1180px); display:grid; justify-items:center}
.lb__stage video,.lb__stage iframe,.lb__stage img{display:block; max-width:100%; max-height:calc(100svh - 9rem); border:0; border-radius:3px; background:#000}
.lb__stage iframe{width:min(100%,1100px); aspect-ratio:16/9; height:auto}
.lb__stage img{width:auto; height:auto; object-fit:contain}
.lb__cap{margin-top:.9rem; display:flex; justify-content:space-between; gap:1rem; width:100%; flex-wrap:wrap; color:var(--mute)}
.lb__cap a{color:var(--ember)}
.lb__x,.lb__nav{position:absolute; width:48px; height:48px; border-radius:50%; border:1px solid var(--line); background:rgba(7,8,11,.7); color:var(--haze);
  font-size:1.4rem; cursor:pointer; line-height:1; display:grid; place-items:center; transition:background .3s, border-color .3s}
.lb__x{top:clamp(.6rem,2vw,1.2rem); right:clamp(.6rem,2vw,1.2rem)}
.lb__nav{top:50%; transform:translateY(-50%)}
.lb__nav--prev{left:clamp(.4rem,1.5vw,1.2rem)} .lb__nav--next{right:clamp(.4rem,1.5vw,1.2rem)}
.lb__x:hover,.lb__nav:hover{background:var(--ember); border-color:var(--ember)}

/* closing link row on recap pages */
.recap-next{display:flex; flex-wrap:wrap; gap:.7rem; justify-content:space-between; align-items:center}

@media (max-width:980px){
  .cols,.cols--wide,.ed__head{grid-template-columns:minmax(0,1fr)}
  .pwall{grid-template-columns:repeat(2,minmax(0,1fr))}
  .past--4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .hero__stage{top:0; margin-top:var(--navh)}
  .rhero .cluster__in.c4{grid-template-columns:1fr 1fr}
  .rhero .cluster__in.c4 hr{display:none}
}
@media (max-width:640px){
  .series,.pwall{grid-template-columns:minmax(0,1fr)}
  .gal,.gal--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gal .gimg--wide{grid-column:1 / -1}
  .gal .gimg--tall{grid-row:auto; aspect-ratio:4/3}
  .expect--time li{grid-template-columns:5.4rem 1fr}
}
.gal .gimg--feat{grid-column:span 2; grid-row:span 2; aspect-ratio:auto}
@media (max-width:640px){ .gal .gimg--feat{grid-row:auto; aspect-ratio:4/3} }
@media (max-width:900px){ .hero__scrim{top:var(--navh)} }

.gimg--doc img{object-position:center top}
.reels .vreel--wide:only-child{aspect-ratio:16/9}
.plate--cta{background:rgba(255,106,33,.08)}
.plate--cta span{color:var(--ember); text-align:center; padding:0 1rem}
.plate--cta:hover{background:rgba(255,106,33,.16)}
.past--more{row-gap:clamp(1.4rem,3vw,2rem)}
.past--more img{aspect-ratio:4/3 !important}
.past--more .cap{align-items:flex-start}
.edjump a{min-width:44px; justify-content:center}

/* Oct 4: audience stats, 2027 lineup, home 'also coming' row */
.aud{display:grid; grid-template-columns:1.3fr repeat(4,1fr); gap:1px; background:var(--line-2); border:1px solid var(--line-2)}
.aud .stat{background:var(--asphalt); padding:1.4rem 1.1rem 1.5rem; display:flex; flex-direction:column; justify-content:flex-end}
.aud .stat--lead .n{font-size:clamp(2.4rem,5vw,3.6rem); color:var(--haze)}
.aud--social{grid-template-columns:repeat(3,1fr); border-top:0}
.aud--social .stat{gap:.45rem; justify-content:flex-start}
.aud--social .stat .k:first-child{color:var(--ember); margin:0}
.aud--social .stat .k{margin-top:0}
.aud__note{color:var(--dim); font-size:.82rem; margin:1rem 0 0; max-width:62ch}
.lineup{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(.6rem,1.2vw,1rem)}
.lineup li{background:var(--slate); border:1px solid var(--line); border-radius:3px; padding:1.3rem 1.2rem 1.25rem; display:flex; flex-direction:column; gap:.55rem}
.lineup h3{margin:0; font-variation-settings:'wdth' 116,'wght' 780; text-transform:uppercase; font-size:clamp(1.05rem,1.6vw,1.25rem); line-height:1.05; letter-spacing:-.02em}
.lineup__s{margin:0; color:var(--mute); font-size:.93rem; flex:1}
.lineup__f{color:var(--dim) !important; border-top:1px solid var(--line-2); padding-top:.8rem; margin-top:.3rem !important}
.lineup--new{border-color:rgba(255,106,33,.45) !important; background:linear-gradient(160deg,rgba(255,106,33,.12),var(--slate) 60%) !important}
.also{display:flex; flex-wrap:wrap; align-items:baseline; gap:.5rem 1.4rem; margin:clamp(1.6rem,3vw,2.2rem) 0 0; padding-top:1.2rem; border-top:1px solid var(--line-2); color:var(--haze); font-variation-settings:'wdth' 108,'wght' 640}
.also .mono:first-child{color:var(--dim)}
.also em{font-style:normal; color:var(--ember); font-family:'Martian Mono',monospace; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; margin-left:.35rem}
.also a{margin-left:auto; color:var(--ember)}
@media (max-width:1080px){ .aud{grid-template-columns:repeat(3,1fr)} .aud .stat--lead{grid-column:1 / -1} .lineup{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:640px){ .aud{grid-template-columns:1fr 1fr} .aud--social{grid-template-columns:1fr} .lineup{grid-template-columns:1fr} .also{flex-direction:column; gap:.4rem} .also a{margin-left:0; margin-top:.4rem} }

button.player{width:100%; padding:0; border:0; cursor:pointer; text-align:left; color:inherit; font:inherit}

.pstats{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line-2); border:1px solid var(--line-2); margin-top:1.6rem}
.pstats>div{background:rgba(7,8,11,.82); padding:1rem .9rem 1.05rem}
.pstats .n{display:block; font-variation-settings:'wdth' 120,'wght' 850; font-size:clamp(1.4rem,2.6vw,1.9rem); line-height:1; letter-spacing:-.03em}
.pstats .n em{font-style:normal; color:var(--ember); font-size:.62em}
.pstats .k{display:block; color:var(--dim); margin-top:.45rem}
.offer--short{margin-top:1.4rem}
.pwall--home{grid-template-columns:repeat(2,minmax(0,1fr))}
.pwall--home .pcard{overflow:hidden}
.pwall--home .pcard__logo{aspect-ratio:4/3}
.pwall--home .pcard__what{font-size:.86rem; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden}
.pcard--cta{display:grid; place-items:center; color:var(--ember); text-decoration:none; transition:background .3s var(--ease)}
.pcard--cta:hover{background:rgba(255,106,33,.1)}
@media (max-width:640px){ .pstats{grid-template-columns:1fr 1fr 1fr} .pstats>div{padding:.85rem .6rem} .pwall--home{grid-template-columns:1fr 1fr} }

/* new logo (3.4:1, with tagline) */
.nav__logo img,.nav.stuck .nav__logo img{height:44px}
.foot img{height:60px}
.byline img.st{height:34px}
@media (max-width:640px){ .nav__logo img,.nav.stuck .nav__logo img{height:38px} }

/* ---------- WordPress content (blog posts, policy pages) ---------- */
.wp-main{padding:calc(var(--navh,68px) + clamp(3rem,7vw,5rem)) 0 clamp(4rem,8vw,6rem); min-height:70vh}
.wp-main .shell{max-width:760px}
.wp-main h1{font-size:clamp(1.9rem,4vw,2.75rem); margin:0 0 1.2rem}
.wp-main .entry{color:var(--mute); font-size:1.05rem; line-height:1.75}
.wp-main .entry h2,.wp-main .entry h3{color:var(--haze); text-transform:uppercase; font-variation-settings:'wdth' 112,'wght' 760; letter-spacing:-.01em; line-height:1.15; margin:2.2rem 0 .8rem}
.wp-main .entry h2{font-size:1.5rem} .wp-main .entry h3{font-size:1.2rem}
.wp-main .entry a{color:var(--ember); text-decoration:underline; text-underline-offset:3px}
.wp-main .entry img{max-width:100%; height:auto; border-radius:3px}
.wp-main .meta-line{color:var(--dim); margin:0 0 1.6rem}
.wp-list article{padding:1.6rem 0; border-top:1px solid var(--line-2)}
.wp-list h2{font-size:clamp(1.3rem,2.4vw,1.75rem); margin:.3rem 0 .6rem}
.wp-list h2 a:hover{color:var(--ember)}
.wp-pager{display:flex; justify-content:space-between; margin-top:2rem}
.wp-pager a{color:var(--ember)}
/* signup message */
.signup-msg{flex-basis:100%; margin-top:.6rem; font-size:.92rem; color:var(--mute)}
.signup-msg .mc4wp-success{color:#7BE495} .signup-msg .mc4wp-error{color:var(--flare)}
.signup-msg p{margin:0}
.screen-reader-text{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0)}

.gal--solo{grid-template-columns:minmax(0,340px)!important}

/* 1.3.0 - large and widescreen monitors: scale the whole layout with the screen instead of
   leaving a 1320px column of small type in the middle of a 27-32in display */
@media (min-width:1600px){
  html{font-size:clamp(16px, calc(16px + (100vw - 1600px) * .0075), 24px)}
  body{font-size:1.0625rem}
  :root{--shell:min(82.5rem,92vw); --navh:4.25rem; --gut:calc((100vw - var(--shell)) / 2)}
  .nav__logo{min-height:2.75rem}
  .nav__logo img,.nav.stuck .nav__logo img{height:2.75rem}
  .foot img{height:3.75rem}
  .byline img.st{height:2.125rem}
  .hero__copy{max-width:min(35rem,44%)}
  .hero__dots button{width:1.9rem}
  .band{height:clamp(250px,32vw,30rem)}
  .fan{height:clamp(340px,30vw,30rem)}
  .flyrow .gimg{flex-basis:clamp(140px,12vw,12rem)}
  .vreel--wide{flex-basis:clamp(300px,30vw,27.5rem)}
  .reels--films .vreel{flex-basis:clamp(260px,26vw,23.75rem)}
  .gal--solo{grid-template-columns:minmax(0,21.25rem)!important}
  .wp-main .shell{max-width:47.5rem}
}
/* page heroes: a real hero on desktop, not a thin strip */
@media (min-width:1100px){
  .rhero{min-height:min(68svh,48rem); display:flex; flex-direction:column; justify-content:flex-end}
  .rhero > .shell{width:var(--shell)}
  .rhero > .cluster{width:100%}
}
