:root{--ink:#18362d;--paper:#fbfaf5;--sage:#e3ece2;--accent:#b9633f;--muted:#66736e;--line:#dde4dd}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:#202925;font:17px/1.72 system-ui,-apple-system,Segoe UI,sans-serif}
a{color:#315c4e}header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.wrap{max-width:1200px;margin:auto;padding:0 24px}
.top{display:flex;align-items:center;min-height:74px;gap:24px}.brand{font:700 24px Georgia,serif;color:var(--ink);text-decoration:none;white-space:nowrap}
nav{display:flex;gap:16px;align-items:center;flex:1}nav a{text-decoration:none;color:var(--ink);font-size:14px}.header-cta{margin-left:auto}
.hero{padding:64px 0 42px;background:linear-gradient(135deg,#edf4ea,#fff7ee)}h1,h2,h3{font-family:Georgia,serif;color:var(--ink);line-height:1.18}h1{font-size:clamp(38px,6vw,64px);max-width:920px}h2{font-size:31px;margin-top:46px}h3{font-size:21px}
.lede{font-size:21px;max-width:820px}.grid{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:44px;padding:45px 0}article{max-width:800px}
article p{margin:0 0 18px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 10px 26px #17352d0b}.sticky{position:sticky;top:96px}
.btn{display:inline-block;background:var(--accent);color:#fff!important;text-decoration:none;font-weight:750;padding:13px 18px;border-radius:999px;margin:8px 0}.btn.secondary{background:var(--ink)}
.note{background:#f0f5ef;border-left:4px solid var(--ink);padding:16px 18px;margin:22px 0}.related{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.related a{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;text-decoration:none}
footer{border-top:1px solid var(--line);padding:42px 0;margin-top:55px;color:var(--muted);font-size:14px}.disclosure{font-size:13px;color:var(--muted)}
.popup{position:fixed;inset:0;background:#0008;display:none;align-items:center;justify-content:center;z-index:60;padding:20px}.popup.show{display:flex}.popupbox{max-width:580px;background:#fff;border-radius:22px;padding:30px;position:relative}.close{position:absolute;right:16px;top:9px;border:0;background:none;font-size:30px;cursor:pointer}
@media(max-width:900px){nav{display:none}.header-cta{margin-left:auto}.grid{grid-template-columns:1fr}.sticky{position:static}.related{grid-template-columns:1fr}.hero{padding-top:42px}}
@media(max-width:560px){.header-cta{font-size:12px;padding:10px 12px}.brand{font-size:21px}.wrap{padding:0 17px}}
