/* ============================================================
   VARIANT: NEWSPRINT — broadsheet front-page
   Activates when html[data-variant="newsprint"]
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,700;9..144,900&family=Noto+Serif+TC:wght@400;500;700;900&family=Noto+Sans+TC:wght@400;500;700&display=swap');

html[data-variant="newsprint"] {
  --np-paper: #F2EDE2;
  --np-ink:   #14110D;
  --np-rule:  #14110D;
  --np-muted: #5A554B;
  --np-red:   #8A1F11;     /* used SPARINGLY — section markers only */
}

html[data-variant="newsprint"] body {
  background: var(--np-paper);
  color: var(--np-ink);
  font-family: "Fraunces", "Noto Serif TC", Georgia, serif;
  background-image:
    radial-gradient(rgba(20,17,13,0.04) 1px, transparent 1px);
  background-size: 3px 3px;
}

/* Hide all decorative pattern + ampersand watermarks */
html[data-variant="newsprint"] .hero__pattern,
html[data-variant="newsprint"] .hero__amp,
html[data-variant="newsprint"] .gender__pattern,
html[data-variant="newsprint"] .trap__pattern { display: none !important; }

/* Progress + masthead — paper-style */
html[data-variant="newsprint"] .progress-rail .fill { background: var(--np-ink); }
html[data-variant="newsprint"] .masthead {
  mix-blend-mode: normal;
  color: var(--np-ink);
  border-bottom: 1px solid var(--np-rule);
  background: var(--np-paper);
  padding: 12px var(--page-margin-min);
  font-family: "Fraunces", "Noto Serif TC", serif;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: none;
  font-style: italic;
  pointer-events: auto;
}
html[data-variant="newsprint"] .masthead .brand,
html[data-variant="newsprint"] .masthead .meta { color: var(--np-ink); opacity: 1; }
html[data-variant="newsprint"] .masthead .brand img { filter: invert(1) brightness(0.1); }

/* HERO — broadsheet front page */
html[data-variant="newsprint"] .hero {
  background: var(--np-paper);
  border-bottom: 4px double var(--np-ink);
  padding-top: 100px;
}
html[data-variant="newsprint"] .hero__eyebrow {
  font-family: "Fraunces", "Noto Serif TC", serif;
  font-style: italic;
  font-size: 14px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--np-muted);
  border-top: 1px solid var(--np-rule);
  border-bottom: 1px solid var(--np-rule);
  padding: 8px 0;
  margin-bottom: 32px;
}
html[data-variant="newsprint"] .hero__eyebrow .dash { display: none; }
html[data-variant="newsprint"] .hero__title {
  font-family: "Fraunces", "Noto Serif TC", serif !important;
  font-weight: 900 !important;
  font-style: normal !important;
  font-size: clamp(56px, 11vw, 180px) !important;
  letter-spacing: -0.04em !important;
  line-height: 0.88 !important;
  color: var(--np-ink) !important;
  text-align: center;
  max-width: none;
  margin-bottom: 24px;
}
html[data-variant="newsprint"] .hero__title em {
  color: var(--np-ink);
  font-style: italic;
  font-weight: 900;
}
html[data-variant="newsprint"] .hero__lede {
  font-family: "Fraunces", "Noto Serif TC", serif !important;
  font-style: italic;
  font-size: clamp(18px, 1.6vw, 22px) !important;
  text-align: center;
  margin: 24px auto 0;
  max-width: 60ch;
  color: var(--np-ink);
  font-weight: 400;
  border-top: 1px solid var(--np-rule);
  padding-top: 24px;
}

/* CHAPTER plates — section-front style */
html[data-variant="newsprint"] .chapter {
  background: var(--np-paper);
  border-top: 1px solid var(--np-rule);
}
html[data-variant="newsprint"] .chapter__num {
  font-family: "Fraunces", "Noto Serif TC", serif;
  font-style: italic;
  font-size: 14px;
  text-transform: none;
  letter-spacing: 0;
  color: var(--np-red);
  border-top: 1px solid var(--np-rule);
  border-bottom: 1px solid var(--np-rule);
  padding: 6px 0;
  margin-bottom: 32px;
}
html[data-variant="newsprint"] .chapter__title {
  font-family: "Fraunces", "Noto Serif TC", serif !important;
  font-weight: 900 !important;
  font-size: clamp(40px, 6.5vw, 100px) !important;
  letter-spacing: -0.025em !important;
  line-height: 0.96 !important;
  color: var(--np-ink) !important;
}
html[data-variant="newsprint"] .chapter__title strong { color: var(--np-ink); font-style: italic; }
html[data-variant="newsprint"] .chapter__lede {
  font-family: "Fraunces", "Noto Serif TC", serif;
  font-size: 19px;
  font-style: italic;
  color: var(--np-ink);
  font-weight: 400;
  border-left: 3px solid var(--np-ink);
  padding-left: 20px;
}

/* Universal: kill terracotta accent everywhere, swap to ink */
html[data-variant="newsprint"] .hero__title em,
html[data-variant="newsprint"] .gender__copy h2 strong,
html[data-variant="newsprint"] .trust__head h2 strong,
html[data-variant="newsprint"] .trap h2 strong,
html[data-variant="newsprint"] .closing h2 strong { color: var(--np-ink); font-style: italic; }

/* Region rows — ledger-style */
html[data-variant="newsprint"] .divide__copy h3,
html[data-variant="newsprint"] .gender__copy h2,
html[data-variant="newsprint"] .trust__head h2,
html[data-variant="newsprint"] .trap h2,
html[data-variant="newsprint"] .closing h2 {
  font-family: "Fraunces", "Noto Serif TC", serif !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
}

html[data-variant="newsprint"] .region-row { border-bottom: 1px solid var(--np-rule); }
html[data-variant="newsprint"] .region-row:first-child { border-top: 2px solid var(--np-ink) !important; }
html[data-variant="newsprint"] .region-row .name {
  font-family: "Fraunces", "Noto Serif TC", serif;
  font-weight: 700;
  color: var(--np-ink);
}
html[data-variant="newsprint"] .region-row .bar { background: rgba(20,17,13,0.15); }
html[data-variant="newsprint"] .region-row .bar .fill { background: var(--np-ink) !important; }
html[data-variant="newsprint"] .region-row .value { color: var(--np-ink); font-family: "Fraunces", serif; }
html[data-variant="newsprint"] .region-row.negative .value { color: var(--np-red); font-style: italic; }

/* CLIFF — ink-only chart */
html[data-variant="newsprint"] .cliff__vis {
  background: transparent;
  border: 1px solid var(--np-rule);
}
html[data-variant="newsprint"] .cliff__vis svg path[stroke="#B24F25"] { stroke: var(--np-ink) !important; }
html[data-variant="newsprint"] .cliff__vis svg path[fill="#B24F25"] { fill: rgba(20,17,13,0.08) !important; }
html[data-variant="newsprint"] .cliff__vis svg circle[stroke="#B24F25"] { stroke: var(--np-ink) !important; fill: var(--np-paper) !important; }
html[data-variant="newsprint"] .cliff__vis svg text { fill: var(--np-muted) !important; font-family: "Fraunces", serif !important; }

/* GENDER — strip the dark surface, become a paper insert */
html[data-variant="newsprint"] .gender {
  background: var(--np-paper);
  color: var(--np-ink);
  border-top: 4px double var(--np-ink);
  border-bottom: 4px double var(--np-ink);
}
html[data-variant="newsprint"] .gender__copy h2,
html[data-variant="newsprint"] .gender__copy p { color: var(--np-ink); }
html[data-variant="newsprint"] .gender__copy p { font-style: italic; }
html[data-variant="newsprint"] .gauge .label { color: var(--np-ink); }
html[data-variant="newsprint"] .gauge .label strong { color: var(--np-ink); }
html[data-variant="newsprint"] .gauge .track { background: rgba(20,17,13,0.08); }
html[data-variant="newsprint"] .gauge .track .fill { background: var(--np-ink) !important; }
html[data-variant="newsprint"] .gauge .track .val { color: var(--np-paper); font-family: "Fraunces", serif; font-weight: 900; }
html[data-variant="newsprint"] .gauge.light .track .fill { background: var(--np-muted) !important; }
html[data-variant="newsprint"] .gap-callout { border-top: 1px solid var(--np-ink); }
html[data-variant="newsprint"] .gap-callout .num { color: var(--np-red); font-family: "Fraunces", serif; font-weight: 900; font-style: italic; }
html[data-variant="newsprint"] .gap-callout .txt { color: var(--np-ink); }

/* PLATFORMS — two columns separated by ink */
html[data-variant="newsprint"] .platforms { background: var(--np-paper); }
html[data-variant="newsprint"] .platforms__split { border-top: 4px double var(--np-ink); border-bottom: 4px double var(--np-ink); }
html[data-variant="newsprint"] .platforms__col.sc { background: var(--np-paper); }
html[data-variant="newsprint"] .platforms__col.ac { background: var(--np-ink); color: var(--np-paper); }
html[data-variant="newsprint"] .platforms__col.ac h3,
html[data-variant="newsprint"] .platforms__col.ac h3 strong { color: var(--np-paper); font-style: italic; }
html[data-variant="newsprint"] .platforms__col h3 {
  font-family: "Fraunces", "Noto Serif TC", serif !important;
  font-weight: 900 !important;
}

/* TRUST */
html[data-variant="newsprint"] .trust { background: var(--np-paper); }
html[data-variant="newsprint"] .gen-grid { border-top: 4px double var(--np-ink) !important; }
html[data-variant="newsprint"] .gen-cell h3 {
  font-family: "Fraunces", "Noto Serif TC", serif !important;
  font-weight: 900 !important;
}
html[data-variant="newsprint"] .gen-cell .arrow-chart svg path[stroke="#B24F25"],
html[data-variant="newsprint"] .gen-cell .arrow-chart svg polygon[fill="#B24F25"] { stroke: var(--np-ink) !important; fill: var(--np-ink) !important; }
html[data-variant="newsprint"] .gen-cell.neg .delta { color: var(--np-red); font-style: italic; }
html[data-variant="newsprint"] .sub-stat .n { color: var(--np-red); font-family: "Fraunces", serif; font-style: italic; }

/* TRAP */
html[data-variant="newsprint"] .trap { background: var(--np-ink); color: var(--np-paper); }
html[data-variant="newsprint"] .trap h2,
html[data-variant="newsprint"] .trap h2 strong { color: var(--np-paper); font-style: italic; }
html[data-variant="newsprint"] .flip-card { border-color: rgba(242,237,226,0.3); }
html[data-variant="newsprint"] .flip-card .price { font-family: "Fraunces", serif; font-style: italic; }
html[data-variant="newsprint"] .trap__quote blockquote {
  font-family: "Fraunces", "Noto Serif TC", serif !important;
  font-style: italic;
}

/* CLOSING + FOOTER */
html[data-variant="newsprint"] .closing { background: var(--np-paper); border-top: 4px double var(--np-ink); }
html[data-variant="newsprint"] footer.site-foot { background: var(--np-ink); color: var(--np-paper); }

/* Hide tweaks panel decoration; keep functional */
html[data-variant="newsprint"] .tweaks__pill { background: var(--np-ink); }


/* ============================================================
   VARIANT: SWISS — brutalist grid
   Activates when html[data-variant="swiss"]
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Noto+Sans+TC:wght@400;500;700;900&display=swap');

html[data-variant="swiss"] {
  --sw-bg: #FFFFFF;
  --sw-ink: #0A0A0A;
  --sw-rule: #0A0A0A;
  --sw-mute: #888888;
  --sw-signal: #FF2200;     /* hot red, used as signal only */
}

html[data-variant="swiss"] body {
  background: var(--sw-bg);
  color: var(--sw-ink);
  font-family: "Inter", "Noto Sans TC", sans-serif;
  font-feature-settings: "ss01", "cv11";
}

/* Persistent grid baseline */
html[data-variant="swiss"] body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image:
    linear-gradient(to right, rgba(10,10,10,0.04) 1px, transparent 1px);
  background-size: calc(100vw / 12) 100%;
}
html[data-variant="swiss"] section { position: relative; z-index: 2; }
html[data-variant="swiss"] body.tw-grain-on::after { display: none; }
html[data-variant="newsprint"] body.tw-grain-on::after { display: none; }

html[data-variant="swiss"] .hero__pattern,
html[data-variant="swiss"] .hero__amp,
html[data-variant="swiss"] .gender__pattern,
html[data-variant="swiss"] .trap__pattern { display: none !important; }

/* Progress rail */
html[data-variant="swiss"] .progress-rail { height: 4px; background: rgba(10,10,10,0.08); }
html[data-variant="swiss"] .progress-rail .fill { background: var(--sw-signal); }

/* Masthead */
html[data-variant="swiss"] .masthead {
  mix-blend-mode: normal;
  color: var(--sw-ink);
  background: var(--sw-bg);
  border-bottom: 1px solid var(--sw-ink);
  padding: 14px var(--page-margin-min);
  font-family: "Inter", sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  pointer-events: auto;
}
html[data-variant="swiss"] .masthead .brand,
html[data-variant="swiss"] .masthead .meta { color: var(--sw-ink); opacity: 1; }
html[data-variant="swiss"] .masthead .brand img { filter: invert(1) brightness(0); }

/* HERO — left-aligned grid, giant numerals */
html[data-variant="swiss"] .hero {
  background: var(--sw-bg);
  padding-top: 140px;
  border-bottom: 1px solid var(--sw-ink);
}
html[data-variant="swiss"] .hero::before {
  content: "WHR · 2026 / 06";
  position: absolute;
  top: 90px;
  right: var(--page-margin-min);
  font-family: "Inter", sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  color: var(--sw-ink);
  z-index: 3;
}
html[data-variant="swiss"] .hero__eyebrow {
  font-family: "Inter", sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sw-ink);
}
html[data-variant="swiss"] .hero__eyebrow .dash { background: var(--sw-ink); width: 60px; }
html[data-variant="swiss"] .hero__title {
  font-family: "Inter", "Noto Sans TC", sans-serif !important;
  font-weight: 900 !important;
  font-style: normal !important;
  font-size: clamp(72px, 14vw, 220px) !important;
  letter-spacing: -0.055em !important;
  line-height: 0.85 !important;
  color: var(--sw-ink) !important;
  text-transform: uppercase;
  max-width: none;
}
html[data-variant="swiss"] .hero__title em {
  color: var(--sw-signal);
  font-style: normal;
  font-weight: 900;
}
html[data-variant="swiss"] .hero__lede {
  font-family: "Inter", "Noto Sans TC", sans-serif !important;
  font-weight: 400 !important;
  font-size: clamp(16px, 1.4vw, 19px) !important;
  color: var(--sw-ink) !important;
  max-width: 50ch;
  margin-top: 64px;
  border-top: 1px solid var(--sw-ink);
  padding-top: 24px;
}

/* CHAPTER plates — 01.A indexing */
html[data-variant="swiss"] .chapter {
  background: var(--sw-bg);
  border-top: 1px solid var(--sw-ink);
}
html[data-variant="swiss"] .chapter__num {
  font-family: "Inter", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: var(--sw-signal);
  text-transform: uppercase;
}
html[data-variant="swiss"] .chapter__num .slash { color: var(--sw-ink); }
html[data-variant="swiss"] .chapter__title {
  font-family: "Inter", "Noto Sans TC", sans-serif !important;
  font-weight: 900 !important;
  font-style: normal !important;
  font-size: clamp(48px, 7vw, 120px) !important;
  letter-spacing: -0.035em !important;
  line-height: 0.92 !important;
  text-transform: uppercase;
  color: var(--sw-ink) !important;
}
html[data-variant="swiss"] .chapter__title strong { color: var(--sw-signal); font-weight: 900; }
html[data-variant="swiss"] .chapter__lede {
  font-family: "Inter", sans-serif;
  font-size: 18px;
  color: var(--sw-ink);
  max-width: 56ch;
}

/* Universal heading swaps */
html[data-variant="swiss"] .divide__copy h3,
html[data-variant="swiss"] .gender__copy h2,
html[data-variant="swiss"] .trust__head h2,
html[data-variant="swiss"] .trap h2,
html[data-variant="swiss"] .closing h2 {
  font-family: "Inter", "Noto Sans TC", sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: -0.03em !important;
  text-transform: uppercase;
  font-style: normal !important;
}
html[data-variant="swiss"] .gender__copy h2 strong,
html[data-variant="swiss"] .trust__head h2 strong,
html[data-variant="swiss"] .trap h2 strong,
html[data-variant="swiss"] .closing h2 strong,
html[data-variant="swiss"] .chapter__title strong { color: var(--sw-signal); }

/* Region rows — Swiss bars */
html[data-variant="swiss"] .region-row { border-bottom: 1px solid var(--sw-ink); padding: 24px 0; }
html[data-variant="swiss"] .region-row:first-child { border-top: 2px solid var(--sw-ink) !important; }
html[data-variant="swiss"] .region-row .name {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--sw-ink);
}
html[data-variant="swiss"] .region-row .name small { color: var(--sw-mute); }
html[data-variant="swiss"] .region-row .bar { background: rgba(10,10,10,0.1); height: 4px; }
html[data-variant="swiss"] .region-row .bar .fill { background: var(--sw-ink) !important; height: 16px !important; top: -6px !important; }
html[data-variant="swiss"] .region-row.negative .bar .fill { background: var(--sw-signal) !important; }
html[data-variant="swiss"] .region-row .value {
  font-family: "Inter", sans-serif !important;
  font-weight: 900;
  color: var(--sw-ink);
}
html[data-variant="swiss"] .region-row.negative .value { color: var(--sw-signal); }

/* CLIFF — pure ink + signal */
html[data-variant="swiss"] .cliff__vis {
  background: var(--sw-bg);
  border: 1px solid var(--sw-ink);
}
html[data-variant="swiss"] .cliff__vis svg path[stroke="#B24F25"] { stroke: var(--sw-signal) !important; stroke-width: 3 !important; }
html[data-variant="swiss"] .cliff__vis svg path[fill="#B24F25"] { fill: rgba(255,34,0,0.10) !important; }
html[data-variant="swiss"] .cliff__vis svg circle[stroke="#B24F25"] { stroke: var(--sw-signal) !important; fill: var(--sw-bg) !important; }
html[data-variant="swiss"] .cliff__vis svg text { fill: var(--sw-ink) !important; font-family: "Inter", sans-serif !important; font-weight: 600 !important; }

/* GENDER */
html[data-variant="swiss"] .gender {
  background: var(--sw-ink);
  color: var(--sw-bg);
  border-top: 1px solid var(--sw-ink);
  border-bottom: 1px solid var(--sw-ink);
}
html[data-variant="swiss"] .gender__copy h2 { color: var(--sw-bg) !important; }
html[data-variant="swiss"] .gender__copy h2 strong { color: var(--sw-signal); }
html[data-variant="swiss"] .gauge .track { background: rgba(255,255,255,0.08); }
html[data-variant="swiss"] .gauge .track .fill { background: var(--sw-bg) !important; }
html[data-variant="swiss"] .gauge .track .val { color: var(--sw-ink); font-family: "Inter", sans-serif; font-weight: 900; }
html[data-variant="swiss"] .gauge.light .track .fill { background: var(--sw-mute) !important; }
html[data-variant="swiss"] .gap-callout .num { color: var(--sw-signal); font-family: "Inter", sans-serif; font-weight: 900; }

/* PLATFORMS */
html[data-variant="swiss"] .platforms { background: var(--sw-bg); }
html[data-variant="swiss"] .platforms__split { border-top: 1px solid var(--sw-ink) !important; border-bottom: 1px solid var(--sw-ink) !important; }
html[data-variant="swiss"] .platforms__col.sc { background: var(--sw-bg); }
html[data-variant="swiss"] .platforms__col.ac { background: var(--sw-signal); color: var(--sw-bg); }
html[data-variant="swiss"] .platforms__col.ac h3,
html[data-variant="swiss"] .platforms__col.ac h3 strong { color: var(--sw-bg); }
html[data-variant="swiss"] .platforms__col h3 {
  font-family: "Inter", "Noto Sans TC", sans-serif !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  letter-spacing: -0.02em;
}

/* TRUST */
html[data-variant="swiss"] .trust { background: var(--sw-bg); }
html[data-variant="swiss"] .gen-grid { border-top: 1px solid var(--sw-ink) !important; }
html[data-variant="swiss"] .gen-cell h3 {
  font-family: "Inter", "Noto Sans TC", sans-serif !important;
  font-weight: 900 !important;
  text-transform: uppercase;
}
html[data-variant="swiss"] .gen-cell .arrow-chart svg path[stroke="#B24F25"],
html[data-variant="swiss"] .gen-cell .arrow-chart svg polygon[fill="#B24F25"] { stroke: var(--sw-signal) !important; fill: var(--sw-signal) !important; }
html[data-variant="swiss"] .gen-cell.neg .delta { color: var(--sw-signal); }
html[data-variant="swiss"] .sub-stat .n { color: var(--sw-signal); font-family: "Inter", sans-serif; font-weight: 900; }

/* TRAP */
html[data-variant="swiss"] .trap { background: var(--sw-signal); color: var(--sw-bg); }
html[data-variant="swiss"] .trap h2,
html[data-variant="swiss"] .trap h2 strong { color: var(--sw-bg); }
html[data-variant="swiss"] .flip-card { border-color: rgba(255,255,255,0.4); }
html[data-variant="swiss"] .flip-card .price {
  font-family: "Inter", sans-serif !important;
  font-weight: 900 !important;
}

/* CLOSING + FOOTER */
html[data-variant="swiss"] .closing { background: var(--sw-bg); border-top: 1px solid var(--sw-ink); }
html[data-variant="swiss"] .closing h2 strong { color: var(--sw-signal); }
html[data-variant="swiss"] footer.site-foot { background: var(--sw-ink); color: var(--sw-bg); }

/* ============================================================
   Variant switcher chip (always visible top-right)
   ============================================================ */
.variant-switch {
  position: fixed;
  top: 14px;
  right: 14px;
  z-index: 90;
  display: flex;
  gap: 0;
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(0,0,0,0.15);
  backdrop-filter: blur(8px);
  font-family: "Inter", sans-serif;
}
.variant-switch button {
  background: transparent;
  border: none;
  padding: 7px 12px;
  font-family: "Inter", sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.55);
  cursor: pointer;
  border-right: 1px solid rgba(0,0,0,0.1);
}
.variant-switch button:last-child { border-right: none; }
.variant-switch button:hover { color: #000; }
.variant-switch button.active { background: #0A0A0A; color: #FFFFFF; }
html[data-variant="swiss"] .variant-switch { border-radius: 0; }
html[data-variant="newsprint"] .variant-switch { background: #F2EDE2; border-color: #14110D; }
html[data-variant="newsprint"] .variant-switch button { font-family: "Fraunces", serif; font-style: italic; text-transform: none; letter-spacing: 0; font-size: 13px; }
html[data-variant="newsprint"] .variant-switch button.active { background: #14110D; color: #F2EDE2; }

/* ============================================================
   Phone breakpoint — variants
   ============================================================ */
@media (max-width: 600px) {
  /* Variant switch — shrink so it doesn't dominate the corner */
  .variant-switch { top: 10px; right: 10px; }
  .variant-switch button { padding: 6px 9px; font-size: 9px; letter-spacing: 0.08em; }
  html[data-variant="newsprint"] .variant-switch button { font-size: 11px; padding: 5px 9px; }

  /* ---- NEWSPRINT ---- */
  html[data-variant="newsprint"] .hero__title { font-size: clamp(46px, 12vw, 80px) !important; line-height: 0.98 !important; }
  html[data-variant="newsprint"] .chapter__title,
  html[data-variant="newsprint"] .gender__copy h2,
  html[data-variant="newsprint"] .trust__head h2,
  html[data-variant="newsprint"] .trap h2,
  html[data-variant="newsprint"] .closing h2 { font-size: clamp(32px, 8vw, 52px) !important; line-height: 1.1 !important; }
  html[data-variant="newsprint"] .hero__lede { font-size: 17px !important; }
  /* Newsprint masthead/byline density relaxed */
  html[data-variant="newsprint"] .masthead { padding: 10px 6vw; font-size: 10px; }

  /* ---- SWISS ---- */
  /* Hide the 12-col grid baseline — too narrow on phones */
  html[data-variant="swiss"] body::before { display: none; }
  html[data-variant="swiss"] .hero__title { font-size: clamp(56px, 16vw, 96px) !important; line-height: 0.95 !important; letter-spacing: -0.02em !important; }
  html[data-variant="swiss"] .chapter__title,
  html[data-variant="swiss"] .gender__copy h2,
  html[data-variant="swiss"] .trust__head h2,
  html[data-variant="swiss"] .trap h2,
  html[data-variant="swiss"] .closing h2 { font-size: clamp(36px, 10vw, 64px) !important; line-height: 1.0 !important; }
  html[data-variant="swiss"] .hero__lede { font-size: 16px !important; }
  html[data-variant="swiss"] .masthead { padding: 12px 6vw; font-size: 10px; }
}
