/* ==========================================================================
   Bay La Sun — design tokens
   Mirrors docs/design-dna.json. Single source of truth for color, type,
   spacing, radius, shadow and motion values used across the presentation.
   ========================================================================== */

:root {
  /* Color — brand */
  --bls-teal-900: #23393a;
  --bls-teal-700: #2f4a4a;
  --bls-teal-600: #496e6e;
  --bls-teal-400: #6b8f8f;
  --bls-gold-500: #a58f69;
  --bls-gold-300: #c9b795;
  --bls-neutral-0: #fefdfb;
  --bls-neutral-100: #f4f1ea;
  --bls-neutral-300: #d8d2c4;
  --bls-neutral-600: #7a7263;
  --bls-neutral-900: #1c1a16;

  /* Color — semantic roles */
  --surface-page: var(--bls-teal-600);
  --surface-panel: var(--bls-neutral-0);
  --surface-panel-alt: var(--bls-neutral-100);
  --surface-inverse: var(--bls-teal-900);
  --text-on-teal: var(--bls-neutral-0);
  --text-on-panel: var(--bls-neutral-900);
  --text-muted-on-teal: #cfe0df;
  --text-muted-on-panel: var(--bls-neutral-600);
  --text-accent: var(--bls-gold-500);
  --text-on-gold: var(--bls-neutral-0);
  --border-on-teal: rgba(254, 253, 251, 0.18);
  --border-on-panel: rgba(28, 26, 22, 0.1);

  /* Typography */
  --font-heading: "Play", "Helvetica Neue", Arial, sans-serif;
  --font-serif: "Mate", Georgia, "Times New Roman", serif;
  --font-body: "Inter", "Helvetica Neue", Arial, sans-serif;

  --step-display: clamp(2.75rem, 2rem + 3vw, 4.5rem);
  --step-h1: clamp(2rem, 1.6rem + 1.8vw, 3rem);
  --step-h2: clamp(1.375rem, 1.2rem + 0.8vw, 1.75rem);
  --step-h3: clamp(1.125rem, 1.05rem + 0.35vw, 1.3rem);
  --step-body: clamp(0.95rem, 0.9rem + 0.2vw, 1.05rem);
  --step-body-sm: 0.875rem;
  --step-caption: 0.75rem;
  --step-overline: 0.75rem;

  /* Spacing (8px base unit) */
  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 3rem;
  --space-6: 4rem;
  --space-7: 6rem;

  /* Shape */
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-pill: 999px;

  /* Elevation */
  --shadow-low: 0 1px 3px rgba(0, 0, 0, 0.08);
  --shadow-medium: 0 4px 12px rgba(0, 0, 0, 0.1);
  --shadow-high: 0 12px 32px rgba(0, 0, 0, 0.14);

  /* Motion */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --duration-micro: 150ms;
  --duration-normal: 500ms;
  --duration-macro: 900ms;

  /* Layout */
  --content-max: 1160px;
  --stage-padding-inline: clamp(1.5rem, 5vw, 6rem);
}
