/* ── Design Tokens ── */
:root{
  /* Colors */
  --navy-950:#0A1B27;
  --navy-900:#102936;
  --sea-700:#28677A;
  --sea-500:#4D8FA0;
  --bone-100:#F5F0E8;
  --sand-200:#E8DECF;
  --white:#FFFFFF;
  --coral-600:#D96543;
  --coral-700:#B94D31;
  --ink:#101820;
  --muted:#657078;
  --success:#267A5A;
  --warning:#A56A17;
  --danger:#B33A3A;

  /* Typography */
  --ff-serif:'Newsreader',Georgia,'Times New Roman',serif;
  --ff-sans:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --fs-xs:clamp(.75rem,.7rem+.25vw,.875rem);
  --fs-sm:clamp(.8125rem,.77rem+.2vw,.9375rem);
  --fs-base:clamp(1rem,.95rem+.25vw,1.125rem);
  --fs-md:clamp(1.125rem,1.05rem+.35vw,1.3125rem);
  --fs-lg:clamp(1.25rem,1.1rem+.6vw,1.625rem);
  --fs-xl:clamp(1.5rem,1.2rem+1.2vw,2.25rem);
  --fs-2xl:clamp(1.875rem,1.4rem+1.8vw,3rem);
  --fs-3xl:clamp(2.25rem,1.6rem+2.5vw,3.75rem);
  --lh-tight:1.15;
  --lh-snug:1.3;
  --lh-normal:1.6;

  /* Spacing */
  --sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;
  --sp-5:1.25rem;--sp-6:1.5rem;--sp-8:2rem;--sp-10:2.5rem;
  --sp-12:3rem;--sp-16:4rem;--sp-20:5rem;--sp-24:6rem;
  --sp-32:8rem;

  /* Layout */
  --container-sm:640px;--container-md:768px;--container-lg:1024px;
  --container-xl:1200px;--container-2xl:1440px;
  --header-h:64px;--header-h-compact:56px;

  /* Radius */
  --r-sm:4px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-full:9999px;

  /* Shadows */
  --shadow-sm:0 1px 2px rgba(10,27,39,.06);
  --shadow-md:0 4px 12px rgba(10,27,39,.08);
  --shadow-lg:0 8px 24px rgba(10,27,39,.12);

  /* Transitions - Base */
  --t-fast:.15s ease;--t-base:.25s ease;--t-slow:.4s ease;

  /* Motion Tokens - Easing System */
  --ease-standard:cubic-bezier(0.2,0,0,1);
  --ease-emphasized:cubic-bezier(0.22,1,0.36,1);
  --ease-enter:cubic-bezier(0,0,0.2,1);
  --ease-exit:cubic-bezier(0.4,0,1,1);
  --ease-spring-soft:cubic-bezier(0.16,1,0.3,1);

  /* Motion Tokens - Durations */
  --dur-micro:180ms;
  --dur-section:450ms;
  --dur-ambient:600ms;
  --dur-hero-stagger:900ms;

  /* Motion Tokens - Reveal */
  --reveal-distance:20px;
  --reveal-distance-sm:12px;

  /* Z-index */
  --z-header:100;--z-overlay:200;--z-drawer:300;--z-modal:400;
  --z-cookie:500;--z-lightbox:600;--z-skip:10000;
  --z-progress:90;

  /* Safe Areas */
  --sab-top:env(safe-area-inset-top,0px);
  --sab-bottom:env(safe-area-inset-bottom,0px);
  --sab-left:env(safe-area-inset-left,0px);
  --sab-right:env(safe-area-inset-right,0px);
}

/* Reduced Motion */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
  :root{--reveal-distance:0px;--dur-micro:0ms;--dur-section:0ms;--dur-ambient:0ms}
}
