/* ============================================================
   Design tokens — Purva Northern Lights
   The single source of truth for colour, type, spacing, shadow.
   ============================================================ */
:root {
  /* Fonts */
  --font-serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --font-sans:  "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;

  /* Brand — Puravankara navy blue (#003366) */
  --brand-900: #001c3a;
  --brand-800: #002a55;
  --brand-700: #003366;   /* brand navy — primary buttons */
  --brand-600: #0c4684;   /* hover / accents */
  --brand-500: #1a5694;   /* icon strokes */
  --brand-300: #9db6d3;
  --brand-100: #e7eef7;   /* tints */
  --logo-navy: #003366;   /* official logo colour */

  /* Neutrals — warm */
  --ink:    #191b19;      /* headings */
  --body:   #44494a;      /* body copy */
  --muted:  #6b7280;      /* captions / fine print */
  --faint:  #9aa0a6;      /* placeholders */
  --line:   #e7e4dc;      /* hairlines / borders */
  --bg:     #ffffff;      /* page background */
  --bg-warm:#ffffff;      /* section background (pure white) */
  --field:  #ffffff;
  --field-border: #e2e0d8;
  --white:  #ffffff;
  --danger: #c0392b;

  /* Type scale (fluid; tuned to the comp at desktop) */
  --fs-hero:    clamp(2.5rem, 1.1rem + 2.7vw, 3.5rem);
  --fs-h2:      clamp(2rem, 1.3rem + 1.9vw, 2.85rem);
  --fs-h3:      1.5rem;
  --fs-stat:    1.2rem;
  --fs-lead:    1.125rem;
  --fs-body:    1rem;
  --fs-sm:      0.875rem;
  --fs-xs:      0.8125rem;
  --fs-eyebrow: 0.8125rem;

  /* Weights */
  --fw-light: 300;
  --fw-reg:   400;
  --fw-med:   500;
  --fw-semi:  600;
  --fw-bold:  700;

  /* Line-height & tracking */
  --lh-tight: 1.06;
  --lh-snug:  1.25;
  --lh-body:  1.65;
  --ls-eyebrow: 0.14em;
  --ls-wide:    0.04em;
  --ls-tight:  -0.018em;

  /* Layout */
  --container:        1240px;
  --container-pad:    clamp(1.1rem, 3.5vw, 2.75rem);
  --section-y:        clamp(2.75rem, 4.5vw, 4.5rem);
  --header-h:         86px;
  --header-h-scroll:  68px;

  /* Radius */
  --r-xs: 6px;
  --r-sm: 10px;
  --r-md: 14px;
  --r-card: 18px;
  --r-lg: 24px;
  --r-pill: 999px;

  /* Shadows */
  --sh-sm:   0 4px 14px rgba(25, 40, 28, .06);
  --sh-card: 0 14px 44px rgba(0, 38, 80, .09);
  --sh-card-hover: 0 20px 54px rgba(0, 38, 80, .14);
  --sh-float: 0 28px 80px rgba(18, 30, 22, .20);
  --sh-header: 0 6px 24px rgba(20, 30, 22, .08);

  /* Motion */
  --ease:     cubic-bezier(.22, .61, .36, 1);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --dur:      .45s;
}
