/* Aurevia design tokens — palette, type, spacing, radii, motion. */
:root {
  /* Palette (design.md) */
  --ink-950: #061724;
  --ink-900: #08202f;
  --ink-800: #0b2a3d;
  --slate-600: #4b6473;
  --mist-50: #f5f7f6;
  --mist-100: #eef2f0;
  --paper-0: #ffffff;
  --sand-400: #cdae76;
  --sand-100: #f3ecdf;
  --signal-500: #dd6a3c;
  --signal-400: #e67f55;
  --sage-500: #4c8178;
  --sage-700: #36615a;
  --line-200: #dce3e1;
  --danger-600: #b43b35;

  /* Semantic roles (light surface defaults) */
  --surface: var(--mist-50);
  --text: var(--ink-950);
  --text-muted: var(--slate-600);
  --rule: var(--line-200);
  --focus: var(--ink-950);

  --on-dark: #f5f7f6;
  --on-dark-muted: rgba(245, 247, 246, 0.74);
  --on-dark-faint: rgba(245, 247, 246, 0.56);
  --rule-dark: rgba(245, 247, 246, 0.14);

  /* Type */
  --font-sans: 'Manrope', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
  --font-body: var(--font-sans);
  --font-display: var(--font-sans);

  --fs-display: clamp(2.5rem, 1.55rem + 3.6vw, 4.75rem);
  --fs-h1: clamp(2.125rem, 1.55rem + 2.4vw, 3.75rem);
  --fs-h2: clamp(1.625rem, 1.3rem + 1.35vw, 2.625rem);
  --fs-h3: clamp(1.1875rem, 1.1rem + 0.35vw, 1.4375rem);
  --fs-lead: clamp(1.0625rem, 1rem + 0.3vw, 1.25rem);
  --fs-body: clamp(1rem, 0.97rem + 0.12vw, 1.0625rem);
  --fs-small: 0.9375rem;
  --fs-xs: 0.8125rem;
  --fs-eyebrow: 0.75rem;

  --lh-tight: 1.04;
  --lh-heading: 1.14;
  --lh-body: 1.62;
  --tracking-display: -0.028em;
  --tracking-heading: -0.018em;
  --tracking-eyebrow: 0.14em;

  /* Spacing scale: 4 8 12 16 24 32 48 64 96 128 */
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 24px;
  --s-6: 32px;
  --s-7: 48px;
  --s-8: 64px;
  --s-9: 96px;
  --s-10: 128px;

  --gutter: 24px;
  --max: 1280px;
  --measure: 680px;
  --section-y: clamp(64px, 4rem + 4vw, 128px);
  --header-h: 72px;

  --radius-input: 8px;
  --radius-card: 14px;
  --radius-panel: 20px;

  --shadow-low: 0 1px 2px rgba(6, 23, 36, 0.06), 0 8px 24px -12px rgba(6, 23, 36, 0.14);
  --ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --dir: 1; /* +1 LTR, −1 RTL: for transforms that express direction */
}

@media (min-width: 768px) {
  :root {
    --gutter: 48px;
  }
}

@media (min-width: 1200px) {
  :root {
    --gutter: 72px;
    --header-h: 80px;
  }
}

/* Arabic: IBM Plex Sans Arabic, roomier line-height, no tracking tricks. */
:root[dir='rtl'] {
  --dir: -1;
  --font-body: 'IBM Plex Sans Arabic', 'Manrope', ui-sans-serif, system-ui, 'Segoe UI', Tahoma, sans-serif;
  --font-display: var(--font-body);
  --lh-tight: 1.24;
  --lh-heading: 1.34;
  --lh-body: 1.85;
  --tracking-display: 0;
  --tracking-heading: 0;
  --tracking-eyebrow: 0;
  --fs-display: clamp(2.25rem, 1.45rem + 3.1vw, 4.25rem);
  --fs-eyebrow: 0.875rem;
}
