:root{
  --bg:#0b0b0f;
  --bg-alt:#0f1320;
  --card:#12172a;
  --text:#e8ecf5;
  --muted:#b7c1d9;
  --line:#26314f;
  --primary:#18c964;
  --accent:#ffd54a;
  --danger:#ff5b5b;
  --white:#ffffff;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:linear-gradient(180deg,var(--bg) 0%, #0b1120 100%);
  color:var(--text);
  font:16px/1.55 Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* helpers */
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.narrow{max-width:800px;margin:0 auto}
.section{padding:64px 0}
.section.alt{background:var(--bg-alt)}
.lead{font-size:1.15rem;color:var(--text)}
.sub{color:var(--muted)}
.grid{display:grid;gap:22px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:960px){ .g2,.g3{grid-template-columns:1fr} }

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  gap:10px;padding:14px 20px;border-radius:12px;
  border:1px solid transparent;text-decoration:none;font-weight:700;
  transition:transform .06s ease, box-shadow .2s ease, filter .2s;
}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.btn-primary{background:var(--primary);color:#05250f}
.btn-accent{background:var(--accent);color:#2a2300}
.btn-ghost{background:transparent;border-color:#2b385e;color:var(--text)}
.btn-full{width:100%}

/* HERO */
.hero{padding:72px 0 36px;text-align:center;position:relative;overflow:hidden}
.hero .badge{
  display:inline-block;background:#2c334a;border:1px solid #3a4466;color:#cfe3ff;
  padding:6px 10px;border-radius:999px;font-size:.8rem;margin-bottom:12px;letter-spacing:.35px
}
.hero h1{
  font-size:clamp(28px,4.2vw,48px);line-height:1.1;margin:10px 0 10px;
  font-weight:800;letter-spacing:.2px
}
.hero .emph{opacity:.9}
.hero .gradient{
  background:linear-gradient(90deg,#79ffe1,#18c964,#a8ff78);
  -webkit-background-clip:text;background-clip:text;color:transparent
}
.hero .sub{max-width:820px;margin:10px auto 0}
.hero-media{margin:22px auto 14px;max-width:680px}
.hero-media img{width:100%;height:auto;border-radius:16px;border:1px solid #1e2743}

.price-box{
  display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#0f1527,#0b1020);border:1px solid #1e2743;
  border-radius:16px;padding:16px 18px;margin:18px auto 0;max-width:860px
}
.price-left{display:flex;flex-direction:column;align-items:center;margin-right:10px}
.price-left .old{color:#b4bed6;text-decoration:line-through;font-weight:600}
.price-left .now{font-size:40px;font-weight:900;color:var(--accent);line-height:1}
.price-box .guarantee{display:block;color:#9fb0d0;margin-top:6px}
@media (max-width:680px){ .price-left .now{font-size:34px} }

/* LISTAS / CARDS */
.checks{margin:18px 0 0;padding:0;list-style:none}
.checks li{padding-left:28px;position:relative;margin:10px 0;color:#e1e8ff}
.checks li::before{
  content:"✓";position:absolute;left:0;top:0;line-height:1.2;
  color:var(--primary);font-weight:900
}

.cards .card{
  background:linear-gradient(180deg,var(--card),#0f1426);
  border:1px solid var(--line);border-radius:18px;padding:20px
}
.cards .card img{width:56px;height:56px;object-fit:contain;margin-bottom:12px}

.cta-inline{margin-top:18px;text-align:center}
.cta-inline small{display:block;color:#a8b4d3;margin-top:8px}

/* GALLERY */
.gallery .shot{
  margin:0;background:#0f1426;border:1px solid #1e2743;border-radius:14px;overflow:hidden
}
.gallery img{display:block;width:100%;height:auto}
.gallery figcaption{padding:10px 12px;color:#c7d2f5;font-size:.95rem}

/* BONOS */
.bonus{display:grid;grid-template-columns:160px 1fr;gap:18px;align-items:center;
  background:linear-gradient(180deg,var(--card),#0f1426);border:1px solid var(--line);
  border-radius:16px;padding:16px;margin:14px 0}
.bonus-media img{width:100%;height:auto;border-radius:10px;border:1px solid #253158}
.bonus-text h3{margin:0 0 6px}
.value{margin-top:8px;color:#cfe3ff}
.value s{opacity:.7}
.value span{background:var(--primary);color:#05250f;font-weight:800;padding:2px 8px;border-radius:999px}

/* PLANES */
.plans{align-items:stretch}
.plan{
  background:linear-gradient(180deg,var(--card),#0f1426);border:1px solid var(--line);
  border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:14px
}
.plan.best{outline:2px solid var(--accent);transform:translateY(-2px)}
.plan-head{font-weight:800;letter-spacing:.3px}
.bullets{list-style:none;margin:0;padding:0}
.bullets li{padding-left:22px;position:relative;margin:10px 0}
.bullets li::before{content:"•";position:absolute;left:4px;top:0;color:#7fb1ff}
.plan-price{font-size:34px;font-weight:900;color:var(--accent)}
.note{color:#9fb0d0}

/* FAQ */
.faq h4{margin:.4rem 0}
.faq p{margin:.1rem 0 1rem}

/* FOOTER */
.footer{padding:36px 0;border-top:1px solid #1e2743;background:#0b0f1e}
.footer .logos{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.footer .logos img{width:120px;max-width:38vw;height:auto;opacity:.9}
.footer .legal{display:flex;gap:16px;justify-content:center;margin:12px 0}
.footer .legal a{color:#a9b8db;text-decoration:none}
.footer .tiny{text-align:center;color:#8ea0c5;font-size:.85rem;margin:8px 0 0}

/* LINKS FOCUS */
a:focus-visible, button:focus-visible{outline:2px solid #6fe3ff;outline-offset:2px;border-radius:8px}
