:root{
  --ink:#1E2A22;
  --ink-soft:#4B5A4F;
  --paper:#E7DFC5;
  --paper-deep:#DED2AE;
  --card:#F7F2E2;
  --card-line:#CBBE95;
  --navy:#22334B;
  --navy-ink:#EDE9DA;
  --red:#A5372B;
  --red-soft:#F3E1DC;
  --green:#2F5C3F;
  --green-soft:#E1EBE0;
  --brass:#9C7A2E;
  --brass-deep:#7F611C;
  --shadow: 0 1px 0 rgba(30,42,34,0.06);
}
*{ box-sizing:border-box; }
html{ background:var(--paper); }
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:'Public Sans', Arial, sans-serif;
  -webkit-font-smoothing:antialiased;
  background-image:
    radial-gradient(circle at 18% 8%, rgba(255,255,255,0.35), transparent 40%),
    repeating-linear-gradient(0deg, rgba(30,42,34,0.02) 0px, rgba(30,42,34,0.02) 1px, transparent 1px, transparent 3px);
}
h1,h2,h3,.display{ font-family:'Fraunces', Georgia, serif; text-wrap:balance; }
.mono{ font-family:'IBM Plex Mono', ui-monospace, monospace; }
a{ color:inherit; }
img,svg{ max-width:100%; }
.wrap{ max-width:1080px; margin:0 auto; padding:0 28px; }
@media (max-width:640px){ .wrap{ padding:0 18px; } }

/* ---------- HEADER / SITE NAV (shared, rendered by site.js) ---------- */
header{ border-bottom:1px solid var(--card-line); position:sticky; top:0; z-index:100; background:var(--paper); }
:target, [id]{ scroll-margin-top:110px; }
.headbar{ display:flex; align-items:center; justify-content:space-between; padding:8px 0; gap:16px; flex-wrap:wrap; }
.wordmark{ display:flex; align-items:center; gap:10px; }
.wordmark .logo-img{ height:56px; width:auto; max-width:420px; object-fit:contain; display:block; }
.headtag{ font-size:9.5px; letter-spacing:1.2px; text-transform:uppercase; color:var(--ink-soft); }
@media (max-width:640px){ .headtag{ display:none; } }
.sitenav{ display:flex; gap:16px; flex-wrap:wrap; padding:6px 0; font-size:12px; font-weight:600; }
.sitenav a{ text-decoration:none; color:var(--navy); }
.sitenav a:hover{ text-decoration:underline; }
.sitenav a[aria-current="page"]{ text-decoration:underline; color:var(--red); }
.disclaimer-bar{ background:var(--card); border:1px solid var(--card-line); border-radius:6px; padding:12px 16px; font-size:12px; color:var(--ink-soft); text-align:center; margin:0 0 20px; }

/* ---------- SHARED SECTION RULES ---------- */
.tear{ border:none; border-top:2px dashed var(--card-line); margin:0; }
section{ padding:56px 0; }
.eyebrow{ font-size:11px; letter-spacing:1.6px; text-transform:uppercase; color:var(--brass); font-weight:600; }
.kicker{ font-size:11px; letter-spacing:1.2px; text-transform:uppercase; color:var(--ink-soft); font-weight:600; margin-bottom:10px; }

/* ---------- SHARED BUTTON ---------- */
.btn-primary{
  display:flex; align-items:center; justify-content:center; gap:8px; width:100%;
  background:var(--red); color:#fff; border:none; border-radius:4px; padding:13px 16px;
  font-family:'Public Sans',sans-serif; font-weight:700; font-size:14.5px; letter-spacing:.2px; cursor:pointer;
  margin-top:4px; text-decoration:none;
}
.btn-primary:hover{ background:#8f2e23; }
.btn-primary:focus-visible{ outline:2px solid var(--navy); outline-offset:2px; }
.btn-brass{ background:var(--brass-deep); color:#fff; }
.btn-brass:hover{ background:#6a5117; }

/* ---------- FOOTER (shared, rendered by site.js) ---------- */
footer{ border-top:1px solid var(--card-line); padding:28px 0 40px; }
footer .fgrid{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; font-size:11.5px; color:var(--ink-soft); }
