/* ---- Reset & base ---- */
*{box-sizing:border-box}html{scroll-behavior:smooth}
:root{
  --bg:#0b1020;
  --surface:#0f1630;
  --card:#151c3a;
  --text:#e8eefc;
  --muted:#a9b5d9;
  --accent:#3aa7ff;
  --accent-2:#5dd0ff;
  --shadow:0 10px 30px rgba(0,0,0,.25);
}
body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,"Helvetica Neue",Arial;color:var(--text);background:linear-gradient(180deg,#0b1020 0%,#0e1430 100%) fixed;}
.container{max-width:1100px;margin:auto;padding:0 20px}
h1,h2,h3{line-height:1.2;margin:0 0 .5rem}
p{margin:.25rem 0 .75rem}
a{color:var(--accent);text-decoration:none}
code{background:#0e152e;border-radius:6px;padding:.1rem .35rem}

/* ---- Topbar ---- */
.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;text-transform:lowercase;color:var(--text)}
.brand img{height:32px;width:auto}
nav a{margin-left:18px;color:var(--muted);padding:6px 10px;border-radius:10px}
nav a.active, nav a:hover{color:var(--text);background:#10193b}

/* ---- Hero ---- */
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:32px;align-items:center;padding:40px 0 10px}
.hero-text h1{font-size:clamp(30px,4.2vw,48px)}
.hero-text .accent{background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .actions{display:flex;gap:12px;margin-top:14px}
.btn{display:inline-block;border:1px solid #2a3a70;border-radius:14px;padding:10px 16px;font-weight:600}
.btn.primary{background:linear-gradient(90deg,#1b75ff,#2bbcff);border-color:transparent;color:#001}
.btn.ghost{color:var(--text);}
.hero-art .blob{height:280px;border-radius:28px;background:radial-gradient(120px 120px at 30% 30%,#2bbcff55,transparent 70%),linear-gradient(135deg,#0e1a42,#1a2a5a);box-shadow:var(--shadow)}

/* ---- Sections ---- */
.benefits{padding:30px 0 10px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:var(--card);border:1px solid #1f2a55;border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.card h3{margin-bottom:.25rem}
.cta{padding:22px 0}
.cta-box{background:linear-gradient(90deg,#13224c,#162a63);padding:24px;border-radius:20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.contact{padding:20px 0 40px}
.contact-list{list-style:none;padding:0;margin:0}
.contact-list li{margin:.25rem 0}

/* ---- Page specific ---- */
.page-title{padding:16px 0 6px}
.steps{counter-reset:step;list-style:none;padding:0}
.steps li{position:relative;padding-left:44px;margin:10px 0}
.steps li::before{counter-increment:step;content:counter(step);position:absolute;left:0;top:0;width:28px;height:28px;border-radius:10px;background:#1b2a55;color:#cfe2ff;display:grid;place-items:center;font-weight:700}
.price{position:relative}
.price .price-tag{font-size:1.25rem;font-weight:800;margin:.25rem 0 .5rem}
.price.featured{outline:2px solid var(--accent);transform:translateY(-2px)}

/* ---- Footer ---- */
.footer{border-top:1px solid #182452;margin-top:20px}
.footer .container{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.footer-nav a{margin-left:12px;color:var(--muted)}
.footer-nav a:hover{color:var(--text)}

/* ---- Modal ---- */
.modal{position:fixed;inset:0;background:rgba(3,6,20,.6);display:none;align-items:center;justify-content:center;padding:18px}
.modal[open], .modal.show{display:flex}
.modal-content{background:var(--surface);border:1px solid #1f2a55;border-radius:16px;max-width:680px;width:100%;padding:18px;box-shadow:var(--shadow)}
.modal .close{background:transparent;color:var(--muted);border:0;font-size:24px;position:absolute;right:30px;top:24px;cursor:pointer}

/* ---- Utilities ---- */
.back-cta{padding:20px 0 30px}
@media (max-width:900px){
  .hero{grid-template-columns:1fr;gap:18px}
  .grid-3{grid-template-columns:1fr}
  .footer .container{flex-direction:column;gap:8px}
}