/*
 * Corridor 99 design tokens (Phase 3, 2026-10-11).
 * Identity (colour, families): BRAND.md v2, measured from Squamish photos.
 * Structure (sizes, spacing, rules, radii, breakpoints): measured from the eater.com capture.
 * Root is 10px (Advanced Themer convention), so 1rem = 10px. Type steps up once at 1180px, as measured.
 */
:root {
  /* Colour */
  --c99-ink: #1A1E1C;
  --c99-paper: #EFF6F8;
  --c99-white: #FFFFFF;
  --c99-sound: #184261;
  --c99-sound-deep: #002B48;
  --c99-sound-tint: #CEF1FF;
  --c99-sound-surface: #496E8D;
  --c99-alpenglow: #CA5B21;      /* graphics only, never text on light */
  --c99-alpenglow-text: #BC4F15;
  --c99-granite-700: #474746;
  --c99-granite-500: #6D707A;
  --c99-granite-300: #B5B8C3;    /* decorative rules only */
  --c99-granite-100: #E2E5F0;
  --c99-driftwood: #86724B;      /* graphics only */
  --c99-driftwood-text: #816D46;

  /* Roles */
  --c99-bg: var(--c99-paper);
  --c99-surface: var(--c99-white);
  --c99-text: var(--c99-ink);
  --c99-text-2: var(--c99-granite-700);
  --c99-meta: var(--c99-granite-500);
  --c99-link: var(--c99-sound);
  --c99-accent: var(--c99-sound);
  --c99-rule: var(--c99-ink);
  --c99-rule-soft: var(--c99-granite-100);
  --c99-shadow-hard: 3px 3px 0 var(--c99-sound-deep);   /* measured: 3px 3px 0 on lead cards */
  --c99-focus: var(--c99-alpenglow-text);

  /* Section identity */
  --c99-sec-eat: var(--c99-alpenglow);
  --c99-sec-outdoors: var(--c99-sound-surface);
  --c99-sec-todo: var(--c99-driftwood-text);
  --c99-sec-news: var(--c99-ink);

  /* Families */
  --c99-font-mark: "Barlow Condensed", "Arial Narrow", "Roboto Condensed", sans-serif;   /* wordmark, kickers, labels */
  --c99-font-head: "Newsreader", Georgia, "Times New Roman", serif;                    /* headlines, entry names */
  --c99-font-text: "Newsreader", Georgia, "Times New Roman", serif;                    /* body, deks */
  --c99-font-ui: "Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;           /* nav, meta, buttons, cards */

  /* Type scale: base step (< 1180px), measured at 390/768/1024 */
  --c99-fs-kicker: 1.1rem;     --c99-ls-kicker: 0.11rem;
  --c99-fs-meta: 1.2rem;
  --c99-fs-ui: 1.6rem;
  --c99-fs-body: 1.6rem;       --c99-lh-body: 1.5;
  --c99-fs-card-s: 1.5rem;     --c99-lh-card-s: 1.3;
  --c99-fs-card-m: 2.2rem;     --c99-lh-card-m: 1.1;
  --c99-fs-card-l: 2.2rem;     --c99-lh-card-l: 1.1;
  --c99-fs-entry: 3.2rem;      --c99-lh-entry: 1;
  --c99-fs-h1: 2.6rem;         --c99-lh-h1: 1.05;
  --c99-fs-module: 4.2rem;     --c99-lh-module: 1.1;
  --c99-fs-display: 5rem;      --c99-lh-display: 0.95;

  /* Spacing (measured rhythm) */
  --c99-space-1: 0.4rem;
  --c99-space-2: 0.8rem;
  --c99-space-3: 1.2rem;
  --c99-space-4: 1.6rem;
  --c99-space-5: 2rem;
  --c99-space-6: 3rem;
  --c99-space-7: 4rem;
  --c99-space-8: 5rem;
  --c99-space-9: 7rem;          /* homepage module gap */

  /* Layout */
  --c99-container: 110rem;      /* 1100px */
  --c99-gutter: 1.6rem;
  --c99-ad-leaderboard: 15rem;  /* reserved ad band height */
  --c99-radius: 2px;
  --c99-rule-w: 1px;
  --c99-rule-accent-w: 4px;
}

@media (min-width: 1180px) {
  :root {
    --c99-fs-body: 1.9rem;
    --c99-fs-card-s: 1.5rem;
    --c99-fs-card-m: 2rem;      --c99-lh-card-m: 1.1;
    --c99-fs-card-l: 2.4rem;
    --c99-fs-entry: 3.6rem;
    --c99-fs-h1: 4rem;          --c99-lh-h1: 0.95;
    --c99-fs-module: 4.2rem;
    --c99-fs-display: 6.2rem;
  }
}

/* Base: applied to the whole front end so Bricks' system-font default is replaced. */
html { -webkit-text-size-adjust: 100%; }
body {
  background: var(--c99-bg);
  color: var(--c99-text);
  font-family: var(--c99-font-ui);
  font-size: var(--c99-fs-ui);
  line-height: 1.5;
}
a { color: var(--c99-link); text-decoration-thickness: 1px; text-underline-offset: 0.3rem; }
:focus-visible { outline: 2px solid var(--c99-focus); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}
