:root {
  --grad1: #6a11cb;
  --grad2: #2575fc;
  --gold: #ffb703;
}
html { scroll-behavior: smooth; }
body { font-family: 'Inter','Segoe UI',Arial,sans-serif; line-height:1.6; background:#fff; color:#333; overflow-x:hidden; }
.navbar { transition: background-color .3s ease; }
.navbar.scrolled { background:rgba(255,255,255,.95); box-shadow:0 2px 6px rgba(0,0,0,.05); }
.hero { background:linear-gradient(135deg,var(--grad1),var(--grad2)); color:#fff; padding:7rem 0 5rem; text-align:center; }
.hero h1 { font-weight:700; }
.hero .lead { font-size:1.2rem; max-width:700px; margin:0 auto 2rem; }
.hero .trust-badges img { max-height:36px; opacity:.8; transition:opacity .3s; }
.hero .trust-badges img:hover { opacity:1; }
.section-title { font-weight:700; text-align:center; color:#111; margin-bottom:2rem; }
.feature-icon { width:4rem; height:4rem; border-radius:1rem; display:flex; align-items:center; justify-content:center; background:#2575fc22; color:#2575fc; font-size:1.75rem; margin-bottom:1rem; }
.shadow-soft { box-shadow:0 1rem 2rem rgba(16,24,40,.08); }
.card { border-radius:1rem; transition:all .25s ease; }
.card:hover { transform:translateY(-4px); box-shadow:0 1.25rem 2rem rgba(0,0,0,.08); }
.card-title { font-weight:600; }
.card ul { padding-left:1rem; }
.best-value { position:relative; border:2px solid var(--gold); transform:scale(1.05); z-index:2; background:linear-gradient(180deg,#fffbe6 0%,#fff 60%); }
.ribbon { position:absolute; top:-12px; right:-12px; background:var(--gold); color:#111; font-size:.75rem; font-weight:700; padding:4px 10px; border-radius:.5rem; box-shadow:0 .25rem .5rem rgba(0,0,0,.2); }
.accordion-button { font-weight:500; }
.accordion-button:not(.collapsed) { background:#f8f9fa; color:var(--grad2); }
#contacto .btn { min-width:260px; }
footer { background:#111; color:#bbb; padding:2rem 0; text-align:center; }
footer a { color:#bbb; transition:color .2s; }
footer a:hover { color:#fff; }
.wa-float { position:fixed; right:18px; bottom:18px; z-index:50; background:#25d366 !important; border:none; color:#fff; font-size:1.75rem; width:58px; height:58px; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 .5rem 1rem rgba(0,0,0,.25); transition:all .3s; }
.wa-float:hover { transform:scale(1.08); box-shadow:0 .75rem 1.25rem rgba(0,0,0,.3); }
.badge-soft { background:#2575fc15; color:#0b5ed7; border:1px solid #2575fc2e; }
.text-gradient { background:linear-gradient(90deg,var(--grad1),var(--grad2)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.badge-yellow {
    background: #ffb703;
    color: #111;
}
@media (max-width:768px){ .hero{padding:5rem 1rem 4rem;} .hero h1{font-size:2rem;} .hero .lead{font-size:1.05rem;} }