:root{
  --bg:#ffffff;--ink:#141b28;--tx:#28313f;--tx2:#54617a;--line:#e5e9f0;--soft:#f6f8fc;
  --accent:#2b3a8f;--accent2:#3aa9be;--ok:#137a45;--bad:#b3261e;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.62 -apple-system,"Segoe UI",Helvetica,Arial,sans-serif}
.wrap{max-width:960px;margin:0 auto;padding:0 22px}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{color:var(--ink);letter-spacing:-.01em}

/* header */
header.top{border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.2) blur(6px);z-index:10}
header.top .bar{display:flex;align-items:center;justify-content:space-between;padding:13px 22px;max-width:1120px;margin:0 auto;gap:14px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:700}
.brand svg{width:32px;height:32px}.brand b{font-size:16px}.brand b span{color:var(--accent)}
nav.main{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
nav.main a{color:#3a4658;font-weight:600;font-size:14px}
nav.main a.cta{background:var(--accent);color:#fff;padding:9px 15px;border-radius:8px}
nav.main a.cta:hover{text-decoration:none;filter:brightness(1.05)}

/* hero */
.hero{padding:60px 0 26px}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 12px}
.hero h1{font-size:clamp(32px,5.2vw,50px);line-height:1.06;margin:0 0 16px;max-width:16ch}
.hero .lede{font-size:19px;color:var(--tx2);max-width:64ch}
.btnrow{margin:26px 0 6px;display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;font-weight:700;font-size:15px;padding:12px 20px;border-radius:9px}
.btn.primary{background:var(--accent);color:#fff}
.btn.ghost{border:1px solid var(--line);color:var(--ink)}
.btn:hover{text-decoration:none}

/* sections */
section.band{padding:34px 0;border-top:1px solid var(--line)}
h2{font-size:26px;margin:0 0 10px}
h3{font-size:17px;margin:18px 0 4px}
p{margin:0 0 12px}
.lead{font-size:18px;color:var(--tx2);max-width:66ch}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:18px 0}
.card{border:1px solid var(--line);border-radius:14px;padding:18px 20px;background:#fff}
.card h3{margin-top:0;color:var(--accent)}
.card p{margin:0;font-size:14.5px;color:var(--tx)}
.card a.more{display:inline-block;margin-top:10px;font-weight:600;font-size:14px}
ul.clean{padding-left:20px}ul.clean li{margin:6px 0}
.box{background:var(--soft);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;padding:14px 16px;margin:14px 0}
.box.teal{border-left-color:var(--accent2)}
.tag{display:inline-block;font:700 10.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;border-radius:5px;padding:4px 8px}
.tag.live{background:#e7f7ee;color:var(--ok)}
.tag.soon{background:#eef2fb;color:var(--accent)}
table.data{border-collapse:collapse;width:100%;font-size:14px;margin:10px 0}
table.data th,table.data td{border:1px solid var(--line);padding:9px 11px;text-align:left;vertical-align:top}
table.data th{background:var(--soft);font-size:12.5px}
code{font-family:var(--mono);font-size:13.5px;background:#eef2fb;border-radius:5px;padding:1px 6px}
pre{background:#0f1836;color:#e8ecf6;border-radius:10px;padding:14px 16px;overflow:auto;font-family:var(--mono);font-size:12.5px;line-height:1.55}
pre .k{color:#8fb0ff}pre .s{color:#57e39b}pre .c{color:#8b95a6}

/* forms */
label{display:block;font-weight:600;color:var(--ink);margin:16px 0 6px}
input,select,textarea{width:100%;font-size:15px;padding:11px 13px;border:1px solid var(--line);border-radius:9px;font-family:inherit}
textarea{font-family:var(--mono);font-size:13px;min-height:110px;resize:vertical}
button{background:var(--accent);color:#fff;border:0;font-weight:700;font-size:15px;padding:12px 22px;border-radius:9px;cursor:pointer}
button.ghost{background:#fff;color:var(--accent);border:1px solid var(--line)}
.result{margin:16px 0;padding:15px 17px;border-radius:12px;border:1px solid var(--line);display:none}
.result.show{display:block}.result.ok{background:#e7f7ee;border-color:#bfe6cf}.result.bad{background:#fdecea;border-color:#f4c7c3}

/* footer */
footer.site{border-top:1px solid var(--line);margin-top:44px;padding:30px 0;color:var(--tx2);font-size:14px}
footer.site .cols{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer.site a{color:var(--accent)}
.disc{font-size:12.5px;color:#8b95a6;margin-top:16px;max-width:80ch}
@media(max-width:640px){.hero{padding:40px 0 20px}nav.main a:not(.cta){display:none}}
