*{box-sizing:border-box}html,body{margin:0;padding:0}
:root{--brand:#0a57d8;--dark:#0f172a;--muted:#6b7280;--bg:#f6f7fb;--radius:16px}
body{font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#1f2937;background:var(--bg)}
h1,h2,h3{font-family:'Montserrat',sans-serif;margin:0 0 .5rem}
h1{font-size:clamp(2rem,6vw,3.2rem);font-weight:800;line-height:1.05}
h2{font-size:clamp(1.4rem,4.2vw,2.2rem);font-weight:800}
h3{font-size:clamp(1.1rem,3.5vw,1.4rem);font-weight:700}
p{line-height:1.7}
.container{width:min(1100px,92%);margin:auto}

img{max-width:100%;height:auto;display:block}

.site-header{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid #e5e7eb}
.header-grid{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0}
.logo{height:46px;width:auto;filter:drop-shadow(0 3px 8px rgba(0,0,0,.15))}
.nav{display:flex;gap:1rem;flex-wrap:wrap}
.nav a{color:#0f172a;text-decoration:none;font-weight:600;opacity:.9}
.nav a.btn{padding:.55rem .9rem;border-radius:999px;background:#eef2ff}
.nav a.btn:hover{background:#e0e7ff}

.hero{position:relative;display:grid}
.hero picture img{width:100%;height:auto;object-fit:cover;filter:brightness(.6)}
.hero-text{position:absolute;inset:0;display:flex;flex-direction:column;gap:1rem;align-items:flex-start;justify-content:center;color:#fff;padding:1rem}
.hero-cta{display:flex;gap:.8rem;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1rem;border-radius:12px;border:1px solid rgba(0,0,0,.08);text-decoration:none;font-weight:700}
.btn.primary{background:var(--brand);color:#fff}
.btn.primary:hover{filter:brightness(.95)}

.sobre{padding:3rem 0;text-align:center}
.sobre .social{margin-top:1rem;display:flex;gap:.8rem;justify-content:center}
.sobre .social a{background:#fff;border:1px solid #e5e7eb;padding:.5rem .8rem;border-radius:999px;text-decoration:none;color:#111}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem;padding:2rem 0}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius);overflow:hidden;display:grid;grid-template-rows:auto 1fr}
.card img{width:100%;height:auto;object-fit:cover}
.card div{padding:1rem}

.beneficios{background:#0b1220;color:#e5e7eb;padding:3rem 0}
.grid-3{list-style:none;padding:0;margin:1rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem}
.grid-3 li{background:#121a2e;padding:.9rem 1rem;border-radius:12px;border:1px solid rgba(255,255,255,.08)}

.galeria{padding:3rem 0}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem}
.gallery img{width:100%;height:auto;object-fit:cover;border-radius:12px;border:1px solid #e5e7eb;background:#fff}

.video .video-frame{margin-top:1rem;border-radius:16px;overflow:hidden;border:1px dashed #cbd5e1;background:#fff}
.video-placeholder{display:grid;place-items:center;min-height:280px;color:var(--muted);font-weight:600}

.ubicacion{background:#fff;padding:3rem 0}
.map-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:1rem;align-items:stretch}
.map-grid iframe{width:100%;min-height:300px;border:0;border-radius:12px}

.contacto{background:#f1f5f9;padding:3rem 0}
.form{display:grid;gap:.8rem}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}
.form input,.form textarea{width:100%;padding:.9rem;border-radius:12px;border:1px solid #d1d5db;background:#fff;font:inherit}
.form button{margin-top:.3rem}

.footer{background:#0b1220;color:#cbd5e1;padding:1rem 0;text-align:center}
.footer a{color:#9dd1ff;text-decoration:none}

.whatsapp-float{position:fixed;right:18px;bottom:18px;background:#22c55e;border-radius:50%;padding:14px;box-shadow:0 10px 25px rgba(0,0,0,.2);z-index:50}
.whatsapp-float:hover{transform:translateY(-2px)}

@media (max-width:900px){
  .map-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .grid-2{grid-template-columns:1fr}
}
