/* Dawson v7 Foundation — Design tokens
 * Source of truth for palette, typography scale, spacing scale,
 * breakpoints, easing, durations. Every other v7 file references these
 * via var(--token-name). No hardcoded hex below this file.
 *
 * Extracted 2026-04-21 from the live homepage-v7 palette and type scale,
 * codified per Website/Rewrite_Apr2026/Website_Rebuild_Implementation_Plan_2026-04-18.md
 * "Non-negotiable rules: Design language".
 */

:root {
  /* ==========================================================
     Palette
     ========================================================== */
  --v7-navy: #1B3C6B;
  --v7-navy-deep: #0F2447;
  --v7-navy-ink: #081529;
  --v7-navy-abyss: #04101F;
  --v7-orange: #E8420A;
  --v7-orange-hover: #C73506;
  --v7-orange-warm: #F08754;
  --v7-bone: #F5F2EC;
  --v7-bone-deep: #E8E2D5;
  --v7-bone-dark: #D9D1BD;
  --v7-ink: #0A1424;
  --v7-paper: #FFFFFF;

  /* Semantic aliases */
  --v7-surface-dark: var(--v7-navy-ink);
  --v7-surface-darker: var(--v7-navy-deep);
  --v7-surface-light: var(--v7-bone);
  --v7-text-on-dark: var(--v7-paper);
  --v7-text-on-light: var(--v7-ink);
  --v7-accent: var(--v7-orange);
  --v7-accent-warm: var(--v7-orange-warm);

  /* ==========================================================
     Typography
     ========================================================== */
  --v7-font-display: 'Libre Bodoni', Georgia, serif;
  --v7-font-body: 'Public Sans', system-ui, sans-serif;

  --v7-type-hero: clamp(3rem, 12vw, 13rem);           /* homepage-exclusive */
  --v7-type-mega: clamp(3rem, 9vw, 9rem);             /* homepage-exclusive */
  --v7-type-section: clamp(2.5rem, 6.5vw, 6rem);      /* inner-page section headings */
  --v7-type-pull-out: clamp(2rem, 5.5vw, 4.5rem);     /* pull-out quotes */
  --v7-type-phone-xl: clamp(2.5rem, 8vw, 5rem);       /* tel: display on contact strips */
  --v7-type-inner-hero: clamp(2.75rem, 7.5vw, 6.5rem); /* inner-page hero display */

  --v7-type-eyebrow-size: 11px;
  --v7-type-eyebrow-tracking: 0.2em;
  --v7-type-display-tracking: -0.04em;
  --v7-type-body-tracking: 0;

  /* ==========================================================
     Spacing scale (section rhythm)
     ========================================================== */
  --v7-space-section-y-mobile: 7rem;                   /* 112px — py-28 */
  --v7-space-section-y-desktop: 10rem;                 /* 160px — py-40 */
  --v7-space-section-y-tight-mobile: 6rem;             /* 96px  — py-24 */
  --v7-space-section-y-tight-desktop: 8rem;            /* 128px — py-32 */

  --v7-space-gutter-mobile: 2rem;                      /* px-8 — mobile side gutter */
  --v7-space-gutter-desktop: 3rem;                     /* px-12 */

  --v7-max-container: 1260px;                          /* section inner max-width — matches Elementor header for vertical alignment */
  --v7-max-prose: 680px;                               /* reading column cap */

  /* ==========================================================
     Breakpoints (match Tailwind + homepage)
     ========================================================== */
  --v7-bp-sm: 640px;
  --v7-bp-md: 768px;
  --v7-bp-lg: 1024px;
  --v7-bp-xl: 1280px;

  /* ==========================================================
     Easing + durations (one signature curve)
     ========================================================== */
  --v7-ease-signature: cubic-bezier(.2, .7, .25, 1);
  --v7-dur-micro: 200ms;
  --v7-dur-short: 300ms;
  --v7-dur-medium: 600ms;
  --v7-dur-long: 1000ms;
  --v7-dur-img-mask: 1600ms;
  --v7-dur-reveal-stagger: 120ms;

  /* ==========================================================
     Borders, radii, shadows
     ========================================================== */
  --v7-border-hairline: 1px solid rgba(10, 20, 36, 0.08);
  --v7-border-on-dark: 1px solid rgba(245, 242, 236, 0.1);
  --v7-radius-card: 2px;
  --v7-radius-button: 9999px;
  --v7-shadow-card: 0 40px 80px -40px rgba(8, 21, 41, 0.5);
  --v7-shadow-btn: 0 8px 24px -8px rgba(232, 66, 10, 0.5);

  /* ==========================================================
     Z-index scale
     ========================================================== */
  --v7-z-header: 50;
  --v7-z-rail: 90;
  --v7-z-scroll-progress: 1000;
  --v7-z-cursor: 9999;
  --v7-z-loader: 999999;
}
