:root {
    --paper:#F2F5F8; --ink:#16232E; --muted:#5D6E7E; --line:#D9E2EB;
    --brand:#004AAD; --brand-deep:#003B8A; --tint:#E6EEF9; --sky:#38B6FF; --navy:#122A40;
}
* { box-sizing:border-box; }
body { font-family:"Inter",system-ui,sans-serif; color:var(--ink); background:var(--paper);
       background-image:radial-gradient(circle, rgba(0,74,173,.07) 1px, transparent 1px);
       background-size:22px 22px; margin:0; line-height:1.65; }
.mono { font-family:"IBM Plex Mono",monospace; }
header.top { background:var(--navy); border-bottom:3px solid var(--sky); padding:.8rem 0; }
header.top .wrap { display:flex; align-items:center; justify-content:space-between; }
.wrap { max-width:820px; margin:0 auto; padding:0 1.25rem; }
.top-brand { display:flex; align-items:center; gap:.6rem; color:#E8EFF6; text-decoration:none;
             font-family:"IBM Plex Mono",monospace; font-size:.95rem; }
.top-brand img { height:24px; }
.top-brand em { font-family:"Source Serif 4",Georgia,serif; font-style:italic; color:#fff; }
nav.legal-nav { font-size:.78rem; margin:1.4rem 0 0; }
nav.legal-nav a { color:var(--brand); text-decoration:none; margin-right:.9rem; }
nav.legal-nav a:hover { text-decoration:underline; }
main { background:#fff; border:1px solid var(--line); border-radius:14px;
       padding:2rem 2.4rem 2.4rem; margin:1.2rem 0 2.5rem;
       box-shadow:0 1px 2px rgba(18,42,64,.06), 0 8px 24px rgba(18,42,64,.07); }
h1 { font-size:1.7rem; letter-spacing:-.02em; margin:.2rem 0 .3rem; }
h2 { font-size:1.05rem; margin:1.8rem 0 .5rem; letter-spacing:-.01em; }
p, li { font-size:.92rem; }
.updated { font-family:"IBM Plex Mono",monospace; font-size:.72rem; color:var(--muted);
           letter-spacing:.08em; text-transform:uppercase; }
a { color:var(--brand); }
ul { padding-left:1.2rem; }
.cardlist { display:grid; gap:.8rem; margin-top:1.4rem; }
.cardlist a { display:block; border:1px solid var(--line); border-radius:10px;
              padding:.9rem 1.1rem; text-decoration:none; color:var(--ink); }
.cardlist a:hover { border-color:var(--brand); }
.cardlist b { display:block; color:var(--brand); font-size:.95rem; }
.cardlist span { font-size:.82rem; color:var(--muted); }
footer { font-family:"IBM Plex Mono",monospace; font-size:.72rem; color:var(--muted);
         text-align:center; padding:0 1rem 2rem; }
footer a { color:var(--muted); }
