/* ============================================================
   Swaraj Narrow Fabrics - Design Tokens  ·  "Satpur Press"
   Single source of truth for color, type, spacing, motion.

   THEME: a calm, premium light "precision brochure". A warm
   off-white page (Mill Paper) carries pure-white photo plates,
   so product photos shot on white fuse into the plate with NO
   processing. One scarce ink-red accent (Vermilion). Heritage
   serif display (Fraunces) + tight editorial sans (Inter Tight).

   Contrast (against Mill Paper #FBFAF7):
     Ink #16181C  ~15:1   · Graphite #565B66 ~6.8:1  (AA body)
     Muted #767B84 ~4.0:1 (large/secondary only)
     Link Vermilion-ink #A8381F ~4.7:1 (AA for text)
     Vermilion #C8442B is ACCENT-ONLY (fills/ticks) - never body text.
   ============================================================ */

:root {
  /* ---- Accent: Vermilion (the ONE accent - keep scarce) ---- */
  --vermilion:      #C8442B;   /* fills, ticks, stat underscores, button bg */
  --vermilion-ink:  #A8381F;   /* AA-safe vermilion for TEXT/LINKS on paper */
  --vermilion-soft: #F3E2DC;   /* faint tint fill (hover rows, chips) */
  --brass:          #A8842C;   /* reserved micro-accent: solar / cert seals */

  /* ---- Warm neutral ramp (paper → ink) ---- */
  --paper:    #FBFAF7;   /* Mill Paper - warm off-white page (NOT pure white) */
  --paper-2:  #F2F0E9;   /* Cotton Alt - alt bands / stats */
  --press:    #FFFFFF;   /* Press White - photo plates / cards (== photo bg) */
  --ink:      #16181C;   /* near-black printed ink - headings + strong text */
  --graphite: #565B66;   /* body / captions */
  --muted:    #767B84;   /* tertiary / annotation */
  --rule:     #DCD8CD;   /* Rule Stone - 1px hairlines (the visible grid) */
  --rule-2:   #C9C4B6;   /* stronger hairline */

  /* ---- Legacy raw swatches (kept so old refs don't break; unused semantically) ---- */
  --white: #ffffff;
  --gray-50:#f9fafb; --gray-100:#f3f4f6; --gray-200:#e5e7eb; --gray-300:#d1d5db;
  --gray-400:#9ca3af; --gray-500:#6b7280; --gray-700:#374151; --gray-900:#111827;
  --cyan-200:#a5f3fc; --cyan-300:#67e8f9; --cyan-400:#22d3ee; --cyan-500:#06b6d4;
  --cyan-600:#0891b2; --cyan-ink:#0e7490;
  --teal-100:#ecfeff; --teal-200:var(--cyan-200); --teal-400:var(--cyan-400);
  --teal-500:var(--cyan-400); --teal-600:var(--cyan-500); --teal-700:var(--cyan-ink);
  --teal-ink:var(--cyan-ink);
  --ink-900:#0a0e16; --ink-800:#0f1526; --ink-700:#161d33;
  --navy-500:#1c1c50; --navy-600:#16163f; --navy-700:#101030;

  /* ---- Semantic (LIGHT - Satpur Press) ---- */
  --bg:            var(--paper);     /* page background - warm off-white */
  --bg-alt:        var(--paper-2);   /* alt section band / stats */
  --surface:       var(--press);     /* elevated card / photo plate (pure white) */
  --surface-alt:   var(--paper-2);
  --text:          var(--ink);       /* primary body / strong text */
  --text-soft:     var(--graphite);  /* secondary body / captions */
  --text-muted:    var(--muted);     /* tertiary / breadcrumb */
  --text-invert:   var(--press);     /* text on ink/vermilion surfaces */
  --heading:       var(--ink);
  --accent:        var(--vermilion);
  --accent-strong: var(--vermilion-ink);
  --link:          var(--vermilion-ink);
  --border:        var(--rule);
  --border-strong: var(--rule-2);

  /* ---- Type ---- */
  --font-sans:    'Inter Tight', 'Inter', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
  --font-display: 'Fraunces', 'Georgia', 'Times New Roman', serif;
  /* Fluid type scale (clamp: min, preferred, max) */
  --fs-100: 0.8125rem;                              /* 13px small */
  --fs-200: 0.9375rem;                              /* 15px */
  --fs-300: 1rem;                                   /* 16px base */
  --fs-400: clamp(1.1rem, 0.4vw + 1rem, 1.25rem);   /* lead */
  --fs-500: clamp(1.3rem, 1vw + 1rem, 1.6rem);      /* h3 */
  --fs-600: clamp(1.7rem, 2.2vw + 1rem, 2.4rem);    /* h2 */
  --fs-700: clamp(2.1rem, 3.5vw + 1rem, 3.2rem);    /* h1 / section */
  --fs-800: clamp(2.8rem, 7vw + 0.5rem, 5.5rem);    /* hero display */
  --lh-tight: 1.08;
  --lh-snug: 1.3;
  --lh-body: 1.7;
  --tracking-wide: 0.04em;
  --tracking-caps: 0.12em;

  /* ---- Spacing ---- */
  --space-2xs: 0.25rem;
  --space-xs:  0.5rem;
  --space-sm:  1rem;
  --space-md:  1.5rem;
  --space-lg:  2rem;
  --space-xl:  3rem;
  --space-2xl: clamp(3.5rem, 6vw, 6rem);   /* section padding */
  --space-3xl: clamp(5rem, 10vw, 9rem);

  /* ---- Radius (restrained - brochure, not bubbly) ---- */
  --radius-xs: 3px;
  --radius-sm: 5px;
  --radius:    8px;
  --radius-lg: 12px;
  --radius-xl: 18px;
  --radius-pill: 999px;

  /* ---- Shadows (soft, paper-appropriate) ---- */
  --shadow-xs: 0 1px 2px rgba(22, 24, 28, 0.05);
  --shadow-sm: 0 2px 10px rgba(22, 24, 28, 0.06);
  --shadow:    0 10px 30px rgba(22, 24, 28, 0.09);
  --shadow-lg: 0 22px 56px rgba(22, 24, 28, 0.12);
  --shadow-accent: 0 14px 40px rgba(200, 68, 43, 0.16);

  /* ---- Layout ---- */
  --container: 1200px;
  --container-narrow: 820px;
  --gutter: clamp(1rem, 4vw, 2.5rem);

  /* ---- Motion ---- */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast: 0.2s;
  --dur: 0.35s;
  --dur-slow: 0.6s;

  /* ---- Z-index scale ---- */
  --z-base: 1;
  --z-ribbon: 1;
  --z-content: 2;
  --z-sticky-cta: 80;
  --z-header: 1000;
  --z-overlay: 1500;
  --z-modal: 2000;
  --z-toast: 2500;

  /* ---- Gradients / accent rule ---- */
  --grad-brand: linear-gradient(90deg, var(--vermilion), var(--brass));
  --grad-surface: linear-gradient(135deg, var(--paper), var(--paper-2));
}
