:root{--p:#0E7490;--pd:#155E75;--soft:#ECFEFF;--ink:#164E63;--txt:#334155;--mut:#64748B;--acc:#F59E0B}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Nunito',system-ui,sans-serif;color:var(--txt);line-height:1.7;background:#fff}
h1,h2,h3,h4{font-family:'Poppins',system-ui,sans-serif;color:var(--ink);line-height:1.25;margin:1.4em 0 .5em;font-weight:600}
h1{font-size:2rem;margin-top:0}h2{font-size:1.5rem}h3{font-size:1.2rem}
p{margin:.8em 0}ul,ol{margin:.8em 0 .8em 1.4em}
a{color:var(--p)}img{max-width:100%;height:auto;border-radius:10px;margin:.5rem 0}
.wrap{max-width:1000px;margin:0 auto;padding:0 1.1rem}
.top{background:var(--pd);color:#CFFAFE;font-size:.88rem}
.top .wrap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:.4rem;padding-bottom:.4rem}
.top a{color:#fff;text-decoration:none;font-weight:600}
header.site{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid #E2E8F0}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;padding-top:.55rem;padding-bottom:.55rem}
.brand{font-family:'Poppins';font-weight:700;font-size:1.2rem;color:var(--pd);text-decoration:none}
nav ul{display:flex;list-style:none;flex-wrap:wrap}
nav a{display:block;padding:.45rem .62rem;color:var(--ink);text-decoration:none;border-radius:8px;font-size:.93rem;font-weight:600}
nav a:hover{background:var(--soft)}
.hero{background:linear-gradient(135deg,#0E7490 0%,#155E75 55%,#164E63 100%);color:#fff;padding:3.2rem 0 2.6rem}
.hero h1{color:#fff;font-size:2.4rem;max-width:640px}
.hero p{color:#CFFAFE;max-width:620px;font-size:1.08rem}
.badge{display:inline-block;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.35);color:#fff;padding:.3rem .9rem;border-radius:999px;font-weight:700;font-size:.9rem;margin-bottom:1rem}
.cta{display:inline-block;background:var(--acc);color:#164E63!important;text-decoration:none;padding:.75rem 1.5rem;border-radius:10px;font-weight:800;margin:1rem .5rem 0 0}
.cta.alt{background:#fff;color:var(--pd)!important}
.cta.tel{background:transparent;border:2px solid rgba(255,255,255,.6);color:#fff!important}
main .wrap{padding-top:2rem;padding-bottom:3rem}
.note{background:var(--soft);border-left:4px solid var(--p);padding:.8rem 1.1rem;border-radius:0 10px 10px 0;margin:1.2rem 0}
blockquote{border-left:4px solid var(--p);background:var(--soft);padding:.6rem 1rem;margin:1rem 0;border-radius:0 8px 8px 0}
table{border-collapse:collapse;width:100%;margin:1rem 0}td,th{border:1px solid #CBD5E1;padding:.5rem .7rem}
footer{background:#0B3A49;color:#A5D8E6;margin-top:2rem;padding:2rem 0;font-size:.92rem}
footer a{color:#CFFAFE}
footer .cols{display:flex;gap:2.5rem;flex-wrap:wrap}
.bloglist{list-style:none;margin:1rem 0}
.bloglist li{padding:.6rem 0;border-bottom:1px solid #E2E8F0}
.bloglist .d{color:var(--mut);font-size:.85rem}
.date{color:var(--mut);font-size:.88rem}
@media(max-width:640px){h1{font-size:1.6rem}.hero h1{font-size:1.9rem}}

.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.9rem;margin:1rem 0 1.5rem}
.card{display:block;background:var(--soft);border:1px solid #BAE6FD;border-radius:12px;padding:1.4rem 1.2rem;text-decoration:none;text-align:center}
.card span{font-family:'Poppins';font-weight:600;color:var(--pd);font-size:1.05rem}
.card:hover{background:#CFFAFE;transform:translateY(-2px);transition:.15s}
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem;margin:1.2rem 0}
.member{background:#fff;border:1px solid #E2E8F0;border-radius:14px;padding:1.4rem;text-align:center}
.member img{width:150px;height:150px;object-fit:cover;border-radius:50%;margin:0 auto .8rem}
.member h3{margin:.2rem 0 .4rem}
.member p{font-size:.95rem;color:var(--mut)}
.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin:1.2rem 0}
.review{display:flex;gap:.9rem;background:var(--soft);border-radius:14px;padding:1.1rem;align-items:flex-start}
.review img{width:64px;height:64px;object-fit:cover;border-radius:50%;margin:0;flex-shrink:0}
.review strong{color:var(--ink)}
.review .stars{color:var(--acc);font-size:.9rem;display:block;margin:.1rem 0 .3rem}
.review p{margin:0;font-size:.92rem}

/* Menú hamburguesa móvil */
.menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:.5rem;border-radius:8px}
.menu-toggle:hover{background:var(--soft)}
.menu-toggle span{display:block;width:26px;height:3px;background:var(--ink);margin:5px 0;border-radius:2px}
@media(max-width:1024px){
  .menu-toggle{display:block}
  header.site nav{display:none;width:100%;order:3}
  header.site nav.open{display:block}
  header.site nav ul{flex-direction:column;flex-wrap:nowrap;padding-bottom:.4rem}
  header.site nav a{padding:.6rem .62rem}
}
