:root{
  --navy:#0b2545; --navy2:#12315c; --panel:#0e2a50;
  --green:#5bc236; --green2:#48a827; --ink:#0c1a2e; --paper:#f4f7fb; --card:#ffffff;
  --muted:#5b6b80; --line:#e2e9f2; --line2:#20406e;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans',system-ui,Arial,sans-serif;color:var(--ink);background:var(--paper);
  line-height:1.65;font-size:17px}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
h1,h2,h3,.dsp{font-family:'Bricolage Grotesque','Plus Jakarta Sans',sans-serif;font-weight:800;line-height:1.05;letter-spacing:-.5px}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.btn{display:inline-flex;align-items:center;gap:9px;background:var(--green);color:#08240a;font-weight:700;
  padding:14px 26px;border-radius:12px;transition:.2s;font-size:1rem}
.btn:hover{background:var(--green2);color:#fff}
.btn.dark{background:var(--navy);color:#fff}
.btn.dark:hover{background:#12315c}
.btn.out{background:transparent;border:1.5px solid rgba(255,255,255,.28);color:#fff}
.btn.out:hover{border-color:var(--green);color:var(--green)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.76rem;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--green2)}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--green)}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(244,247,251,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 24px;max-width:1140px;margin:0 auto}
.brand{display:flex;align-items:center;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:1.2rem;color:var(--navy)}
.brand img{width:44px;height:44px;border-radius:9px;margin-right:11px}
.brand span{color:var(--green2)}
.nav nav{display:flex;gap:24px}
.nav nav a{font-size:.95rem;font-weight:600;color:var(--ink)}
.nav nav a:hover{color:var(--green2)}
@media(max-width:900px){.nav nav{display:none}}

/* hero (home) */
.hero{padding:34px 0 60px}
.hpanel{background:var(--navy);border-radius:28px;padding:64px 56px;color:#fff;position:relative;overflow:hidden}
.hpanel::before{content:"";position:absolute;width:420px;height:420px;background:radial-gradient(circle,rgba(91,194,54,.28),transparent 65%);top:-120px;right:-80px}
.hpanel::after{content:"";position:absolute;width:320px;height:320px;background:radial-gradient(circle,rgba(91,194,54,.16),transparent 65%);bottom:-140px;left:30%}
.hgrid{position:relative;display:grid;grid-template-columns:1.35fr .9fr;gap:44px;align-items:center}
.hero h1{font-size:3.8rem;margin:18px 0 18px}
.hero h1 em{font-style:normal;color:var(--green)}
.hero p.lead{color:#c3d2e6;font-size:1.18rem;max-width:520px}
.hero .cta{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}
.hcard{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:30px;backdrop-filter:blur(4px)}
.hcard .big{font-family:'Bricolage Grotesque',sans-serif;font-size:3.4rem;font-weight:800;color:var(--green);line-height:1}
.hcard .lbl{color:#c3d2e6;margin-bottom:20px}
.hcard .li{display:flex;gap:11px;align-items:flex-start;padding:9px 0;border-top:1px solid rgba(255,255,255,.12);font-size:.95rem;color:#e7eef8}
.hcard .li b{color:var(--green)}
.hstats{position:relative;display:flex;gap:40px;margin-top:40px;flex-wrap:wrap}
.hstats div b{font-family:'Bricolage Grotesque',sans-serif;font-size:1.8rem;color:#fff;display:block}
.hstats div span{color:#9fb2ca;font-size:.85rem}
@media(max-width:860px){.hgrid{grid-template-columns:1fr}.hpanel{padding:44px 28px}.hero h1{font-size:2.6rem}}

/* zone hero */
.zhero{padding:30px 0 8px}
.zpanel{background:var(--navy);border-radius:26px;padding:52px 48px;color:#fff;position:relative;overflow:hidden}
.zpanel::before{content:"";position:absolute;width:360px;height:360px;background:radial-gradient(circle,rgba(91,194,54,.24),transparent 65%);top:-120px;right:-70px}
.crumb{position:relative;font-size:.85rem;color:#9fb2ca;margin-bottom:14px}
.crumb a{color:#c3d2e6}
.crumb a:hover{color:var(--green)}
.zpanel h1{position:relative;font-size:3rem;margin-bottom:14px}
.zpanel h1 em{font-style:normal;color:var(--green)}
.zpanel p{position:relative;color:#c3d2e6;max-width:600px;font-size:1.12rem}
.zpanel .cta{position:relative;display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}

/* trust strip */
.trust{display:flex;flex-wrap:wrap;gap:10px 30px;justify-content:center;padding:26px 0 6px}
.trust span{font-weight:600;color:var(--navy);font-size:.95rem;display:flex;align-items:center;gap:8px}
.trust span::before{content:"\2713";color:var(--green2);font-weight:800}

/* sections */
section{padding:74px 0}
.shead{max-width:640px;margin-bottom:44px}
.shead h2{font-size:2.5rem;margin:12px 0 8px;color:var(--navy)}
.shead p{color:var(--muted)}

/* prose */
.prose{max-width:760px}
.prose p{margin-bottom:18px;color:#33455c}
.prose h2{color:var(--navy);font-size:1.9rem;margin:10px 0 14px}

/* bento servicios */
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.b{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;transition:.2s}
.b:hover{border-color:var(--green);transform:translateY(-3px);box-shadow:0 18px 40px -26px rgba(11,37,69,.4)}
.b .ic{width:46px;height:46px;border-radius:12px;background:rgba(91,194,54,.14);color:var(--green2);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:16px}
.b h3{font-size:1.32rem;color:var(--navy);margin-bottom:7px}
.b p{color:var(--muted);font-size:.98rem}
.b.wide{grid-column:span 2;background:var(--navy);color:#fff;border-color:var(--navy)}
.b.wide h3{color:#fff}.b.wide p{color:#c3d2e6}
.b.wide .ic{background:rgba(91,194,54,.2);color:var(--green)}
@media(max-width:820px){.bento{grid-template-columns:1fr 1fr}.b.wide{grid-column:span 2}}
@media(max-width:560px){.bento{grid-template-columns:1fr}.b.wide{grid-column:span 1}}

/* proceso */
.proc{background:var(--navy);border-radius:26px;padding:52px;color:#fff}
.proc .shead h2{color:#fff}.proc .shead p{color:#c3d2e6}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.step{border-top:2px solid var(--line2);padding-top:18px}
.step b{font-family:'Bricolage Grotesque',sans-serif;color:var(--green);font-size:1.5rem;display:block}
.step h4{margin:6px 0 6px;font-size:1.1rem}
.step p{color:#c3d2e6;font-size:.92rem}
@media(max-width:820px){.steps{grid-template-columns:1fr 1fr}.proc{padding:34px 24px}}

/* zonas pills */
.zpills{display:flex;flex-wrap:wrap;gap:11px}
.zpills a,.zpills span{border:1.5px solid var(--line);background:var(--card);border-radius:30px;padding:9px 20px;font-weight:600;font-size:.95rem;color:var(--navy);transition:.15s}
.zpills a:hover{border-color:var(--green);color:var(--green2)}
.zpills a::before,.zpills span::before{content:"\25CF";color:var(--green);font-size:.6rem;margin-right:9px;vertical-align:middle}

/* garantias */
.gar{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gc{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:30px;border-top:4px solid var(--green)}
.gc h3{color:var(--navy);font-size:1.3rem;margin-bottom:6px}
.gc p{color:var(--muted);font-size:.96rem}
@media(max-width:760px){.gar{grid-template-columns:1fr}}

/* opiniones */
.ops{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ops blockquote{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:32px}
.ops .st{color:var(--green);letter-spacing:2px;margin-bottom:12px}
.ops p{margin-bottom:14px}
.ops cite{font-style:normal;font-weight:700;color:var(--navy)}
@media(max-width:760px){.ops{grid-template-columns:1fr}}

/* faq */
.faq details{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:0 22px}
.faq summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:700;color:var(--navy);display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--green2);font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"\2212"}
.faq details p{color:var(--muted);padding:0 0 20px}

/* contacto */
.contact .cbox{background:var(--navy);border-radius:26px;padding:52px;color:#fff;max-width:640px;margin:0 auto;text-align:center;position:relative;overflow:hidden}
.contact .cbox::before{content:"";position:absolute;width:300px;height:300px;background:radial-gradient(circle,rgba(91,194,54,.22),transparent 65%);top:-120px;right:-80px}
.contact h2{color:#fff;font-size:2.3rem;margin-bottom:24px;position:relative}
.cbox .r{position:relative;padding:12px 0;border-top:1px solid rgba(255,255,255,.12);color:#dbe6f3}
.cbox .r:first-of-type{border-top:0}
.cbox .r b{color:var(--green);display:block;font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:3px}
.cbox .r a{color:#fff}
.cbox .btn{margin-top:26px;position:relative}

/* footer */
footer{background:var(--navy);color:#9fb2ca;padding:46px 0 30px;font-size:.9rem;margin-top:20px}
.fg{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:24px}
.fg .fb b{color:#fff;font-family:'Bricolage Grotesque',sans-serif;font-size:1.15rem}
.fg .fl{display:flex;gap:18px;flex-wrap:wrap}
.fg .fl a:hover{color:var(--green)}
.fbot{border-top:1px solid var(--line2);padding-top:18px;font-size:.82rem;color:#7b8ea8}
