
:root{
  --brand:#0b6a7f; /* deep teal from logo */
  --accent:#ff9f1c; /* orange accent for CTAs */
  --dark:#0e2a36;
  --light:#f7fafc;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;color:#243b4a;background:#ffffff;scroll-behavior:smooth}
a{color:var(--brand);text-decoration:none}
header{position:relative;overflow:hidden}
.navbar{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(8px);z-index:1000;border-bottom:1px solid rgba(0,0,0,.05)}
.navbar .brand{display:flex;gap:10px;align-items:center}
.navbar img.logo{width:38px;height:38px;border-radius:10px}
.navbar .title{font-weight:800;letter-spacing:.5px;color:var(--dark)}
.navbar nav a{margin:0 10px;font-weight:600}
.hero{margin-top:64px;position:relative;height:62vh;min-height:360px;background:linear-gradient(180deg, rgba(11,106,127,.35), rgba(11,106,127,.6)), url('assets/img/hero_portada.jpg') center/cover no-repeat;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff}
.hero .content{animation:fadeInUp .9s ease both}
.hero h1{font-size:clamp(28px,5vw,56px); margin:6px 0 10px;font-weight:900;text-shadow:0 6px 20px rgba(0,0,0,.25)}
.hero p{font-size:clamp(16px,2.2vw,22px);opacity:.95}
.btn{display:inline-block;padding:12px 18px;border-radius:999px;background:var(--accent);color:#0b2a35;font-weight:800;box-shadow:0 8px 20px rgba(255,159,28,.35)}
.section{padding:56px 18px;max-width:1200px;margin:auto}
.grid{display:grid;gap:18px}
.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px){.columns-3{grid-template-columns:1fr 1fr}.columns-2{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid #edf2f7;border-radius:18px;overflow:hidden;box-shadow:0 10px 24px rgba(2,20,31,.06);transition:transform .2s ease, box-shadow .2s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(2,20,31,.12)}
.card img{width:100%;height:240px;object-fit:cover;display:block}
.card .p{padding:14px}
.icons{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-top:12px}
.icon{display:flex;gap:10px;align-items:center;background:#eef8fb;color:var(--brand);padding:10px 14px;border-radius:999px;font-weight:700}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.gallery img{width:100%;height:200px;object-fit:cover;border-radius:12px;cursor:pointer;transition:transform .25s ease, box-shadow .25s}
.gallery img:hover{transform:scale(1.02);box-shadow:0 12px 26px rgba(0,0,0,.18)}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;z-index:9999}
.modal.open{display:flex}
.modal img{max-width:92vw;max-height:86vh;border-radius:12px}
iframe.responsive{width:100%;height:420px;border:0;border-radius:18px}
footer{padding:36px 18px;background:#0a3342;color:#e3f2f7;text-align:center;margin-top:36px}
footer a{color:#a7f3d0;text-decoration:underline}
.whatsapp-float{position:fixed;right:16px;bottom:16px;background:#25D366;border-radius:60px;padding:14px 16px;color:#fff;font-weight:800;display:flex;align-items:center;gap:10px;z-index:999}
audio{display:none}
@keyframes fadeInUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.badges{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:10px}
.badges span{background:#f0fbff;color:#0c5060;border:1px solid #cfe9f1;padding:10px 14px;border-radius:999px;font-weight:700}
.contact form{display:grid;gap:12px}
input,textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid #dbe6ee}
input:focus,textarea:focus{outline:2px solid #9be7f1;border-color:#9be7f1}
.submit{background:var(--brand);color:#fff;font-weight:800;border:none;cursor:pointer}
.small{font-size:.9rem;color:#5a7683}
