@layer base {
  /* ===================================================
     Typographic Scale – Sacred Hierarchy
     Version: 1.3 – Fully Tokenized & Clean
     =================================================== */

  /* 🌍 Global Body Type */
  body {
    font-family: var(--font-serif, 'Libre Baskerville', serif);
    font-size: var(--font-base-size, 1.05rem);
    line-height: var(--font-base-line, 1.85);
    color: var(--text-primary);
  }

  html {
    color-scheme: light dark;
    forced-color-adjust: none; /* stops Edge from auto-mapping */
  }

  html, body {
    -webkit-text-size-adjust: 100%;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    font-smooth: always;
  }

  /* 🕯️ Sacred Headers (defaults for all headings) */
  h1, h2, h3, h4, h5, h6 {
    margin: var(--space-md) 0;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-accent);
  }

  /* ✦ Page / Sacred Titles */
  h1, .page-title, .page-title, .index.heading {
    font-family: var(--page-title, 'Cormorant Garamond', serif);
    font-weight: 600;
    letter-spacing: 0.02em;
  }

  /* ✧ Display Headings (card titles, subheaders) */
  h2, h3, .card-title {
    font-family: var(--font-display, 'Cinzel', serif);
    font-weight: 700;
    letter-spacing: 0.04em;
  }

  /* ✎ Body Copy */
  p, li, .card-desc, .disclaimer-box p {
    font-family: var(--font-serif, 'Libre Baskerville', serif);
    font-weight: 400;
    line-height: 1.6;
  }

  /* 🏷️ Badges & Overlays */
  .card-badge,
  .card-overlay .banner {
    font-family: var(--font-display, 'Cinzel', serif);
    font-weight: 600;
    letter-spacing: 0.05em;
  }

  /* 🌐 Links */
  a {
    color: var(--text-accent) !important;
    text-decoration: none;
    transition: color 0.3s ease, text-shadow 0.3s ease;
  }
  a:hover,
  a:focus {
    color: var(--highlight);
    text-shadow: 0 0 8px var(--shadow-glow);
  }
}
