:root{
  --cream:#F7F3EA;--paper:#FFFFFF;--ink:#1E2A24;--muted:#59645C;--line:#E7DFD0;
  --sage:#6E9079;--sage-deep:#4E7360;--forest:#163027;--on-forest:#EDE7DA;--on-forest-muted:#A9BCB0;
  --serif:"Lora",Georgia,"Times New Roman",serif;--sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--sage-deep)}
a:hover{color:var(--forest)}
.wrap{max-width:760px;margin:0 auto;padding:0 clamp(1.1rem,4vw,2rem)}
header.site{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--cream) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px;max-width:760px;margin:0 auto;padding:0 clamp(1.1rem,4vw,2rem)}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;color:var(--ink);text-decoration:none}
.brand .logo{width:34px;height:34px;border-radius:9px;background:var(--forest);color:var(--on-forest);display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:.9rem}
.nav .back{font-size:.92rem;color:var(--muted);text-decoration:none}
.nav .back:hover{color:var(--ink)}
main{padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(3rem,7vw,5rem)}
.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-deep);margin:0 0 .8rem}
h1{font-family:var(--serif);font-weight:600;font-size:clamp(2rem,5vw,2.8rem);line-height:1.1;margin:0 0 .4rem;letter-spacing:-0.01em}
.updated{color:var(--muted);font-size:.9rem;margin:0 0 2.4rem}
h2{font-family:var(--serif);font-weight:600;font-size:1.4rem;margin:2.4rem 0 .6rem}
p{margin:0 0 1rem}
.todo{background:#FBF6E6;border:1px solid #E7D9A8;border-radius:12px;padding:1rem 1.2rem;color:#6b5b16;font-weight:600;margin:0 0 1.4rem}
ul{margin:0 0 1.1rem;padding-left:1.2rem}
li{margin:0 0 .45rem}
address{font-style:normal;margin:0 0 1rem;color:var(--ink)}
table{width:100%;border-collapse:collapse;margin:.4rem 0 1.6rem;font-size:.95rem}
caption{text-align:left;color:var(--muted);font-size:.9rem;margin-bottom:.5rem}
th,td{text-align:left;padding:.7rem .85rem;border-bottom:1px solid var(--line);vertical-align:top}
thead th{font-family:var(--sans);font-weight:600;color:var(--sage-deep);background:color-mix(in srgb,var(--sage) 10%,transparent)}
.note{color:var(--muted);font-size:.9rem;font-style:italic}
footer.site{background:var(--forest);color:var(--on-forest-muted);padding:2.5rem 0}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.2rem}
.foot .brand{color:var(--on-forest)}
.foot-links{display:flex;flex-wrap:wrap;gap:1.2rem}
.foot-links a{font-size:.9rem;color:var(--on-forest-muted);text-decoration:none}
.foot-links a:hover{color:var(--on-forest)}
.foot-copy{width:100%;border-top:1px solid rgba(255,255,255,.08);margin-top:1.8rem;padding-top:1.2rem;font-size:.85rem}
:focus-visible{outline:2px solid var(--sage);outline-offset:3px;border-radius:4px}
@media (prefers-reduced-motion: reduce){*{transition:none!important}}
