/* ═══════════ TOW GAWD — "Heavy Recovery" theme (Nov 2026) ═══════════
   Diesel black, steel plate, hi-vis amber, hazard stripes, truck-door
   lettering. Loaded after styles.css + pages.css on every page. */
:root{
  --ink:#0b0b0a; --ink-2:#121312; --ink-3:#1b1c1b;
  --steel:#2a2c2c; --steel-hi:#4a4d4d;
  --line:rgba(255,178,26,.22); --line-soft:rgba(255,255,255,.09);
  --bone:#efe9df; --bone-dim:#aaa397;
  --gold:#ffb21a; --gold-hi:#ffd36b; --gold-deep:#a8700a;
  --rust:#d9531e; --tail:#e2271d;
  --font-display:'Anton','Impact',sans-serif;
  --font-cond:'Barlow Condensed','Arial Narrow',sans-serif;
  --font-body:'Barlow','Satoshi',system-ui,sans-serif;
  --text-2xl:clamp(2.6rem,6vw,4.6rem);
  --haz:repeating-linear-gradient(-45deg,var(--gold) 0 18px,#0b0b0a 18px 36px);
}
body{background:var(--ink);font-weight:400}
/* grit: fine noise + faint diamond-plate */
body::before{opacity:.07;background-image:
  radial-gradient(rgba(255,255,255,.65) .5px,transparent .6px);background-size:3px 3px}
h1,h2,h3{font-family:var(--font-display);font-weight:400;letter-spacing:.01em;word-spacing:.06em;text-transform:uppercase;line-height:.95}
h4{font-family:var(--font-cond);font-weight:700;letter-spacing:.03em;text-transform:uppercase}
em{color:var(--gold-hi)}

/* ── nav: steel bar ── */
.nav.stuck{background:rgba(11,11,10,.9);border-bottom:2px solid var(--gold)}
.brand-type{font-family:var(--font-display);letter-spacing:.08em;font-size:1.25rem}
.nav-links{font-family:var(--font-cond);font-weight:600;font-size:1rem;letter-spacing:.08em;text-transform:uppercase}
.nav-links a::after{height:3px;background:var(--gold)}
.nav-cta{border:2px solid var(--gold)!important;border-radius:0!important;color:var(--gold)!important}
.nd-links a,.nd-eyebrow{font-family:var(--font-cond);font-weight:700;letter-spacing:.1em}

/* ── buttons: square, heavy ── */
.btn{border-radius:0!important;font-family:var(--font-cond);font-weight:800;font-size:1.02rem;letter-spacing:.12em;padding:.95rem 1.7rem;border-width:2px}
.btn-gold,.btn-haz{background:var(--gold);color:#0b0b0a;border-color:var(--gold);box-shadow:5px 5px 0 #000}
.btn-gold:hover,.btn-haz:hover{background:var(--gold-hi);transform:translate(-2px,-2px);box-shadow:7px 7px 0 #000}
.btn-ghost,.btn-steel{background:rgba(20,21,20,.7);color:var(--bone);border-color:var(--steel-hi)}
.btn-ghost:hover,.btn-steel:hover{border-color:var(--gold);color:var(--gold);background:rgba(20,21,20,.9);transform:translateY(-2px)}

/* ── section heads: stencil plates ── */
.sec-num,.plate-num{display:inline-block;font-family:var(--font-cond);font-weight:800;font-size:.85rem;letter-spacing:.24em;text-transform:uppercase;
  color:#0b0b0a;background:var(--gold);padding:.3rem .7rem .25rem;margin-bottom:1rem}
.sec-title{font-size:var(--text-2xl);color:var(--bone)}
.sec-lede{font-size:1.12rem;color:var(--bone-dim);max-width:60ch}

/* ── hazard divider ── */
.haz-bar{height:14px;background:var(--haz);border-block:2px solid #000}

/* ── ticker: road sign strip ── */
.ticker{background:var(--gold);border:0;padding:.7rem 0}
.ticker span{font-family:var(--font-display);color:#0b0b0a;letter-spacing:.08em;font-size:1.15rem}
.ticker i{color:#0b0b0a;font-size:.6rem}
.creed{background:var(--ink-2);border-bottom:1px solid var(--line-soft)}
.creed span{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em}

/* ═══ HERO ═══ */
.hx{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:#000;isolation:isolate}
.hx-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:saturate(.95) contrast(1.05)}
.hx-grade{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,0) 26%,rgba(0,0,0,0) 45%,rgba(0,0,0,.82) 82%,#0b0b0a 100%),
  linear-gradient(90deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,0) 60%)}
.hx-inner{position:relative;width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--pad) clamp(5.5rem,11vh,8rem)}
.hx-live{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-cond);font-weight:700;font-size:.95rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--bone);background:rgba(0,0,0,.6);border-left:4px solid var(--tail);padding:.45rem .9rem;margin-bottom:1.2rem}
.hx-live i{width:9px;height:9px;border-radius:50%;background:var(--tail);animation:tailPulse 1.4s infinite}
@keyframes tailPulse{50%{opacity:.25}}
.hx-eyebrow{font-family:var(--font-cond);font-weight:700;font-size:1.05rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin:0 0 .4rem}
.hx-word{font-size:clamp(5.2rem,19vw,15rem);line-height:.82;color:var(--bone);margin:0;display:flex;flex-wrap:wrap;gap:0 .18em;
  text-shadow:0 6px 40px rgba(0,0,0,.55)}
.hx-word span:last-child{color:var(--gold)}
.hx-sub{max-width:40ch;font-size:clamp(1.1rem,1.6vw,1.35rem);line-height:1.45;color:#e7e1d6;margin:1.2rem 0 0}
.hx-cta{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.8rem}
.hx-plate{position:absolute;right:var(--pad);top:50%;transform:translateY(-50%) rotate(90deg);transform-origin:right center;
  display:flex;gap:1.6rem;font-family:var(--font-cond);font-weight:700;font-size:.8rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(239,233,223,.55);white-space:nowrap}
.hx-plate span+span::before{content:"■ ";color:var(--gold)}
@media(max-width:900px){.hx-plate{display:none}}

/* ═══ FEATURE PRESENTATION ═══ */
.feature{max-width:1400px}
.ft-head{text-align:center;margin-bottom:clamp(1.6rem,3vw,2.4rem)}
.ft-title{font-size:clamp(2.8rem,8vw,6.4rem);color:var(--bone)}
.ft-kick{font-family:var(--font-cond);font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:.6rem 0 0}
.ft-screen{position:relative;padding:12px;background:var(--haz);box-shadow:0 40px 80px -30px rgba(0,0,0,.9)}
.ft-screen .yt{border-radius:0;border:2px solid #000}
.ft-screen .yt-play{width:96px;height:96px}
.ft-screen .yt-play svg{width:42px;height:42px}
.ft-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;align-items:flex-start;margin-top:1.6rem}
.ft-meta p{max-width:62ch;color:var(--bone-dim);font-size:1.1rem;margin:0}
.ft-links{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;font-family:var(--font-cond);font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.ft-links a{color:var(--gold);border-bottom:2px solid transparent}
.ft-links a:hover{border-color:var(--gold)}

/* ═══ VIDEOS ═══ */
.yt-play{border-radius:0!important;background:rgba(11,11,10,.75)!important;border:2px solid var(--gold)!important;color:var(--gold)!important}
.yt:hover .yt-play{background:var(--gold)!important;color:#0b0b0a!important}
.grid-video{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.vcard{position:relative;border-radius:0!important;border:1px solid var(--line-soft)!important;background:var(--ink-2)!important}
.vcard:hover{border-color:var(--gold)!important}
.vcard h4{font-family:var(--font-display)!important;font-weight:400!important;font-size:1.6rem!important;letter-spacing:.02em!important;color:var(--bone)!important;text-transform:uppercase}
.vcard p{font-family:var(--font-cond);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)!important;font-size:.85rem!important}
.vtag{position:absolute;z-index:3;top:.7rem;left:.7rem;font-family:var(--font-cond);font-weight:800;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;
  background:var(--gold);color:#0b0b0a;padding:.2rem .5rem;pointer-events:none}
@media(max-width:900px){.grid-video{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){.grid-video{grid-template-columns:1fr!important}}
.short-card,.disc-art{border-radius:0!important}
.short-tag,.disc-art em{border-radius:0!important;background:var(--gold)!important;color:#0b0b0a!important;border:0!important}
.shorts-head h3{font-family:var(--font-display);font-weight:400;text-transform:uppercase}

/* ═══ FILM STILLS ═══ */
.filmstrip{max-width:none;padding-left:0;padding-right:0}
.filmstrip .sec-head{max-width:var(--max);margin:0 auto 2rem;padding:0 var(--pad)}
.fs-rail{display:flex;gap:10px;overflow-x:auto;padding:18px var(--pad);background:#000;
  scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--gold) #000;position:relative;
  border-block:14px solid #000;
  background-image:radial-gradient(circle at 50% 50%,#2b2b2b 3px,transparent 3.5px),radial-gradient(circle at 50% 50%,#2b2b2b 3px,transparent 3.5px);
  background-size:22px 12px;background-repeat:repeat-x;background-position:0 2px,0 calc(100% - 2px)}
.fs-frame{flex:none;position:relative;margin:0;height:clamp(260px,42vw,520px);aspect-ratio:16/9;scroll-snap-align:start;overflow:hidden;background:#111}
.fs-frame.fs-tall{aspect-ratio:9/16}
.fs-frame img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.fs-frame:hover img{transform:scale(1.04)}
.fs-frame figcaption{position:absolute;left:0;bottom:0;right:0;padding:2.2rem 1rem .8rem;background:linear-gradient(transparent,rgba(0,0,0,.85));
  font-family:var(--font-cond);font-weight:600;letter-spacing:.06em;color:var(--bone);font-size:.95rem}
.fs-frame figcaption b{display:block;font-family:var(--font-display);font-weight:400;font-size:1.15rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}

/* ═══ RAGS TO RICHES ═══ */
.r2r-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.r2r-pic{margin:0;position:relative;border:2px solid #000;box-shadow:14px 14px 0 var(--gold)}
.r2r-pic .par,.r2r-pic img{width:100%;height:100%}
.r2r-pic img{aspect-ratio:4/3;object-fit:cover}
.r2r-copy .lede{color:#d8d1c5;font-size:1.12rem}
.r2r-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:1.6rem 0;border:2px solid var(--steel-hi)}
.r2r-stats div{padding:1rem;border-right:2px solid var(--steel-hi);text-align:center}
.r2r-stats div:last-child{border-right:0}
.r2r-stats dt{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);color:var(--gold);line-height:1}
.r2r-stats dd{margin:.3rem 0 0;font-family:var(--font-cond);font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:.85rem;color:var(--bone-dim)}
@media(max-width:900px){.r2r-grid{grid-template-columns:1fr}.r2r-pic{box-shadow:8px 8px 0 var(--gold)}}

/* ═══ existing surfaces, re-skinned ═══ */
.alb-promo{border-radius:0!important;border:2px solid var(--gold)!important;background:linear-gradient(90deg,rgba(255,178,26,.12),var(--ink-2))!important;box-shadow:8px 8px 0 #000}
.alb-promo img{border-radius:0!important}
.alb-promo strong{font-family:var(--font-display);font-weight:400;text-transform:uppercase;letter-spacing:.02em}
.alb-promo-kick,.alb-promo-go{font-family:var(--font-cond);font-weight:800;letter-spacing:.2em}
.disc-card strong{font-family:var(--font-cond);font-weight:700;font-size:1.2rem;letter-spacing:.04em;text-transform:uppercase;color:var(--bone)!important}
.disc-art{border:2px solid #000!important;box-shadow:6px 6px 0 #000!important}
.disc-card:hover .disc-art{box-shadow:8px 8px 0 var(--gold)!important;transform:translateY(-4px)!important}
.disco::before{background:radial-gradient(60% 60% at 20% 40%,rgba(255,178,26,.08),transparent 70%)!important}
.fleet-bleed figcaption strong,.fleet-duo figcaption strong{font-family:var(--font-display);font-weight:400;text-transform:uppercase;letter-spacing:.04em}
figcaption{font-family:var(--font-cond);letter-spacing:.06em}
.booking-title{font-family:var(--font-display);font-weight:400;text-transform:uppercase}
.booking{background:var(--haz);max-width:none}
.booking-inner{background:#0b0b0a;max-width:900px;margin:0 auto;padding:clamp(2rem,5vw,4rem);border:2px solid #000}
.foot{border-top:4px solid var(--gold)}
.foot-brand span{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em}
.wordmark{font-family:var(--font-display)!important;font-weight:400!important}
.player{border-top:2px solid var(--gold)!important}
.player-title{font-family:var(--font-cond)!important;font-weight:800!important;letter-spacing:.08em!important}
.hero-card,.grid-art a,.grid-art article{border-radius:0}
@media(max-width:600px){
  .hx{align-items:flex-end}
  .hx-video{object-position:38% center}
  .hx-inner{padding-bottom:6.5rem}
  .ft-screen{padding:7px}
  .ft-screen .yt-play{width:72px;height:72px}
  .fs-frame{height:300px}
}
@media (prefers-reduced-motion:reduce){.hx-live i{animation:none}}
.hx-plate{top:auto;bottom:clamp(6rem,12vh,9rem);transform:none;writing-mode:vertical-rl;rotate:180deg}
@media(max-width:600px){.hx-live{font-size:.8rem;letter-spacing:.12em}.hx-eyebrow{font-size:.85rem;letter-spacing:.22em}.hx-cta .btn{flex:1 1 100%}}
/* sub-page heroes: film stills, less muddy */
.ab-hero-bg img,.cat-hero-bg img{filter:saturate(.95) brightness(.5) contrast(1.08)!important;object-position:center 35%!important}
