*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,"Helvetica Neue",Arial,sans-serif;color:#111;background:#fff}
.container{width:min(1100px,92%);margin:0 auto}
.site-header{background:#0d47a1;color:#fff;position:sticky;top:0;z-index:1000;box-shadow:0 2px 10px rgba(0,0,0,.1)}
.header-content{display:flex;align-items:center;justify-content:flex-start;padding:0;gap:12px}
.site-header h1{font-size:clamp(1.1rem,2.5vw,1.6rem);margin:0;font-weight:700;letter-spacing:.3px}
.logo{height:110px;width:auto}
.nav{display:flex;gap:16px;justify-content:center;padding:4px 0 8px;background:#0c4092}
.nav-link{color:#e6efff;text-decoration:none;font-weight:600}
.nav-link:hover{text-decoration:underline}
.hero{display:grid;gap:18px;padding:28px 0}
.hero-image{width:100%;height:auto;border-radius:14px;box-shadow:0 8px 26px rgba(0,0,0,.15)}
.cta{display:flex;flex-wrap:wrap;gap:10px}
.btn{appearance:none;border-radius:999px;border:1px solid #0d47a1;padding:10px 16px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.btn.primary{background:#0d47a1;color:#fff;border-color:#0d47a1}
.btn.primary:hover{filter:brightness(.95)}
.btn.outline{background:#fff;color:#0d47a1}
.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.card{border:1px solid #e6eaf1;border-radius:14px;padding:14px 16px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.card h3{margin:.2rem 0 .4rem;font-size:1rem;color:#0d47a1}
.about{padding:10px 0 90px}
.about h2{color:#0d47a1}
/* Sticky bottom contact bar */
.contact-bar{position:fixed;left:0;right:0;bottom:0;background:#f8f9ff;border-top:1px solid #e3e7ff;padding:8px 10px;box-shadow:0 -6px 16px rgba(13,71,161,.12)}
.contact-form{display:flex;gap:8px;align-items:center;width:min(1100px,92%);margin:0 auto}
.contact-form input{flex:1;border:1.5px solid #a6b7ff;border-radius:999px;padding:10px 14px;font-size:1rem;outline:0}
.contact-form input:focus{border-color:#0d47a1;box-shadow:0 0 0 3px rgba(13,71,161,.15)}
.hint{font-size:.8rem;color:#4a4a4a;width:min(1100px,92%);margin:6px auto 2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:520px){.logo{height:44px}.nav{gap:10px}.contact-form .btn{padding:10px 14px}}


.header-right{
  display:flex;
  align-items:center;
  gap:12px;
  margin-left:auto;
}
.whatsapp-header{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  font-size:.85rem;
  max-width:260px;
}
.whatsapp-text{
  margin-bottom:4px;
  line-height:1.4;
}
.whatsapp-btn{
  background:#25d366;
  border-color:#25d366;
  color:#fff;
  font-weight:600;
}
.whatsapp-icon{
  height:18px;
  width:auto;
  margin-right:6px;
}
.hero-text{
  font-weight:600;
  color:#0d47a1;
  margin:0 0 12px;
  font-size:1.4rem;
}
.section-subtitle{
  margin-top:.2rem;
  font-size:1rem;
  color:#0d47a1;
}
.social{
  padding:10px 0 110px;
  text-align:center;
}
.social-icon{
  width:44px;
  height:auto;
  display:inline-block;
}
.social-link{
  display:inline-block;
}
@media (max-width:520px){
  .header-content{
    flex-direction:column;
    align-items:flex-start;
  }
  .header-right{
    align-self:stretch;
    justify-content:space-between;
    width:100%;
  }
  .whatsapp-header{
    max-width:100%;
  }
}


.map-section{
  padding:10px 0 50px;
}
.map-section h2{
  color:#0d47a1;
}
.map-embed{
  margin-top:12px;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 8px 26px rgba(0,0,0,.12);
}
.map-embed iframe{
  width:100%;
  min-height:390px;
  border:0;
}
@media (max-width:520px){
  .logo{
    height:64px;
  }
}

section{scroll-margin-top:110px;}

#sobre-nosotros{scroll-margin-top:140px;}

.site-header .container{
  width:100%;
  max-width:none;
  padding:0 16px;
}
