:root{--bg:#f7f8fa;--fg:#1b1f24;--muted:#4a5562;--accent:#0b5cad;--card:#fff;--line:#d9dee5}
@media (prefers-color-scheme:dark){:root{--bg:#0f1318;--fg:#e8ecf1;--muted:#a9b4c0;--accent:#6cb4ff;--card:#171c23;--line:#2a313b}}
*{box-sizing:border-box}
body{margin:0;font:1rem/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--fg)}
.wrap{max-width:1100px;margin:0 auto;padding:0 1.25rem}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:var(--card);padding:.5rem;z-index:9}
a{color:var(--accent)}a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.hero{background:#0b2545;color:#fff;padding:3rem 0 2rem}
.hero h1{margin:0;font-size:clamp(2rem,5vw,3rem)}
.tag{margin:.25rem 0 1.25rem;color:#cfe0f5;font-size:1.2rem}
nav{display:flex;flex-wrap:wrap;gap:1rem}nav a{color:#fff;font-weight:600}
section{padding:2rem 0;border-bottom:1px solid var(--line)}
h2{margin-top:0}
.grid{list-style:none;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem 1.1rem}
.card h3{margin:0 0 .4rem;font-size:1.05rem;word-break:break-word}
.card p{margin:0;color:var(--muted);font-size:.95rem}
.certs{padding-left:1.2rem}.note{color:var(--muted)}
footer{padding:1.5rem 0;color:var(--muted)}
