@font-face{font-family:Rubik;src:url('/assets/fonts/rubik-latin.woff2') format('woff2');font-weight:300 900;font-display:swap}
:root{font-family:Rubik,system-ui,sans-serif;color-scheme:dark;--bg:#06100f;--panel:#0d1b1a;--text:#f4faf7;--muted:#c6d8d3;--line:#2b4440;--accent:#79ffb0}
:root[data-theme=light]{color-scheme:light;--bg:#fff;--panel:#f5f9f7;--text:#102f2a;--muted:#526961;--line:#cfddd6;--accent:#12733f}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.7}a{color:var(--accent);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}header,main,footer{width:min(100% - 40px,860px);margin-inline:auto}header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--text);line-height:1.3}.brand img{width:60px;height:60px;border-radius:4px}.brand strong{display:block;font-size:24px;letter-spacing:-.5px}.brand span{font-size:14px;color:var(--accent)}button{font:inherit;font-size:14px;color:var(--text);background:var(--panel);border:1px solid var(--line);padding:10px 15px;border-radius:24px;min-height:44px;cursor:pointer}main{padding-block:44px 36px}h1{font-size:clamp(32px,6vw,48px);letter-spacing:-1.4px;line-height:1.15;margin:10px 0 18px}h2{font-size:23px;letter-spacing:-.4px;line-height:1.35;margin:32px 0 10px}p,ul{margin:12px 0}p,li{max-width:74ch}li{padding-left:4px;margin-block:8px}.eyebrow{color:var(--accent);font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.intro{font-size:19px;color:var(--muted)}.updated{font-size:14px;color:var(--muted)}.contact{padding:22px 24px;background:var(--panel);border-left:3px solid var(--accent);margin:26px 0}.contact p{margin:0}.contact a{overflow-wrap:anywhere}footer{border-top:1px solid var(--line);padding:24px 0 40px;color:var(--muted);font-size:14px}footer nav{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:12px}.skip{position:absolute;top:-100px;left:20px;padding:10px;background:var(--panel);z-index:2}.skip:focus{top:8px}@media(max-width:440px){header{gap:10px}.brand img{width:44px;height:44px}.brand{gap:10px}.brand strong{font-size:21px}.brand span{font-size:12px}button{padding-inline:12px}main{padding-top:30px}.contact{padding:18px}}
