/* Type system from the mockup — Playfair Display / Parisienne / Jost */
:root {
  --font-display: 'Playfair Display', Georgia, serif;
  --font-script: 'Parisienne', cursive;
  --font-body: 'Jost', 'Helvetica Neue', sans-serif;

  /* Fluid sizes: mobile-375 value -> desktop-1440 value */
  /* Generous slope: full 108px from ~1190px down to 58px at 375 — the
     display title must dominate its column at every viewport */
  --text-hero: clamp(3.625rem, 2rem + 6.4vw, 6.75rem);        /* 58 -> 108 */
  --text-h2: clamp(1.875rem, 1.55rem + 1.2vw, 2.75rem);       /* 30 -> 44 */
  --text-quote: clamp(1.0625rem, 0.98rem + 0.35vw, 1.3125rem);/* 17 -> 21 */
  --text-card-title: clamp(1.3125rem, 1.2rem + 0.4vw, 1.625rem); /* 21 -> 26 */
  --text-script-lg: clamp(1.75rem, 1.6rem + 0.55vw, 2.125rem);/* 28 -> 34 */
  --text-script: clamp(1.375rem, 1.28rem + 0.35vw, 1.625rem); /* 22 -> 26 */
  --text-lead: clamp(1rem, 0.95rem + 0.25vw, 1.1875rem);      /* 16 -> 19 */
  --text-body: clamp(0.9375rem, 0.9rem + 0.18vw, 1.0625rem);  /* 15 -> 17 */
  --text-ui: 1rem;                                            /* 16 */
  --text-small: 0.9375rem;                                    /* 15 */
  --text-caption: 0.875rem;                                   /* 14 */
  --text-eyebrow: 0.6875rem;                                  /* 11 */

  --leading-tight: 0.98;
  --leading-heading: 1.15;
  --leading-body: 1.7;
  --leading-relaxed: 1.75;

  --tracking-tight: -0.03em;
  --tracking-heading: -0.02em;
  --tracking-eyebrow: 0.18em;
  --tracking-wide: 0.3em;
}
