:root{--bg:#1b2b44;--panel:#243652;--line:#38506f;--text:#d4dfec;--head:#ffffff;--acc:#72e3f0;--acc2:#82a9ff;--mute:#a6b9cf}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font:17px/1.7 'IBM Plex Sans',system-ui,sans-serif;min-height:100vh}
body::before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(60% 40% at 80% -5%,rgba(114,227,240,.2),transparent 70%),radial-gradient(50% 40% at 0 30%,rgba(130,169,255,.18),transparent 70%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/64px 64px,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/64px 64px}
h1,h2,h3{font-family:'Space Grotesk',system-ui,sans-serif;color:var(--head);line-height:1.12;letter-spacing:-.02em}
h1{font-size:clamp(2.3rem,5.8vw,4rem);max-width:17ch;font-weight:700}
h2{font-size:1.8rem;margin-bottom:.8rem}
h3{font-size:1.15rem;margin-bottom:.4rem}
a{color:var(--acc)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
header{position:sticky;top:0;z-index:5;backdrop-filter:blur(16px);background:rgba(27,43,68,.8);border-bottom:1px solid var(--line)}
nav{max-width:1080px;margin:auto;padding:14px 24px;display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.logo{margin-right:auto;display:flex;align-items:center;text-decoration:none}
.logo i{width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,var(--acc),var(--acc2));box-shadow:0 0 18px rgba(77,225,240,.7)}
nav a:not(.logo){color:var(--mute);text-decoration:none;font-size:.95rem;padding:4px 0;border-bottom:2px solid transparent;transition:color .2s}
nav a:not(.logo):hover,nav a[aria-current]{color:var(--head)}
nav a[aria-current]{border-color:var(--acc)}
main{max-width:1080px;margin:auto;padding:0 24px}
.hero{padding:104px 0 72px;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center}
.hero p{max-width:52ch;margin:22px 0 30px;font-size:1.1rem}
.page-hero{padding:80px 0 24px}.page-hero p{max-width:60ch;margin-top:16px}
.btn{display:inline-block;padding:13px 26px;border-radius:10px;background:linear-gradient(135deg,var(--acc),var(--acc2));color:#02111a;font-weight:600;text-decoration:none;margin:0 10px 10px 0;box-shadow:0 6px 24px rgba(114,227,240,.28);transition:transform .2s,box-shadow .2s}
.btn.alt{background:rgba(255,255,255,.03);color:var(--head);border:1px solid var(--line);box-shadow:none}
.btn:hover{transform:translateY(-2px)}
section{padding:48px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.card{background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.03));border:1px solid var(--line);padding:26px;border-radius:18px;transition:border-color .25s}
.card:hover{border-color:rgba(77,225,240,.45)}
.card p{font-size:.97rem;color:var(--mute)}
.tags{margin-top:14px;font-size:.85rem;color:var(--acc)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
ul.list{padding-left:1.1em}ul.list li{margin:.5em 0}ul.list li::marker{color:var(--acc)}
form{display:grid;gap:16px;max-width:520px}
label{font-size:.9rem;color:var(--mute)}
input,textarea{width:100%;padding:13px 14px;background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--head);font:inherit}
input:focus,textarea:focus{border-color:var(--acc)}
footer{border-top:1px solid var(--line);margin-top:48px;padding:28px 24px;text-align:center;color:var(--mute);font-size:.9rem}
footer a{color:var(--mute)}
.net{width:100%;height:auto}
.net line{stroke:#456088;stroke-width:1.5}
.net circle{fill:var(--bg);stroke:var(--acc);stroke-width:2;filter:drop-shadow(0 0 6px rgba(77,225,240,.6))}
.net .pulse{stroke:var(--acc);stroke-width:2;stroke-dasharray:14 180;animation:flow 4s linear infinite}
@keyframes flow{to{stroke-dashoffset:-194}}
@media(max-width:800px){.hero,.split{grid-template-columns:1fr}.hero{padding-top:56px}}
@media(prefers-reduced-motion:reduce){.net .pulse{animation:none}html{scroll-behavior:auto}.btn,.card{transition:none}}
