:root{
  --bg:#ffffff; --bg-alt:#f8fafc; --text:#0f172a; --muted:#64748b;
  --primary:#4f46e5; --primary-700:#4338ca; --primary-50:#eef2ff;
  --border:#e2e8f0; --border-light:#f1f5f9;
  --danger:#dc2626; --ok:#059669;
  --shadow: 0 1px 2px rgba(0,0,0,.05);
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color:var(--text); background:var(--bg);
  line-height:1.55; font-size:15px;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--primary-700); text-decoration:none}
a:hover{text-decoration:underline}
ul{padding-left:1.2em; margin:.5em 0}
h1,h2,h3,h4{margin:0 0 .5em; line-height:1.25}
h1{font-size:40px; font-weight:700; letter-spacing:-.02em}
h2{font-size:28px; font-weight:700; letter-spacing:-.01em}
h3{font-size:18px; font-weight:600}
h4{font-size:14px; font-weight:600; color:var(--text)}
small{font-size:.85em}
.muted{color:var(--muted)}
.small{font-size:13px}

.wrap{max-width:1100px; margin:0 auto; padding:0 24px}
.wrap.narrow{max-width:640px}

/* ---- top ---- */
.topbar{position:sticky; top:0; z-index:30;
  background:rgba(15,23,42,.96); color:#fff; backdrop-filter:saturate(180%) blur(8px)}
.topbar .wrap{display:flex; align-items:center; justify-content:space-between; height:60px}
.topbar nav{display:flex; align-items:center; gap:24px}
.topbar a{color:rgba(255,255,255,.85); font-size:14px}
.topbar a:hover{color:#fff; text-decoration:none}
.topbar .btn{padding:8px 16px}
.brand{font-weight:800; font-size:20px; color:#fff!important; display:flex; align-items:center; gap:6px}
.brand span{color:var(--primary)}
.brand small{font-weight:500; font-size:13px; color:rgba(255,255,255,.55)}
footer .brand{color:var(--text)!important}

/* ---- buttons ---- */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:6px; padding:8px 14px; border-radius:8px; font-weight:600; font-size:14px;
  border:1px solid transparent; cursor:pointer; transition:all .15s;
  text-decoration:none!important;
}
.btn-primary{background:var(--primary); color:#fff!important; border-color:var(--primary)}
.btn-primary:hover{background:var(--primary-700); border-color:var(--primary-700)}
.btn-outline{background:transparent; color:#fff!important; border-color:rgba(255,255,255,.3)}
.btn-outline:hover{background:rgba(255,255,255,.1)}
.section .btn-outline{color:var(--text)!important; border-color:var(--border)}
.section .btn-outline:hover{background:var(--bg-alt)}
.btn-lg{padding:12px 24px; font-size:15px}
.btn-sm{padding:5px 10px; font-size:13px}

/* ---- hero ---- */
.hero{
  background:linear-gradient(135deg, #0f172a 0%, #334155 100%);
  color:#fff; padding:80px 0 100px;
}
.hero h1{color:#fff; max-width:580px}
.hero .lead{font-size:18px; max-width:520px; margin:24px 0; color:rgba(255,255,255,.85)}
.hero .cta{display:flex; gap:12px; flex-wrap:wrap; margin-top:32px}
.hero .meta{margin-top:24px; font-size:13px; color:rgba(255,255,255,.55)}
.hero .grid{display:grid; grid-template-columns:1.4fr 1fr; gap:48px; align-items:center}
.hero-card{
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
  border-radius:12px; padding:24px;
}
.checklist{list-style:none; padding:0; margin:0; display:grid; gap:10px; font-size:14px}
.checklist li{color:rgba(255,255,255,.85)}

/* ---- sections ---- */
.section{padding:72px 0}
.section-alt{background:var(--bg-alt)}
.section h2{margin-bottom:32px}

/* ---- cards ---- */
.cards{display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:20px}
.cards-3{grid-template-columns:repeat(3, 1fr)}
.card{
  background:#fff; border:1px solid var(--border); border-radius:12px;
  padding:24px; box-shadow:var(--shadow); transition:box-shadow .15s, transform .15s;
}
.card:hover{box-shadow:0 6px 16px rgba(0,0,0,.06); transform:translateY(-2px)}
.card p{color:var(--muted); margin:0; font-size:14px}

/* ---- pricing ---- */
.price-card{display:flex; flex-direction:column}
.price-card ul{list-style:none; padding:0; margin:16px 0; flex:1; font-size:14px}
.price-card ul li{padding:6px 0; border-bottom:1px dashed var(--border-light); color:var(--text)}
.price-card ul li:last-child{border-bottom:0}
.price-card .btn{margin-top:auto}
.price-card-featured{border-color:var(--primary); box-shadow:0 6px 24px rgba(79,70,229,.15)}
.price{font-size:28px; font-weight:700; color:var(--text); margin:16px 0 4px}
.price small{font-size:14px; color:var(--muted); font-weight:500}
.price-old{font-size:14px; color:var(--muted); text-decoration:line-through; margin-top:16px}
.promo{display:inline-block; padding:3px 8px; border-radius:6px; background:#fef3c7; color:#92400e; font-size:11px; font-weight:600; margin-bottom:8px}

/* ---- form ---- */
.form{margin-top:24px; display:grid; gap:16px}
.form label{display:grid; gap:6px; font-size:13px; font-weight:500}
.form input, .form select{
  font-family:inherit; font-size:14px; padding:9px 12px;
  border:1px solid var(--border); border-radius:6px; background:#fff;
  width:100%;
}
.form input:focus, .form select:focus{
  outline:none; border-color:var(--primary); box-shadow:0 0 0 3px rgba(79,70,229,.15);
}
.form .btn{justify-self:start}
.form-status{font-size:14px; padding:10px 12px; border-radius:6px; background:var(--bg-alt); border:1px solid var(--border)}
.form-status.ok{background:#ecfdf5; border-color:#a7f3d0; color:#065f46}
.form-status.err{background:#fef2f2; border-color:#fecaca; color:#991b1b}

/* ---- legal list ---- */
.legal-list{list-style:none; padding:0; display:grid; gap:8px; max-width:480px}
.legal-list a{padding:10px 14px; display:block; background:#fff; border:1px solid var(--border); border-radius:8px}
.legal-list a:hover{background:var(--primary-50); border-color:var(--primary); text-decoration:none}

/* ---- footer ---- */
footer{margin-top:60px; background:var(--bg-alt); border-top:1px solid var(--border); padding:40px 0 0; color:var(--muted)}
.grid-foot{display:grid; grid-template-columns:1.4fr 1fr 1.2fr; gap:32px; padding-bottom:32px}
footer h4{color:var(--text); margin-bottom:12px}
footer ul{list-style:none; padding:0; margin:0; font-size:14px; display:grid; gap:6px}
footer a{color:var(--muted)}
footer a:hover{color:var(--primary-700)}
.copy{border-top:1px solid var(--border); padding:16px 0; text-align:center; font-size:12px}

/* ---- cookie ---- */
.cookie{
  position:fixed; bottom:16px; left:16px; right:16px; max-width:480px;
  background:#0f172a; color:#fff; padding:14px 16px; border-radius:10px;
  display:flex; align-items:center; gap:12px; font-size:13px;
  box-shadow:0 10px 24px rgba(0,0,0,.2); z-index:40;
}
.cookie span{flex:1}
@media (min-width:768px){
  .cookie{left:auto}
}

/* ---- responsive ---- */
@media (max-width:900px){
  .hero{padding:48px 0 64px}
  h1{font-size:32px}
  h2{font-size:24px}
  .hero .grid{grid-template-columns:1fr; gap:32px}
  .hero-card{order:-1}
  .cards-3{grid-template-columns:1fr}
  .grid-foot{grid-template-columns:1fr; gap:24px}
  .topbar nav{gap:12px}
  .topbar nav a:not(.btn){display:none}
  .topbar nav a.btn{display:inline-flex}
}
