:root { --ink:#1f2a33; --muted:#46535a; --navy:#16283a; --beacon:#e8a54b; --paper:#fbf8f1; --line:rgba(31,42,51,.15); }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; color:var(--ink); background:var(--paper); }
a { color:#1d4f7a; } a:hover { color:var(--navy); }
a:focus-visible, button:focus-visible, input:focus-visible { outline:3px solid var(--beacon); outline-offset:2px; }
.top { display:flex; flex-wrap:wrap; gap:.6rem 1.2rem; align-items:center; justify-content:space-between; padding:.8rem 1.2rem; background:var(--navy); }
.top a { color:#fff; text-decoration:none; } .top a:hover { text-decoration:underline; }
.top .home { display:flex; align-items:center; gap:.5rem; font-weight:700; font-size:1.15rem; }
.top .home svg { width:32px; height:32px; }
.top nav { display:flex; flex-wrap:wrap; gap:1rem; font-size:.95rem; }
main { max-width:46rem; margin:0 auto; padding:1.2rem 1.2rem 2rem; }
h1 { font-size:1.9rem; line-height:1.2; margin:.6rem 0; color:var(--navy); }
h2 { font-size:1.25rem; margin:1.8rem 0 .4rem; color:var(--navy); }
.lede { font-size:1.1rem; }
.updated { color:#5a6470; font-size:.92rem; margin-top:-.4rem; }
.toc a { white-space:nowrap; }
.draft { display:inline-block; background:#fff4dd; border:1px solid #e8c88a; border-radius:8px; padding:.3rem .7rem; font-size:.9rem; }
.small { font-size:.9rem; color:var(--muted); }
dt { font-weight:700; margin-top:.8rem; } dd { margin:.2rem 0 0 0; }
.contact { margin-top:2.4rem; padding:1rem 1.2rem; background:#fff; border:1px solid var(--line); border-radius:12px; }
.contact h2 { margin-top:0; } .contact ul { padding-left:1.1rem; margin:0; } .contact a { overflow-wrap:anywhere; }
footer { border-top:1px solid var(--line); padding:1rem 1.2rem 2rem; text-align:center; font-size:.9rem; color:var(--muted); }
.wl { display:grid; gap:.5rem; max-width:26rem; margin:1.2rem 0; padding:1rem 1.2rem; background:#fff; border:1px solid var(--line); border-radius:12px; }
.wl label { font-weight:600; } .wl input[type=email] { font:inherit; padding:.6rem .7rem; border:1px solid #8a959b; border-radius:8px; }
.wl .chk { display:flex; gap:.5rem; align-items:center; font-weight:400; } .wl .chk input { width:1.2rem; height:1.2rem; }
.btn { font:inherit; font-weight:700; padding:.7rem 1rem; border:0; border-radius:999px; background:var(--navy); color:#fff; cursor:pointer; }
.btn:disabled { opacity:.6; } .msg { margin:0; min-height:1.4em; font-weight:600; }
