/* ── IPN V1.1.3 — Design System Fixes + 3-Font Lockdown ──────────────────────────────
 * Loads AFTER site-v11.css. Tightens type scale, fixes header, repairs FAQ + Final Signal,
 * dials down grain, harmonizes spacing/button sizes, locks the 3-font system.
 *
 * Source of truth: this file. Don't override these from site.css or site-v11.css —
 * if a conflict appears, fix it here.
 * ─────────────────────────────────────────────────────────────────────────────────── */

/* === 3-FONT SYSTEM LOCKED ============================================== */
/* Override the legacy --D and --B tokens so existing site.css and site-v11.css
 * pick up the new fonts automatically without touching their declarations.
 *
 * --RD  Brunson Rough  → display signature (hero H1, .gt iconic moments)
 * --D   Bebas Neue     → workhorse display (sections, cards, dossier names)
 * --M   IBM Plex Mono  → all UI / labels / captions / buttons / body
 *
 * Dropped: Brunson regular, Inter, Rubik Dirt. */
:root{
  --D:"Bebas Neue", Impact, sans-serif !important;
  --B:"IBM Plex Mono", "Space Mono", "Courier New", monospace !important;
  --G:"Bebas Neue", Impact, sans-serif !important;
  --I:"IBM Plex Mono", "Space Mono", "Courier New", monospace !important;
  --RD:"Brunson Rough", "Bebas Neue", Impact, sans-serif !important;
}
/* Body default = Mono (the file/transmission aesthetic).
 * Bump slightly for legibility since Mono runs narrower. */
body{
  font-family: var(--B);
  font-size: 14.5px;
  line-height: 1.65;
}
/* Paragraph copy that was Inter → now Mono. Slightly looser tracking for readability. */
p, .lf-body, .cd-bio, .tx-card-sub, .faq-answer p, .faq-intro,
.faq-contact-body, .gs-sub, .proof-sub, .cities-sub, .tx-sub{
  font-family: var(--B) !important;
  letter-spacing: 0;
  line-height: 1.65;
}


/* === REVEAL ANIMATION SAFETY OVERRIDE =================================== */
/* The IntersectionObserver-based reveal sometimes traps elements at opacity:0
 * (esp. after programmatic scroll or page-load above-the-fold). Force-visible. */
[data-reveal], [data-reveal].reveal-in {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* === .gt DISPLAY HEADING — SVG-NOISE LIME GRAIN GLOW =================== */
/* Upgrade from the legacy linear-gradient .gt to a textured SVG-filter
 * noise + multi-stop gradient + dual drop-shadow halo.
 * Adopted from the IPN Design System voice doc (May 16, 2026).
 * The texture sits as a multiply blend ON TOP of the gradient, producing
 * the recovered-footage feel without needing a PNG asset. */
.gt{
  font-family: var(--RD, "Brunson Rough","Bebas Neue", Impact, sans-serif) !important;
  color: #c8f542 !important;
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence baseFrequency='1.4' numOctaves='2' seed='3'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.55 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' fill='black'/></svg>"),
    linear-gradient(180deg, #dcff5e 0%, #c8f542 45%, #a4cc36 100%) !important;
  background-blend-mode: multiply !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  filter:
    drop-shadow(0 0 28px rgba(200,245,66,.32))
    drop-shadow(0 0 6px rgba(200,245,66,.4)) !important;
  line-height: .9;
  letter-spacing: .01em;
  text-transform: uppercase;
}

/* === GLOBAL: GRAIN DIAL-DOWN ============================================ */
.texture-layer{ opacity: .35 !important; }                /* was ~.6+ */
.global-scan { opacity: .25 !important; }                 /* was ~.5+ */
.scanlines::before, .scanlines::after { opacity: .35 !important; }
.hero::before, .hero::after { opacity: .45 !important; }
/* Reduce text-noise on body copy so paragraphs are readable */
body { text-shadow: none !important; }
.lf-body, .cd-bio, .tx-card-sub, .faq-answer p, .gs-sub, .proof-sub, .cities-sub, .tx-sub{
  color: rgba(255,255,255,.82) !important;
}

/* === TYPE SCALE (HARMONIZED) ============================================ */
:root{
  --t-display-xxl: clamp(96px, 11vw, 168px);   /* HERO H1 */
  --t-display-xl:  clamp(64px,  8vw, 128px);   /* Section title */
  --t-display-l:   clamp(48px,  6vw,  96px);   /* Sub-section / Chris dossier */
  --t-display-m:   clamp(28px, 3.2vw, 44px);   /* Card titles, hero tour */
  --t-display-s:   22px;                       /* Small headers */
  --t-body-l:      16px;
  --t-body:        14px;
  --t-caption:     11px;
  --t-micro:       10px;
  --t-track:       .16em;
  --t-track-tight: .08em;
  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px;
  --sp-5: 24px; --sp-6: 32px; --sp-7: 48px; --sp-8: 64px; --sp-9: 96px;
}

/* Section titles — single scale across all */
.proof-title, .cities-title, .tx-title, .gs-title, .faq-title, .fs-title {
  font-size: var(--t-display-xl) !important;
  line-height: .88 !important;
  letter-spacing: .01em !important;
}
.cd-name {
  font-size: var(--t-display-l) !important;
  line-height: .9 !important;
}
.hero-h1 {
  font-size: var(--t-display-xxl) !important;
  line-height: .9 !important;
}
.hero-tour {
  font-size: var(--t-display-m) !important;
  line-height: 1 !important;
  letter-spacing: .04em;
  margin-bottom: var(--sp-5) !important;
}
.city-name { font-size: 32px !important; line-height: 1 !important; }
.gs-name   { font-size: 28px !important; line-height: 1 !important; }
.tx-card-title { font-size: 22px !important; line-height: 1.1 !important; }
.tx-card-feature .tx-card-title { font-size: 36px !important; }
.sec-tag {
  font-size: 10px !important;
  letter-spacing: var(--t-track) !important;
}

/* === BUTTONS (HARMONIZED) =============================================== */
.btn-lime, .btn-ghost {
  font-family: var(--M, 'IBM Plex Mono', monospace) !important;
  font-size: 13px !important;
  line-height: 1 !important;
  letter-spacing: .16em !important;
  padding: 16px 24px !important;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
}
.btn-lime { background: #c8f542; color: #06060a; border: none; }
.btn-ghost {
  background: transparent;
  border: 1px solid rgba(255,255,255,.25);
  color: #fff;
}
.btn-ghost:hover { border-color: #c8f542; color: #c8f542; }
.btn-lime:hover { background: #d6ff5a; }
.btn-lime, .btn-ghost { clip-path: none !important; }   /* drop the angled cut for now */

/* === NAV (DESKTOP) ====================================================== */
.nav{
  height: 64px !important;
  padding: 0 32px !important;
  background: rgba(6,6,10,.78) !important;
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
/* Hide logo on desktop — more room for menu */
.nav-logo { display: none !important; }

/* Menu — bigger, brighter, properly spaced */
.nav-links {
  display: flex !important;
  gap: var(--sp-2);
  padding: 0;
  margin: 0;
  list-style: none;
  align-items: center;
}
.nav-links li a {
  font-family: var(--M, 'IBM Plex Mono', monospace) !important;
  font-size: 13px !important;
  letter-spacing: .14em !important;
  color: rgba(255,255,255,.78) !important;
  text-transform: uppercase;
  padding: 22px 16px !important;
  line-height: 1 !important;
  text-decoration: none;
  transition: color .2s ease;
  display: inline-block;
}
.nav-links li a:hover { color: #fff !important; }
.nav-links li.active a {
  color: #c8f542 !important;
}
.nav-links li.active a::before { content: "["; margin-right: 4px; opacity: .8; }
.nav-links li.active a::after { content: "]"; margin-left: 4px; opacity: .8; }

/* Right side: HUD widget + RESERVE button */
.nav-sp { flex: 1; }
.tx-w {
  display: flex !important;
  align-items: center;
  gap: var(--sp-3);
  padding-right: var(--sp-4);
  border-right: 1px solid rgba(255,255,255,.1);
  margin-right: var(--sp-4);
}
.tx-label {
  font-family: var(--M, monospace);
  font-size: 9.5px;
  letter-spacing: .18em;
  color: rgba(255,255,255,.5);
  text-transform: uppercase;
}
.tx-live {
  display: flex; align-items: center; gap: 6px;
  font-family: var(--M, monospace);
  font-size: 9.5px;
  letter-spacing: .18em;
  color: #c8f542;
}
.live-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: #c8f542;
  animation: ipn-pulse 1.4s ease-in-out infinite;
}
@keyframes ipn-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: .5; transform: scale(.85); }
}
.nav-reserve {
  font-family: var(--M, monospace) !important;
  font-size: 11px !important;
  letter-spacing: .18em !important;
  background: #c8f542;
  color: #06060a;
  padding: 11px 18px;
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: background .2s ease;
}
.nav-reserve:hover { background: #d6ff5a; }

/* === NAV (MOBILE) ======================================================= */
@media (max-width: 768px){
  .nav{
    height: 56px !important;
    padding: 0 16px !important;
    gap: var(--sp-3);
  }
  .nav-logo { display: none !important; }
  .nav-links {
    display: flex !important;       /* keep visible compact */
    gap: 2px;
    flex: 1;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .nav-links::-webkit-scrollbar { display: none; }
  .nav-links li a {
    font-size: 11px !important;
    padding: 8px !important;
    letter-spacing: .1em !important;
  }
  .tx-w { display: none !important; }
  .nav-reserve { font-size: 10px !important; padding: 10px 12px; }
  .nav-hamburger { display: none !important; }  /* skip burger — links inline */
}
@media (max-width: 420px){
  .nav-links li a { font-size: 10px !important; padding: 8px 6px !important; }
  .nav-reserve { font-size: 9.5px !important; padding: 9px 10px; letter-spacing: .14em !important; }
}

/* === HERO — STACKING + OVERLAP FIX ====================================== */
.hero {
  padding-top: 64px !important;   /* clear the nav */
  min-height: 92vh;
  position: relative;
}
/* Hero content needs to start BELOW the HUD chrome */
.hero-c {
  position: relative;
  z-index: 5;
  padding-top: 96px !important;   /* clear the HUD widgets above */
  max-width: 720px;
}
.hero-portrait { z-index: 0 !important; }
.hero-grid-overlay { z-index: 1 !important; pointer-events: none; }

/* HUD chrome — top-left, fixed position relative to hero */
.hud-sig {
  z-index: 6 !important;
  position: absolute !important;
  top: 88px !important;          /* below the 64px nav + 24px breath */
  left: 6vw !important;
  display: flex !important;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.hud-sig-label{
  font-family: var(--M, monospace);
  font-size: 9.5px;
  letter-spacing: .2em;
  color: rgba(255,255,255,.55);
  text-transform: uppercase;
}
.sig-bars {
  display: inline-flex; align-items: center; gap: 3px;
}
.hud-stp {
  font-family: var(--M, monospace);
  font-size: 9px;
  letter-spacing: .2em;
  color: rgba(200,245,66,.5);
  margin-left: var(--sp-3);
}
.hud-audio {
  z-index: 6 !important;
  position: absolute !important;
  bottom: 32px !important;
  right: 6vw !important;
  top: auto !important;
}

.hero-h1 { color: #c8f542 !important; }
.hero-microcopy {
  font-size: 10px !important;
  letter-spacing: .18em !important;
  color: rgba(255,255,255,.55) !important;
  margin-top: var(--sp-5) !important;
}
.hero-sup {
  font-family: var(--M, monospace) !important;
  font-size: 10px !important;
  letter-spacing: .2em !important;
  color: rgba(200,245,66,.7) !important;
  margin-bottom: var(--sp-4) !important;
  text-transform: uppercase;
  display: block !important;
}

/* === FAQ — REBUILT ACCORDION =========================================== */
.faq {
  padding: var(--sp-9) 6vw var(--sp-9) !important;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: var(--sp-7);
  align-items: start;
}
.faq-hdr {
  grid-column: 1 / -1;
  margin-bottom: var(--sp-5);
  max-width: 900px;
}
.faq-title {
  color: #c8f542 !important;
  text-shadow: 0 0 22px rgba(200,245,66,.18);
  margin-top: var(--sp-3);
}
.faq-intro {
  font-family: var(--I, Inter, sans-serif);
  font-size: var(--t-body-l);
  color: rgba(255,255,255,.7);
  line-height: 1.55;
  margin-top: var(--sp-4);
  max-width: 640px;
}
.faq-list { display: flex; flex-direction: column; gap: 0; }
.faq-item {
  border-top: 1px solid rgba(255,255,255,.1);
  padding: 0;
  position: relative;
}
.faq-item:last-of-type { border-bottom: 1px solid rgba(255,255,255,.1); }
.faq-item summary {
  list-style: none;
  cursor: pointer;
  padding: var(--sp-5) var(--sp-7) var(--sp-5) 0;
  font-family: var(--M, monospace);
  font-size: 12px;
  letter-spacing: var(--t-track);
  color: rgba(255,255,255,.85);
  text-transform: uppercase;
  position: relative;
  user-select: none;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: "+";
  position: absolute; right: 0; top: 50%;
  transform: translateY(-50%);
  font-family: var(--M, monospace);
  font-size: 22px;
  color: #c8f542;
  transition: transform .2s ease;
}
.faq-item[open] summary::after { content: "×"; }
.faq-item[open] summary { color: #c8f542; }
.faq-answer {
  padding: 0 0 var(--sp-5) 0;
  animation: faqOpen .25s ease-out;
}
@keyframes faqOpen { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.faq-resp-tag {
  font-family: var(--M, monospace);
  font-size: 9.5px;
  letter-spacing: .18em;
  color: rgba(200,245,66,.55);
  margin-bottom: var(--sp-2);
  text-transform: uppercase;
}
.faq-answer p {
  font-family: var(--I, Inter, sans-serif);
  font-size: var(--t-body);
  line-height: 1.65;
  margin: 0;
}

/* FAQ right-column contact card */
.faq-contact {
  padding: var(--sp-6);
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(10,10,16,.55);
  position: sticky;
  top: 88px;
}
.faq-contact-title {
  font-family: var(--G, 'Bebas Neue');
  font-size: 36px;
  line-height: 1;
  color: #c8f542;
  margin-bottom: var(--sp-3);
}
.faq-contact-body {
  font-family: var(--I, Inter, sans-serif);
  font-size: var(--t-body);
  line-height: 1.55;
  color: rgba(255,255,255,.72);
  margin-bottom: var(--sp-5);
}
.faq-contact-meta {
  font-family: var(--M, monospace);
  font-size: 9.5px;
  letter-spacing: .18em;
  color: rgba(255,255,255,.5);
  margin-top: var(--sp-4);
  text-transform: uppercase;
}

@media(max-width: 1100px){
  .faq { grid-template-columns: 1fr; gap: var(--sp-6); }
  .faq-contact { position: static; }
}
@media(max-width: 768px){
  .faq { padding: var(--sp-7) 18px !important; }
}

/* === FINAL SIGNAL — CENTERED, RE-BUILT ================================= */
.final-signal {
  padding: var(--sp-9) 6vw var(--sp-8) !important;
  text-align: center;
}
.fs-wrap {
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.fs-wrap .sec-tag { margin-bottom: var(--sp-5); }
.fs-title {
  color: #c8f542 !important;
  text-shadow: 0 0 28px rgba(200,245,66,.2);
  text-align: center;
}
.fs-sub {
  font-family: var(--M, monospace);
  font-size: 12px;
  letter-spacing: .2em;
  color: rgba(255,255,255,.6);
  margin-top: var(--sp-4);
  text-transform: uppercase;
}
.fs-tour-summary {
  margin: var(--sp-5) 0 var(--sp-5) !important;
  justify-content: center !important;
}
.fs-cta {
  margin: var(--sp-3) 0 var(--sp-7) !important;
  font-size: 14px !important;
  padding: 18px 32px !important;
}
.fs-newsletter {
  width: 100%;
  max-width: 480px;
  margin: 0 auto var(--sp-6) !important;
}
.fs-socials { justify-content: center !important; }

@media(max-width: 768px){
  .final-signal { padding: var(--sp-7) 18px !important; }
}

/* === SUBJECTS / SECTION HEADERS — consistent spacing =================== */
.proof-hdr, .gs-hdr, .tx-hdr, .cities-hdr {
  margin-bottom: var(--sp-6) !important;
}
.sec-tag {
  display: inline-block;
  padding: 4px 10px !important;
  border: 1px solid rgba(200,245,66,.4);
  color: #c8f542 !important;
  margin-bottom: var(--sp-3) !important;
}

/* === SUBJECTS NEWSLETTER (BE THE FIRST TO KNOW) — TIGHTEN ============== */
.subjects {
  padding: var(--sp-7) 6vw !important;
}
.subjects-newsletter {
  padding: var(--sp-5) var(--sp-6) !important;
  gap: var(--sp-5) !important;
  align-items: center !important;
}
.subjects-newsletter .sn-title {
  font-size: 28px !important;
  line-height: 1 !important;
}
@media(max-width: 768px){
  .subjects-newsletter {
    grid-template-columns: 1fr !important;
    gap: var(--sp-3) !important;
  }
}

/* === SECTION PADDING — UNIFY =========================================== */
.proof, .guests-strip, .transmissions, .cities, .chris-dossier, .final-signal, .faq, .subjects {
  /* Already set per-section but enforce a min-spacing breath */
}
.live-file { padding: var(--sp-9) 6vw !important; }
@media(max-width: 768px){
  .live-file { padding: var(--sp-7) 18px !important; }
}

/* === CITY CARDS — TIGHTEN ============================================== */
.city-card { transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease; }
.city-card:hover { box-shadow: 0 8px 32px rgba(200,245,66,.08); }
.city-body { padding: var(--sp-4) var(--sp-5) var(--sp-5) !important; gap: var(--sp-2) !important; }
.city-cta {
  margin-top: var(--sp-3) !important;
  padding: 11px 16px !important;
  font-size: 11px !important;
}

/* === GUEST CARDS — TIGHTEN ============================================= */
.gs-card { aspect-ratio: 1 / 1.18 !important; }
.gs-meta { padding-bottom: 2px; }
.gs-role { font-size: 10px !important; }

/* === TX (Transmissions) cards — minor harmonize ======================== */
.tx-card-feature .tx-body { padding: var(--sp-6) !important; }
.tx-meta { font-size: 9.5px !important; }

/* === HERO-PATCH-MATT-2026-05-16 === overrides — re-applied via patch =====
   - Hero title bumped ~100px from left on desktop (≥1024px)
   - Vertical breathing room reduced
   - Grain (.texture-layer) + scanlines (.global-scan) dimmed 25%
   ----------------------------------------------------------------------- */

/* Grain dial-down (kept low) */
.texture-layer{ opacity: .12 !important; }
/* Scanlines dial-down (kept low) */
.global-scan  { opacity: .08 !important; }

/* Tight up hero vertical breathing */
.hero{
  padding-top: 56px !important;     /* was 64px */
  min-height: 84vh !important;      /* was 92vh */
}
.hero-c{
  padding-top: 64px !important;     /* was 96px */
  padding-bottom: 64px !important;
}

/* Desktop only: push the hero title block ~100px from the left edge */
@media (min-width: 1024px){
  .hero-c{
    padding-left: 156px !important;  /* was ~56px in site.css → +100 */
  }
  /* HUD signal block sits inline with the new title margin */
  .hud-sig{
    left: calc(6vw + 100px) !important;
  }
}

/* === END HERO-PATCH-MATT-2026-05-16 === */
/* === CENTER-CITIES-HDR-2026-05-16 ===========================
   Center the FIND YOUR CITY heading block horizontally + text.
   ----------------------------------------------------------- */
.cities-hdr{
  margin-inline: auto !important;
  text-align: center !important;
  max-width: 900px;
}
.cities-hdr .sec-tag{
  display: inline-block !important;
}
.cities-sub{
  margin-inline: auto !important;
  max-width: 64ch;
}
/* === END CENTER-CITIES-HDR-2026-05-16 === */
/* === LIVE-FILE-VIDEO-2026-05-16 ===
   - Reduce section vertical padding
   - Turn .lf-illus into a featured video player (bigger, play button)
   - Modal at 75vw with "TROUVER MA DATE" CTA
*/

/* Section margins reduced */
.live-file{ min-height: auto !important; }
.lf-left{ padding-block: 48px !important; }
.lf-right{ padding-block: 48px !important; padding-inline: 36px !important; }

/* Bigger featured video frame, aligned with text column height */
.lf-illus{
  max-width: 100% !important;
  width: 100% !important;
  cursor: pointer;
  position: relative;
  aspect-ratio: 16/10;
  display: block;
  isolation: isolate;
}
.lf-illus picture, .lf-illus picture img, .lf-illus img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
  filter: brightness(.55) saturate(.95) contrast(1.06) !important;
  transition: filter .35s cubic-bezier(.2,0,0,1);
}
.lf-illus:hover img{ filter: brightness(.72) saturate(1.06) contrast(1.06) !important; }

/* Play circle */
.lf-illus::after{
  content: '';
  position: absolute;
  inset: 50% auto auto 50%;
  z-index: 3;
  width: clamp(72px, 7.5vw, 116px);
  height: clamp(72px, 7.5vw, 116px);
  transform: translate(-50%, -50%);
  background: var(--lime, #c8f542);
  border-radius: 50%;
  box-shadow:
    0 0 0 10px rgba(200,245,66,.15),
    0 0 56px rgba(200,245,66,.45);
  transition: transform .25s cubic-bezier(.2,0,0,1), box-shadow .25s;
  pointer-events: none;
}
/* Play triangle */
.lf-illus::before{
  content: '';
  position: absolute;
  inset: 50% auto auto 50%;
  z-index: 4;
  width: 0; height: 0;
  transform: translate(calc(-50% + 4px), -50%);
  border-style: solid;
  border-width: clamp(14px, 1.4vw, 22px) 0 clamp(14px, 1.4vw, 22px) clamp(22px, 2.2vw, 34px);
  border-color: transparent transparent transparent #06060a;
  pointer-events: none;
}
.lf-illus:hover::after{
  transform: translate(-50%, -50%) scale(1.08);
  box-shadow:
    0 0 0 16px rgba(200,245,66,.12),
    0 0 80px rgba(200,245,66,.6);
}

/* Bottom-left "WATCH" caption inside player */
.lf-illus .lf-watch-label{
  position: absolute;
  bottom: 14px; left: 14px;
  z-index: 5;
  font-family: var(--M, 'Courier Prime', monospace);
  font-size: 11px;
  letter-spacing: .18em;
  color: var(--lime, #c8f542);
  text-transform: uppercase;
  text-shadow: 0 2px 8px rgba(0,0,0,.85);
  background: rgba(6,6,10,.55);
  padding: 6px 10px;
  border: 1px solid rgba(200,245,66,.3);
}
.lf-illus .lf-runtime{
  position: absolute;
  top: 14px; right: 14px;
  z-index: 5;
  font-family: var(--M, monospace);
  font-size: 10px;
  letter-spacing: .14em;
  color: rgba(200,245,66,.85);
  background: rgba(6,6,10,.65);
  padding: 4px 8px;
  border: 1px solid rgba(200,245,66,.3);
}

/* Make the existing HUD labels (RECOVERED, CASE FILE) still readable */
.lf-illus-hud{ z-index: 5; }
.lf-sig-top{ z-index: 5; }

/* Modal at 75% viewport */
#trailerModal.modal{ padding: 12px !important; }
#trailerModal .modal-content{
  width: 75vw !important;
  max-width: 75vw !important;
  height: auto !important;
  max-height: 90vh !important;
  margin: 0 auto !important;
  background: #06060a !important;
  border: 1px solid rgba(200,245,66,.3) !important;
  padding: 24px !important;
  box-shadow: 0 30px 100px rgba(0,0,0,.7);
}
@media (max-width: 768px){
  #trailerModal .modal-content{ width: 92vw !important; max-width: 92vw !important; padding: 16px !important; }
}

/* CTA inside modal */
#trailerModal .modal-cta-row{
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
}
#trailerModal .modal-cta-row .btn-lime{
  flex: 0 0 auto;
  padding: 14px 22px;
  font-family: var(--M, monospace);
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  background: var(--lime, #c8f542);
  color: #06060a;
  text-decoration: none;
  border: 1.5px solid var(--lime, #c8f542);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
#trailerModal .modal-cta-row .meta-tag{
  font-family: var(--M, monospace);
  font-size: 10px;
  letter-spacing: .18em;
  color: rgba(200,245,66,.75);
  text-transform: uppercase;
}

/* === END LIVE-FILE-VIDEO-2026-05-16 === */
/* === MULTI-PATCH-2026-05-16 ===
   Hero clip fix · grain darker · section header centering · LIVE FILE sizing
*/

/* HERO — fix right-edge clipping when desktop padding-left = 156px */
@media (min-width: 1024px){
  .hero-c{
    max-width: 880px !important;   /* was 720px — gives the H1 room to breathe */
  }
}
/* H1 line-height tightened for the new explainer paragraph below */
.hero-h1{
  line-height: .92 !important;
  margin-bottom: 18px !important;
}
.hero-explainer{
  font-family: var(--M, 'Courier Prime', monospace);
  color: rgba(242, 237, 228, .82);
  font-size: clamp(14px, 1.35vw, 17px);
  line-height: 1.65;
  letter-spacing: .02em;
  max-width: 58ch;
  margin: 8px 0 28px;
}
.hero-explainer strong{
  color: var(--lime, #c8f542);
  font-weight: 600;
}

/* SECTION HEADERS — center the same way as .cities-hdr */
.proof-hdr, .gs-hdr, .tx-hdr, .fs-hdr{
  margin-inline: auto !important;
  text-align: center !important;
  max-width: 900px;
}
.proof-hdr .sec-tag,
.gs-hdr .sec-tag,
.tx-hdr .sec-tag,
.fs-hdr .sec-tag{
  display: inline-block !important;
}
.proof-sub, .gs-sub, .tx-sub, .fs-sub{
  margin-inline: auto !important;
  max-width: 64ch;
}

/* CITIES heading — more breathing room before the grid */
.cities-hdr{ margin-bottom: 64px !important; }

/* LIVE FILE — make the text MUCH bigger + breathable */
.lf-title{
  font-size: clamp(64px, 9.5vw, 132px) !important;
  line-height: .88 !important;
  margin-bottom: 22px !important;
}
.lf-sub{
  font-size: clamp(16px, 1.85vw, 22px) !important;
  letter-spacing: .04em !important;
  margin-bottom: 22px !important;
}
.lf-body{
  font-size: clamp(16px, 1.5vw, 20px) !important;
  line-height: 1.7 !important;
  color: rgba(242, 237, 228, .82) !important;
  max-width: 56ch !important;
  margin-bottom: 32px !important;
}
.lf-body p{
  margin: 0 0 14px;
}
.lf-body p:last-child{
  margin-bottom: 0;
  font-style: italic;
  color: var(--lime, #c8f542);
}
.lf-body em.kw{
  color: var(--lime, #c8f542);
  font-style: normal;
  font-weight: 500;
}

/* === END MULTI-PATCH-2026-05-16 === */

/* ─────────────────────────────────────────────────────────
   CENTER SIGNAL HUD IN HERO
   Overrides .hud-sig left:6vw with horizontal centering.
   Applies to all heroes that contain a .hud-sig.
─────────────────────────────────────────────────────────── */
.hero .hud-sig {
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
}
