/* ============================================================
   DESIGN TOKENS — single source of truth for colors, fonts, etc.
   To rebrand the entire site, edit ONLY this file.
   ============================================================ */

:root {
  /* ---------- Brand colors (navy + orange, from logo) ---------- */
  --color-primary:        #1B2B4B;   /* deep navy from the wordmark */
  --color-primary-tint:   #2B3F6B;   /* lighter navy — hovers, alt sections */
  --color-primary-dark:   #0F1B33;   /* darker navy — depth */

  --color-accent:         #E8762A;   /* orange swoosh + spinal column */
  --color-accent-tint:    #F2A36B;   /* softer orange — highlights */
  --color-accent-dark:    #C45A14;   /* deeper orange — pressed states */

  /* ---------- Neutrals ---------- */
  --color-bg:             #FFFFFF;
  --color-bg-soft:        #F6F7FA;   /* faint cool grey for alt sections */
  --color-bg-dark:        #1B2B4B;   /* primary as background */

  --color-text:           #1A1F2E;   /* near-black body */
  --color-text-muted:     #5A6478;   /* secondary copy */
  --color-text-inverse:   #FFFFFF;   /* on dark backgrounds */
  --color-text-on-accent: #FFFFFF;

  --color-border:         #E2E5EC;
  --color-border-strong:  #C8CDD8;

  /* ---------- Status ---------- */
  --color-success:        #2E8F6A;
  --color-error:          #C0392B;
  --color-warning:        #D89020;

  /* ---------- Typography ---------- */
  --font-display: "Fraunces", "Playfair Display", Georgia, "Times New Roman", serif;
  --font-body:    "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  --fs-xs:   0.75rem;    /* 12px */
  --fs-sm:   0.875rem;   /* 14px */
  --fs-base: 1rem;       /* 16px */
  --fs-md:   1.125rem;   /* 18px */
  --fs-lg:   1.25rem;    /* 20px */
  --fs-xl:   1.5rem;     /* 24px */
  --fs-2xl:  2rem;       /* 32px */
  --fs-3xl:  2.5rem;     /* 40px */
  --fs-4xl:  3.25rem;    /* 52px */
  --fs-5xl:  4rem;       /* 64px — hero */

  --lh-tight: 1.15;
  --lh-snug:  1.3;
  --lh-base:  1.6;

  --fw-regular: 400;
  --fw-medium:  500;
  --fw-semibold: 600;
  --fw-bold:    700;

  /* ---------- Spacing scale (8px base) ---------- */
  --space-1:  0.25rem;   /* 4 */
  --space-2:  0.5rem;    /* 8 */
  --space-3:  0.75rem;   /* 12 */
  --space-4:  1rem;      /* 16 */
  --space-5:  1.5rem;    /* 24 */
  --space-6:  2rem;      /* 32 */
  --space-7:  2.5rem;    /* 40 */
  --space-8:  3rem;      /* 48 */
  --space-9:  4rem;      /* 64 */
  --space-10: 5rem;      /* 80 */
  --space-12: 6rem;      /* 96 */
  --space-16: 8rem;      /* 128 */

  /* ---------- Layout ---------- */
  --container-max:    1200px;
  --container-narrow: 800px;
  --container-pad:    1.5rem;

  /* ---------- Radius ---------- */
  --radius-sm:   6px;
  --radius-md:   12px;
  --radius-lg:   20px;
  --radius-pill: 999px;

  /* ---------- Shadow ---------- */
  --shadow-sm: 0 1px 2px rgba(15, 27, 51, 0.06), 0 1px 3px rgba(15, 27, 51, 0.04);
  --shadow-md: 0 4px 12px rgba(15, 27, 51, 0.08), 0 2px 4px rgba(15, 27, 51, 0.04);
  --shadow-lg: 0 12px 32px rgba(15, 27, 51, 0.12), 0 4px 8px rgba(15, 27, 51, 0.05);

  /* ---------- Motion ---------- */
  --ease-out:   cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0.05, 0.36, 1);
  --dur-fast:   150ms;
  --dur-base:   220ms;
  --dur-slow:   400ms;

  /* ---------- Z-index ---------- */
  --z-nav:   100;
  --z-modal: 1000;
}
