/* ============================================================================
   STRONG INSURANCE — DESIGN SYSTEM TOKENS  (v4 · WARMED EDITION)
   Technique 4: Design-System / Component-Driven — small-town warm rebuild.
   Three-layer architecture preserved: PRIMITIVE -> SEMANTIC -> COMPONENT.

   What changed vs. the cold original (acting on the review: "a touch
   corporate/templated; coldest of the four"):
     • A WARM accent family (clay/terracotta + honey) now lives alongside Erie
       blue — warmth is a first-class part of the system, not a sparingly-used
       afterthought.
     • Surfaces moved from cool slate-50 to a soft warm LINEN/CREAM.
     • Shadows are warm-tinted (sienna), not cool navy — they feel like
       afternoon light, not a corporate boardroom.
     • Display type is a warm serif; body stays clean sans for trust + legibility.
     • Softer, rounder radii. A faint paper grain. Hand-feel, kept systematic.
   Erie blue #005fac is still the action/primary + the Erie co-brand badge.
   ============================================================================ */

/* === LAYER 1: PRIMITIVES =================================================== */
:root {
  /* --- Erie blue scale — the system's primary action / accent family --- */
  --blue-50:  #ebf3fb;
  --blue-100: #d2e4f6;
  --blue-200: #a6c8ec;
  --blue-300: #69a3da;
  --blue-400: #2f80c6;
  --blue-500: #005fac;   /* Erie blue — the action hue + co-brand */
  --blue-600: #00538f;
  --blue-700: #064577;
  --blue-800: #0b3a61;
  --blue-900: #102e4b;

  /* --- Strong navy scale — the structural anchor (warmed a touch) --- */
  --navy-50:  #eef0f6;
  --navy-100: #d8dce9;
  --navy-200: #adb5cd;
  --navy-300: #757f9f;
  --navy-400: #46527a;
  --navy-500: #2f3c64;
  --navy-600: #243151;   /* Strong navy anchor — slightly warmer/softer */
  --navy-700: #1c2742;
  --navy-800: #161e33;
  --navy-900: #0f1626;

  /* --- WARM accent: clay / terracotta (Strong's own brick, made friendly) - */
  --clay-50:  #fbf1ec;
  --clay-100: #f6ddd0;
  --clay-200: #ecbca5;
  --clay-300: #df9576;
  --clay-400: #cf6f49;
  --clay-500: #b85531;   /* warm primary accent — the neighborly spark */
  --clay-600: #9c4426;
  --clay-700: #7e300c;   /* Strong's true brick */
  --clay-800: #642912;

  /* --- WARM accent: honey / gold (Strong's tan, enriched) --- */
  --honey-100: #fbf2d9;
  --honey-200: #f3e1ad;
  --honey-300: #e9cd7f;
  --honey-400: #ddba5e;   /* warm highlight / stars-adjacent */
  --honey-500: #cda94a;
  --honey-600: #b18f37;

  /* --- Warm neutral / "stone" scale — cream surfaces, warm-grey text --- */
  --stone-0:   #ffffff;
  --stone-50:  #fbf8f3;   /* page background — soft linen cream */
  --stone-100: #f4eee4;   /* muted section — warm sand */
  --stone-150: #ece3d5;
  --stone-200: #e2d6c4;   /* warm border */
  --stone-300: #cdbda6;
  --stone-400: #a9967d;
  --stone-500: #7d6e5b;   /* muted text — warm taupe */
  --stone-600: #5a4f41;
  --stone-700: #41382e;   /* body text — warm brown-black */
  --stone-800: #2c251d;
  --stone-900: #1c1813;

  /* Signal colors */
  --green-500: #3a8a52;   /* "covered" success — warm sage-green */
  --green-600: #2f7344;
  --amber-500: #e0a02e;   /* review stars */

  /* --- Typography primitives --- */
  --font-sans:  "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-serif: "Fraunces", "Source Serif 4", Georgia, "Times New Roman", serif;

  /* Modular type scale (1.250 major-third) */
  --fs-xs:   0.75rem;
  --fs-sm:   0.875rem;
  --fs-base: 1rem;
  --fs-lg:   1.125rem;
  --fs-xl:   1.375rem;
  --fs-2xl:  1.75rem;
  --fs-3xl:  2.25rem;
  --fs-4xl:  2.875rem;
  --fs-5xl:  3.625rem;

  --lh-tight: 1.1;
  --lh-snug:  1.3;
  --lh-base:  1.66;

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

  --tracking-tight: -0.02em;
  --tracking-wide:  0.06em;
  --tracking-caps:  0.13em;

  /* --- Spacing (4px base) --- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 2.75rem;
  --space-8: 3.5rem;
  --space-9: 4.5rem;
  --space-10: 6rem;
  --space-11: 8rem;

  /* --- Radius (softer, friendlier than the cold original) --- */
  --radius-sm:  8px;
  --radius-md:  12px;
  --radius-lg:  18px;
  --radius-xl:  28px;
  --radius-pill: 999px;

  /* --- Shadows — WARM-tinted (sienna), reading "afternoon light" --- */
  --shadow-xs: 0 1px 2px rgba(74, 47, 26, 0.07);
  --shadow-sm: 0 3px 10px rgba(74, 47, 26, 0.09);
  --shadow-md: 0 14px 30px -10px rgba(74, 47, 26, 0.18);
  --shadow-lg: 0 28px 56px -18px rgba(58, 36, 18, 0.26);
  --shadow-ring: 0 0 0 4px rgba(0, 95, 172, 0.18);

  /* --- Motion --- */
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --dur-fast: 140ms;
  --dur-normal: 240ms;

  /* --- Layout --- */
  --container: 1180px;
  --container-narrow: 900px;
  --header-h: 78px;
}

/* === LAYER 2: SEMANTIC ===================================================== */
:root {
  /* Surfaces */
  --color-bg:              var(--stone-50);
  --color-surface:         var(--stone-0);
  --color-surface-muted:   var(--stone-100);
  --color-surface-warm:    var(--clay-50);
  --color-surface-inverse:   var(--navy-600);
  --color-surface-inverse-2: var(--navy-700);

  /* Text */
  --color-text:        var(--stone-700);
  --color-text-muted:  var(--stone-500);
  --color-text-soft:   var(--stone-400);
  --color-text-invert: #fff;
  --color-text-invert-muted: rgba(255, 248, 240, 0.82);

  /* Brand roles */
  --color-primary:        var(--blue-500);   /* Erie blue leads on actions */
  --color-primary-hover:  var(--blue-600);
  --color-primary-active: var(--blue-700);
  --color-anchor:         var(--navy-600);   /* structural navy for headings */
  --color-anchor-deep:    var(--navy-800);
  --color-warm:           var(--clay-500);   /* the neighborly warm accent */
  --color-warm-deep:      var(--clay-700);
  --color-accent:         var(--honey-400);  /* honey highlight */
  --color-brick:          var(--clay-700);

  /* Lines & focus */
  --color-border:        var(--stone-200);
  --color-border-strong: var(--stone-300);
  --color-focus-ring:    var(--shadow-ring);

  /* Signals */
  --color-success: var(--green-500);
  --color-star:    var(--amber-500);

  /* Section rhythm */
  --section-y: var(--space-10);
  --gap-card:  var(--space-5);
}

/* === LAYER 3: COMPONENT ==================================================== */
:root {
  /* Button */
  --btn-radius: var(--radius-pill);
  --btn-pad-y: 0.9rem;
  --btn-pad-x: 1.6rem;
  --btn-fs: var(--fs-base);
  --btn-fw: var(--fw-semibold);
  --btn-primary-bg: var(--color-primary);
  --btn-primary-fg: #fff;
  --btn-primary-bg-hover: var(--color-primary-hover);
  --btn-warm-bg: var(--color-warm);
  --btn-warm-bg-hover: var(--color-warm-deep);
  --btn-ghost-fg: var(--color-anchor);

  /* Card */
  --card-bg: var(--color-surface);
  --card-border: var(--color-border);
  --card-radius: var(--radius-lg);
  --card-pad: var(--space-6);
  --card-shadow: var(--shadow-sm);
  --card-shadow-hover: var(--shadow-md);

  /* Nav */
  --nav-h: var(--header-h);
  --nav-bg: rgba(251, 248, 243, 0.88);
  --nav-border: var(--color-border);
  --nav-link: var(--stone-600);
  --nav-link-active: var(--color-anchor);

  /* Badge */
  --badge-bg: var(--clay-50);
  --badge-fg: var(--clay-700);
  --badge-radius: var(--radius-pill);

  /* Input */
  --input-bg: var(--color-surface);
  --input-border: var(--color-border-strong);
  --input-radius: var(--radius-md);
  --input-pad: 0.85rem 1rem;

  /* Footer */
  --footer-bg: var(--navy-800);
  --footer-fg: rgba(255, 248, 240, 0.76);
}
