:root {
  --felt-1:#2fa15a;
  --felt-2:#218046;
  --felt-3:#14572d;
  --ink:#10261a;
  --muted:#596a60;
  --cream:#f8f7f2;
  --paper:#fffdf6;
  --paper-2:#f0eadb;
  --line:#ded6c4;
  --gold:#f4c542;
  --gold-dark:#b98216;
  --green-dark:#0f2a1f;
  --green-ink:#173a2a;
  --red:#b73535;
  --blue:#2f5f9f;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  color:var(--ink);
  background:var(--cream);
  font:18px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  text-rendering:optimizeLegibility;
}
a { color:var(--green-ink); text-decoration-color:rgba(23,58,42,.35); text-underline-offset:3px; }
a:hover { text-decoration-color:currentColor; }
.wrap {
  width:min(1120px, 100%);
  margin:0 auto;
  padding:0 24px;
}
.site-header {
  position:sticky;
  top:0;
  z-index:10;
  background:rgba(15,42,31,.94);
  border-bottom:1px solid rgba(255,255,255,.1);
  color:#fff;
}
.site-header .wrap {
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.brand {
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#fff;
  font:900 24px/1 Georgia,"Times New Roman",serif;
  text-decoration:none;
}
.brand-mark {
  width:18px;
  height:18px;
  border-radius:50%;
  background:var(--red);
  box-shadow:0 0 0 2px #fff, 5px 0 0 -1px var(--blue), 10px 0 0 -2px #16a34a;
}
.header-links {
  display:flex;
  align-items:center;
  gap:14px;
  font-size:15px;
  font-weight:750;
}
.header-links a {
  color:rgba(255,255,255,.86);
  text-decoration:none;
}
.header-links a:hover { color:#fff; }
.header-links a[aria-current="page"] { color:#fff; box-shadow:inset 0 -2px 0 var(--gold); }
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:12px 20px;
  border:1px solid var(--gold-dark);
  border-radius:8px;
  background:linear-gradient(#f7d062,#e8b732);
  color:#563b00 !important;
  font:850 15px/1 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  text-decoration:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72), 0 4px 12px rgba(0,0,0,.2);
}
.btn:hover { transform:translateY(-1px); }
.hero {
  color:#fff;
  background:
    radial-gradient(ellipse 90% 70% at 50% 22%, var(--felt-1) 0%, var(--felt-2) 52%, var(--felt-3) 100%);
  padding:64px 0 46px;
}
.eyebrow {
  margin:0 0 14px;
  color:#ffe070;
  font:850 12px/1 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.hero h1 {
  max-width:850px;
  margin:0 0 16px;
  font:900 clamp(42px,6vw,72px)/1.02 Georgia,"Times New Roman",serif;
  letter-spacing:0;
  text-shadow:0 2px 0 #09150f,0 6px 26px rgba(0,0,0,.36);
}
.hero .dek {
  max-width:760px;
  margin:0 0 28px;
  color:rgba(255,255,255,.9);
  font-size:clamp(18px,2vw,22px);
  line-height:1.5;
}
.hero-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
}
.secondary-link {
  color:#fff;
  font-weight:800;
  text-decoration-color:rgba(255,255,255,.45);
}
.content-band {
  background:var(--paper);
  padding:42px 0 70px;
}
.article-grid {
  display:grid;
  grid-template-columns:minmax(180px, 240px) minmax(0, 740px);
  gap:44px;
  align-items:start;
}
.toc {
  position:sticky;
  top:88px;
  padding:18px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.toc strong {
  display:block;
  margin-bottom:10px;
  color:var(--green-ink);
  font:900 13px/1 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.toc a {
  display:block;
  padding:6px 0;
  color:#344a3c;
  font-size:15px;
  font-weight:700;
  text-decoration:none;
}
.toc a:hover { color:var(--green-ink); text-decoration:underline; }
main h2 {
  margin:44px 0 12px;
  color:var(--green-ink);
  font:900 31px/1.14 Georgia,"Times New Roman",serif;
}
main h3 {
  margin:28px 0 8px;
  color:#203428;
  font:850 21px/1.25 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
main p { margin:0 0 18px; }
main ul,
main ol { margin:0 0 22px; padding-left:1.3em; }
main li { margin:7px 0; }
.short-answer {
  margin:0 0 28px;
  padding:18px 20px;
  border-left:5px solid var(--gold);
  background:#fff7dc;
  color:#342a16;
  font-weight:700;
}
.rule-table {
  width:100%;
  margin:18px 0 26px;
  border-collapse:collapse;
  background:#fff;
  border:1px solid var(--line);
}
.rule-table th,
.rule-table td {
  padding:11px 13px;
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:top;
}
.rule-table th {
  background:var(--paper-2);
  color:#2b3b30;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.rule-table tr:last-child td { border-bottom:0; }
.note {
  margin:24px 0;
  padding:18px 20px;
  border:1px solid var(--line);
  background:#fbf8ed;
}
.note strong { color:var(--green-ink); }
.page-links {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:14px;
  margin:28px 0 0;
}
.page-links a {
  display:block;
  min-height:100%;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--green-ink);
  font-weight:850;
  text-decoration:none;
}
.page-links span {
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:14px;
  font-weight:600;
}
.sources {
  margin-top:42px;
  padding-top:20px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:15px;
}
.sources h2 {
  margin-top:0;
  font-size:22px;
}
.site-footer {
  padding:34px 0;
  background:#0c2117;
  color:rgba(255,255,255,.68);
  font-size:15px;
}
.footer-grid {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.site-footer a { color:#ffe070; text-decoration:none; }
.footer-links {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

@media (max-width:820px) {
  .site-header .wrap { align-items:flex-start; flex-direction:column; padding-top:14px; padding-bottom:14px; }
  .header-links { width:100%; overflow-x:auto; padding-bottom:2px; }
  .hero { padding:44px 0 36px; }
  .article-grid { display:block; }
  .toc { position:static; margin-bottom:30px; }
}

@media print {
  body { background:#fff; color:#111; font-size:12pt; }
  .site-header,
  .hero-actions,
  .toc,
  .site-footer,
  .no-print { display:none !important; }
  .hero {
    color:#111;
    background:#fff;
    padding:0 0 18px;
    border-bottom:1px solid #999;
  }
  .hero h1 { color:#111; text-shadow:none; font-size:30pt; }
  .hero .dek { color:#333; font-size:13pt; }
  .content-band { padding:0; background:#fff; }
  .wrap { padding:0; width:100%; }
  .article-grid { display:block; }
  main h2 { break-after:avoid; page-break-after:avoid; color:#111; }
  .short-answer,
  .note,
  .rule-table,
  .page-links a { border-color:#999; background:#fff; box-shadow:none; }
  a { color:#111; text-decoration:none; }
}
