/* Shared styles for /about, /privacy, /terms, /contact.
   Swap --green and the serif family for the exact ones your homepage uses. */
:root{
  --green:#1f5c46; --green-soft:#e8f1ec; --ink:#1b2320; --muted:#5b6762;
  --line:#d9e2dd; --field:#6b7772; --bg:#fbfcfb; --paper:#ffffff; --focus:#0b7a55;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
@media (prefers-color-scheme:dark){:root{
  --green:#7fc3a4; --green-soft:#17281f; --ink:#e6ece9; --muted:#9fb0a8;
  --line:#2b3a33; --field:#7d8c85; --bg:#111815; --paper:#16201b; --focus:#8fd8b5;
}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--sans)}
a{color:var(--green);text-underline-offset:2px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
/* Skip link: hidden until a keyboard user tabs to it (WCAG 2.4.1) */
.skip{position:absolute;left:8px;top:-60px;z-index:10;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:6px;font-weight:600;text-decoration:none}
.skip:focus{top:8px}
.top{border-bottom:1px solid var(--line);background:var(--paper)}
.top div{max-width:720px;margin:0 auto;padding:14px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.brand{font-family:var(--serif);font-size:1.25rem;font-weight:600;color:var(--ink);text-decoration:none}
.back{font-size:.95rem;display:inline-block;min-height:24px;line-height:24px}
main{max-width:720px;margin:0 auto;padding:40px 20px 56px}
main:focus{outline:none}
h1{font-family:var(--serif);font-weight:600;font-size:clamp(2rem,6vw,2.75rem);line-height:1.15;margin:0 0 12px;letter-spacing:-.01em}
.lede{font-size:1.125rem;color:var(--muted);margin:0 0 32px;max-width:60ch}
h2{font-family:var(--serif);font-weight:600;font-size:1.4rem;line-height:1.3;margin:40px 0 8px}
p,li{max-width:68ch}
ul,ol{padding-left:1.25rem}
li{margin:.35rem 0}
.updated{font-size:.9rem;color:var(--muted);margin-top:48px;padding-top:16px;border-top:1px solid var(--line)}
.note{background:var(--green-soft);border-left:4px solid var(--green);padding:14px 16px;border-radius:0 8px 8px 0;margin:24px 0}
.steps{list-style:none;padding:0;counter-reset:s}
.steps li{counter-increment:s;position:relative;padding:4px 0 12px 48px;margin:0}
.steps li::before{content:counter(s);position:absolute;left:0;top:2px;width:32px;height:32px;border-radius:50%;background:var(--green);color:var(--paper);font:600 .95rem/32px var(--sans);text-align:center}
.steps strong{display:block}
form{display:grid;gap:18px;margin-top:8px}
label{font-weight:600;display:block;margin-bottom:6px}
.hint{font-weight:400;color:var(--muted);font-size:.9rem}
/* Field borders need 3:1 contrast so the boxes can be seen (WCAG 1.4.11) */
input,select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--field);border-radius:8px;padding:11px 12px}
textarea{min-height:140px;resize:vertical}
button{justify-self:start;font:600 1rem var(--sans);background:var(--green);color:var(--paper);border:0;border-radius:8px;padding:12px 22px;cursor:pointer}
.hidden{display:none}
.sent{background:var(--green-soft);border-radius:8px;padding:16px;margin-bottom:24px}
footer{border-top:1px solid var(--line)}
footer nav{max-width:720px;margin:0 auto;padding:20px 20px 8px;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.95rem}
footer nav a{display:inline-block;min-height:24px;line-height:24px}
footer .copy{max-width:720px;margin:0 auto;padding:0 20px 24px;font-size:.9rem;color:var(--muted)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}}
