/* Desatascos Vega Baja — diseño de conversión */
:root{
  --primary:#2ea3f2; --secondary:#0C71C3; --dark:#08294a; --darker:#061d36;
  --accent:#ff6900; --accent2:#ff8c1a; --teal:#7EBEC5; --wa:#25D366;
  --ink:#1f2d3d; --muted:#5b6b7d; --line:#e3ebf3; --bg:#f3f8fd;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Outfit',system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.7;overflow-x:hidden}
a{color:var(--secondary);text-decoration:none}
img{max-width:100%}
.container{max-width:1140px;margin:0 auto;padding:0 1.4rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:800;border-radius:14px;padding:1rem 1.7rem;font-size:1.05rem;border:0;cursor:pointer;transition:.25s;line-height:1}
.btn svg{width:21px;height:21px}
.btn-call{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;box-shadow:0 10px 26px rgba(255,105,0,.35)}
.btn-call:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(255,105,0,.45)}
.btn-wa{background:var(--wa);color:#fff;box-shadow:0 10px 26px rgba(37,211,102,.32)}
.btn-wa:hover{transform:translateY(-2px)}
.btn-ghost{background:#fff;color:var(--secondary);border:2px solid var(--line)}
.btn-ghost:hover{border-color:var(--primary)}
.pulse{animation:pulse 2.2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,105,0,.5)}70%{box-shadow:0 0 0 16px rgba(255,105,0,0)}100%{box-shadow:0 0 0 0 rgba(255,105,0,0)}}

/* Topbar */
.topbar{background:var(--darker);color:#cfe0f0;font-size:.88rem}
.topbar .container{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1.4rem;gap:.6rem;flex-wrap:wrap}
.topbar a{color:#fff;font-weight:700}
.topbar .live{color:#7CF6A6}.live b{display:inline-block;width:8px;height:8px;border-radius:50%;background:#19e07a;margin-right:6px;animation:pulse 2s infinite}

/* Header */
header.site{background:#fff;position:sticky;top:0;z-index:60;box-shadow:0 4px 22px rgba(8,41,74,.08)}
header.site .container{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1.4rem;gap:1rem}
header.site img{max-height:54px;width:auto}
.hnav{display:flex;gap:1.4rem;align-items:center}
.hnav a.lnk{color:var(--ink);font-weight:600;font-size:.97rem}
.hnav a.lnk:hover{color:var(--primary)}
@media(max-width:860px){.hnav a.lnk{display:none}}

/* Hero */
.hero{position:relative;background:linear-gradient(135deg,var(--darker),var(--secondary) 60%,var(--primary));color:#fff;padding:4rem 0 4.5rem;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 20%,rgba(255,255,255,.16),transparent 45%);pointer-events:none}
.hero .container{position:relative;z-index:2}
.hero .eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);padding:.4rem 1rem;border-radius:100px;font-weight:700;font-size:.9rem;margin-bottom:1.2rem;backdrop-filter:blur(6px)}
.hero h1{font-size:3rem;font-weight:800;line-height:1.1;margin-bottom:1.1rem;max-width:880px;text-shadow:0 2px 18px rgba(0,0,0,.18)}
.hero .lead{font-size:1.25rem;max-width:780px;opacity:.97;margin-bottom:1.8rem}
.hero .cta-row{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.8rem}
.trust{display:flex;gap:1.6rem;flex-wrap:wrap;font-weight:600}
.trust span{display:inline-flex;align-items:center;gap:9px}
.trust .ic{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;font-size:1rem}
@media(max-width:860px){.hero h1{font-size:2.1rem}.hero{padding:2.6rem 0 3rem}}

/* Stats strip */
.stats{background:#fff;border-bottom:1px solid var(--line)}
.stats .container{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1.6rem 1.4rem;text-align:center}
.stats b{display:block;font-size:1.9rem;color:var(--secondary);font-weight:800}
.stats small{color:var(--muted);font-weight:600}
@media(max-width:680px){.stats .container{grid-template-columns:repeat(2,1fr)}}

/* Layout */
.layout{display:grid;grid-template-columns:1fr 360px;gap:3rem;align-items:start;padding:3.4rem 0}
@media(max-width:920px){.layout{grid-template-columns:1fr}}
.prose h2{font-size:1.9rem;color:var(--dark);margin:0 0 1.1rem;line-height:1.2}
.prose h3{font-size:1.35rem;color:var(--dark);margin:2rem 0 .8rem}
.prose p{margin-bottom:1.25rem;color:#3b4a5a;font-size:1.08rem}
.beneficios{list-style:none;margin:1.8rem 0;padding:1.5rem 1.7rem;background:linear-gradient(135deg,#eaf4fd,#f3f9ff);border-left:5px solid var(--primary);border-radius:14px}
.beneficios li{padding:.5rem 0 .5rem 2rem;position:relative;font-weight:500}
.beneficios li::before{content:"✓";position:absolute;left:0;top:.5rem;width:22px;height:22px;background:var(--primary);color:#fff;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:800}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.5rem 0}
.step{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.3rem;text-align:center}
.step .n{width:42px;height:42px;margin:0 auto .6rem;border-radius:50%;background:linear-gradient(135deg,var(--secondary),var(--primary));color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.2rem}
.step b{display:block;color:var(--dark);margin-bottom:.2rem}
.step small{color:var(--muted)}
@media(max-width:680px){.steps{grid-template-columns:1fr 1fr}}

/* Services grid */
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1.4rem 0}
.svc-grid a{display:flex;gap:.9rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.2rem;color:var(--ink);transition:.22s}
.svc-grid a:hover{border-color:var(--primary);box-shadow:0 12px 30px rgba(46,163,242,.16);transform:translateY(-3px)}
.svc-grid a.active{border-color:var(--primary);background:#f0f8ff}
.svc-grid .ic{font-size:1.9rem;line-height:1}
.svc-grid b{display:block;color:var(--dark);margin-bottom:.15rem}
.svc-grid small{color:var(--muted)}
@media(max-width:680px){.svc-grid{grid-template-columns:1fr}}

/* FAQ */
.faq{margin:1.5rem 0}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 1.2rem;margin-bottom:.7rem}
.faq summary{cursor:pointer;font-weight:700;color:var(--dark);padding:1rem 0;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--primary);font-weight:800;font-size:1.3rem}
.faq details[open] summary::after{content:"–"}
.faq details[open] summary{border-bottom:1px solid var(--line)}
.faq p{color:#3b4a5a;padding:1rem 0}

/* Sticky card */
aside.card{position:sticky;top:88px;background:#fff;border-radius:22px;box-shadow:0 22px 50px rgba(8,41,74,.16);padding:1.9rem;text-align:center;border-top:6px solid var(--accent)}
aside.card .ic{font-size:2.6rem}
aside.card h3{font-size:1.3rem;color:var(--dark);margin:.4rem 0 .1rem}
aside.card .zona{color:var(--muted);font-size:.92rem;margin-bottom:1.2rem}
aside.card .big-tel{display:block;font-size:1.7rem;font-weight:800;color:var(--secondary);margin:.7rem 0}
aside.card .btn{width:100%;margin-bottom:.7rem}
aside.card .mini{color:var(--muted);font-size:.85rem;margin-top:.5rem}
aside.card hr{border:0;border-top:1px solid var(--line);margin:1.2rem 0}

/* Form */
.form-wrap{background:linear-gradient(135deg,var(--dark),var(--secondary));color:#fff;border-radius:24px;padding:2.6rem;margin:2.5rem 0}
.form-wrap h2{color:#fff;font-size:1.8rem;margin-bottom:.4rem}
.form-wrap p.sub{opacity:.92;margin-bottom:1.6rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-grid .full{grid-column:1/-1}
.form-wrap input,.form-wrap textarea,.form-wrap select{width:100%;padding:.95rem 1.1rem;border-radius:12px;border:0;font-family:inherit;font-size:1rem;background:rgba(255,255,255,.95);color:var(--ink)}
.form-wrap textarea{min-height:120px;resize:vertical}
.form-wrap .btn{width:100%;margin-top:.4rem}
.form-note{font-size:.82rem;opacity:.85;margin-top:.8rem}
.alert{padding:1rem 1.2rem;border-radius:12px;margin-bottom:1.2rem;font-weight:600}
.alert.ok{background:#e7faef;color:#0f7a3a;border:1px solid #b6ecc9}
.alert.err{background:#fdecec;color:#b62121;border:1px solid #f3c2c2}
@media(max-width:680px){.form-grid{grid-template-columns:1fr}.form-wrap{padding:1.6rem}}

/* Floating actions */
.floats{position:fixed;right:18px;bottom:18px;z-index:80;display:flex;flex-direction:column;gap:12px}
.floats a{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 10px 26px rgba(0,0,0,.28)}
.floats a svg{width:28px;height:28px}
.floats .fcall{background:linear-gradient(135deg,var(--accent),var(--accent2))}
.floats .fwa{background:var(--wa)}

/* Footer */
footer.site{background:var(--darker);color:#9fb4c9;padding:3rem 0 2rem;margin-top:2rem}
footer.site .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;margin-bottom:2rem}
footer.site h4{color:#fff;margin-bottom:.9rem;font-size:1.05rem}
footer.site a{color:#bcd0e4;display:block;padding:.2rem 0}
footer.site a:hover{color:#fff}
footer.site .legal{border-top:1px solid rgba(255,255,255,.12);padding-top:1.4rem;text-align:center;font-size:.88rem}
@media(max-width:760px){footer.site .cols{grid-template-columns:1fr}}

/* Cookie banner */
.cookie{position:fixed;left:14px;right:14px;bottom:14px;z-index:90;background:#fff;border:1px solid var(--line);box-shadow:0 16px 40px rgba(8,41,74,.2);border-radius:16px;padding:1.2rem 1.4rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap;justify-content:space-between}
.cookie p{font-size:.9rem;color:var(--muted);flex:1;min-width:240px}
.cookie .btn{padding:.7rem 1.3rem;font-size:.95rem}

/* ===== Portada ===== */
.section{padding:4rem 0}
.section.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{text-align:center;max-width:720px;margin:0 auto 2.6rem}
.sec-head .kick{color:var(--primary);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}
.sec-head h2{font-size:2.2rem;color:var(--dark);margin:.4rem 0 .6rem;line-height:1.15}
.sec-head p{color:var(--muted);font-size:1.1rem}
@media(max-width:680px){.sec-head h2{font-size:1.7rem}.section{padding:2.6rem 0}}

.cards3{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}
@media(max-width:760px){.cards3{grid-template-columns:1fr}}
.scard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:2rem;transition:.25s;position:relative;overflow:hidden}
.scard::before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:linear-gradient(90deg,var(--secondary),var(--primary))}
.scard:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(8,41,74,.14);border-color:var(--primary)}
.scard .ic{font-size:2.6rem;display:block;margin-bottom:.6rem}
.scard h3{color:var(--dark);font-size:1.35rem;margin-bottom:.5rem}
.scard p{color:var(--muted);margin-bottom:1rem}
.scard ul{list-style:none;margin-bottom:1.2rem}
.scard li{padding:.25rem 0 .25rem 1.6rem;position:relative;font-size:.95rem}
.scard li::before{content:"✓";position:absolute;left:0;color:var(--primary);font-weight:800}
.scard a.more{font-weight:800;color:var(--secondary);display:inline-flex;align-items:center;gap:6px}

.features{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
@media(max-width:760px){.features{grid-template-columns:1fr}}
.feat{text-align:center;padding:1.5rem}
.feat .fic{width:70px;height:70px;margin:0 auto 1rem;border-radius:20px;background:linear-gradient(135deg,var(--secondary),var(--primary));display:grid;place-items:center;font-size:2rem;box-shadow:0 12px 28px rgba(46,163,242,.3)}
.feat h3{color:var(--dark);font-size:1.2rem;margin-bottom:.4rem}
.feat p{color:var(--muted);font-size:.98rem}

.cta-band{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;text-align:center;padding:3.2rem 1.4rem;border-radius:24px;margin:0 auto}
.cta-band h2{font-size:2rem;margin-bottom:.6rem}
.cta-band p{font-size:1.15rem;opacity:.95;margin-bottom:1.6rem}
.cta-band .btn{background:#fff;color:var(--accent)}
.cta-band .big{font-size:2.4rem;font-weight:800;display:block;margin-top:.4rem}

.zonas{columns:4;column-gap:1.4rem}
@media(max-width:760px){.zonas{columns:2}}
.zonas a{display:block;padding:.4rem .2rem;color:#3b4a5a;border-bottom:1px solid var(--line)}
.zonas a:hover{color:var(--primary)}

.guarantees{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(max-width:680px){.guarantees{grid-template-columns:1fr}}
.guar{display:flex;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.3rem}
.guar .gi{font-size:1.8rem}
.guar b{color:var(--dark);display:block}
.guar small{color:var(--muted)}

/* Legal pages */
.legal-page{max-width:840px;margin:0 auto;padding:3rem 1.4rem}
.legal-page h1{color:var(--dark);font-size:2.2rem;margin-bottom:1.5rem}
.legal-page h2{color:var(--secondary);font-size:1.4rem;margin:2rem 0 .8rem}
.legal-page p,.legal-page li{color:#3b4a5a;margin-bottom:1rem}
.legal-page ul{margin-left:1.3rem}
.todo{background:#fff7e6;border:1px dashed var(--accent);border-radius:6px;padding:.1rem .4rem;color:#a85b00;font-weight:700}
