*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--fg);font:1rem/1.6 system-ui,Segoe UI,Arial,sans-serif}
a{color:var(--accent)}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
img{max-width:100%;height:auto}p,li,dd{overflow-wrap:anywhere}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:var(--accent);color:var(--accent-fg);padding:.5rem;z-index:9}
header.site{background:var(--nav);border-bottom:1px solid var(--border)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1rem}
.bar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;padding:.75rem 0}
.logo img{display:block;max-height:3rem;width:auto}
nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:.25rem 1rem;margin:0;padding:0}
nav a{color:var(--fg);text-decoration:none;padding:.25rem 0;border-bottom:2px solid transparent}nav a:hover,nav a[aria-current]{border-color:var(--accent)}
.hero{width:100%;max-height:14rem;object-fit:cover;display:block;border-radius:var(--radius);margin-top:1rem}
main{padding:1rem 0 2rem}h1{font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.2}
.lede{font-size:1.15rem;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:1rem;padding:0;list-style:none}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}
.card h2,.card h3{margin-top:0;font-size:1.2rem}.kind{color:var(--muted);font-size:.9rem;margin:.25rem 0}
.btn{display:inline-block;background:var(--accent);color:var(--accent-fg);padding:.5rem 1rem;border-radius:var(--radius);text-decoration:none;font-weight:600;margin:.25rem .5rem .25rem 0}
.ph{background:var(--ph-bg);color:var(--ph-fg);padding:0 .25rem;border-radius:.2rem}
.dead{background:var(--dead-bg);color:var(--dead-fg);border-color:var(--dead-fg)}.dead a{color:var(--dead-fg)}
dl.contact dt{font-weight:600}dl.contact dd{margin:0 0 .5rem}
footer.site{background:var(--card);border-top:1px solid var(--border);padding:1.5rem 0;color:var(--muted);font-size:.95rem}
footer.site a{color:var(--accent)}footer .fam{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1rem}
details{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;margin:.5rem 0}summary{cursor:pointer;font-weight:600}
.legacy br{display:none}.legacy dl dt{font-weight:600}.legacy dl dd{margin:0 0 .5rem}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.dev{display:inline-block;font-weight:600}
