:root{--paper:#f1f5f4;--surface:#e3ebe9;--ink:#10283a;--muted:#4a6272;--line:#b9c9c6;--teal:#1b6f80;--brass:#8f6a1a;--on-teal:#fff;color-scheme:light}
@media(prefers-color-scheme:dark){:root{--paper:#0d1f2b;--surface:#14303f;--ink:#e8f0ee;--muted:#9db5bd;--line:#2b4757;--teal:#5cc0d2;--brass:#d9b25c;--on-teal:#0d1f2b;color-scheme:dark}}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:1.0625rem/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--teal)}
a:focus-visible{outline:3px solid var(--brass);outline-offset:3px}
.wrap{max-width:62rem;margin:0 auto;padding:0 1.25rem}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.15;margin:0}
header{border-bottom:1px solid var(--line)}
header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1.5rem;padding-top:.9rem;padding-bottom:.9rem}
.brand{font:700 1.35rem Georgia,serif;color:var(--ink);text-decoration:none}
nav ul{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;list-style:none;margin:0;padding:0}
nav a{color:var(--ink);text-decoration:none;padding:.35rem 0;display:inline-block}
nav a:hover{color:var(--teal);text-decoration:underline}
.hero .wrap{display:grid;gap:2rem;padding-top:3rem;padding-bottom:3.5rem}
.hero h1{font-size:clamp(2.1rem,6vw,3.6rem);max-width:15ch}
.hero p{max-width:34rem;color:var(--muted);font-size:1.15rem;margin:1.1rem 0 1.6rem}
.btn{display:inline-block;padding:.75rem 1.3rem;border-radius:4px;font-weight:600;text-decoration:none;background:var(--teal);color:var(--on-teal)}
.btn:hover{filter:brightness(1.1)}
.compass{width:min(14rem,60vw);color:var(--brass)}
@media(min-width:48rem){.hero .wrap{grid-template-columns:1fr auto;align-items:center}.compass{width:15rem}}
section{padding:2.5rem 0;border-top:1px solid var(--line)}
section h2{font-size:1.75rem;margin-bottom:.4rem}
.lede{color:var(--muted);margin:0 0 1.5rem;max-width:36rem}
.rows{list-style:none;margin:0;padding:0}
.rows li{display:grid;gap:.15rem;padding:1rem .25rem;border-top:1px solid var(--line)}
.rows li:last-child{border-bottom:1px solid var(--line)}
.rows strong{font:700 1.2rem Georgia,serif;color:var(--teal)}
.rows span{color:var(--muted)}
@media(min-width:48rem){.rows li{grid-template-columns:16rem 1fr;align-items:baseline;gap:1.5rem}}
.page{padding:2.5rem 0 3.5rem}
.page h1{font-size:clamp(1.9rem,5vw,2.8rem);margin-bottom:1rem}
.page h2{font-size:1.4rem;margin:2rem 0 .5rem}
.page p,.page ul{max-width:40rem}
.page ul{padding-left:1.2rem}
.note{background:var(--surface);border-left:4px solid var(--brass);padding:.8rem 1rem;max-width:40rem}
footer{background:var(--surface);border-top:1px solid var(--line);padding:2rem 0;font-size:.95rem}
footer p{margin:.4rem 0;color:var(--muted);max-width:44rem}
footer ul{list-style:none;display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;margin:0 0 1rem;padding:0}
footer a{color:var(--ink)}
