/**
 * Cleared for Departure — shared design tokens
 * Single source for cream, accent, type, shell measures.
 */

:root {
  --cfd-cream: #f9f8f4;
  --cfd-cream-alt: #f5f2eb;
  --cfd-page-bg: #f5f2ed;
  --cfd-accent: #a8322d;
  --cfd-accent-hover: #963328;
  --cfd-burgundy: var(--cfd-accent);
  --cfd-burgundy-alt: var(--cfd-accent-hover);
  --cfd-rust: var(--cfd-accent);
  --cfd-rust-dark: var(--cfd-accent-hover);
  --cfd-text: #1a1a1a;
  --cfd-ink: var(--cfd-text);
  --cfd-muted: #6b6558;
  --cfd-border: #d8d2c5;
  --cfd-footer: #0e0e0e;
  --cfd-black: #000000;
  --cfd-newsletter-bg: #eeede8;
  --cfd-search-bg: var(--cfd-cream-alt);
  --cfd-serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --cfd-sans: "DM Sans", system-ui, -apple-system, sans-serif;
  --cfd-font-serif: var(--cfd-serif);
  --cfd-font-sans: var(--cfd-sans);
  --cfd-max: 1496px;
  --cfd-gutter: 24px;
  --cfd-label-spacing: 0.12em;
  --cfd-notch-r: clamp(16px, 1.6vw, 24px);
  --cfd-single-contained: 920px;
  --cfd-single-wide: 1200px;
  --cfd-single-full-pad: clamp(1rem, 4vw, 40px);
  --cfd-pillar-accent: var(--cfd-accent);
  --cfd-paper-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='128' height='128' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");

  /* Header-scoped aliases (classic + departure) */
  --cfd-k-cream: var(--cfd-cream);
  --cfd-k-cream-alt: var(--cfd-cream-alt);
  --cfd-k-rust: var(--cfd-accent);
  --cfd-k-rust-dark: var(--cfd-accent-hover);
  --cfd-k-black: var(--cfd-text);
  --cfd-k-text: var(--cfd-text);
  --cfd-k-muted: var(--cfd-muted);
  --cfd-k-border: var(--cfd-border);
  --cfd-k-serif: var(--cfd-serif);
  --cfd-k-sans: var(--cfd-sans);
  --cfd-k-max: var(--cfd-max);
  --cfd-k-gutter: var(--cfd-gutter);

  /* Perforation / ticket tear */
  --cfd-perforation-color: var(--cfd-accent);
  --cfd-perforation-dash: 2px;
  --cfd-perforation-gap: 4px;
  --cfd-perf-hole-fill: var(--cfd-k-cream);
  --cfd-perf-strip-w: 6px;
  --cfd-perf-step: 8px;
  --cfd-perf-hole-r: 2px;
  --cfd-perf-hole-x: 3px;
  --cfd-perf-hole-y: 4px;
  --cfd-perf-bridge-x: 3px;
  --cfd-perf-bridge-w: 1px;
  --cfd-perf-bridge-start: 3px;
  --cfd-perf-bridge-end: 4px;
  --cfd-perf-scallop: radial-gradient(
    circle at var(--cfd-perf-hole-x) var(--cfd-perf-hole-y),
    var(--cfd-perf-hole-fill) var(--cfd-perf-hole-r),
    transparent calc(var(--cfd-perf-hole-r) + 0.25px)
  );
  --cfd-perf-bridge: repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent var(--cfd-perf-bridge-start),
    var(--cfd-perforation-color) var(--cfd-perf-bridge-start),
    var(--cfd-perforation-color) var(--cfd-perf-bridge-end),
    transparent var(--cfd-perf-bridge-end),
    transparent var(--cfd-perf-step)
  );
  --cfd-perf-edge-bg: var(--cfd-perf-scallop) 0 0 / var(--cfd-perf-strip-w) var(--cfd-perf-step) repeat-y,
    var(--cfd-perf-bridge) var(--cfd-perf-bridge-x) 0 / var(--cfd-perf-bridge-w) var(--cfd-perf-step) repeat-y;
}

body.cfd-strong-perforation-on {
  --cfd-perforation-dash: 3px;
  --cfd-perforation-gap: 3px;
  --cfd-perf-bridge-start: 2px;
  --cfd-perf-bridge-end: calc(2px + var(--cfd-perforation-dash));
}

body.cfd-strong-perforation-off {
  --cfd-perf-hole-r: 2px;
  --cfd-perf-bridge-start: 3px;
  --cfd-perf-bridge-end: 4px;
}
