img{max-width:100%;display:block}.slide img{width:100%;height:100%;object-fit:cover}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 20%}.honeypot{position:absolute!important;left:-9999px}.menu-button svg{width:24px;height:24px}.whatsapp-float>svg{width:26px;height:26px}.form-status{margin:0;font-size:.9rem}.form-status.success{color:#147d3f}.form-status.error{color:#b42318}

/* Mantiene completa y visible la tarjeta de experiencia dentro del carrusel. */
.experience-card{left:24px;bottom:24px;transform:none}

.button.whatsapp-button{background:#25d366;color:#fff;border:1px solid #25d366}.button.whatsapp-button:hover{background:#1fbd59;border-color:#1fbd59}.button.whatsapp-button svg{width:22px;height:22px;flex:0 0 auto}

@media(max-width:740px){.experience-card{left:0;bottom:16px;padding:17px 12px;gap:8px}.experience-card strong{font-size:2.2rem}}

.nav.has-dynamic{gap:clamp(12px,1.8vw,26px);font-size:.86rem}.nav a[aria-current="page"]{color:#ff6b00}.content-page{background:#fff}.content-page-hero{min-height:calc(100vh - 84px);display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,520px);gap:clamp(38px,6vw,88px);align-items:center;max-width:1440px;margin:0 auto;padding:clamp(68px,8vw,115px) clamp(24px,6vw,90px)}.content-page-copy{padding:0;display:flex;flex-direction:column;justify-content:center}.content-page-copy h1{font-size:clamp(3rem,6vw,6rem);line-height:.96;letter-spacing:-.06em;margin:18px 0 30px}.content-page-text{color:#666;font-size:1.08rem;line-height:1.8;max-width:680px}.content-page-text p{margin:0 0 1.2em}.content-page-photo{width:100%;max-width:520px;aspect-ratio:4/3;min-height:0;background:#f6f6f6;border:1px solid #ececec;border-radius:20px;overflow:hidden;margin:0;box-shadow:0 18px 55px rgba(0,0,0,.08)}.content-page-photo img{width:100%;height:100%;object-fit:contain;background:#fff}.content-page-back{margin-top:28px;color:#ff6b00;font-weight:750;display:inline-flex;align-items:center;gap:8px}.content-page-back svg{width:18px}
@media(max-width:900px){.content-page-hero{min-height:0;grid-template-columns:1fr;gap:32px;padding:36px 22px 72px}.content-page-photo{order:-1;max-width:100%;max-height:340px;min-height:0;aspect-ratio:4/3}.content-page-copy{padding:18px 0 0}.content-page-copy h1{font-size:clamp(2.8rem,12vw,4.6rem)}}

/* Ajuste de escala para notebooks y monitores de escritorio con poca altura. */
@media (min-width:1001px) and (max-height:900px){
  .site-header{height:76px;padding-left:clamp(24px,5vw,68px);padding-right:clamp(24px,5vw,68px)}
  .brand img{width:140px}
  .hero{grid-template-columns:52% 48%;min-height:520px}
  .hero-media{min-height:520px}
  .hero-copy{padding:42px clamp(30px,5.4vw,76px)}
  .hero h1{font-size:clamp(3.25rem,5vw,4.6rem);line-height:.94;margin:20px 0 22px}
  .hero-copy>p{font-size:1.02rem;line-height:1.6}
  .hero-actions{margin:24px 0}
  .audiences,.services,.about,.quote-section{padding-top:78px;padding-bottom:78px}
  .section-heading{margin-bottom:38px}
  .section-heading h2,.about h2,.quote-section h2,.location h2{font-size:clamp(2rem,3.2vw,3.25rem)}
  .audience-card{min-height:365px;padding:26px}
  .audience-card h3{margin-top:23px}
  .service-grid article{min-height:235px;padding:26px}
  .service-grid svg{margin:15px 0 28px}
  .about{grid-template-columns:minmax(270px,23%) 1fr;gap:clamp(45px,6vw,85px)}
  .portrait{min-height:300px}
  .about-copy .lead{font-size:1.15rem}
  .principles{margin-top:23px}
  .principles article{padding:14px 0}
  .odr-banner{padding-top:56px;padding-bottom:56px}
  .location,.location iframe{min-height:390px}
  .location>div{padding-top:58px;padding-bottom:58px}
}

/* Título principal más compacto para textos descriptivos largos. */
.hero h1{
  font-size:clamp(2.65rem,4.25vw,4.5rem);
  line-height:.96;
}

@media (min-width:1001px) and (max-height:900px){
  .hero h1{font-size:clamp(2.6rem,3.7vw,3.45rem)}
}

@media (max-width:740px){
  .hero h1{font-size:clamp(2.2rem,8.5vw,2.65rem);line-height:1}
}

/* Reseñas administrables de Google. */
.reviews-section{padding:100px clamp(22px,6vw,96px);background:#fff}
.reviews-section .section-heading{margin-bottom:42px}
.reviews-summary{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:18px}
.reviews-summary strong{font-size:1.25rem;color:#222}
.reviews-summary small{color:#777}
.reviews-stars{color:#ff6b00;letter-spacing:.12em;font-style:normal;white-space:nowrap}
.reviews-stars i{color:#d9d9d9;font-style:normal}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1240px;margin:0 auto}
.review-card{border:1px solid #e8e8e8;border-radius:18px;padding:28px;background:#fff;min-height:260px;display:flex;flex-direction:column;box-shadow:0 12px 35px rgba(0,0,0,.045)}
.review-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.review-card-top small{font-weight:750;color:#777}
.review-card blockquote{border:0;margin:24px 0;padding:0;color:#555;font-size:1rem;line-height:1.7;font-weight:400}
.review-author{margin-top:auto;padding-top:20px;border-top:1px solid #eee;display:grid;gap:3px}
.review-author strong{color:#222}
.review-author span{font-size:.78rem;color:#888}
.reviews-action{text-align:center;margin-top:34px}
.reviews-button{border:1px solid #ddd;background:#fff;color:#222}
.reviews-button:hover{border-color:#ff6b00;color:#ff6b00}
@media(max-width:900px){.reviews-grid{grid-template-columns:1fr}.review-card{min-height:0}.reviews-section{padding-top:78px;padding-bottom:78px}}

/* Datos de contacto visibles y editables desde el administrador. */
.location-contact-list{display:grid;gap:12px;margin-top:24px}
.location .location-contact-item{display:flex;align-items:center;gap:12px;margin:0;color:#333;font-weight:400}
.location .location-contact-item>svg{width:21px;height:21px;flex:0 0 auto;color:#ff6b00}
.location .location-contact-item span{display:grid;gap:1px}
.location .location-contact-item small{font-size:.72rem;color:#777}
.location .location-contact-item strong{font-size:.96rem;overflow-wrap:anywhere}
.location .location-contact-item:hover strong{color:#ff6b00}
.location .location-route{margin-top:26px}
