:root {
  /* SMH / Nine brand (public guidelines — nineforbrands.com.au/branding/smh/) */
  --color-smh-navy: #0a1633;
  --color-smh-red: #d4162e;
  --color-smh-red-hover: #b01226;
  /* Digital accents (common on smh.com.au — links / UI) */
  --color-link: #006598;
  --color-link-hover: #004a70;

  /* Legacy aliases used across components → map to SMH palette */
  --color-navy: var(--color-smh-navy);
  --color-navy-dark: #060d1f;
  --color-anz-blue: #007dba;
  --color-anz-blue-dark: #006ba8;
  --color-white: #ffffff;
  --color-off-white: #f8f9fb;
  --color-grey-bg: #eceef1;
  --color-grey-border: #d8dce3;
  --color-text: #121212;
  --color-text-muted: #5c6570;
  --color-positive: #0d8a4a;
  --color-negative: #c62828;
  --color-ig-red: #d4162e;
  --color-rba-bg: #0a1633;
  --color-rba-panel: #121f3d;
  /* Typography — editorial serif + neutral sans (SMH-style pairing) */
  --font-serif: "Newsreader", "Noto Serif", "Georgia", serif;
  --font-sans: "Noto Sans", "Segoe UI", system-ui, sans-serif;
  /* ANZ chrome (matches bank typography; used by .anz-header + chrome toggle) */
  --font-anz-chrome:
    "Myriad Pro", "Myriad", "Source Sans 3", "Source Sans Pro",
    "Helvetica Neue", Arial, system-ui, sans-serif;
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  /* Layout rhythm — one gutter + one vertical scale for flush alignment */
  --page-gutter: var(--space-lg);
  --section-pad-y: 2.5rem;
  --section-pad-y-tight: 1.25rem;
  --grid-gap: var(--space-xl);
  --stack-gap: var(--space-lg);
  --radius-sm: 4px;
  --radius-md: 8px;
  --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.08);
  --max-content: 1220px;
}

@media (max-width: 640px) {
  :root {
    --page-gutter: var(--space-md);
    --section-pad-y: 2rem;
  }
}
