/* Premium article skin: Guitar Legend, Gear & Rigs and News articles (inc/premium-articles.php, flags premium_legend|gear|news).
   Loaded only while a premium type is active; scoped under body.gg-premium / html.gp-html. Values from home-headliner.css
   (night/bone/red, Oswald + Source Sans 3, the Headliner easings). editorial.css and the Headliner files are never touched.
   Motion (emil-design-eng): transform/opacity/clip-path only, ease-out, UI < 300 ms, :active scale(.97), hover behind
   (hover: hover) and (pointer: fine), keyboard actions not animated, reduced motion = opacity only, no loops. The article
   title paints in its final state on the first frame. Numerals on headings and contents are CSS counters, never text (D3). */

html.gp-html { background: #0A0909; scroll-padding-top: calc(var(--wp-admin--admin-bar--height, 0px) + 84px); }

body.gg-premium {
  --gp-night: #0A0909; --gp-night-2: #141211; --gp-night-3: #1E1B19;
  --gp-bone: #EFE9DE; --gp-smoke: #A39A90; --gp-ink: #14110F; --gp-ink-2: #5A524A;
  --gp-red: #D42E20; --gp-red-hi: #F2604E; --gp-red-ink: #C02A1D; --gp-red-bone: #B3271B;
  --gp-brass: #C9A15A; --gp-brass-hi: #DCB976; --gp-brass-lo: #B38B45;
  --gp-tint: rgb(239 233 222 / 0.16);
  --gp-hair: rgb(239 233 222 / 0.16);
  --gp-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --gp-ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --gp-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
  --gp-f-display: "Oswald", "Oswald Fallback", "Arial Narrow", Impact, sans-serif;
  --gp-f-text: "Source Sans 3", "Source Sans Fallback", system-ui, -apple-system, "Segoe UI", sans-serif;
  --gp-gutter: 32px;
  --gp-nav-h: 64px;
  --gp-top: var(--wp-admin--admin-bar--height, 0px);
  --gp-measure: 720px;
  --gp-tex-tolex: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='t'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .62 0 0 0 0 .58 0 0 0 0 .54 0 0 0 .9 -.34'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23t)'/%3E%3C/svg%3E"); --gp-tex-grille: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='M0 3h12M0 9h12' stroke='%23423c38' stroke-width='3'/%3E%3Cpath d='M3 0v12M9 0v12' stroke='%23181513' stroke-width='3' opacity='.85'/%3E%3C/svg%3E"); --gp-tex-smoke: radial-gradient(60% 50% at 72% 18%, rgb(239 233 222 / 0.12), transparent 70%), radial-gradient(50% 40% at 22% 62%, rgb(239 233 222 / 0.07), transparent 70%), radial-gradient(40% 30% at 86% 78%, rgb(212 46 32 / 0.12), transparent 70%); /* data-URI / gradient textures: no request, never an LCP candidate */
  --sticky-offset: calc(var(--gp-nav-h) + 8px);
  /* motion tokens: reduced motion flips these, nothing else needs to know */
  --gp-shift: 24px;
  --gp-d-hero: 400ms;

  margin: 0;
  background: var(--gp-night);
  color: var(--gp-bone);
  font-family: var(--gp-f-text);
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
}
@media (max-width: 700px) { body.gg-premium { --gp-gutter: 16px; --gp-nav-h: 56px; } }
@media (max-width: 600px) { body.gg-premium { --gp-top: 0px; } }
@media (prefers-reduced-motion: reduce) {
  body.gg-premium { --gp-shift: 0px; --gp-d-hero: 150ms; }
}
body.gg-premium::before { display: none; } /* the paper-grain layer reads wrong on night */
body.gg-premium ::selection { background: var(--gp-red); color: var(--gp-bone); }
body.gg-premium .site-main.gp-main { position: relative; z-index: 1; margin: 0; padding: 0; max-width: none; background: transparent; }
body.gg-premium:not(.gg-premium--legend) .gp-main { padding-top: calc(var(--gp-nav-h) + var(--gp-top)); }
body.gg-premium :focus-visible { outline: 2px solid var(--gp-red-hi); outline-offset: 2px; box-shadow: 0 0 0 5px var(--gp-night); }
body.gg-premium--news .gp-shell :focus-visible { outline-color: var(--gp-red-bone); box-shadow: 0 0 0 5px var(--gp-bone); }
body.gg-premium .skip-link { --focus-ring: var(--gp-bone); }
body.gg-premium .gp-wrap { width: 100%; max-width: 1680px; margin-inline: auto; padding-inline: var(--gp-gutter); }
body.gg-premium img { max-width: 100%; height: auto; }

/* Legacy tokens repointed for the night register (the pattern lab.css uses), so every ADR-0012 component and the */
body.gg-premium--legend, body.gg-premium--gear {
  --paper: #0A0909; --paper-2: #141211; --paper-3: #2B2623;
  --ink: #EFE9DE; --ink-2: #CFC8BC; --ink-3: #A39A90; --line: rgb(239 233 222 / 0.35);
  --red: #F2604E; --red-2: #F2604E; --accent: #F2604E; --accent-contrast: #14110F;
  --gold: #D9A441; --teal: #4FB3A9; --orange: #E8803F;
  --cb-confirmed: #7FBF6A; --cb-documented: #6FA8C9; --cb-reported: #D2A44A; --cb-uncertain: #A39A90; --cb-disputed: #F2604E;
  --focus-ring: #EFE9DE;
}

/* The site footer is already an ink surface built from the default tokens: give it those back. */
body.gg-premium .site-footer { --paper: #ede6d3; --paper-2: #f6f1e6; --paper-3: #e2d9c2; --ink: #161311; --ink-2: #3d3733; --ink-3: #635b56; --line: #161311; --red: #b8231f; --accent: #b8231f; --focus-ring: #f6f1e6; }

/* Header: docked nav (brand as a link, never an h1), section links with a sliding underline, reading progress */
body.gg-premium .gp-nav { position: fixed; inset: var(--gp-top) 0 auto 0; z-index: 60; height: var(--gp-nav-h); }
body.gg-premium .gp-nav__bg { position: absolute; inset: 0; background: rgb(10 9 9 / 0.97); transition: opacity 200ms var(--gp-ease-out); }
body.gg-premium .gp-nav::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--gp-hair); transition: opacity 200ms var(--gp-ease-out); }
/* The Legend cover runs under a transparent nav until the page scrolls (with JS only). */
html.gp-js body.gg-premium--legend .gp-nav:not(.is-solid) .gp-nav__bg, html.gp-js body.gg-premium--legend .gp-nav:not(.is-solid)::after { opacity: 0; }
body.gg-premium .gp-nav__inner { position: relative; display: flex; align-items: center; height: 100%; padding-inline: var(--gp-gutter); gap: 20px; max-width: 1920px; margin-inline: auto; }
body.gg-premium .gp-nav__brand { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; flex: none; font: 700 22px/0.9 var(--gp-f-display); letter-spacing: 0.01em; text-transform: uppercase; color: var(--gp-bone); transition: transform 120ms var(--gp-ease-out); }
body.gg-premium .gp-nav__brand:active { transform: scale(0.97); }
body.gg-premium .gp-nav__brand b { display: inline-block; width: 12px; height: 26px; background: var(--gp-red); transform: skewX(-14deg); flex: none; }
body.gg-premium .gp-nav__brand span span { color: var(--gp-red-hi); margin-left: 0.28em; }
body.gg-premium .gp-nav__links { position: relative; align-self: stretch; display: none; align-items: center; margin-left: auto; }
body.gg-premium .gp-nav__links ul { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; }
body.gg-premium .gp-nav__a, body.gg-premium .gp-nav__search { position: relative; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 0; background: none; font: 500 15px/1 var(--gp-f-display); letter-spacing: 0.13em; text-transform: uppercase; color: var(--gp-smoke); transition: color 160ms var(--gp-ease-out), transform 120ms var(--gp-ease-out); }
body.gg-premium .gp-nav__a:active, body.gg-premium .gp-nav__search:active { transform: scale(0.97); }
body.gg-premium .gp-nav__a[aria-current] { color: var(--gp-bone); }
body.gg-premium .gp-nav__search kbd { font: 500 12px/1 var(--gp-f-display); letter-spacing: 0.04em; padding: 5px 6px; border: 1px solid rgb(239 233 222 / 0.35); color: var(--gp-smoke); }
body.gg-premium .gp-nav__ind { position: absolute; left: 0; bottom: 8px; width: 1px; height: 3px; background: var(--gp-red); transform-origin: 0 50%; transform: translateX(0) scaleX(0); opacity: 0; transition: transform 240ms var(--gp-ease-out), opacity 160ms linear; pointer-events: none; }
body.gg-premium .gp-nav__ind.is-on { opacity: 1; }
html:not(.gp-js) body.gg-premium .gp-nav__a[aria-current] { box-shadow: inset 0 -3px 0 var(--gp-red); }
@media (hover: hover) and (pointer: fine) { body.gg-premium .gp-nav__a:hover, body.gg-premium .gp-nav__search:hover { color: var(--gp-bone); } }
body.gg-premium .gp-nav__actions { display: flex; margin-left: auto; align-items: center; gap: 2px; }
body.gg-premium .gp-iconbtn { width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; border: 0; background: none; color: var(--gp-bone); cursor: pointer; transition: transform 120ms var(--gp-ease-out), color 160ms var(--gp-ease-out); }
body.gg-premium .gp-iconbtn:active { transform: scale(0.97); }
body.gg-premium .gp-bars { position: relative; width: 24px; height: 14px; display: block; }
body.gg-premium .gp-bars i { position: absolute; left: 0; right: 0; top: 0; height: 2px; background: currentColor; }
body.gg-premium .gp-bars i:last-child { transform: translateY(12px); }
@media (min-width: 64rem) {
  body.gg-premium .gp-nav__links { display: flex; }
  body.gg-premium .gp-nav__actions { display: none; }
}
body.gg-premium .gp-progress { position: absolute; left: 0; right: 0; bottom: -3px; height: 3px; pointer-events: none; }
body.gg-premium .gp-progress i { display: block; height: 100%; background: var(--gp-red); transform: scaleX(var(--p, 0)); transform-origin: 0 50%; }
html:not(.gp-js) body.gg-premium .gp-progress { display: none; }

/* Shared hero parts */
body.gg-premium .gp-hero { position: relative; background: var(--gp-night); color: var(--gp-bone); }
body.gg-premium .gp-hero a { color: inherit; text-decoration: none; }
body.gg-premium .gp-crumbs { font: 500 13px/1.3 var(--gp-f-display); letter-spacing: 0.16em; text-transform: uppercase; color: var(--gp-smoke); }
body.gg-premium .gp-crumbs .breadcrumbs { width: auto; max-width: none; margin: 0; padding: 0; font: inherit; color: inherit; }
body.gg-premium .gp-crumbs ol { display: flex; flex-wrap: wrap; gap: 4px 0; list-style: none; margin: 0; padding: 0; font: inherit; color: inherit; }
body.gg-premium .gp-crumbs li { display: inline-flex; align-items: center; gap: 0; }
body.gg-premium .gp-crumbs li:not(:last-child)::after { content: "/"; margin-inline: 0.7em; color: var(--gp-red-hi); }
body.gg-premium .gp-crumbs a { display: inline-flex; align-items: center; min-height: 24px; color: var(--gp-smoke); text-decoration: none; }
/* the last crumb is the full article title: one line, truncated, never dominating the hero */
body.gg-premium .gp-crumbs [aria-current="page"] { display: inline-block; max-width: 48ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; color: var(--gp-bone); }
/* AIOSEO's own trail (production): same look, markup untouched */
body.gg-premium .gp-crumbs .aioseo-breadcrumbs { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 0; margin: 0; font: inherit; color: var(--gp-smoke); }
body.gg-premium .gp-crumbs .aioseo-breadcrumbs a { color: var(--gp-smoke); text-decoration: none; }
body.gg-premium .gp-crumbs .aioseo-breadcrumb-separator { margin-inline: 0.7em; color: var(--gp-red-hi); }
body.gg-premium .gp-crumbs .aioseo-breadcrumbs > .aioseo-breadcrumb:last-child { display: inline-block; max-width: 48ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; color: var(--gp-bone); }
@media (max-width: 700px) { body.gg-premium .gp-crumbs [aria-current="page"], body.gg-premium .gp-crumbs .aioseo-breadcrumbs > .aioseo-breadcrumb:last-child { max-width: 22ch; } }
@media (hover: hover) and (pointer: fine) { body.gg-premium .gp-crumbs a:hover { color: var(--gp-bone); } }

body.gg-premium .gp-kicker { display: inline-flex; align-items: center; gap: 14px; margin: 0 0 clamp(14px, 2vh, 24px); font: 500 13px/1 var(--gp-f-display); letter-spacing: 0.24em; text-transform: uppercase; color: var(--gp-red-hi); }
body.gg-premium .gp-kicker::before { content: ""; width: 34px; height: 2px; background: var(--gp-red); flex: none; }
body.gg-premium .gp-kicker a { display: inline-flex; align-items: center; min-height: 24px; color: inherit; }

body.gg-premium .gp-h1 { margin: 0; font-family: var(--gp-f-display); font-weight: 700; text-transform: uppercase; letter-spacing: -0.014em; line-height: 0.9; overflow-wrap: anywhere; text-wrap: balance; color: var(--gp-bone); }

body.gg-premium .gp-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; margin: 14px 0 0; font: 500 13px/1.4 var(--gp-f-display); letter-spacing: 0.16em; text-transform: uppercase; color: var(--gp-smoke); }
body.gg-premium .gp-meta > * { font: inherit; letter-spacing: inherit; text-transform: inherit; color: inherit; }
body.gg-premium .gp-meta > * + *::before { content: "/"; margin-inline: 0.7em; color: var(--gp-red-hi); }

body.gg-premium .gp-btn { display: inline-flex; align-items: center; gap: 12px; min-height: 48px; padding: 0 22px; border: 0; background: var(--gp-red-ink); color: var(--gp-bone); font: 600 16px/1 var(--gp-f-display); letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer; transition: transform 160ms var(--gp-ease-out), background-color 200ms var(--gp-ease-out); }
body.gg-premium .gp-btn:active { transform: scale(0.97); }
body.gg-premium .gp-btn svg { width: 1.1em; height: 1.1em; flex: none; }
@media (hover: hover) and (pointer: fine) { body.gg-premium .gp-btn:hover { background: var(--gp-red-bone); color: var(--gp-bone); } }

/* share: three icon buttons (+ native share where the browser has it); the "copied" note is a polite live region */
body.gg-premium .gp-share { display: grid; gap: 8px; }
body.gg-premium .gp-share__lead { margin: 0; font: 500 12px/1 var(--gp-f-display); letter-spacing: 0.22em; text-transform: uppercase; color: var(--gp-smoke); }
body.gg-premium .gp-share__links { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
body.gg-premium .gp-share__btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-width: 44px; min-height: 44px; padding: 0 10px; border: 1px solid transparent; background: none; color: var(--gp-bone); font: 600 13px/1 var(--gp-f-display); letter-spacing: 0.16em; text-transform: uppercase; cursor: pointer; transition: transform 120ms var(--gp-ease-out), background-color 200ms var(--gp-ease-out), color 200ms var(--gp-ease-out), border-color 200ms var(--gp-ease-out); }
body.gg-premium .gp-share__btn[hidden] { display: none; }
body.gg-premium .gp-share__btn:active { transform: scale(0.97); }
body.gg-premium .gp-share__btn svg { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; }
body.gg-premium .gp-share--end .gp-share__btn { border-color: var(--gp-hair); }
@media (hover: hover) and (pointer: fine) { body.gg-premium .gp-share__btn:hover { background: var(--gp-bone); color: var(--gp-ink); } }
body.gg-premium .gp-share__feedback { min-width: 0; font: 500 12px/1 var(--gp-f-display); letter-spacing: 0.16em; text-transform: uppercase; color: var(--gp-red-hi); }
body.gg-premium .gp-share__feedback:empty { display: none; }

body.gg-premium .gp-credit { margin: 10px 0 0; font: 400 13px/1.45 var(--gp-f-text); color: var(--gp-smoke); }

/* Legend hero: the cover */
body.gg-premium .gp-hero--legend { height: min(100svh, 980px); min-height: 640px; overflow: hidden; isolation: isolate; }
body.gg-premium .gp-hero--legend.gp-hero--type { height: auto; min-height: min(72svh, 720px); display: flex; flex-direction: column; }
body.gg-premium .gp-hero__photo { position: absolute; inset: -9% 0 0 0; z-index: -3; will-change: transform; }
body.gg-premium .gp-hero__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 24%; background: var(--gp-night-3); }
body.gg-premium .gp-hero__backdrop { position: absolute; inset: 0; z-index: -3; background: radial-gradient(120% 90% at 18% 100%, rgb(212 46 32 / 0.2), transparent 60%), var(--gp-tex-smoke), var(--gp-night-2); opacity: 1; }
body.gg-premium .gp-hero__scrim { position: absolute; inset: 0; z-index: -1; background:
  linear-gradient(to bottom, rgb(10 9 9 / 0.82) 0, rgb(10 9 9 / 0.4) 16%, rgb(10 9 9 / 0) 34%),
  linear-gradient(to top, rgb(10 9 9 / 0.97) 0, rgb(10 9 9 / 0.78) 30%, rgb(10 9 9 / 0) 66%),
  linear-gradient(to right, rgb(10 9 9 / 0.6) 0, rgb(10 9 9 / 0) 52%); }
body.gg-premium .gp-hero--legend .gp-hero__top { position: absolute; left: 0; right: 0; top: calc(var(--gp-top) + var(--gp-nav-h) + 22px); }
body.gg-premium .gp-hero--legend.gp-hero--type .gp-hero__top { position: relative; top: auto; padding-top: calc(var(--gp-top) + var(--gp-nav-h) + 22px); }
body.gg-premium .gp-hero--legend .gp-hero__body { position: absolute; left: 0; right: 0; bottom: clamp(30px, 6vh, 64px); display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
body.gg-premium .gp-hero--legend.gp-hero--type .gp-hero__body { position: relative; bottom: auto; margin-top: auto; padding-block: clamp(48px, 9vh, 120px) clamp(36px, 6vh, 72px); }
body.gg-premium .gp-hero__title { min-width: 0; }
body.gg-premium .gp-hero--legend .gp-h1--xl { font-size: clamp(56px, 11.4vw, 210px); }
body.gg-premium .gp-hero--legend .gp-h1--l { font-size: clamp(40px, 7.4vw, 128px); }
body.gg-premium .gp-hero--legend .gp-h1--m { font-size: clamp(34px, 5.6vw, 92px); }
body.gg-premium .gp-hero--legend .gp-h1--s { font-size: clamp(30px, 4.4vw, 72px); }
body.gg-premium .gp-hero--legend .gp-hero__side { flex: 0 0 min(100%, 380px); padding-bottom: 6px; }
body.gg-premium .gp-hero__dek { margin: 0; font-size: clamp(18px, 1.4vw, 21px); line-height: 1.5; color: var(--gp-bone); }
body.gg-premium .gp-hero__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; margin-top: 22px; }
body.gg-premium .gp-hero--legend .gp-hero__credit { position: absolute; right: var(--gp-gutter); bottom: 12px; margin: 0; max-width: 46ch; font-size: 12.5px; line-height: 1.3; color: var(--gp-smoke); text-align: right; }
body.gg-premium .gp-hero--legend.gp-hero--type .gp-hero__credit { display: none; }
@media (max-width: 1100px) {
  body.gg-premium .gp-hero--legend .gp-hero__body { flex-direction: column; align-items: flex-start; gap: 22px; bottom: 46px; }
  body.gg-premium .gp-hero--legend .gp-hero__side { flex-basis: auto; max-width: 520px; }
  body.gg-premium .gp-hero--legend .gp-hero__credit { left: var(--gp-gutter); right: auto; text-align: left; }
  body.gg-premium .gp-hero--legend.gp-hero--type .gp-hero__body { bottom: auto; }
}
@media (max-width: 700px) {
  body.gg-premium .gp-hero--legend { min-height: 700px; }
  body.gg-premium .gp-hero--legend.gp-hero--type { min-height: 0; }
  body.gg-premium .gp-hero__photo img { object-position: 54% 22%; }
  body.gg-premium .gp-hero__dek { font-size: 17px; line-height: 1.45; }
}

/* Gear hero: the product plate (tolex plate, brass screws, brass label strip) */
body.gg-premium .gp-hero--gear { isolation: isolate; overflow: clip; padding: 22px 0 clamp(28px, 3vw, 44px); }
body.gg-premium .gp-hero--gear .gp-hero__top { padding-top: 10px; border-top: 1px solid rgb(239 233 222 / 0.3); }
body.gg-premium .gp-stage { position: relative; margin-top: clamp(22px, 3vw, 40px); }
body.gg-premium .gp-stage::before { content: ""; position: absolute; z-index: -1; left: 50%; width: 100vw; transform: translateX(-50%); top: 40%; bottom: calc(-1 * clamp(14px, 1.6vw, 22px));
  background: linear-gradient(to bottom, rgb(10 9 9 / 0.72), rgb(10 9 9 / 0.45) 40%, rgb(10 9 9 / 0.7)), var(--gp-tex-grille) center / 12px 12px, var(--gp-night-3);
  border-top: 2px solid var(--gp-brass); box-shadow: 0 -5px 0 -3px rgb(201 161 90 / 0.35), inset 0 10px 24px rgb(0 0 0 / 0.6); }
body.gg-premium .gp-hero--gear.gp-hero--type-plate .gp-stage::before, body.gg-premium .gp-hero--gear.gp-hero--type-plate-compact .gp-stage::before { top: 0; }
body.gg-premium .gp-plate { position: relative; max-width: 1180px; margin: 0 auto; padding: clamp(10px, 1.5vw, 20px); background: var(--gp-tex-tolex) center / 160px 160px, #0c0b0a; border: 1px solid rgb(201 161 90 / 0.4);
  box-shadow: 0 40px 70px -28px rgb(0 0 0 / 0.85), 0 0 0 5px rgb(10 9 9 / 0.9), 0 0 0 6px rgb(201 161 90 / 0.28), inset 0 0 0 1px rgb(0 0 0 / 0.7); }
body.gg-premium .gp-plate__img { width: 100%; aspect-ratio: var(--ar, 16 / 10); max-height: min(46vh, 480px); object-fit: cover; object-position: 50% 40%; background: var(--gp-night-3); box-shadow: 0 0 0 1px rgb(0 0 0 / 0.8); }
body.gg-premium .gp-plate--contain .gp-plate__img { object-fit: contain; }
body.gg-premium .gp-screw { position: absolute; z-index: 2; width: 12px; height: 12px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #f0d89a 0, var(--gp-brass) 45%, #7d5f2b 100%); box-shadow: 0 1px 2px rgb(0 0 0 / 0.8), inset 0 0 0 1px rgb(0 0 0 / 0.3); }
body.gg-premium .gp-screw::after { content: ""; position: absolute; left: 2px; right: 2px; top: calc(50% - 0.75px); height: 1.5px; background: rgb(20 17 15 / 0.75); transform: rotate(var(--r, 35deg)); }
body.gg-premium .gp-screw--tl { left: 4px; top: 4px; } body.gg-premium .gp-screw--tr { right: 4px; top: 4px; --r: -20deg; }
body.gg-premium .gp-screw--bl { left: 4px; bottom: 4px; --r: 70deg; } body.gg-premium .gp-screw--br { right: 4px; bottom: 4px; --r: 5deg; }
body.gg-premium .gp-label { position: relative; z-index: 3; max-width: 1180px; margin: calc(-1 * clamp(26px, 4.4vw, 64px)) auto 0; padding: clamp(14px, 1.8vw, 22px) clamp(32px, 4vw, 56px) clamp(14px, 1.7vw, 22px);
  color: var(--gp-ink); background: repeating-linear-gradient(90deg, rgb(255 255 255 / 0.07) 0 1px, transparent 1px 3px), linear-gradient(180deg, var(--gp-brass-hi), var(--gp-brass) 42%, var(--gp-brass-lo));
  box-shadow: 0 22px 40px -18px rgb(0 0 0 / 0.8), inset 0 1px 0 rgb(255 255 255 / 0.45), inset 0 -1px 0 rgb(0 0 0 / 0.35); }
body.gg-premium .gp-hero--type-plate .gp-label, body.gg-premium .gp-hero--type-plate-compact .gp-label { margin-top: 0; }
body.gg-premium .gp-hero--type-plate .gp-label { padding-block: clamp(26px, 3.4vw, 52px); }
body.gg-premium .gp-label .gp-screw { top: 50%; margin-top: -6px; left: 14px; bottom: auto; }
body.gg-premium .gp-label .gp-screw + .gp-screw { left: auto; right: 14px; }
body.gg-premium .gp-label__eng { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 24px; margin: 0; font: 600 12px/1.2 var(--gp-f-display); letter-spacing: 0.26em; text-transform: uppercase; color: var(--gp-ink); text-shadow: 0 1px 0 rgb(255 255 255 / 0.3); }
body.gg-premium .gp-label__eng a, body.gg-premium .gp-label__eng time { color: var(--gp-ink); }
body.gg-premium .gp-label__eng a { display: inline-flex; align-items: center; min-height: 24px; text-decoration: none; }
body.gg-premium .gp-label__title { margin: clamp(6px, 1vw, 12px) 0 0; font-family: var(--gp-f-display); font-weight: 700; text-transform: uppercase; letter-spacing: -0.012em; line-height: 0.92; color: var(--gp-ink); text-shadow: 0 2px 0 rgb(255 255 255 / 0.22); overflow-wrap: anywhere; text-wrap: balance; }
body.gg-premium .gp-label__title.gp-h1--xl { font-size: clamp(40px, 8.6vw, 132px); }
body.gg-premium .gp-label__title.gp-h1--l { font-size: clamp(32px, 5.6vw, 84px); }
body.gg-premium .gp-label__title.gp-h1--m { font-size: clamp(28px, 4.2vw, 64px); }
body.gg-premium .gp-label__title.gp-h1--s { font-size: clamp(24px, 3.4vw, 50px); }
/* compact plate for short articles: about 40% less vertical padding, same identity */
body.gg-premium .gp-hero--gear.gp-hero--plate-compact, body.gg-premium .gp-hero--gear.gp-hero--type-plate-compact { padding-bottom: clamp(20px, 2.4vw, 32px); }
body.gg-premium .gp-hero--plate-compact .gp-stage, body.gg-premium .gp-hero--type-plate-compact .gp-stage { margin-top: clamp(14px, 1.8vw, 24px); }
body.gg-premium .gp-hero--plate-compact .gp-stage::before, body.gg-premium .gp-hero--type-plate-compact .gp-stage::before { bottom: calc(-1 * clamp(10px, 1.2vw, 16px)); }
body.gg-premium .gp-hero--plate-compact .gp-plate { padding: clamp(6px, 0.9vw, 12px); }
body.gg-premium .gp-hero--plate-compact .gp-plate__img { max-height: min(30vh, 300px); }
body.gg-premium .gp-hero--plate-compact .gp-label { padding-block: clamp(8px, 1.1vw, 13px); margin-top: calc(-1 * clamp(16px, 2.6vw, 38px)); }
body.gg-premium .gp-hero--type-plate-compact .gp-label { padding-block: clamp(12px, 1.6vw, 22px); }
body.gg-premium .gp-hero--gear .gp-credit { position: relative; z-index: 1; width: fit-content; max-width: min(1180px, 100%); margin: 10px auto 0 max(0px, calc((100% - 1180px) / 2)); padding: 4px 10px; background: rgb(10 9 9 / 0.92); }
body.gg-premium .gp-intro { display: grid; gap: 18px 56px; max-width: 1180px; margin: clamp(36px, 3.4vw, 48px) auto 0; }
body.gg-premium .gp-hero--plate-compact .gp-intro, body.gg-premium .gp-hero--type-plate-compact .gp-intro { margin-top: clamp(28px, 2.6vw, 36px); }
body.gg-premium .gp-intro .gp-meta { margin-top: 10px; }
body.gg-premium .gp-intro__dek { margin: 0; max-width: 46ch; font-size: clamp(20px, 1.9vw, 27px); line-height: 1.45; color: var(--gp-bone); text-wrap: pretty; }
body.gg-premium .gp-intro__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; }
@media (min-width: 900px) { body.gg-premium .gp-intro { grid-template-columns: minmax(0, 1fr) auto; align-items: end; } body.gg-premium .gp-intro__cta { flex-direction: column; align-items: stretch; } }

/* News hero: the wire (the photograph keeps its natural aspect ratio) */
body.gg-premium .gp-hero--news { border-bottom: 1px solid var(--gp-hair); }
body.gg-premium .gp-hero--news.gp-hero--type { background: var(--gp-night-2); overflow: hidden; }
body.gg-premium .gp-hero--news.gp-hero--type::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: var(--gp-tex-grille) center / 12px 12px; opacity: 0.08; mix-blend-mode: screen; }
body.gg-premium .gp-hero--news .gp-hero__in { position: relative; display: grid; gap: 22px; max-width: 1440px; padding-block: clamp(28px, 4vw, 56px) clamp(28px, 4vw, 52px); }
body.gg-premium .gp-hero--news.gp-hero--type .gp-hero__in { max-width: 1200px; padding-block: clamp(40px, 7vw, 112px) clamp(28px, 4vw, 52px); }
body.gg-premium .gp-hero__text { display: grid; gap: 22px; align-content: end; min-width: 0; }
body.gg-premium .gp-newskick { margin: 0; display: flex; align-items: center; gap: 14px; font: 600 13px/1 var(--gp-f-display); letter-spacing: 0.24em; text-transform: uppercase; }
body.gg-premium .gp-newskick__label { display: inline-flex; align-items: center; gap: 10px; min-height: 30px; padding: 8px 12px 7px; background: var(--gp-red-bone); color: var(--gp-bone); }
body.gg-premium .gp-live { width: 8px; height: 8px; border-radius: 50%; background: var(--gp-bone); flex: none; }
body.gg-premium .gp-h1--news { font-size: clamp(38px, 6.1vw, 92px); line-height: 0.94; }
body.gg-premium .gp-h1--news.gp-h1--xl { font-size: clamp(40px, 6.4vw, 96px); }
body.gg-premium .gp-h1--news.gp-h1--l { font-size: clamp(34px, 5vw, 76px); }
body.gg-premium .gp-h1--news.gp-h1--m { font-size: clamp(30px, 4vw, 60px); }
body.gg-premium .gp-h1--news.gp-h1--s { font-size: clamp(27px, 3.4vw, 48px); }
body.gg-premium .gp-hero--news.gp-hero--type .gp-h1--news { max-width: 18ch; }
body.gg-premium .gp-standfirst { margin: 0; max-width: 40ch; font: 400 clamp(19px, 1.7vw, 24px)/1.45 var(--gp-f-text); color: rgb(239 233 222 / 0.86); text-wrap: pretty; }
body.gg-premium .gp-hero--news.gp-hero--type .gp-standfirst { max-width: 36ch; padding-top: 18px; border-top: 2px solid var(--gp-red); font-size: clamp(20px, 2vw, 28px); }
body.gg-premium .gp-byline { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 18px; padding-block: 4px; border-block: 1px solid var(--gp-hair); }
body.gg-premium .gp-byline .gp-meta { margin: 0; padding-block: 8px; }
body.gg-premium .gp-hero__fig { margin: 0; min-width: 0; }
/* natural aspect ratio: width/height attributes reserve the box, height:auto keeps the file's own ratio, no crop */
body.gg-premium .gp-hero__fig .gp-hero__img { display: block; width: auto; max-width: 100%; height: auto; max-height: min(78vh, 760px); background: var(--gp-night-3); }
@media (min-width: 1000px) {
  body.gg-premium .gp-hero--news.gp-hero--natural .gp-hero__in { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); column-gap: clamp(32px, 4vw, 72px); align-items: end; }
  body.gg-premium .gp-hero--natural .gp-hero__fig { align-self: end; }
  body.gg-premium .gp-hero--natural .gp-h1--news { font-size: clamp(34px, 4.4vw, 72px); }
}
/* sticky mini header: takes over from the nav once the headline has scrolled away */
body.gg-premium .gp-mini { position: fixed; inset: var(--gp-top) 0 auto 0; z-index: 62; height: var(--gp-nav-h); background: var(--gp-night); border-bottom: 1px solid var(--gp-hair); transform: translateY(-100%); visibility: hidden; transition: transform 220ms var(--gp-ease-drawer), visibility 0s linear 220ms; display: none; }
html.gp-js body.gg-premium .gp-mini { display: block; }
body.gg-premium .gp-mini.is-on { transform: none; visibility: visible; transition-delay: 0s; }
body.gg-premium .gp-mini__in { display: flex; align-items: center; gap: 16px; height: 100%; max-width: 1920px; margin-inline: auto; padding-inline: var(--gp-gutter); }
body.gg-premium .gp-mini__mark { flex: none; display: inline-flex; align-items: center; gap: 10px; font: 600 12px/1 var(--gp-f-display); letter-spacing: 0.22em; text-transform: uppercase; color: var(--gp-red-hi); }
body.gg-premium .gp-mini__mark b { width: 10px; height: 22px; background: var(--gp-red); transform: skewX(-14deg); }
body.gg-premium .gp-mini__title { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 600 clamp(17px, 1.6vw, 22px)/1.15 var(--gp-f-display); letter-spacing: 0.02em; text-transform: uppercase; }

/* Reading shell: rail | body | side */
body.gg-premium .gp-shell { position: relative; padding: clamp(40px, 6vw, 100px) var(--gp-gutter) clamp(48px, 7vw, 120px); }
body.gg-premium--news .gp-shell { background: var(--gp-bone); color: var(--gp-ink); }
body.gg-premium .gp-col { min-width: 0; }
body.gg-premium .gp-rail { margin-bottom: 40px; }
html.gp-js body.gg-premium .gp-rail { display: none; }
body.gg-premium .gp-side { margin-top: 56px; }
@media (min-width: 1100px) {
  body.gg-premium .gp-shell { display: grid; padding-inline: 0; grid-template-columns: minmax(var(--gp-gutter), 1fr) 220px 56px minmax(0, var(--gp-measure)) minmax(var(--gp-gutter), 1fr); }
  body.gg-premium .gp-shell--norail { grid-template-columns: minmax(var(--gp-gutter), 1fr) minmax(0, var(--gp-measure)) minmax(var(--gp-gutter), 1fr); }
  body.gg-premium .gp-shell--norail .gp-col { grid-column: 2; }
  body.gg-premium .gp-shell--rail .gp-col { grid-column: 4; }
  body.gg-premium .gp-shell--rail .gp-rail { grid-column: 2; grid-row: 1; margin: 0; }
  html.gp-js body.gg-premium .gp-shell--rail:not(.gp-shell--side) .gp-rail { display: block; }
  body.gg-premium .gp-rail__in { position: sticky; top: calc(var(--gp-top) + var(--gp-nav-h) + 40px); display: grid; gap: 28px; }
}
/* with a side column (Gear, News: the sidebar ad zone and its blocks) the rail only appears where all three fit */
@media (min-width: 1100px) {
  body.gg-premium .gp-shell--side { grid-template-columns: minmax(var(--gp-gutter), 1fr) minmax(0, var(--gp-measure)) 40px 300px minmax(var(--gp-gutter), 1fr); }
  body.gg-premium .gp-shell--side .gp-col { grid-column: 2; }
  body.gg-premium .gp-shell--side .gp-side { grid-column: 4; grid-row: 1; margin: 0; }
  body.gg-premium .gp-shell--side .gp-rail { display: none; }
  body.gg-premium .gp-side__inner { position: sticky; top: calc(var(--gp-top) + var(--gp-nav-h) + 16px); display: grid; gap: 28px; align-content: start; }
}
@media (min-width: 1340px) {
  body.gg-premium .gp-shell--rail.gp-shell--side { grid-template-columns: minmax(var(--gp-gutter), 1fr) 200px 40px minmax(0, var(--gp-measure)) 40px 300px minmax(var(--gp-gutter), 1fr); }
  body.gg-premium .gp-shell--rail.gp-shell--side .gp-col { grid-column: 4; }
  body.gg-premium .gp-shell--rail.gp-shell--side .gp-side { grid-column: 6; }
  html.gp-js body.gg-premium .gp-shell--rail.gp-shell--side .gp-rail { display: block; }
}
/* the contents bar + sheet stand in for the rail wherever the rail is not shown */
@media (min-width: 1100px) { body.gg-premium .gp-shell--rail:not(.gp-shell--side) ~ .gp-tocbar { display: none; } }

/* contents list */
body.gg-premium .gp-toc { position: relative; }
body.gg-premium .gp-toc__label { margin: 0 0 18px; font: 500 12px/1 var(--gp-f-display); letter-spacing: 0.24em; text-transform: uppercase; color: var(--gp-smoke); }
body.gg-premium .gp-toc__list { position: relative; counter-reset: gp-toc; margin: 0; padding: 0; list-style: none; border-left: 1px solid var(--gp-hair); }
body.gg-premium .gp-toc__list li { counter-increment: gp-toc; margin: 0; }
body.gg-premium .gp-toc__list a { display: grid; grid-template-columns: 30px 1fr; gap: 6px; padding: 9px 0 9px 16px; font: 500 15px/1.3 var(--gp-f-text); color: var(--gp-smoke); text-decoration: none; transition: color 160ms var(--gp-ease-out), transform 120ms var(--gp-ease-out); }
body.gg-premium .gp-toc__list a::before { content: counter(gp-toc, decimal-leading-zero); font: 500 12px/1.9 var(--gp-f-display); letter-spacing: 0.1em; color: var(--gp-smoke); transition: color 160ms var(--gp-ease-out); }
body.gg-premium .gp-toc__list a[aria-current="true"] { color: var(--gp-bone); }
body.gg-premium .gp-toc__list a[aria-current="true"]::before { color: var(--gp-red-hi); }
body.gg-premium .gp-toc__list a:active { transform: scale(0.98); }
body.gg-premium .gp-toc__ind { position: absolute; left: -1px; top: 0; width: 3px; height: 1px; background: var(--gp-red); transform-origin: 0 0; transform: translateY(0) scaleY(0); opacity: 0; transition: transform 240ms var(--gp-ease-out), opacity 160ms linear; pointer-events: none; }
body.gg-premium .gp-toc__ind.is-on { opacity: 1; }
@media (hover: hover) and (pointer: fine) { body.gg-premium .gp-toc__list a:hover { color: var(--gp-bone); } }
/* no JS: the rail is an ordinary inline box above the article */
@media (max-width: 1099px) { html:not(.gp-js) body.gg-premium .gp-rail { padding: 20px; border: 1px solid var(--gp-hair); background: var(--gp-night-2); } body.gg-premium--news .gp-rail { background: transparent; border-color: rgb(20 17 15 / 0.25); } }
/* mobile contents bar + bottom sheet (built by article-premium.js from the same list) */
body.gg-premium .gp-tocbar { position: fixed; left: 0; right: 0; top: calc(var(--gp-top) + var(--gp-nav-h) + 3px); z-index: 55; display: flex; align-items: center; gap: 12px; padding: 0 var(--gp-gutter); height: 46px; background: rgb(20 18 17 / 0.97); border-bottom: 1px solid var(--gp-hair); transform: translateY(-100%); visibility: hidden; transition: transform 220ms var(--gp-ease-out), visibility 0s linear 220ms; }
body.gg-premium .gp-tocbar.is-on { transform: none; visibility: visible; transition-delay: 0s; }
body.gg-premium .gp-tocbar button { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; min-height: 44px; border: 0; background: none; color: var(--gp-bone); text-align: left; font: 500 13px/1 var(--gp-f-display); letter-spacing: 0.16em; text-transform: uppercase; cursor: pointer; transition: transform 120ms var(--gp-ease-out); }
body.gg-premium .gp-tocbar button:active { transform: scale(0.98); }
body.gg-premium .gp-tocbar b { color: var(--gp-red-hi); font-weight: 600; flex: none; }
body.gg-premium .gp-tocbar span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.gg-premium .gp-sheet__scrim { position: fixed; inset: 0; z-index: 90; background: rgb(0 0 0 / 0.6); opacity: 0; visibility: hidden; transition: opacity 200ms var(--gp-ease-out), visibility 0s linear 200ms; }
body.gg-premium .gp-sheet { position: fixed; left: 0; right: 0; bottom: 0; z-index: 91; max-height: 78svh; overflow: auto; overscroll-behavior: contain; padding: 8px var(--gp-gutter) 28px; background: var(--gp-night-2); color: var(--gp-bone); border-top: 2px solid var(--gp-red); transform: translateY(100%); visibility: hidden; transition: transform 240ms var(--gp-ease-drawer), visibility 0s linear 240ms; }
html.gp-sheet-open body.gg-premium .gp-sheet__scrim { opacity: 1; visibility: visible; transition-delay: 0s; }
html.gp-sheet-open body.gg-premium .gp-sheet { transform: none; visibility: visible; transition-delay: 0s; }
/* keyboard-opened: no animation at all */
html.gp-instant body.gg-premium .gp-sheet, html.gp-instant body.gg-premium .gp-sheet__scrim { transition: none; }
body.gg-premium .gp-sheet__head { display: flex; align-items: center; justify-content: space-between; min-height: 56px; }
body.gg-premium .gp-sheet__head .gp-toc__label { margin: 0; }
body.gg-premium .gp-sheet .gp-toc__list a { font-size: 17px; padding-block: 12px; }
html.gp-sheet-open { overflow: hidden; }
@media print { body.gg-premium .gp-nav, body.gg-premium .gp-tocbar, body.gg-premium .gp-sheet, body.gg-premium .gp-sheet__scrim, body.gg-premium .gp-mini, body.gg-premium .gp-rail, body.gg-premium .gp-progress { display: none !important; } }

/* Article body: the article's own HTML, whatever its age */
body.gg-premium .gp-prose { max-width: none; counter-reset: gp-h2; font: 400 19px/1.7 var(--gp-f-text); color: rgb(239 233 222 / 0.9); overflow-wrap: break-word; hanging-punctuation: none; }
body.gg-premium--news .gp-prose { color: var(--gp-ink); line-height: 1.65; }
@media (min-width: 1100px) { body.gg-premium .gp-prose { font-size: 20px; } }
body.gg-premium .gp-prose > * + * { margin-top: 1.25em; }
body.gg-premium .gp-prose :is(p, li, dd, dt, blockquote:not(.pullquote), figcaption) { max-width: none; }
body.gg-premium .gp-prose p { text-wrap: pretty; }
/* The editorial/polish drop cap (article-polish.css, specificity 0,5,4) is reset everywhere, then given back to  */
html body.gg-premium .gp-prose.prose p:first-of-type:not([class])::first-letter { float: none; margin: 0; padding: 0; font: inherit; color: inherit; line-height: inherit; }
html body.gg-premium--legend .gp-prose.prose > p:first-child:not([class]), html body.gg-premium--gear .gp-prose.prose > p:first-child:not([class]) { font-size: clamp(21px, 1.9vw, 26px); line-height: 1.5; color: var(--gp-bone); }
html body.gg-premium--legend .gp-prose.prose > p:first-child:not([class])::first-letter, html body.gg-premium--gear .gp-prose.prose > p:first-child:not([class])::first-letter { float: left; margin: 0.06em 0.12em 0 0; padding: 0; font: 700 4.4em/0.78 var(--gp-f-display); color: var(--gp-red); line-height: 0.78; }
body.gg-premium--legend .gp-prose--lede { margin-bottom: 1.25em; }
body.gg-premium--news .gp-prose > p:first-of-type:not([class]) { font-size: 1.1em; font-weight: 500; }

body.gg-premium .gp-prose :is(h2, h3, h4, h5, h6) { font-family: var(--gp-f-display); text-transform: uppercase; color: var(--gp-bone); text-wrap: balance; overflow-wrap: break-word; }
body.gg-premium--news .gp-prose :is(h2, h3, h4, h5, h6) { color: var(--gp-ink); }
body.gg-premium .gp-prose h2 { counter-increment: gp-h2; margin-top: clamp(56px, 7vw, 104px); font-size: clamp(30px, 3.6vw, 56px); font-weight: 700; line-height: 0.98; letter-spacing: -0.008em; scroll-margin-top: calc(var(--gp-top) + var(--gp-nav-h) + 64px); }
/* the red numeral is a counter, not heading text: textContent stays the published heading (D3) */
body.gg-premium .gp-prose h2::before { content: counter(gp-h2, decimal-leading-zero); display: table; margin-bottom: 16px; padding-right: 62px; font: 500 14px/1 var(--gp-f-display); letter-spacing: 0.26em; color: var(--gp-red-hi); background: linear-gradient(var(--gp-red), var(--gp-red)) right center / 48px 2px no-repeat; }
body.gg-premium--news .gp-prose h2 { counter-increment: none; margin-top: 2.1em; font-size: clamp(28px, 3vw, 40px); line-height: 1; letter-spacing: 0.01em; }
body.gg-premium--news .gp-prose h2::before { content: none; }
body.gg-premium .gp-prose h2 + * { margin-top: 0.9em; }
body.gg-premium .gp-prose h3 { margin-top: 2.2em; font-size: clamp(22px, 2.2vw, 30px); font-weight: 600; line-height: 1.1; letter-spacing: 0.02em; scroll-margin-top: calc(var(--gp-top) + var(--gp-nav-h) + 64px); }
body.gg-premium--news .gp-prose h3 { color: var(--gp-red-bone); font-size: clamp(20px, 2vw, 25px); }
body.gg-premium .gp-prose :is(h4, h5, h6) { margin-top: 1.8em; font-size: 18px; font-weight: 600; line-height: 1.2; letter-spacing: 0.08em; }
body.gg-premium .gp-prose h3 + * { margin-top: 0.7em; }

body.gg-premium .gp-prose a { color: inherit; text-decoration: underline; text-decoration-color: var(--gp-red); text-decoration-thickness: 2px; text-underline-offset: 0.22em; }
body.gg-premium--news .gp-prose a { text-decoration-color: var(--gp-red-bone); }
@media (hover: hover) and (pointer: fine) { body.gg-premium .gp-prose a:hover { color: inherit; text-decoration-color: var(--gp-bone); } body.gg-premium--news .gp-prose a:hover { text-decoration-color: var(--gp-ink); } }
body.gg-premium .gp-prose :is(ul, ol) { padding-left: 1.3em; }
body.gg-premium .gp-prose ul { list-style: square; }
body.gg-premium .gp-prose li { padding-left: 0.3em; }
body.gg-premium .gp-prose li::marker { color: var(--gp-red-hi); }
body.gg-premium--news .gp-prose li::marker { color: var(--gp-red-bone); }
body.gg-premium .gp-prose li + li { margin-top: 0.5em; }
body.gg-premium .gp-prose hr { border: 0; height: 1px; background: var(--gp-hair); margin-block: 2.4em; }
body.gg-premium .gp-prose :is(pre, code) { font-size: 0.9em; overflow-wrap: anywhere; }
body.gg-premium .gp-prose pre { overflow-x: auto; padding: 16px; background: var(--gp-night-2); border: 1px solid var(--gp-hair); }
body.gg-premium--news .gp-prose pre { background: rgb(20 17 15 / 0.06); border-color: rgb(20 17 15 / 0.2); }
body.gg-premium .gp-prose blockquote:not(.pullquote) { margin: 1.8em 0; padding: 0 0 0 1.2em; border-left: 3px solid var(--gp-red); font-style: italic; color: inherit; }
body.gg-premium .gp-prose blockquote:not(.pullquote) p + p { margin-top: 0.8em; }
body.gg-premium .gp-prose blockquote cite { display: block; margin-top: 0.6em; font: 500 13px/1.4 var(--gp-f-display); font-style: normal; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gp-smoke); }
body.gg-premium--news .gp-prose blockquote cite { color: var(--gp-ink-2); }

/* images, captions, aligned images, embeds */
body.gg-premium .gp-prose img { border: 0; background: var(--gp-night-3); }
body.gg-premium--news .gp-prose img { background: #ddd5c6; }
body.gg-premium .gp-prose :is(figure, .wp-caption) { max-width: 100%; margin: 2em 0; }
body.gg-premium .gp-prose :is(figure, .wp-caption) img { width: auto; max-width: 100%; height: auto; }
body.gg-premium .gp-prose :is(figcaption, .wp-caption-text) { margin: 10px 0 0; padding: 0; font: 400 14px/1.45 var(--gp-f-text); color: var(--gp-smoke); }
body.gg-premium--news .gp-prose :is(figcaption, .wp-caption-text) { color: var(--gp-ink-2); }
body.gg-premium .gp-prose .aligncenter { display: block; margin-inline: auto; }
body.gg-premium .gp-prose img.aligncenter, body.gg-premium .gp-prose figure.aligncenter { margin-block: 2em; }
body.gg-premium .gp-prose :is(.alignleft, .alignright) { max-width: 100%; margin-block: 1.5em; }
body.gg-premium .gp-prose :is(.alignwide, .alignfull) { max-width: 100%; }
@media (min-width: 700px) {
  body.gg-premium .gp-prose .alignleft { float: left; max-width: 46%; margin: 0.4em 1.6em 1em 0; }
  body.gg-premium .gp-prose .alignright { float: right; max-width: 46%; margin: 0.4em 0 1em 1.6em; }
}
body.gg-premium .gp-prose::after { content: ""; display: block; clear: both; }
body.gg-premium .gp-prose :is(h2, h3, .table-scroll, .fact-box, .gear-card-group, .article-timeline, .faq-list, .pullquote, .article-top-facts, .rig-image-strip, .article-mid-composition, .article-closing-composition) { clear: both; }
body.gg-premium .gp-prose iframe { display: block; width: 100%; max-width: 100%; border: 0; }
body.gg-premium .gp-prose :is(iframe[src*="youtube"], iframe[src*="youtu.be"], iframe[src*="vimeo"], iframe[src*="dailymotion"], .wp-block-embed iframe, .video-container iframe, .embed-responsive iframe) { aspect-ratio: 16 / 9; height: auto; }
body.gg-premium .gp-prose :is(video, embed, object) { max-width: 100%; height: auto; }
body.gg-premium .gp-prose .wp-block-embed__wrapper { position: relative; max-width: 100%; }
body.gg-premium .gp-prose .wp-block-embed__wrapper iframe { position: static; }

/* tables arrive inside .table-scroll (gg_wrap_content_tables) */
body.gg-premium .gp-prose table { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 1.4; }
body.gg-premium .gp-prose :is(th, td) { padding: 12px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--gp-hair); }
body.gg-premium .gp-prose th { font: 500 13px/1.35 var(--gp-f-display); letter-spacing: 0.12em; text-transform: uppercase; color: var(--gp-smoke); background: var(--gp-night-2); }
body.gg-premium--news .gp-prose :is(th, td) { border-bottom-color: rgb(20 17 15 / 0.2); }
body.gg-premium--news .gp-prose th { color: var(--gp-ink-2); background: rgb(20 17 15 / 0.06); }
body.gg-premium .gp-prose .table-scroll { max-width: 100%; }

/* ADR-0012 components, on night (legend/gear) or on paper (news): tokens are already repointed above */
body.gg-premium .gp-prose .fact-box { border: 1px solid var(--gp-hair); background: var(--gp-night-2); }
body.gg-premium--news .gp-prose .fact-box { border: 0; background: var(--gp-night-2); color: var(--gp-bone); }
body.gg-premium .gp-prose .fact-box__head { background: var(--gp-red-ink); color: var(--gp-bone); font-family: var(--gp-f-display); letter-spacing: 0.22em; }
body.gg-premium .gp-prose .fact-box dt, body.gg-premium .gp-prose .fact-box--grid .fact-box__cell-label { color: var(--gp-smoke); }
body.gg-premium .gp-prose .fact-box--grid .fact-box__grid { background: var(--gp-hair); }
body.gg-premium .gp-prose .fact-box--grid .fact-box__cell { background: var(--gp-night-2); color: var(--gp-bone); }
body.gg-premium--news .gp-prose .fact-box--grid .fact-box__cell { background: var(--gp-night-2); }
body.gg-premium .gp-prose .fact-box--grid .fact-box__cell-value { font-family: var(--gp-f-display); letter-spacing: 0.01em; }
body.gg-premium .gp-prose .gangster-fact { margin-block: 2.2em; padding: 30px 32px 28px; background: var(--gp-night-3); color: var(--gp-bone); border: 1px solid rgb(212 46 32 / 0.6); }
body.gg-premium .gp-prose .gangster-fact__label { color: var(--gp-red-hi); }
body.gg-premium .gp-prose .article-top-facts .gangster-fact { background: var(--gp-red-ink); border-color: var(--gp-red-ink); }
body.gg-premium .gp-prose .article-top-facts .gangster-fact :is(p, .gangster-fact__label) { color: var(--gp-bone); }
body.gg-premium .gp-prose .pullquote { position: relative; margin: 2.4em 0; padding: 0.9em 0 0; border: 0; border-top: 2px solid var(--gp-red); font: 700 clamp(28px, 3.6vw, 52px)/1 var(--gp-f-display); letter-spacing: -0.005em; text-transform: uppercase; font-style: normal; color: var(--gp-bone); text-wrap: balance; max-width: none; }
body.gg-premium--news .gp-prose .pullquote { color: var(--gp-ink); border-top-color: var(--gp-red-bone); font-size: clamp(28px, 3.6vw, 44px); }
body.gg-premium .gp-prose .pullquote p { margin: 0; max-width: none; }
body.gg-premium .gp-prose .pullquote cite { margin-top: 1em; font: 500 13px/1.4 var(--gp-f-display); letter-spacing: 0.2em; color: var(--gp-smoke); }
body.gg-premium .gp-prose .gear-card { border: 1px solid rgb(201 161 90 / 0.4); background: var(--gp-night-2); }
body.gg-premium .gp-prose .gear-card__name { font-family: var(--gp-f-display); font-weight: 700; letter-spacing: 0.01em; color: var(--gp-bone); }
body.gg-premium .gp-prose .gear-card :is(p, .gear-card__note, .gear-card__era, .gear-card__role) { color: var(--gp-smoke); }
body.gg-premium .gp-prose .gear-card__image { background: var(--gp-night-3); }
body.gg-premium .gp-prose .gear-card-group__title { font-family: var(--gp-f-display); color: var(--gp-bone); border-bottom-color: var(--gp-hair); }
body.gg-premium .gp-prose .confidence-badge { border: 1px solid currentColor; padding: 4px 8px 3px; font-family: var(--gp-f-display); letter-spacing: 0.16em; }
body.gg-premium .gp-prose .tone-recipe-card { border-top: 3px solid var(--gp-brass); background: var(--gp-night-2); }
body.gg-premium .gp-prose .tone-recipe-card__title { font-family: var(--gp-f-display); color: var(--gp-bone); }
body.gg-premium .gp-prose .tone-recipe-card__knob { border-color: var(--gp-hair); background: var(--gp-night-3); color: var(--gp-smoke); }
body.gg-premium .gp-prose .comparison-grid > * { background: var(--gp-night-2); border: 1px solid var(--gp-hair); padding: 18px; }
body.gg-premium .gp-prose .article-timeline { border-block: 1px solid var(--gp-hair); }
body.gg-premium .gp-prose .article-timeline__point::before { background: var(--gp-red); }
body.gg-premium .gp-prose .article-timeline__year { font-family: var(--gp-f-display); color: var(--gp-red-hi); }
body.gg-premium .gp-prose .article-timeline__label { font-family: var(--gp-f-display); color: var(--gp-bone); }
body.gg-premium .gp-prose .article-timeline__kicker { font-family: var(--gp-f-display); color: var(--gp-smoke); letter-spacing: 0.18em; }
body.gg-premium .gp-prose .faq-list { border-top: 1px solid var(--gp-hair); }
body.gg-premium .gp-prose .faq-list details { border-color: var(--gp-hair); }
body.gg-premium .gp-prose .faq-list summary { min-height: 64px; font: 600 clamp(18px, 2vw, 26px)/1.15 var(--gp-f-display); letter-spacing: 0.02em; text-transform: uppercase; color: var(--gp-bone); transition: color 160ms var(--gp-ease-out), transform 120ms var(--gp-ease-out); }
body.gg-premium .gp-prose .faq-list summary:active { transform: scale(0.98); }
body.gg-premium .gp-prose .faq-list summary::after { color: var(--gp-red-hi); transition: transform 200ms var(--gp-ease-out); }
body.gg-premium .gp-prose .faq-list__answer { color: rgb(239 233 222 / 0.88); font-size: 1em; }
@media (hover: hover) and (pointer: fine) { body.gg-premium .gp-prose .faq-list summary:hover { color: var(--gp-red-hi); } }
body.gg-premium :is(.btn, .article-cta-row__link, .editorial-band__link, .newsletter button, .search-field__submit) { background: var(--gp-red-ink); color: var(--gp-bone); border-color: var(--gp-red-ink); text-decoration: none; }
@media (hover: hover) and (pointer: fine) { body.gg-premium :is(.btn, .article-cta-row__link, .editorial-band__link, .newsletter button):hover { background: var(--gp-red-bone); border-color: var(--gp-red-bone); color: var(--gp-bone); } }
body.gg-premium .gp-prose .internal-links-box { border: 1px solid var(--gp-hair); background: var(--gp-night-2); }
body.gg-premium .gp-prose .internal-links-box__head { background: var(--gp-night-3); color: var(--gp-bone); }
body.gg-premium .gp-prose .rig-image-strip__slot { background: var(--gp-night-2); border-color: var(--gp-hair); color: var(--gp-smoke); }
body.gg-premium--news .gp-prose .gangster-fact, body.gg-premium--news .gp-prose .gear-card { color: var(--gp-bone); }
body.gg-premium .gp-prose .ad-zone { margin-block: 2em; }
body.gg-premium .gp-col > .ad-zone { margin-block: 0 2.4em; }
/* the two-column compositions and wide components stack on narrow screens by default (editorial.css), keep it so */
body.gg-premium .gp-prose :is(.article-mid-composition, .article-closing-composition) { gap: 1.5em 2.5em; }

/* End of story, side column, related cards, closing band */
body.gg-premium .gp-end { display: grid; gap: 28px; margin-top: clamp(40px, 5vw, 64px); padding-top: 28px; border-top: 4px solid currentColor; font-size: 16px; }
body.gg-premium .gp-end__mark { margin: 0; display: flex; align-items: center; gap: 12px; font: 600 13px/1 var(--gp-f-display); letter-spacing: 0.24em; text-transform: uppercase; }
body.gg-premium .gp-end__mark::after { content: ""; width: 12px; height: 12px; background: var(--gp-red); }
body.gg-premium--news .gp-end__mark::after { background: var(--gp-red-bone); }
body.gg-premium .gp-end__label { margin: 0 0 12px; font: 500 12px/1 var(--gp-f-display); letter-spacing: 0.22em; text-transform: uppercase; color: var(--gp-smoke); }
body.gg-premium--news .gp-end__label { color: var(--gp-ink-2); }
body.gg-premium .gp-end__terms { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
body.gg-premium .gp-end__terms a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1px solid var(--gp-hair); color: inherit; text-decoration: none; font: 600 13px/1 var(--gp-f-display); letter-spacing: 0.14em; text-transform: uppercase; transition: transform 120ms var(--gp-ease-out), background-color 200ms var(--gp-ease-out), color 200ms var(--gp-ease-out); }
body.gg-premium--news .gp-end__terms a { border-color: rgb(20 17 15 / 0.4); }
body.gg-premium .gp-end__terms a:active { transform: scale(0.97); }
body.gg-premium .gp-end__term--section a { background: var(--gp-red-ink); border-color: var(--gp-red-ink); color: var(--gp-bone); }
@media (hover: hover) and (pointer: fine) { body.gg-premium .gp-end__terms a:hover { background: var(--gp-bone); color: var(--gp-ink); } body.gg-premium--news .gp-end__terms a:hover { background: var(--gp-ink); color: var(--gp-bone); } }
body.gg-premium .gp-end__byline { margin: 0; font-size: 17px; }
body.gg-premium .gp-end__byline a { text-decoration: underline; text-decoration-color: var(--gp-red); text-decoration-thickness: 2px; text-underline-offset: 0.2em; color: inherit; }
body.gg-premium .gp-end__bio { margin: 6px 0 0; max-width: 56ch; color: var(--gp-smoke); }
body.gg-premium--news .gp-end__bio { color: var(--gp-ink-2); }
body.gg-premium--news .gp-share__btn { color: var(--gp-ink); }
body.gg-premium--news .gp-share--end .gp-share__btn { border-color: rgb(20 17 15 / 0.4); }
@media (hover: hover) and (pointer: fine) { body.gg-premium--news .gp-share__btn:hover { background: var(--gp-ink); color: var(--gp-bone); } }
body.gg-premium--news .gp-share__lead { color: var(--gp-ink-2); }
body.gg-premium--news .gp-share__feedback { color: var(--gp-red-bone); }
body.gg-premium--news .gp-rail .gp-toc__label { color: var(--gp-ink-2); }
body.gg-premium--news .gp-toc__list { border-left-color: rgb(20 17 15 / 0.25); }
body.gg-premium--news .gp-toc__list a, body.gg-premium--news .gp-toc__list a::before { color: var(--gp-ink-2); }
body.gg-premium--news .gp-toc__list a[aria-current="true"] { color: var(--gp-ink); }
body.gg-premium--news .gp-toc__list a[aria-current="true"]::before { color: var(--gp-red-bone); }
body.gg-premium .gp-end__adjacent { display: grid; gap: 12px; }
@media (min-width: 640px) { body.gg-premium .gp-end__adjacent { grid-template-columns: 1fr 1fr; } }
body.gg-premium .gp-end__adj { display: grid; gap: 6px; padding: 16px 18px; border: 1px solid var(--gp-hair); color: inherit; text-decoration: none; transition: transform 160ms var(--gp-ease-out), border-color 200ms var(--gp-ease-out); }
body.gg-premium--news .gp-end__adj { border-color: rgb(20 17 15 / 0.3); }
body.gg-premium .gp-end__adj:active { transform: scale(0.98); }
body.gg-premium .gp-end__adj--next { text-align: right; }
body.gg-premium .gp-end__dir { font: 600 12px/1 var(--gp-f-display); letter-spacing: 0.2em; text-transform: uppercase; color: var(--gp-red-hi); }
body.gg-premium--news .gp-end__dir { color: var(--gp-red-bone); }
body.gg-premium .gp-end__adj-title { font: 600 18px/1.25 var(--gp-f-display); letter-spacing: 0.02em; text-transform: uppercase; overflow-wrap: anywhere; }
@media (hover: hover) and (pointer: fine) { body.gg-premium .gp-end__adj:hover { border-color: currentColor; } }
body.gg-premium .gp-end__more { margin: 0; }
body.gg-premium .gp-end__more a { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; color: inherit; text-decoration: none; font: 600 14px/1 var(--gp-f-display); letter-spacing: 0.16em; text-transform: uppercase; transition: transform 120ms var(--gp-ease-out); }
body.gg-premium .gp-end__more a:active { transform: scale(0.97); }
body.gg-premium .gp-end .entity-relations, body.gg-premium .gp-end :is(.entity-list, .entity-relation-list) { color: inherit; }
body.gg-premium .gp-end .pagination { display: flex; gap: 8px; }

/* side column on paper (News) or night (Gear): shared blocks, cards and the newsletter slot follow the tokens */
body.gg-premium .gp-side .aside-block { border-top: 2px solid currentColor; }
body.gg-premium .gp-side .aside-block__title { font-family: var(--gp-f-display); letter-spacing: 0.04em; }
body.gg-premium--gear .gp-side .aside-block__more a, body.gg-premium--gear .gp-side .newsletter__title { color: var(--gp-red-hi); }
body.gg-premium--gear .gp-side .newsletter { background: var(--gp-night-2); border: 1px solid var(--gp-hair); }
body.gg-premium--gear .gp-side .card__title a, body.gg-premium--gear .gp-side .card { color: var(--gp-bone); }
body.gg-premium .gp-side .ad-zone { margin-top: 0; }

body.gg-premium .gp-more { background: var(--gp-night-2); border-top: 1px solid var(--gp-hair); padding-block: clamp(56px, 7vw, 112px); color: var(--gp-bone); }
body.gg-premium .gp-more__title { margin: 0 0 clamp(24px, 3vw, 44px); font: 700 clamp(36px, 4.6vw, 76px)/0.92 var(--gp-f-display); letter-spacing: -0.01em; text-transform: uppercase; color: var(--gp-bone); }
body.gg-premium .gp-cards { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 700px) { body.gg-premium .gp-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } }
body.gg-premium .gp-cards__item { margin: 0; min-width: 0; }
body.gg-premium .gp-card { position: relative; display: flex; flex-direction: column; height: 100%; background: var(--gp-night-3); border: 1px solid var(--gp-hair); color: var(--gp-bone); text-decoration: none; transition: transform 200ms var(--gp-ease-out), border-color 200ms var(--gp-ease-out); }
body.gg-premium .gp-card:active { transform: scale(0.98); }
body.gg-premium .gp-card__media { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--gp-night); isolation: isolate; }
body.gg-premium .gp-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform 320ms var(--gp-ease-out); }
body.gg-premium .gp-card__media--type { background: linear-gradient(to top, rgb(10 9 9 / 0.7), rgb(10 9 9 / 0.1)), var(--gp-tex-grille) center / 12px 12px, var(--gp-night-2); }
body.gg-premium .gp-card__body { display: flex; flex-direction: column; gap: 10px; padding: 18px 20px 22px; flex: 1; }
body.gg-premium .gp-card__kicker { margin: 0; font: 600 12px/1 var(--gp-f-display); letter-spacing: 0.22em; text-transform: uppercase; color: var(--gp-red-hi); }
body.gg-premium .gp-card__title { margin: 0; font: 500 17px/1.3 var(--gp-f-text); letter-spacing: 0; text-transform: none; color: var(--gp-bone); display: -webkit-box; -webkit-line-clamp: 4; line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
body.gg-premium .gp-card__title a { color: inherit; text-decoration: none; }
body.gg-premium .gp-card__title a::after { content: ""; position: absolute; inset: 0; }
body.gg-premium .gp-card:focus-within { outline: 2px solid var(--gp-red-hi); outline-offset: 2px; }
body.gg-premium .gp-card__meta { margin: auto 0 0; padding-top: 6px; font-size: 13px; color: var(--gp-smoke); }
@media (hover: hover) and (pointer: fine) {
  body.gg-premium .gp-card:hover { border-color: rgb(239 233 222 / 0.4); }
  body.gg-premium .gp-card:hover .gp-card__img { transform: scale(1.03); }
}
@media (max-width: 699px) {
  body.gg-premium .gp-cards { grid-auto-flow: column; grid-auto-columns: min(78vw, 320px); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; padding-bottom: 12px; scrollbar-width: none; }
  body.gg-premium .gp-cards__item { scroll-snap-align: start; }
}
body.gg-premium .gp-closing { background: var(--gp-night); border-top: 1px solid var(--gp-hair); padding-block: clamp(40px, 5vw, 72px); color: var(--gp-bone); }
body.gg-premium .gp-closing > .gp-wrap { display: grid; gap: 28px; }
body.gg-premium .gp-closing__basis { margin: 0; max-width: 70ch; font-size: 14px; line-height: 1.5; color: var(--gp-smoke); }
body.gg-premium .gp-closing__blocks:empty { display: none; }
body.gg-premium .gp-closing .newsletter { background: var(--gp-night-2); border: 1px solid var(--gp-hair); }

/* Hero entrance (one time, first view): clip-path wipe and rise. Reduced motion: opacity only. */
@keyframes gp-rise { from { opacity: 0; transform: translate3d(0, var(--gp-shift), 0); } to { opacity: 1; transform: none; } }
@keyframes gp-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes gp-settle { from { opacity: 0.4; transform: scale(1.04); } to { opacity: 1; transform: none; } }
html.gp-js body.gg-premium .gp-rise-in { animation: gp-rise var(--gp-d-hero) var(--gp-ease-out) calc(var(--i, 0) * 24ms + 24ms) both; }
html.gp-js body.gg-premium .gp-hero--cover .gp-hero__photo img { animation: gp-settle 400ms var(--gp-ease-out) both; }
html.gp-js body.gg-premium .gp-plate__img { animation: gp-settle 400ms var(--gp-ease-out) both; }
@media (prefers-reduced-motion: reduce) {
  html.gp-js body.gg-premium .gp-rise-in, html.gp-js body.gg-premium .gp-hero--cover .gp-hero__photo img, html.gp-js body.gg-premium .gp-plate__img { animation: gp-fade 150ms linear both; }
  body.gg-premium .gp-hero__photo { transform: none !important; }
  body.gg-premium .gp-nav__ind, body.gg-premium .gp-toc__ind { transition-duration: 0.01ms; }
  body.gg-premium .gp-tocbar, body.gg-premium .gp-sheet, body.gg-premium .gp-mini { transform: none; transition: opacity 150ms linear, visibility 0s linear 150ms; opacity: 0; }
  html.gp-sheet-open body.gg-premium .gp-sheet, body.gg-premium .gp-tocbar.is-on, body.gg-premium .gp-mini.is-on { opacity: 1; transition: opacity 150ms linear, visibility 0s; }
  body.gg-premium .gp-card__img, body.gg-premium .gp-card, body.gg-premium .gp-btn, body.gg-premium .gp-share__btn { transition: none; }
  body.gg-premium .gp-prose .faq-list summary::after { transition: none; }
}

/* Menu drawer and search overlay, re-skinned for night (header.js / search.js are unchanged: native <dialog>, */
body.gg-premium .nav-drawer { position: fixed; inset: 0; margin: 0; padding: 0; width: 100%; max-width: none; height: 100vh; height: 100dvh; max-height: none; overflow: hidden; border: 0; background: var(--gp-night); color: var(--gp-bone); clip-path: inset(0 0 100% 0); transition: clip-path 200ms var(--gp-ease-drawer); }
body.gg-premium .nav-drawer[open] { display: flex; flex-direction: column; }
body.gg-premium .nav-drawer.is-open { clip-path: inset(0); transition: clip-path 260ms var(--gp-ease-drawer); }
body.gg-premium .nav-drawer::backdrop { background: transparent; }
@media (min-width: 64rem) { body.gg-premium .nav-drawer { display: none !important; } }
body.gg-premium .nav-drawer a { text-decoration: none; color: inherit; }
body.gg-premium .nav-drawer__head { flex: none; display: flex; align-items: center; justify-content: space-between; height: calc(var(--gp-nav-h) + var(--gp-top)); padding: var(--gp-top) calc(var(--gp-gutter) - 8px) 0 var(--gp-gutter); border-bottom: 1px solid var(--gp-red); }
body.gg-premium .nav-drawer__brand { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; }
body.gg-premium .nav-drawer .crest-plate { display: block; width: 44px; height: 44px; padding: 0; background: none; outline: 0; }
body.gg-premium .nav-drawer .crest-plate img { width: 100%; height: 100%; object-fit: contain; }
body.gg-premium .nav-drawer .brand__name { font: 700 17px/0.9 var(--gp-f-display); letter-spacing: -0.01em; text-transform: uppercase; }
body.gg-premium .nav-drawer .brand__tld { margin-left: 0.1em; font-size: 0.6em; color: var(--gp-red-hi); }
body.gg-premium .nav-drawer__close { display: grid; place-items: center; width: 48px; height: 48px; background: none; border: 0; color: var(--gp-bone); }
body.gg-premium .hamburger { position: relative; display: block; width: 24px; height: 14px; }
body.gg-premium .hamburger span { position: absolute; left: 0; right: 0; height: 2px; background: currentColor; transition: transform 200ms var(--gp-ease-out); }
body.gg-premium .hamburger span:nth-child(1) { top: 0; transform: translateY(6px) rotate(45deg); }
body.gg-premium .hamburger span:nth-child(2) { display: none; }
body.gg-premium .hamburger span:nth-child(3) { top: 0; transform: translateY(6px) rotate(-45deg); }
body.gg-premium .nav-drawer__body { flex: 1; display: flex; flex-direction: column; gap: 20px; padding: clamp(16px, 4vh, 36px) var(--gp-gutter) 40px; overflow-y: auto; overscroll-behavior: contain; min-height: 0; padding-bottom: calc(40px + env(safe-area-inset-bottom, 0px)); }
body.gg-premium .nav-drawer .search-field--ink { display: flex; align-items: center; gap: 12px; background: transparent; color: var(--gp-bone); border: 0; border-bottom: 2px solid var(--gp-bone); min-height: 56px; padding-left: 0; --focus-ring: var(--gp-bone); }
body.gg-premium .nav-drawer .search-field--ink .search-field__icon { width: 22px; height: 22px; flex: none; color: var(--gp-smoke); }
body.gg-premium .nav-drawer .search-field--ink .search-field__input { flex: 1; min-width: 0; padding: 0; background: none; border: 0; color: var(--gp-bone); font: 600 22px/1.2 var(--gp-f-display); text-transform: uppercase; letter-spacing: 0.04em; }
body.gg-premium .nav-drawer .search-field--ink .search-field__input::placeholder { color: var(--gp-smoke); }
body.gg-premium .nav-drawer .search-field--ink .search-field__submit { align-self: stretch; padding: 0 18px; border: 0; background: var(--gp-red-ink); color: var(--gp-bone); font: 600 15px/1 var(--gp-f-display); letter-spacing: 0.1em; text-transform: uppercase; }
@media (hover: hover) and (pointer: fine) { body.gg-premium .nav-drawer .search-field--ink .search-field__submit:hover { background: var(--gp-red-bone); } }
body.gg-premium .drawer-menu, body.gg-premium .drawer-sub, body.gg-premium .drawer-utility ul { list-style: none; margin: 0; padding: 0; }
body.gg-premium .drawer-item__row { display: flex; align-items: stretch; border-bottom: 1px solid var(--gp-tint); }
body.gg-premium .drawer-link { flex: 1; display: flex; align-items: center; gap: 0.35em; min-height: 64px; padding: 6px 0; font: 700 clamp(46px, 14vw, 92px)/1 var(--gp-f-display); text-transform: uppercase; letter-spacing: -0.01em; color: var(--gp-bone); transition: color 160ms, transform 120ms var(--gp-ease-out); }
body.gg-premium .drawer-link:active { transform: scale(0.98); color: var(--gp-red-hi); }
body.gg-premium .drawer-link__icon { display: none; }
body.gg-premium .is-current > .drawer-item__row .drawer-link, body.gg-premium .is-ancestor > .drawer-item__row .drawer-link { text-decoration: underline; text-decoration-color: var(--gp-red); text-decoration-thickness: 4px; text-underline-offset: 0.12em; }
body.gg-premium .drawer-disclosure { display: grid; place-items: center; width: 56px; background: none; border: 0; color: var(--gp-smoke); }
body.gg-premium .drawer-disclosure__icon { width: 24px; height: 24px; transition: transform 200ms var(--gp-ease-out); }
body.gg-premium .drawer-disclosure[aria-expanded="true"] { color: var(--gp-bone); }
body.gg-premium .drawer-disclosure[aria-expanded="true"] .drawer-disclosure__icon { transform: rotate(180deg); }
body.gg-premium .drawer-sub { padding: 8px 0 16px 12px; }
body.gg-premium .drawer-sub[hidden] { display: none; }
body.gg-premium .drawer-sub__link { display: flex; align-items: center; gap: 0.4em; min-height: 48px; font: 600 20px/1.2 var(--gp-f-display); letter-spacing: 0.04em; text-transform: uppercase; color: var(--gp-smoke); }
@media (hover: hover) and (pointer: fine) { body.gg-premium .drawer-sub__link:hover { color: var(--gp-bone); } }
body.gg-premium .drawer-utility ul { display: flex; flex-wrap: wrap; gap: 4px 24px; }
body.gg-premium .drawer-utility__link { display: inline-flex; align-items: center; min-height: 44px; font: 600 15px/1 var(--gp-f-display); letter-spacing: 0.16em; text-transform: uppercase; color: var(--gp-smoke); }
body.gg-premium .drawer-strap { margin: auto 0 0; padding-top: 24px; font: 500 13px/1.3 var(--gp-f-display); letter-spacing: 0.2em; text-transform: uppercase; color: var(--gp-smoke); }
body.gg-premium .drawer-strap b { color: var(--gp-bone); }

/* Search: the theme's <dialog class="search-overlay"> (search.js unchanged: REST, combobox, focus return) re-ski */
body.gg-premium .search-overlay { background: var(--gp-night); color: var(--gp-bone); padding: 0; --focus-ring: var(--gp-bone); }
body.gg-premium .search-overlay__panel { position: relative; width: 100%; max-width: 1680px; margin: 0 auto; padding: calc(var(--gp-nav-h) + clamp(8px, 4vh, 48px)) var(--gp-gutter) 48px; background: none; border: 0; box-shadow: none; }
body.gg-premium .search-overlay__progress { top: 0; }
body.gg-premium .search-field--overlay { gap: 0; min-height: 0; padding: 0 0 clamp(8px, 1.4vw, 20px); border: 0; border-bottom: 3px solid var(--gp-bone); background: none; color: var(--gp-bone); }
body.gg-premium .search-field--overlay:focus-within { outline: none; border-bottom-color: var(--gp-red); border-bottom-width: 4px; margin-bottom: -1px; }
body.gg-premium .search-field--overlay .search-field__icon { display: none; }
body.gg-premium .search-field--overlay .search-field__input { font: 700 clamp(44px, 10vw, 190px)/1 var(--gp-f-display); letter-spacing: -0.012em; text-transform: uppercase; caret-color: var(--gp-red-hi); color: var(--gp-bone); }
body.gg-premium .search-field--overlay .search-field__input::placeholder { color: transparent; -webkit-text-stroke: 1.5px rgb(239 233 222 / 0.5); opacity: 1; }
body.gg-premium .search-field--overlay .search-field__clear { color: var(--gp-smoke); }
body.gg-premium .search-overlay__close { position: absolute; top: calc(var(--gp-nav-h) / 2 - 24px); right: var(--gp-gutter); min-width: 48px; height: 48px; margin: 0; padding: 0 6px 0 12px; border: 0; font: 500 14px/1 var(--gp-f-display); letter-spacing: 0.2em; text-transform: uppercase; color: var(--gp-smoke); }
@media (hover: hover) and (pointer: fine) { body.gg-premium .search-overlay__close:hover { color: var(--gp-bone); } }
body.gg-premium .search-overlay__idle, body.gg-premium .search-overlay__results, body.gg-premium .search-overlay__message { padding: 18px 0 0; max-width: 1200px; }
body.gg-premium .so-block__title, body.gg-premium .so-group__title, body.gg-premium .so-top__label { font: 500 13px/1.2 var(--gp-f-display); letter-spacing: 0.24em; text-transform: uppercase; color: var(--gp-smoke); }
body.gg-premium .so-top__label, body.gg-premium .so-group__more, body.gg-premium .so-all__arrow { color: var(--gp-red-hi); }
body.gg-premium .so-section { border-color: rgb(239 233 222 / 0.3); color: var(--gp-bone); font: 600 18px/1 var(--gp-f-display); }
@media (hover: hover) and (pointer: fine) { body.gg-premium .so-section:hover { background: var(--gp-night-3); border-color: var(--gp-red); color: var(--gp-bone); } }
body.gg-premium .so-section__count, body.gg-premium .so-result__date, body.gg-premium .so-entity__type { color: var(--gp-smoke); }
body.gg-premium .so-result { color: var(--gp-bone); border-top: 1px solid var(--gp-tint); }
body.gg-premium .so-result__title { font: 600 clamp(20px, 2vw, 28px)/1.15 var(--gp-f-display); text-transform: uppercase; letter-spacing: 0.005em; }
body.gg-premium .so-group__head { border-bottom-color: var(--gp-tint); }
body.gg-premium .so-all { border-top-color: var(--gp-bone); color: var(--gp-bone); }
body.gg-premium .search-overlay [role="option"][aria-selected="true"] { background: var(--gp-night-3); color: var(--gp-bone); }
@media (hover: hover) and (pointer: fine) { body.gg-premium .search-overlay [role="option"]:hover { background: var(--gp-night-3); color: var(--gp-bone); } }
body.gg-premium .search-overlay [role="option"][aria-selected="true"] { box-shadow: inset 4px 0 0 var(--gp-red); }
body.gg-premium .search-overlay mark, body.gg-premium .so-empty mark { color: var(--gp-red-hi); background: none; text-decoration: none; font-weight: 700; }
body.gg-premium .so-entity { border-color: rgb(239 233 222 / 0.3); color: var(--gp-bone); }
body.gg-premium .so-empty__title { font: 600 clamp(20px, 2vw, 28px)/1.2 var(--gp-f-display); text-transform: uppercase; color: var(--gp-bone); }
body.gg-premium .so-empty__tips { color: var(--gp-smoke); }
body.gg-premium .so-latest .card, body.gg-premium .so-latest .card__title a { color: var(--gp-bone); }
body.gg-premium .so-latest .card__tag, body.gg-premium .so-latest .meta { color: var(--gp-smoke); }

/* Search field: the big underline is the focus indicator (red, 4px); no extra box. */
body.gg-premium .search-field__input:focus-visible, body.gg-premium .search-field--overlay:focus-within :focus-visible { outline: none; }
body.gg-premium .social-nav__list { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; list-style: none; margin: 0; padding: 0; }
body.gg-premium .social-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; min-width: 44px; color: var(--gp-smoke); font: 500 14px/1 var(--gp-f-display); letter-spacing: 0.1em; }
@media (hover: hover) and (pointer: fine) { body.gg-premium .social-link:hover { color: var(--gp-bone); } }
body.gg-premium .social-link__icon { width: 22px; height: 22px; flex: none; }

/* Legend editorial band (design-fixture excerpts with their own headings): stacked in the reading column */
body.gg-premium .gp-col .editorial-band { grid-template-columns: 1fr; gap: 32px; margin-block: 2.4em; padding-block: 28px; border-block: 1px solid var(--gp-hair); }
body.gg-premium .gp-col .editorial-band__col + .editorial-band__col { border-left: 0; padding-left: 0; }
body.gg-premium .gp-col .editorial-band__kicker { font: 500 13px/1 var(--gp-f-display); letter-spacing: 0.24em; text-transform: uppercase; color: var(--gp-red-hi); }
body.gg-premium .gp-col .editorial-band__heading { font: 700 clamp(26px, 2.6vw, 36px)/1 var(--gp-f-display); letter-spacing: 0.01em; color: var(--gp-bone); }
body.gg-premium .gp-col .editorial-band__excerpt { font-size: 18px; line-height: 1.6; color: rgb(239 233 222 / 0.9); }
@media (prefers-reduced-motion: reduce) {
  body.gg-premium .nav-drawer { clip-path: none; opacity: 0; transition: opacity 150ms linear; }
  body.gg-premium .nav-drawer.is-open { opacity: 1; }
}
/* external-link arrow (header.css, not loaded here, sized it) */
body.gg-premium .nav-ext { width: 11px; height: 11px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; }
body.gg-premium .drawer-link .nav-ext { width: 0.36em; height: 0.36em; }

/* News immersive: compact red-ruled subheads, lead, figure/credit frames, blockquote, wire list. Kept in this blocking sheet (the news body
   is in the first viewport); the rest of the immersive layer (article-immersive.css) loads without blocking rendering. */
body.gg-premium--news .gp-prose h2 { margin-top: 2.2em; padding-top: 0; font-size: clamp(26px, 2.8vw, 36px); }
body.gg-premium--news .gp-prose h2::before { content: ""; display: block; width: 48px; height: 4px; margin: 0 0 14px; padding: 0; background: var(--gp-red-bone); }
body.gg-premium--news .gp-prose :is(.gp-prose > p, section > p):first-of-type:not([class]) { font-size: clamp(20px, 1.9vw, 23px); line-height: 1.5; font-weight: 500; }
body.gg-premium--news .gp-prose figure { margin: 2.2em 0 2.4em; }
body.gg-premium--news .gp-prose figure img { display: block; width: 100%; border-top: 4px solid var(--gp-red-bone); }
body.gg-premium--news .gp-prose figcaption { padding: 10px 0 12px; border-bottom: 1px solid rgb(20 17 15 / 0.25); font: 400 13.5px/1.45 var(--gp-f-text); }
body.gg-premium--news .gp-prose :is(.wp-block-embed, .video-container, .embed-responsive) { margin: 2.2em 0; border-top: 4px solid var(--gp-red-bone); }
body.gg-premium--news .gp-prose blockquote:not(.pullquote) { margin: 2em 0; padding: 4px 0 4px 24px; border-left: 3px solid var(--gp-red-bone); font: 600 clamp(24px, 2.5vw, 32px)/1.22 var(--gp-f-display); font-style: normal; letter-spacing: 0.005em; }
body.gg-premium--news .gp-side .aside-block li { padding-block: 10px; }
body.gg-premium--news .gp-side .aside-block time, body.gg-premium--news .gp-side .aside-block .meta { color: var(--gp-red-bone); font: 600 12px/1.3 var(--gp-f-display); letter-spacing: 0.12em; text-transform: uppercase; }

