  :root {
    --bg: #f6f1e4;
    --bg-2: #efe6d0;
    --ink: #241f45;
    --ink-soft: #5b5480;
    --accent: #d98a1f;
    --accent-on: #241f45;
    --plaque-bg: #ffffff;
    --plaque-ink: #241f45;
    --border: rgba(36, 31, 69, 0.14);
    --hero-bg-1: #241f45;
    --hero-bg-2: #322a68;
    --hero-ink: #f3efe3;
    --coral: #e8624f;
    --teal: #2a8ca0;
    --pine: #1f7a6e;
    --violet: #8452d6;
    --shadow: 0 1px 2px rgba(36, 31, 69, 0.06), 0 8px 24px rgba(36, 31, 69, 0.08);
  }
  @media (prefers-color-scheme: dark) {
    :root {
      --bg: #1e1b3a;
      --bg-2: #17142c;
      --ink: #f3efe3;
      --ink-soft: #b9b3d9;
      --accent: #f2a93b;
      --accent-on: #1e1b3a;
      --plaque-bg: #ede6d3;
      --plaque-ink: #241f45;
      --border: rgba(243, 239, 227, 0.14);
      --hero-bg-1: #17142c;
      --hero-bg-2: #29245a;
      --hero-ink: #f3efe3;
      --coral: #ff6f61;
      --teal: #4fb0c6;
      --pine: #2f9c95;
      --violet: #9c6ade;
      --shadow: 0 1px 2px rgba(0, 0, 0, 0.3), 0 12px 32px rgba(0, 0, 0, 0.35);
    }
  }
  :root[data-theme="dark"] {
    --bg: #1e1b3a;
    --bg-2: #17142c;
    --ink: #f3efe3;
    --ink-soft: #b9b3d9;
    --accent: #f2a93b;
    --accent-on: #1e1b3a;
    --plaque-bg: #ede6d3;
    --plaque-ink: #241f45;
    --border: rgba(243, 239, 227, 0.14);
    --hero-bg-1: #17142c;
    --hero-bg-2: #29245a;
    --hero-ink: #f3efe3;
    --coral: #ff6f61;
    --teal: #4fb0c6;
    --pine: #2f9c95;
    --violet: #9c6ade;
    --shadow: 0 1px 2px rgba(0, 0, 0, 0.3), 0 12px 32px rgba(0, 0, 0, 0.35);
  }
  :root[data-theme="light"] {
    --bg: #f6f1e4;
    --bg-2: #efe6d0;
    --ink: #241f45;
    --ink-soft: #5b5480;
    --accent: #d98a1f;
    --accent-on: #241f45;
    --plaque-bg: #ffffff;
    --plaque-ink: #241f45;
    --border: rgba(36, 31, 69, 0.14);
    --hero-bg-1: #241f45;
    --hero-bg-2: #322a68;
    --hero-ink: #f3efe3;
    --coral: #e8624f;
    --teal: #2a8ca0;
    --pine: #1f7a6e;
    --violet: #8452d6;
    --shadow: 0 1px 2px rgba(36, 31, 69, 0.06), 0 8px 24px rgba(36, 31, 69, 0.08);
  }

  * { box-sizing: border-box; }
  html { -webkit-text-size-adjust: 100%; }
  body {
    margin: 0;
    background: var(--bg);
    color: var(--ink);
    font-family: "TDZ Inter", -apple-system, sans-serif;
    font-size: 17px;
    line-height: 1.6;
    overflow-x: hidden;
  }
  h1, h2, h3 {
    font-family: "TDZ Baloo", sans-serif;
    font-weight: 700;
    text-wrap: balance;
    margin: 0;
    color: inherit;
  }
  p { margin: 0; }
  a { color: inherit; }
  .mono {
    font-family: "TDZ Mono", ui-monospace, monospace;
    font-variant-numeric: tabular-nums;
  }
  .eyebrow {
    font-family: "TDZ Mono", monospace;
    font-weight: 500;
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--accent);
  }
  .wrap {
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 clamp(20px, 5vw, 56px);
  }
  .prose { max-width: 62ch; }
  .btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: "TDZ Inter", sans-serif;
    font-weight: 600;
    font-size: 0.98rem;
    padding: 13px 24px;
    border-radius: 999px;
    text-decoration: none;
    border: 1px solid transparent;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
  }
  .btn:hover { transform: translateY(-1px); }
  .btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
  .btn-solid {
    background: var(--accent);
    color: var(--accent-on);
    box-shadow: 0 10px 24px -8px rgba(0, 0, 0, 0.35);
  }
  .btn-ghost {
    background: transparent;
    color: var(--hero-ink);
    border-color: rgba(243, 239, 227, 0.3);
  }
