@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

:root{
  --marino:#12395F; --marino-os:#0C2942; --marino-cl:#1E5183;
  --verde:#6FB544; --verde-os:#4E8A2E; --verde-cl:#8ACB63; --verde-tint:#F0F7EA;
  --azul:#2E80B5; --azul-os:#22648F; --azul-tint:#EAF3F9;
  --blanco:#FFFFFF; --papel:#F7F9F8; --gris:#E4EAE8; --gris-2:#CFD8D5;
  --tinta:#14252F; --tinta-2:#516674; --tinta-3:#82949E;
  --disp:"Outfit",system-ui,sans-serif;
  --body:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:20px; --rs:14px;
  --sh:0 12px 32px -16px rgba(18,57,95,.22);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--blanco);color:var(--tinta);font-family:var(--body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:var(--azul-os)}
:focus-visible{outline:3px solid var(--azul);outline-offset:3px;border-radius:6px}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.estrecho{max-width:760px}

/* nav */
.nav{position:sticky;top:0;z-index:70;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--gris)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:76px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand .bn{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.04em;color:var(--marino)}
.brand .bn em{font-style:normal;color:var(--verde-os)}
.menu{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.menu a{text-decoration:none;font-size:15px;font-weight:600;color:var(--tinta-2)}
.menu a:hover{color:var(--marino)}
.navr{display:flex;align-items:center;gap:16px}
.navtel{font-weight:700;font-size:15px;color:var(--marino);text-decoration:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:54px;padding:0 26px;border-radius:999px;font-weight:700;font-size:15.5px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:background .18s,border-color .18s}
.b-wa{background:var(--verde);color:#0B2010}
.b-wa:hover{background:var(--verde-cl)}
.b-out{background:transparent;color:var(--marino);border-color:var(--gris-2)}
.b-out:hover{border-color:var(--marino);background:var(--papel)}
.b-nav{background:var(--marino);color:#fff;height:46px;font-size:14.5px;padding:0 20px}
.b-nav:hover{background:var(--marino-cl)}
@media(max-width:980px){.menu,.navtel{display:none}.nav .wrap{height:64px}}

/* cabecera */
.head{background:linear-gradient(178deg,var(--verde-tint) 0%,rgba(240,247,234,0) 85%);padding:56px 0 0}
.miga{font-size:14px;font-weight:600;color:var(--tinta-3);margin:0 0 18px}
.miga a{color:var(--tinta-3);text-decoration:none}
.miga a:hover{color:var(--marino)}
h1{margin:0;font-family:var(--disp);font-weight:800;font-size:clamp(2.1rem,4.6vw,3.4rem);line-height:1.07;letter-spacing:-.03em;color:var(--marino);max-width:19ch}
.entradilla{margin:20px 0 0;font-size:1.12rem;color:var(--tinta-2);max-width:60ch}
.hbtns{display:flex;flex-wrap:wrap;gap:11px;margin:30px 0 0}
.portada{margin:38px 0 0;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh)}
.portada img{width:100%;aspect-ratio:16/8;object-fit:cover}

/* cuerpo */
main{padding:56px 0 0}
h2{font-family:var(--disp);font-weight:800;font-size:clamp(1.6rem,3.2vw,2.15rem);line-height:1.14;letter-spacing:-.028em;color:var(--marino);margin:48px 0 16px}
h2:first-child{margin-top:0}
h3{font-family:var(--disp);font-weight:700;font-size:1.2rem;line-height:1.25;letter-spacing:-.02em;color:var(--marino);margin:30px 0 10px}
p{margin:0 0 16px;max-width:66ch}
ul,ol{margin:0 0 18px;padding-left:1.2em;max-width:66ch}
li{margin-bottom:9px}
li::marker{color:var(--verde-os)}
strong{font-weight:700;color:var(--tinta)}

.lista{list-style:none;padding:0;margin:0 0 20px;max-width:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.lista li{margin:0;background:var(--papel);border:1px solid var(--gris);border-radius:var(--rs);padding:18px 20px}
.lista b{display:block;font-family:var(--disp);font-weight:700;font-size:1.05rem;color:var(--marino);margin-bottom:5px}
.lista span{font-size:15.5px;color:var(--tinta-2)}

.dato{background:var(--azul-tint);border-radius:var(--r);padding:26px 28px;margin:30px 0}
.dato p{margin:0;max-width:62ch}
.dato b{color:var(--marino)}

.precios{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:24px 0 8px}
.precio{border:1px solid var(--gris);border-radius:var(--rs);padding:22px 22px 24px}
.precio .lab{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-3)}
.precio .amt{font-family:var(--disp);font-weight:800;font-size:2.5rem;color:var(--marino);line-height:1;margin:12px 0 0;letter-spacing:-.04em}
.precio .amt small{font-family:var(--body);font-size:.95rem;font-weight:600;color:var(--tinta-3);letter-spacing:0}
.precio p{margin:12px 0 0;font-size:15px;color:var(--tinta-2)}

.zonas{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 8px;padding:0;list-style:none;max-width:none}
.zonas li{margin:0;background:var(--papel);border:1px solid var(--gris);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600;color:var(--tinta-2)}

.faq{margin:24px 0 0;max-width:820px}
.faq details{background:var(--blanco);border:1px solid var(--gris);border-radius:var(--rs);margin-bottom:10px}
.faq details[open]{border-color:var(--verde)}
.faq summary{cursor:pointer;list-style:none;padding:19px 52px 19px 22px;position:relative;font-family:var(--disp);font-weight:700;font-size:1.06rem;color:var(--marino)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:22px;top:25px;width:10px;height:10px;border-right:2px solid var(--verde-os);border-bottom:2px solid var(--verde-os);transform:rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(-135deg);top:29px}
.faq .a{padding:0 22px 21px;color:var(--tinta-2);font-size:15.5px;max-width:none}

/* cierre */
.cierre{margin:64px 0 0;background:var(--marino);color:#fff;padding:60px 0;text-align:center}
.cierre h2{color:#fff;margin:0 auto;max-width:17ch;font-size:clamp(1.8rem,4vw,2.6rem)}
.cierre p{margin:18px auto 0;max-width:52ch;color:#C4D6E3;font-size:1.05rem}
.cierre .hbtns{justify-content:center}
.cierre .b-out{color:#fff;border-color:rgba(255,255,255,.4)}
.cierre .b-out:hover{border-color:#fff;background:transparent}

/* pie */
footer{background:var(--marino-os);color:#A9C1D2;padding:52px 0}
footer .wrap{display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;align-items:center}
footer a{color:#A9C1D2;text-decoration:none;font-size:15px}
footer a:hover{color:#fff}
footer nav{display:flex;flex-wrap:wrap;gap:12px 24px}
footer .cr{font-size:13px;color:#7896AD}

/* whatsapp */
.fab{position:fixed;right:24px;bottom:24px;z-index:80;width:60px;height:60px;border-radius:50%;background:var(--verde);color:#0B2010;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px -8px rgba(78,138,46,.7);text-decoration:none}
.fab:hover{background:var(--verde-cl)}
.bar{display:none}
@media(max-width:820px){
  .fab{display:none}
  body{padding-bottom:66px}
  .bar{display:grid;grid-template-columns:1.3fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:80;box-shadow:0 -4px 18px rgba(9,32,52,.16)}
  .bar a{display:flex;align-items:center;justify-content:center;gap:9px;height:66px;text-decoration:none;font-weight:700;font-size:16px}
  .bar .w{background:var(--verde);color:#0B2010}
  .bar .c{background:var(--marino);color:#fff}
  .head{padding-top:34px}
  main{padding-top:40px}
  h2{margin-top:38px}
}
