:root {
  --bg: #0b0b0d;
  --panel: #121217;
  --text: #e7e7ea;
  --muted: #a0a0aa;
  --brand: #8a7bff;
  --brand-2: #58e1ff;
  --card: #151721;
  --border: #252737;
}
* { box-sizing: border-box; }
html,body { margin:0; padding:0; background:var(--bg); color:var(--text); font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, sans-serif; }

.container { width:min(1100px, 92%); margin:0 auto; }
a { color: var(--brand-2); text-decoration: none; }
a:hover { opacity:.9; }
.btn { background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:#000; padding:12px 18px; border-radius:12px; display:inline-block; font-weight:700; }
.btn.ghost { background:transparent; color:var(--text); border:1px solid var(--border); }
.btn.small { padding:8px 12px; border-radius:9px; }
.btn.block { display:block; text-align:center; }

.site-header { position:sticky; top:0; backdrop-filter:saturate(180%) blur(10px); background:rgba(11,11,13,.6); border-bottom:1px solid var(--border); z-index:50; }
.nav { display:flex; align-items:center; gap:18px; height:64px; }
.brand { font-weight:800; font-size:22px; letter-spacing:.2px; color:#fff; }
.brand span { color:var(--brand-2); }
nav { margin-left:auto; display:flex; gap:18px; align-items:center; }
.burger { display:none; font-size:24px; cursor:pointer; }
#nav-toggle { display:none; }
@media (max-width:840px) {
  nav { position:fixed; inset:64px 0 auto 0; background:var(--panel); padding:16px; display:none; flex-direction:column; border-bottom:1px solid var(--border); }
  #nav-toggle:checked + .burger + nav { display:flex; }
  .burger { display:block; margin-left:auto; }
}

.hero { padding:74px 0; background:
 radial-gradient(800px 300px at 20% -10%, rgba(88,225,255,.15), transparent 60%),
 radial-gradient(650px 250px at 80% -20%, rgba(138,123,255,.12), transparent 60%); }
.hero-grid { display:grid; grid-template-columns: 1.4fr .8fr; gap:26px; align-items:start; }
.hero h1 { font-size:42px; line-height:1.1; margin:0 0 10px; }
.sub { color:var(--muted); max-width:640px; }
.cta-row { display:flex; gap:12px; margin-top:16px; }
.meta { color:var(--muted); margin-top:10px; font-size:14px; }
.hero-card { background:var(--card); border:1px solid var(--border); padding:18px; border-radius:16px; }
.bullet { margin:0 0 14px 16px; padding:0; }
@media (max-width:900px) { .hero-grid { grid-template-columns: 1fr; } }

.section { padding:70px 0; }
.section.alt { background:var(--panel); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
h2 { font-size:28px; margin:0 0 18px; }
.grid-3 { display:grid; grid-template-columns: repeat(3, 1fr); gap:18px; }
.card { background:var(--card); border:1px solid var(--border); border-radius:14px; padding:18px; }
@media (max-width:980px) { .grid-3 { grid-template-columns: 1fr; } }

.contact .row { display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
.contact input, .contact textarea {
  width:100%; padding:12px 14px; border-radius:10px; border:1px solid var(--border);
  background:#0e0f13; color:var(--text);
}
.contact textarea { resize:vertical; }
.contact .fine { color:var(--muted); font-size:14px; margin-top:10px; }
@media (max-width:720px) { .contact .row { grid-template-columns: 1fr; } }

.site-footer { padding:26px 0; border-top:1px solid var(--border); background:#0a0a0c; }
.footer-grid { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.footer-grid .links { display:flex; gap:16px; }
