:root {
  --desk: #294f45;
  --paper: #fffdf7;
  --ink: #292925;
  --muted: #625f58;
  --green: #285d4f;
  --green-dark: #1d463b;
  --green-soft: #e3eee8;
  --terracotta: #9b594c;
  --yellow: #f3dda1;
  --line: #ded4c6;
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, "Segoe UI", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background:
    radial-gradient(circle at 10% 5%, rgba(255,255,255,.08), transparent 20rem),
    repeating-linear-gradient(88deg, transparent 0 58px, rgba(255,255,255,.018) 59px, transparent 61px),
    var(--desk);
  font-family: var(--sans);
  line-height: 1.65;
}

a { color: var(--green); text-underline-offset: 3px; }
:focus-visible { outline: 3px solid #f1c36d; outline-offset: 4px; }
.wrap { width: min(calc(100% - 30px), 920px); margin-inline: auto; }

.site-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 0; color: #fff; }
.brand { font-weight: 850; letter-spacing: -.02em; text-decoration: none; }
.back { color: rgba(255,255,255,.78); font-size: .82rem; }

.paper {
  position: relative;
  margin-bottom: 44px;
  padding: clamp(30px, 7vw, 72px);
  border-radius: 5px;
  background:
    repeating-linear-gradient(0deg, transparent 0 33px, rgba(73,110,128,.065) 34px, transparent 35px),
    var(--paper);
  box-shadow: 0 24px 65px rgba(15,35,28,.25);
}
.paper::before { position: absolute; z-index: -1; inset: 9px -7px -10px 10px; border-radius: 5px; background: #e9decd; content: ""; transform: rotate(.6deg); }

.eyebrow { margin-bottom: 8px; color: var(--terracotta); font-size: .72rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
h1, h2 { font-family: var(--serif); letter-spacing: -.035em; text-wrap: balance; }
h1 { margin: 0 0 15px; font-size: clamp(2.25rem, 6vw, 4.1rem); line-height: 1.02; }
h2 { margin: 39px 0 10px; color: var(--green-dark); font-size: clamp(1.35rem, 3vw, 1.8rem); line-height: 1.18; }
h3 { margin: 25px 0 7px; font-size: 1rem; }
p, ul, ol { margin-top: 0; }
.lead { max-width: 720px; margin-bottom: 9px; color: var(--muted); font-size: 1.04rem; }
.updated { color: #79746c; font-size: .78rem; }

.draft-alert { margin: 28px 0; padding: 17px 19px; border: 1px solid rgba(155,89,76,.3); border-left: 5px solid var(--terracotta); border-radius: 5px; color: #69433b; background: #f4e8e4; font-size: .86rem; }
.draft-alert strong { display: block; margin-bottom: 3px; }
.placeholder { padding: 1px 5px; border-radius: 3px; color: #713d32; background: #f3d9d1; font-weight: 800; }

.summary-box { margin: 26px 0; padding: 22px; border: 1px solid rgba(40,93,79,.2); border-radius: 6px; background: var(--green-soft); }
.summary-box strong { color: var(--green-dark); }
.summary-box p:last-child, .summary-box ul:last-child { margin-bottom: 0; }

ul, ol { padding-left: 22px; }
li + li { margin-top: 7px; }
.table-wrap { overflow-x: auto; margin: 20px 0; }
table { width: 100%; border-collapse: collapse; font-size: .84rem; }
th, td { padding: 12px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
th { color: var(--green-dark); background: #edf3ef; }

.contact-card { margin-top: 34px; padding: 23px; border: 1px dashed rgba(40,93,79,.35); border-radius: 5px; background: #faf4e8; }
.contact-card h2 { margin-top: 0; }
.legal-note { margin-top: 38px; padding-top: 18px; border-top: 1px solid var(--line); color: #7a756c; font-size: .76rem; }
.page-nav { display: flex; flex-wrap: wrap; gap: 9px 17px; margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--line); font-size: .8rem; }

footer { padding: 0 0 52px; color: rgba(255,255,255,.7); font-size: .72rem; text-align: center; }

@media (max-width: 600px) {
  .site-header { padding: 16px 0; }
  .paper { padding: 32px 20px; }
  th, td { min-width: 145px; }
}

@media print {
  body { background: #fff; }
  .site-header, body > footer { display: none; }
  .paper { box-shadow: none; }
}
