:root{--fam-font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--fam-brand:#2563eb;--fam-accent:#06b6d4;--fam-radius:.5rem;--fam-space:.75rem;--fam-bg:#0b0e14;--fam-fg:#cbd5e1;--fam-line:#1a1f2e}
/* family shell: neutral chrome driven only by the family tokens */
.fam-header,.fam-footer{font-family:var(--fam-font);background:var(--fam-bg);color:var(--fam-fg);box-sizing:border-box}
.fam-header *,.fam-footer *{box-sizing:border-box}
.fam-header{border-bottom:1px solid var(--fam-line);position:sticky;top:0;z-index:50}
.fam-header .fam-in{display:flex;align-items:center;gap:var(--fam-space);padding:var(--fam-space) calc(var(--fam-space)*1.5);max-width:1200px;margin:0 auto;flex-wrap:wrap}
.fam-header a,.fam-footer a{color:inherit;text-decoration:none}
.fam-header a:hover,.fam-footer a:hover{color:var(--fam-brand)}
.fam-logo{font-weight:700;display:flex;align-items:center;gap:.5rem}
.fam-logo i{width:1.6rem;height:1.6rem;border-radius:var(--fam-radius);background:linear-gradient(135deg,var(--fam-brand),var(--fam-accent));display:inline-block}
.fam-nav{display:flex;gap:calc(var(--fam-space)*1.25);flex:1;flex-wrap:wrap;font-size:.95rem}
.fam-switch{position:relative;font-size:.9rem}
.fam-switch summary{cursor:pointer;list-style:none;border:1px solid var(--fam-line);border-radius:var(--fam-radius);padding:.35rem .7rem}
.fam-switch summary::-webkit-details-marker{display:none}
.fam-switch ul{position:absolute;right:0;top:calc(100% + .4rem);background:var(--fam-bg);border:1px solid var(--fam-line);border-radius:var(--fam-radius);padding:.5rem;margin:0;list-style:none;min-width:14rem;max-height:70vh;overflow:auto}
.fam-switch li a{display:block;padding:.35rem .5rem}
.fam-footer{border-top:1px solid var(--fam-line);margin-top:calc(var(--fam-space)*4);font-size:.9rem}
.fam-footer .fam-in{max-width:1200px;margin:0 auto;padding:calc(var(--fam-space)*2) calc(var(--fam-space)*1.5);display:grid;gap:var(--fam-space)}
.fam-footer .fam-sib{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;margin:0;padding:0;list-style:none}
.fam-footer .fam-legal{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem}
.fam-footer .fam-line{opacity:.75;font-size:.82rem}

*{box-sizing:border-box}body{margin:0;background:var(--fam-bg);color:var(--fam-fg);font-family:var(--fam-font);line-height:1.6}
main{max-width:1100px;margin:0 auto;padding:2rem 1.25rem}a{color:#7aa7ff}h1{font-size:2.2rem;line-height:1.2;color:#f1f5f9;margin:.2rem 0 1rem}h2{color:#f1f5f9;margin-top:2.2rem}
.lede{font-size:1.15rem;max-width:46rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-top:1rem}
.card{border:1px solid var(--fam-line);border-radius:var(--fam-radius);padding:1rem;background:#10141d}.card h3{margin:.1rem 0 .4rem;color:#f1f5f9}.card p{margin:.2rem 0;font-size:.93rem}.card a.t{text-decoration:none;color:inherit;display:block}
.btn{display:inline-block;padding:.6rem 1.1rem;border-radius:var(--fam-radius);background:var(--fam-brand);color:#fff!important;text-decoration:none;font-weight:600;margin:.25rem .4rem .25rem 0}.btn.alt{background:transparent;border:1px solid var(--fam-line)}
ul.tiers,ul.feat{padding-left:1.2rem}.crumb{font-size:.88rem;opacity:.8}.formerly{opacity:.8;font-size:.92rem}.tag{font-size:.78rem;opacity:.7}
@media(max-width:640px){h1{font-size:1.7rem}.fam-nav{font-size:.88rem}}
