:root { --ink:#e8edf5; --mute:#8b95a8; --accent:#00ff9d; --paper:#0c0e12; --card:#161a22; --line:#2a3140; --purple:#bb86fc; }
* { box-sizing: border-box; }
body { margin:0; font-family:"Segoe UI", system-ui, sans-serif; background:var(--paper); color:var(--ink); line-height:1.65; }
a { color:var(--accent); }
.hub { font-family: ui-monospace, "IBM Plex Mono", monospace; font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; border-bottom:1px solid var(--line); }
.hub-inner { max-width:52rem; margin:0 auto; padding:10px 20px; display:flex; justify-content:space-between; gap:12px; }
.hub a { color:var(--accent); text-decoration:none; }
.wrap { max-width:52rem; margin:0 auto; padding:2.4rem 1.3rem 4rem; }
.kicker { font-family: ui-monospace, monospace; font-size:0.7rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--purple); }
h1 { font-size:clamp(1.8rem,4vw,2.6rem); color:var(--accent); line-height:1.15; margin:0.4rem 0 1rem; }
h2 { font-size:1.35rem; margin:2rem 0 0.6rem; }
.lede { color:var(--mute); font-size:1.05rem; }
.crumb { font-size:0.82rem; color:var(--mute); }
.crumb a { color:var(--accent); text-decoration:none; }
.cards { display:grid; gap:1rem; margin:1.5rem 0; }
@media (min-width:720px) { .cards { grid-template-columns:1fr 1fr; } }
.card { display:block; background:var(--card); border:1px solid var(--line); border-radius:16px; padding:1.15rem 1.25rem; text-decoration:none; color:inherit; }
.card:hover { border-color:var(--accent); }
.card h3 { margin:0.2rem 0 0.4rem; color:var(--ink); }
.card p { margin:0; color:var(--mute); font-size:0.95rem; }
ul { padding-left:1.2rem; }
li { margin:0.35rem 0; }
.cta { display:inline-block; margin-top:0.7rem; padding:0.65rem 1rem; background:var(--accent); color:#04140c; border-radius:999px; text-decoration:none; font-weight:700; }
footer.page { border-top:1px solid var(--line); margin-top:2.5rem; padding-top:1rem; font-size:0.85rem; color:var(--mute); }
