:root{
  --paper: #eef0e8; --paper-raised: #f8f9f3; --ink: #14171c; --ink-soft: #4b5058;
  --rule: rgba(20,23,28,0.16); --rule-strong: rgba(20,23,28,0.32);
  --pad: #c9b400; --pad-soft: #f2ecc0; --pad-text: #4a4200;
  --red: #93222b; --red-soft: #f1dcda; --caution: #7a4e14; --caution-soft: #f1e3c8;
  --redact: #14171c; --shadow: 0 1px 0 rgba(20,23,28,0.06);
  --shadow-lift: 0 14px 30px rgba(20,23,28,0.14);
  --serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --sans: "Public Sans", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  --mono: "IBM Plex Mono", "SF Mono", Consolas, monospace;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper: #15171b; --paper-raised: #1c1e23; --ink: #eae7da; --ink-soft: #a4a9af;
    --rule: rgba(234,231,218,0.14); --rule-strong: rgba(234,231,218,0.26);
    --pad: #e8d84a; --pad-soft: rgba(232,216,74,0.14); --pad-text: #f2ecc0;
    --red: #d6737a; --red-soft: rgba(214,115,122,0.14);
    --caution: #d9a35c; --caution-soft: rgba(217,163,92,0.14);
    --redact: #060708; --shadow: 0 1px 0 rgba(0,0,0,0.3);
    --shadow-lift: 0 18px 34px rgba(0,0,0,0.45);
  }
}
:root[data-theme="dark"]{
  --paper: #15171b; --paper-raised: #1c1e23; --ink: #eae7da; --ink-soft: #a4a9af;
  --rule: rgba(234,231,218,0.14); --rule-strong: rgba(234,231,218,0.26);
  --pad: #e8d84a; --pad-soft: rgba(232,216,74,0.14); --pad-text: #f2ecc0;
  --red: #d6737a; --red-soft: rgba(214,115,122,0.14);
  --caution: #d9a35c; --caution-soft: rgba(217,163,92,0.14);
  --redact: #060708; --shadow: 0 1px 0 rgba(0,0,0,0.3);
  --shadow-lift: 0 18px 34px rgba(0,0,0,0.45);
}

*{ box-sizing:border-box; }
html{ background:var(--paper); }
body{
  margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans);
  font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased;
}
h1,h2,h3{ font-family:var(--serif); font-weight:600; text-wrap:balance; margin:0; }
a{ color:inherit; }
img,video{ max-width:100%; }
.wrap{ max-width:1120px; margin:0 auto; padding:0 32px; position:relative; }
.mono{ font-family:var(--mono); }
.eyebrow{
  font-family:var(--mono); font-size:12px; font-weight:600; letter-spacing:0.14em;
  text-transform:uppercase; color:var(--ink-soft);
}
::selection{ background:var(--pad-soft); color:var(--ink); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible{
  outline:2px solid var(--pad); outline-offset:3px;
}

/* ---------- NAV ---------- */
nav{ position:sticky; top:0; z-index:50; background:var(--paper); border-bottom:1px solid var(--rule); }
.nav-row{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding:18px 0; }
.wordmark{ display:flex; align-items:baseline; gap:10px; text-decoration:none; }
.wordmark-mark{ font-family:var(--mono); font-weight:600; font-size:18px; letter-spacing:0.06em; }
.wordmark-tag{ font-size:12px; color:var(--ink-soft); display:none; }
.nav-links{ display:flex; align-items:center; gap:28px; list-style:none; margin:0; padding:0; }
.nav-links a{ text-decoration:none; font-size:14px; font-weight:600; color:var(--ink-soft); }
.nav-links a:hover, .nav-links a[aria-current="page"]{ color:var(--ink); }
.theme-toggle{
  width:34px; height:34px; border-radius:50%; border:1px solid var(--rule-strong);
  background:var(--paper-raised); display:flex; align-items:center; justify-content:center;
  cursor:pointer; color:var(--ink); flex:none;
}
.theme-toggle svg{ width:16px; height:16px; }
.icon-moon{ display:none; }
[data-theme="dark"] .icon-sun{ display:none; }
[data-theme="dark"] .icon-moon{ display:block; }
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .icon-sun{ display:none; }
  :root:not([data-theme="light"]) .icon-moon{ display:block; }
}
@media (min-width:720px){ .wordmark-tag{ display:inline; } }
@media (max-width:720px){ .nav-links a:not(.nav-toggle-link){ display:none; } }

/* ---------- MARQUEE ---------- */
.marquee{ border-bottom:1px solid var(--rule); overflow:hidden; background:var(--paper-raised); }
.marquee-track{
  display:flex; gap:48px; white-space:nowrap; padding:12px 0; width:max-content;
  animation:marquee 34s linear infinite; font-family:var(--mono); font-size:12px;
  letter-spacing:0.08em; color:var(--ink-soft);
}
.marquee-track span{ display:flex; align-items:center; gap:48px; }
.marquee-track span::after{ content:"\00b7"; color:var(--rule-strong); margin-left:48px; }
@keyframes marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion: reduce){ .marquee-track{ animation:none; } }

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-flex; align-items:center; gap:8px; font-family:var(--sans); font-weight:700;
  font-size:14.5px; padding:13px 22px; border-radius:3px; text-decoration:none; cursor:pointer;
  border:1.5px solid transparent; transition: transform .15s ease, background .15s ease;
}
.btn:hover{ transform: translateY(-1px); }
.btn-primary{ background: var(--pad); color:#14171c; border-color: var(--pad); }
.btn-primary:hover{ background: var(--pad-text); }
[data-theme="dark"] .btn-primary:hover{ background:#f2e77a; }
.btn-outline{ background:transparent; border-color: var(--rule-strong); color:var(--ink); }
.btn-outline:hover{ border-color: var(--ink); }

/* ---------- FOOTER ---------- */
footer{ padding:40px 0 100px; border-top:1px solid var(--rule); }
.footer-row{ display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; align-items:flex-start; }
.footer-links{ display:flex; gap:20px; list-style:none; padding:0; margin:0; }
.footer-links a{ font-size:13.5px; color:var(--ink-soft); text-decoration:none; }
.footer-links a:hover{ color:var(--ink); }
.footer-legal{ font-size:12.5px; color:var(--ink-soft); max-width:60ch; line-height:1.6; }
