/* FOW TRAVEL — TYPOGRAPHY TOKENS v0.1
   Direction: ACCEPTED
   Artifact: REVIEW_READY_FOR_USER_ACCEPTANCE
   Font binaries are intentionally NOT bundled here — fow_type.css loads them.

   EN INSTRUMENT, user-directed correction (Published Page alignment run):
   the EN instrument role is INSTRUMENT SANS, not Neue Haas Grotesk. Instrument
   Sans is SIL OFL and its actual binary is bundled under assets/fonts/, so the
   instrument voice now renders from a real FOW-owned asset in every locale.
   The chain below keeps a technical emergency fallback only.

   PAPER, aligned to the live source: the ONE PAPER material is authored in
   f2hub.css §0 (the FOLIO stock actually shipping on the city hub). The
   --fow-paper-* roles below now carry those exact values, so the Published
   Page and the FOLIO stand on one material rather than two palettes.
*/

:root {
  /* FONT FAMILY — EN */
  --fow-font-editorial-en:
    "EB Garamond",
    Georgia,
    serif;

  --fow-font-instrument-en:
    "Instrument Sans",
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif;

  /* FONT FAMILY — KO */
  --fow-font-editorial-ko:
    "RIDIBatang",
    "Noto Serif KR",
    serif;

  --fow-font-instrument-ko:
    "SUIT",
    "Pretendard",
    "Noto Sans KR",
    sans-serif;

  /* WEIGHTS */
  --fow-weight-editorial-regular: 400;
  --fow-weight-editorial-emphasis: 500;
  --fow-weight-editorial-strong: 600;

  --fow-weight-instrument-regular: 400;
  --fow-weight-instrument-medium: 500;
  --fow-weight-instrument-strong: 600;

  /* TYPE SCALE */
  --fow-type-display-xl: clamp(4.25rem, 8vw, 9rem);
  --fow-type-display: clamp(3rem, 5.5vw, 6rem);
  --fow-type-h1: clamp(2.25rem, 3.6vw, 4.2rem);
  --fow-type-h2: clamp(1.55rem, 2.2vw, 2.6rem);
  --fow-type-h3: clamp(1.18rem, 1.45vw, 1.55rem);

  --fow-type-body-lg: clamp(1.08rem, 1.2vw, 1.28rem);
  --fow-type-body: clamp(1rem, 1.05vw, 1.14rem);
  --fow-type-body-sm: clamp(.90rem, .95vw, 1rem);

  --fow-type-label-lg: .84rem;
  --fow-type-label: .76rem;
  --fow-type-small: .70rem;
  --fow-type-micro: .64rem;

  /* LEADING */
  --fow-leading-display: .94;
  --fow-leading-tight: 1.06;
  --fow-leading-heading: 1.14;
  --fow-leading-body: 1.66;
  --fow-leading-body-ko: 1.72;
  --fow-leading-label: 1.35;
  --fow-leading-micro: 1.42;

  /* TRACKING */
  --fow-track-editorial-display: -0.02em;
  --fow-track-editorial: 0;
  --fow-track-instrument-lg: .08em;
  --fow-track-instrument: .06em;
  --fow-track-instrument-caps: .12em;

  /* GLOBAL SEMANTIC */
  --fow-type-place-display: var(--fow-type-display-xl);
  --fow-type-section-title: var(--fow-type-h1);
  --fow-type-subsection: var(--fow-type-h2);
  --fow-type-reading: var(--fow-type-body);
  --fow-type-reading-lg: var(--fow-type-body-lg);
  --fow-type-instrument: var(--fow-type-label);
  --fow-type-instrument-sm: var(--fow-type-small);
  --fow-type-registration: var(--fow-type-micro);

  /* FOLIO */
  --fow-folio-city-size: clamp(3.2rem, 5vw, 6.4rem);
  --fow-type-folio-operation: clamp(1.18rem, 1.55vw, 1.65rem);
  --fow-folio-code-size: var(--fow-type-small);
  --fow-folio-state-size: var(--fow-type-small);
  --fow-folio-glyph-size: clamp(42px, 4vw, 68px);

  --fow-folio-code-row: 1.4rem;
  --fow-folio-glyph-row: 5.2rem;
  --fow-folio-title-row: 4.8rem;
  --fow-folio-desc-row: 5.6rem;
  --fow-folio-state-row: 1.8rem;

  /* PAPER — ONE PAPER, ONE MATERIAL IDENTITY, MULTIPLE PHYSICAL STATES.
     Values are the live FOLIO stock from f2hub.css §0 (aged atlas paper /
     vellum hybrid: Fedrigoni restraint + Awagami fibre + archival patina),
     promoted here so every paper surface reads from one source. f2hub.css
     §0 now resolves its --fo* aliases from these roles. */

  /* face — the sheet itself */
  --fow-paper-face: #EDE7D6;
  --fow-paper-face-2: #E5DCC6;
  --fow-paper-face-3: #D9CEB4;
  --fow-paper-sunk: #CEC2A6;
  --fow-paper-cloud: #F7F3E7;

  /* edge — cut stock has a lit head and a sunk foot, not a border */
  --fow-paper-edge: #C2B694;
  --fow-paper-edge-dark: #96896A;
  --fow-paper-edge-light: #F6F1E2;

  /* ink */
  --fow-paper-ink: #191818;
  --fow-paper-ink-soft: #46464A;
  --fow-paper-ink-faint: #6B6A66;
  --fow-paper-ink-quiet: #8B8672;
  /* the quiet tone proportionally darkened in linear light until the
     worst-case stock luminance clears 4.5:1 — for MEASURED semantic text */
  --fow-paper-ink-quiet-semantic: #585547;

  /* accent */
  --fow-paper-brass: #8A7442;
  --fow-paper-brass-semantic: #685730;
  --fow-paper-status: #476b61;
  --fow-paper-hot: #B23A1E;
  /* cartographic water — a map INK on this paper, not a second stock. The
     value is the sage the plate raster is printed in (tools/pub_geo.py), so
     a legend swatch and the map itself cannot drift apart. */
  --fow-paper-water: #74847A;

  /* rules */
  --fow-rule-on-paper: #C6BCA2;
  --fow-rule-on-paper-soft: #D6CDB7;

  /* DARK WORLD */
  --fow-world-ink: rgba(241, 234, 216, .92);
  --fow-world-ink-soft: rgba(226, 216, 194, .66);
  --fow-world-instrument: rgba(197, 163, 95, .84);
  --fow-world-instrument-dim: rgba(197, 163, 95, .48);
}

html[lang="en"] {
  --fow-font-editorial: var(--fow-font-editorial-en);
  --fow-font-instrument: var(--fow-font-instrument-en);
  --fow-leading-body-active: var(--fow-leading-body);
}

html[lang="ko"] {
  --fow-font-editorial: var(--fow-font-editorial-ko);
  --fow-font-instrument: var(--fow-font-instrument-ko);

  --fow-leading-body-active: var(--fow-leading-body-ko);

  --fow-track-instrument-lg: .015em;
  --fow-track-instrument: 0;
  --fow-track-instrument-caps: .02em;
}

.t-editorial,
[data-type-voice="editorial"] {
  font-family: var(--fow-font-editorial);
}

.t-instrument,
[data-type-voice="instrument"] {
  font-family: var(--fow-font-instrument);
  font-variant-numeric: tabular-nums lining-nums;
}

.t-display {
  font-family: var(--fow-font-editorial);
  font-size: var(--fow-type-display);
  font-weight: var(--fow-weight-editorial-emphasis);
  line-height: var(--fow-leading-display);
  letter-spacing: var(--fow-track-editorial-display);
}

.t-body {
  font-family: var(--fow-font-editorial);
  font-size: var(--fow-type-body);
  line-height: var(--fow-leading-body-active);
}

.t-label {
  font-family: var(--fow-font-instrument);
  font-size: var(--fow-type-label);
  line-height: var(--fow-leading-label);
  letter-spacing: var(--fow-track-instrument);
  font-variant-numeric: tabular-nums lining-nums;
}

.t-micro {
  font-family: var(--fow-font-instrument);
  font-size: var(--fow-type-micro);
  line-height: var(--fow-leading-micro);
  letter-spacing: var(--fow-track-instrument);
  font-variant-numeric: tabular-nums lining-nums;
}
