/* Self-hosted fonts (no third-party requests; privacy policy stays literally true) */
@font-face{font-family:"Playfair Display";font-weight:500;font-style:normal;font-display:swap;src:url(assets/fonts/playfair-display-latin-500-normal.woff2) format("woff2");}
@font-face{font-family:"Playfair Display";font-weight:600;font-style:normal;font-display:swap;src:url(assets/fonts/playfair-display-latin-600-normal.woff2) format("woff2");}
@font-face{font-family:"Playfair Display";font-weight:500;font-style:italic;font-display:swap;src:url(assets/fonts/playfair-display-latin-500-italic.woff2) format("woff2");}
@font-face{font-family:"Playfair Display";font-weight:600;font-style:italic;font-display:swap;src:url(assets/fonts/playfair-display-latin-600-italic.woff2) format("woff2");}
@font-face{font-family:"DM Sans";font-weight:400;font-style:normal;font-display:swap;src:url(assets/fonts/dm-sans-latin-400-normal.woff2) format("woff2");}
@font-face{font-family:"DM Sans";font-weight:500;font-style:normal;font-display:swap;src:url(assets/fonts/dm-sans-latin-500-normal.woff2) format("woff2");}
@font-face{font-family:"DM Sans";font-weight:700;font-style:normal;font-display:swap;src:url(assets/fonts/dm-sans-latin-700-normal.woff2) format("woff2");}

/* ============================================================
   Dandelion — design tokens (dandeliondex.app)
   Single source of truth. Edit here; every page follows.
   Palette and type are the app's own: see dandelion-data.js theme.
   ============================================================ */
:root {
  /* --- Colour --- */
  --ivory:      #FBF7F0;   /* page ground (app background) */
  --cream:      #F6EFDF;   /* panels, art-slot ground (app cardAlt) */
  --aubergine:  #3A2A33;   /* ink; the dark band ground */
  --aubergine-soft: #5C4756; /* secondary ink */
  --gold:       #B08D3F;   /* champagne gold — accent, rules, links */
  --gold-deep:  #8C6E2C;   /* seed-dot gold — hovers, small marks */
  --gold-wash:  rgba(176, 141, 63, 0.10); /* tint panels */
  --line:       rgba(58, 42, 51, 0.14);   /* hairline rules */
  --ivory-on-dark: #F4EDE2; /* text on aubergine */

  /* --- Type --- */
  --serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --sans:  "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;

  /* scale (mobile-first; bumped at --bp-md) */
  --fs-hero:    2.6rem;
  --fs-h2:      1.7rem;
  --fs-h3:      1.15rem;
  --fs-body:    1rem;
  --fs-small:   0.85rem;
  --fs-eyebrow: 0.72rem;
  --track-eyebrow: 0.22em;

  /* --- Space & shape --- */
  --sp-1: 0.5rem;
  --sp-2: 1rem;
  --sp-3: 1.75rem;
  --sp-4: 3rem;
  --sp-5: 5rem;
  --radius: 14px;
  --radius-pill: 999px;
  --measure: 34rem;      /* prose measure */
  --page-max: 68rem;

  /* --- Motion --- */
  --ease: cubic-bezier(0.22, 0.8, 0.36, 1);
}

@media (min-width: 760px) {
  :root {
    --fs-hero: 3.6rem;
    --fs-h2: 2.1rem;
  }
}
