:root { --bg:#0b1220; --panel:#111d30; --line:rgba(226,233,246,.12); --fg:#e8edf6; --muted:#aab4c5; --accent:#4d9bff; --accent-fg:#06101f; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:17px/1.65 system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif; -webkit-font-smoothing:antialiased; }
a { color:var(--accent); text-decoration:none; }
a:hover { text-decoration:underline; }
a:focus-visible, button:focus-visible { outline:2px solid var(--accent); outline-offset:3px; border-radius:4px; }
.wrap { max-width:72rem; margin:0 auto; padding:0 20px; }
.narrow { max-width:46rem; }
header.site { position:sticky; top:0; z-index:10; background:rgba(11,18,32,.92); border-bottom:1px solid var(--line); }
header.site .wrap { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-top:14px; padding-bottom:14px; flex-wrap:wrap; }
.brand { display:flex; align-items:center; gap:10px; color:var(--fg); font-weight:700; letter-spacing:.02em; font-size:1.1rem; }
.brand:hover { text-decoration:none; }
.brand .mark { width:20px; height:20px; background:var(--accent); border-radius:5px; transform:rotate(45deg); display:inline-block; }
nav.site { display:flex; align-items:center; gap:1.5rem; font-size:.95rem; flex-wrap:wrap; }
nav.site a { color:var(--muted); }
nav.site a:hover { color:var(--fg); text-decoration:none; }
nav.site a.cta { background:var(--accent); color:var(--accent-fg); padding:8px 16px; border-radius:8px; font-weight:600; }
.eyebrow { font:500 .8rem/1.2 ui-monospace, "SF Mono", Menlo, Consolas, monospace; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); margin:0 0 .75rem; }
h1 { font-size:clamp(2.1rem, 5.5vw, 3.6rem); line-height:1.08; letter-spacing:-.02em; margin:.25rem 0 1rem; }
h2 { font-size:clamp(1.5rem, 3.4vw, 2.1rem); line-height:1.2; letter-spacing:-.01em; margin:0 0 .75rem; }
h3 { font-size:1.1rem; margin:0 0 .35rem; }
p { margin:0 0 1rem; }
.lede { font-size:1.15rem; color:var(--muted); max-width:40rem; }
.hero { padding:4.5rem 0 3rem; }
.hero .sub { font-size:clamp(1.3rem, 3vw, 1.8rem); color:var(--muted); margin:0 0 1.25rem; line-height:1.3; }
.actions { display:flex; gap:.75rem; flex-wrap:wrap; margin-top:1.5rem; }
.btn { display:inline-block; padding:12px 22px; border-radius:10px; font-weight:600; background:var(--accent); color:var(--accent-fg); }
.btn:hover { text-decoration:none; filter:brightness(1.08); }
.btn.ghost { background:transparent; color:var(--fg); border:1px solid var(--line); }
section.block { padding:3rem 0; border-top:1px solid var(--line); }
.grid { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit, minmax(15rem, 1fr)); margin-top:1.5rem; }
.card { background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:1.25rem 1.25rem 1rem; }
.card .tag { font:500 .72rem/1 ui-monospace, Menlo, Consolas, monospace; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); margin-bottom:.6rem; }
.card p { color:var(--muted); margin:0 0 .5rem; font-size:.98rem; }
.panel { background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:1.25rem 1.5rem; margin:1.25rem 0; }
.number { font-size:clamp(1.6rem, 5vw, 2.2rem); font-weight:700; letter-spacing:.02em; margin:.25rem 0 .75rem; }
.muted { color:var(--muted); font-size:.95rem; }
ul.clean { padding-left:1.2rem; }
ul.clean li { margin:.35rem 0; }
.two { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit, minmax(18rem, 1fr)); margin-top:1rem; }
article.doc h1 { font-size:clamp(1.8rem, 4vw, 2.4rem); }
article.doc h2 { font-size:1.2rem; margin-top:1.75rem; }
footer.site { border-top:1px solid var(--line); margin-top:2rem; padding:1.5rem 0 2.5rem; color:var(--muted); font-size:.92rem; }
footer.site .wrap { display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
footer.site a { color:var(--muted); margin-left:1rem; }
footer.site a:first-child { margin-left:0; }
@media (max-width: 40rem) { .hero { padding-top:2.5rem; } nav.site { gap:1rem; } }

label { font-weight:600; font-size:.95rem; }
input[type=text], input[type=email], textarea { width:100%; margin-top:.35rem; padding:10px 12px; background:var(--bg); color:var(--fg); border:1px solid var(--line); border-radius:8px; font:inherit; }
button.btn { border:0; cursor:pointer; font:inherit; font-weight:600; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.mono { font:500 .78rem/1.4 ui-monospace, Menlo, Consolas, monospace; letter-spacing:.08em; text-transform:uppercase; }
.herogrid { display:grid; gap:2.5rem; grid-template-columns:repeat(auto-fit, minmax(20rem, 1fr)); align-items:center; }
.heroviz { background:radial-gradient(circle at 50% 40%, #16264a, var(--panel)); border:1px solid var(--line); border-radius:20px; padding:1rem 1rem .5rem; text-align:center; }
svg.net { width:100%; max-width:26rem; height:auto; }
svg.net.sm { max-width:11rem; margin:.5rem auto; display:block; }
svg .ln { stroke:var(--accent); stroke-opacity:.55; stroke-width:1.2; } svg .ln.dim { stroke-opacity:.2; }
svg .hub { fill:var(--accent); } svg .hubt { fill:var(--accent-fg); font:700 9px system-ui; }
svg .nd { fill:#0f1c33; stroke:var(--accent); stroke-width:1.5; }
svg .lb { fill:var(--muted); font:11px ui-monospace, Menlo, monospace; }
.strip { border-top:1px solid var(--line); }
.grid4 { display:grid; grid-template-columns:repeat(auto-fit, minmax(14rem, 1fr)); }
.grid4 > div { padding:1.5rem 1.25rem; border-left:1px solid var(--line); }
.grid4 > div:first-child { border-left:0; }
.grid4 p { color:var(--muted); font-size:.95rem; margin:0; }
.grid4 .tag, .step .tag { font:500 .72rem/1 ui-monospace, Menlo, monospace; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); margin-bottom:.5rem; }
.lay table.roles { width:100%; border-collapse:collapse; font-size:.9rem; margin:.5rem 0; }
.lay .roles th { text-align:left; color:var(--muted); font-weight:400; padding:.2rem 0; width:40%; }
.lay .roles td { padding:.2rem 0; }
.lay .board { font-size:.85rem; margin:.5rem 0 0; }
.board { background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:.75rem; margin:1.25rem 0; overflow-x:auto; }
.bt { display:flex; gap:.6rem; align-items:center; padding:.25rem .25rem .75rem; font-weight:600; }
.dot { width:10px; height:10px; border-radius:3px; background:var(--accent); display:inline-block; }
.kcols { display:grid; grid-template-columns:repeat(7, minmax(10.5rem, 1fr)); gap:.6rem; min-width:76rem; }
.kc { background:rgba(255,255,255,.03); border-radius:10px; padding:.5rem; }
.kh { font:600 .7rem/1 ui-monospace, Menlo, monospace; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); display:flex; justify-content:space-between; padding:.25rem .25rem .6rem; }
.tk { background:var(--bg); border:1px solid var(--line); border-radius:8px; padding:.5rem .6rem; margin-bottom:.5rem; font-size:.85rem; }
.tk.hi { border-color:var(--accent); }
.tkh { display:flex; justify-content:space-between; font:.7rem ui-monospace, Menlo, monospace; color:var(--muted); }
.tkt { margin:.25rem 0; } .tkm { color:var(--muted); font-size:.75rem; }
.pri { padding:0 .35rem; border-radius:4px; background:rgba(255,255,255,.08); } .pri.high { background:#5b2230; color:#ffb4c0; } .pri.med { background:#4a3a14; color:#ffd98a; }
.two2 { display:grid; gap:1.5rem; grid-template-columns:repeat(auto-fit, minmax(18rem, 1fr)); align-items:center; }
pre.code, div.code { background:var(--bg); border:1px solid var(--line); border-radius:10px; padding:1rem; font:.88rem/1.6 ui-monospace, Menlo, Consolas, monospace; white-space:pre-wrap; margin:0; }
div.code { font-family:inherit; font-size:.95rem; } .quote { font-style:italic; }
.acc { color:var(--accent); }
.steps { display:grid; gap:.75rem; grid-template-columns:repeat(auto-fit, minmax(10rem, 1fr)); margin:1.25rem 0; }
.step { background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:1rem; } .step p { color:var(--muted); font-size:.9rem; margin:0; } .step h3 { font-size:1rem; }
.chips { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.5rem; }
.chip { font:.78rem ui-monospace, Menlo, monospace; padding:.2rem .6rem; border:1px solid var(--line); border-radius:6px; background:var(--bg); color:var(--muted); }
section.cta { background:linear-gradient(var(--bg), #0e1a31); }

.sr { position:absolute; left:-9999px; }
form.wl { max-width:28rem; margin:1rem auto; display:grid; gap:.75rem; justify-items:center; }
form.wl input[type=email] { width:100%; }

details.faq { border-top:1px solid var(--line); padding:.9rem 0; }
details.faq summary { cursor:pointer; font-weight:600; }
details.faq p { color:var(--muted); margin:.6rem 0 0; }
#bg { position:fixed; inset:0; width:100%; height:100%; z-index:0; pointer-events:none; }
header.site { position:sticky; } main, footer.site { position:relative; z-index:1; }
#net { width:100%; height:430px; display:block; cursor:grab; touch-action:pan-y; }
.heroviz { position:relative; overflow:hidden; }
@keyframes fl-breathe { 0%,100% { opacity:.5; transform:scale(.9); } 50% { opacity:1; transform:scale(1.08); } }
@keyframes fl-dash { to { stroke-dashoffset:-40; } }
@keyframes fl-blink { 0%,45% { opacity:1; } 50%,95% { opacity:.15; } 100% { opacity:1; } }
svg .breathe { animation:fl-breathe 3.4s ease-in-out infinite; }
svg .dash { animation:fl-dash 2.4s linear infinite; }
.blink { animation:fl-blink 1.4s infinite; }
section.cta { background:rgba(14,26,49,.82); }
@media (prefers-reduced-motion: reduce) { svg .breathe, svg .dash, .blink { animation:none; } }

form.wl.done .f1 { display:none; }
form.wl .row2 { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; width:100%; }
form.wl input[type=text], form.wl select { width:100%; margin:0; padding:10px 12px; background:var(--bg); color:var(--fg); border:1px solid var(--line); border-radius:8px; font:inherit; }
form.wl .chk { display:flex; gap:.6rem; align-items:flex-start; text-align:left; color:var(--muted); font-size:.92rem; width:100%; }
form.wl .chk input { margin-top:.3rem; }
form.wl[hidden] { display:none; }
#cc { position:fixed; left:0; right:0; bottom:0; z-index:100; background:var(--panel); border-top:1px solid var(--line); padding:1rem 1.25rem; display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; align-items:center; justify-content:space-between; box-shadow:0 -8px 30px rgba(0,0,0,.35); }
#cc .cc-t { margin:0; flex:1 1 22rem; font-size:.92rem; color:var(--muted); }
#cc .cc-b { display:flex; gap:.6rem; flex-wrap:wrap; }
#cc .btn { cursor:pointer; font:inherit; font-weight:600; padding:9px 16px; }
#cc .cc-opts { flex:1 1 100%; display:grid; gap:.5rem; font-size:.92rem; }
#cc .cc-opts[hidden] { display:none; }
footer.site a[data-cookie-settings] { cursor:pointer; }
form.wl select, form.wl textarea { width:100%; margin:0; padding:10px 12px; background:var(--bg); color:var(--fg); border:1px solid var(--line); border-radius:8px; font:inherit; }
form.wl textarea { resize:vertical; }
form.wl .grp { width:100%; border:1px solid var(--line); border-radius:8px; padding:.6rem .9rem; margin:0; text-align:left; color:var(--muted); font-size:.92rem; display:grid; gap:.35rem; }
form.wl .grp legend { padding:0 .4rem; }
form.wl .grp label { display:flex; gap:.5rem; align-items:center; }
form.wl[hidden] { display:none; }
