@media(max-width:1100px){.site-nav ul{gap:6px 16px}.grid-4{grid-template-columns:repeat(2,1fr)}.logo-strip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:920px){.header-actions{display:none}.menu-toggle{display:block;grid-area:toggle;justify-self:end;background:#fff;border:1px solid var(--border);border-radius:14px;width:48px;height:48px}.menu-toggle span{display:block;width:22px;height:2px;background:var(--primary);margin:5px auto}.header-main{grid-template-columns:auto 1fr auto;grid-template-areas:"brand spacer toggle";padding:14px 0}.brand{grid-area:brand;min-width:0}.brand img{width:56px;height:56px}.site-nav{position:absolute;left:16px;right:16px;top:100%;width:auto;background:#fff;border:1px solid var(--border);border-radius:24px;padding:18px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(10px);transition:.2s}.site-nav.open{opacity:1;visibility:visible;transform:none}.site-nav ul{display:grid;gap:12px;justify-content:stretch}.site-nav a{display:block;white-space:normal}.site-nav a.is-active:after,.site-nav a:hover:after{display:none}.mobile-actions{display:grid;gap:10px;margin-top:16px}.hero-grid,.about-grid,.contact-grid,.highlight{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr}.hero-visual{min-height:420px}.highlight{padding:28px}}
@media(max-width:640px){.container{width:min(calc(100% - 24px),var(--container))}.topbar__inner{display:grid}.brand small{display:none}.metrics,.grid-4,.dual,.logo-strip{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.blog-item{grid-template-columns:1fr}.site-footer{padding-bottom:70px}}
@media(max-width:1100px){.footer-grid{grid-template-columns:1fr 1fr}.footer-map{grid-column:1/-1}.footer-map__frame{height:240px}}
@media(max-width:640px){.footer-map{grid-column:auto}.footer-map__frame{height:220px}}

@media(max-width:640px){.footer-bottom{display:grid;justify-items:center;text-align:center}.footer-map__frame--page{height:280px}}

@media(max-width:920px){.cert-carousel{min-height:430px}.cert-slide{padding:22px 18px 82px}.cert-badge{left:16px;top:16px}.cert-caption{left:16px;right:16px;bottom:48px}.cert-click-note{font-size:.78rem}.cert-carousel__dots{right:16px}.pdf-modal{padding:12px}.pdf-modal__dialog{height:88vh;border-radius:18px}}
@media(max-width:520px){.cert-carousel{min-height:360px}.cert-slide{padding:56px 12px 88px}.cert-caption{font-size:.86rem}.cert-click-note{white-space:normal;text-align:center;width:80%}.cert-carousel__dots{top:auto;right:auto;left:50%;bottom:82px;transform:translateX(-50%);display:flex}.floating-contact a svg{width:22px;height:22px}.floating-contact .wa svg{width:25px;height:25px}.floating-contact .fb svg{width:27px;height:27px}}

/* Ajustes responsive finales: solo móvil/tablet, sin cambiar diseño, colores, lógica ni orden */
@media(max-width:920px){
  html,body{max-width:100%;overflow-x:hidden}
  img,iframe,video{max-width:100%}
  .site-header{max-width:100%;overflow:visible}
  .topbar__inner{font-size:.82rem;line-height:1.35;align-items:start}
  .header-main{gap:10px}
  .brand{max-width:calc(100vw - 96px);gap:10px}
  .brand img{width:50px;height:50px;flex:0 0 50px}
  .brand strong{font-size:.98rem;line-height:1.15}
  .brand small{font-size:.78rem;line-height:1.2}
  .site-nav{max-height:calc(100vh - 120px);overflow:auto;-webkit-overflow-scrolling:touch;z-index:60}
  .site-nav a{padding:10px 0}
  .mobile-actions .btn{width:100%}
  .hero{padding:42px 0 28px}
  .hero-grid{gap:24px}
  .hero h1{font-size:clamp(2rem,10vw,3.1rem);line-height:1.08;overflow-wrap:anywhere}
  .hero p,.lead{font-size:1rem}
  .eyebrow{max-width:100%;white-space:normal;line-height:1.25}
  .hero-actions{gap:10px;margin:20px 0 22px}
  .hero-actions .btn{flex:1 1 220px;text-align:center}
  .hero-card{border-radius:24px;padding:12px}
  .cert-carousel{min-height:clamp(390px,94vw,510px);border-radius:20px}
  .cert-slide{padding:54px 54px 124px}
  .cert-badge{left:18px;top:16px;font-size:.72rem;padding:8px 10px;max-width:calc(100% - 36px);white-space:normal;text-align:left}
  .cert-caption{left:18px;right:18px;bottom:82px;font-size:.9rem;padding:10px 12px}
  .cert-nav{top:50%;bottom:auto;transform:translateY(-50%);width:42px;height:42px;border-radius:999px}
  .cert-nav--prev{left:10px}
  .cert-nav--next{right:10px}
  .cert-nav svg{width:24px;height:24px}
  .cert-open-button{bottom:42px;width:calc(100% - 36px);max-width:300px;text-align:center;white-space:normal}
  .cert-click-note{display:none}
  .section{padding:50px 0}
  .section-head{margin-bottom:22px}
  .title{font-size:clamp(1.65rem,7vw,2.25rem)}
  .panel,.card{padding:22px;border-radius:20px}
  .highlight{border-radius:24px;gap:16px}
  .highlight .btn{width:100%}
  .about-image,.panel>.image-placeholder,.about-grid>.image-placeholder,.about-grid>div>.image-placeholder{min-height:320px}
  .grid-3>.image-placeholder{min-height:220px}
  .footer-map__frame--page{height:300px}
  .pdf-modal{padding:10px}
  .pdf-modal__dialog{width:100%;height:90vh;border-radius:16px}
  .pdf-modal__header{padding:10px 12px}
  .pdf-modal__header strong{font-size:.9rem;line-height:1.25}
  .pdf-modal__header button{width:38px;height:38px;flex:0 0 38px}
}

@media(max-width:720px){
  .container{width:min(calc(100% - 24px),var(--container))}
  .topbar__inner{grid-template-columns:1fr;gap:4px;text-align:left}
  .brand small{display:none}
  .brand img{width:46px;height:46px;flex-basis:46px}
  .menu-toggle{width:46px;height:46px}
  .hero-actions .btn,.btn{width:100%;min-height:46px;padding:12px 16px}
  .metrics,.grid-4,.dual,.logo-strip{grid-template-columns:1fr}
  .metric{padding:16px}
  .metric strong{font-size:1.4rem}
  .contact-grid,.about-grid{gap:18px}
  .contact-list{gap:14px}
  .contact-item a,.site-footer a,.footer-bottom a{overflow-wrap:anywhere;word-break:break-word}
  .form-grid{grid-template-columns:1fr;gap:15px}
  .contact-form-panel{padding:22px}
  .form-field input,.form-field textarea{font-size:16px;border-radius:14px;padding:13px 14px}
  .form-alert{padding:14px 15px;overflow-wrap:anywhere}
  .blog-item{grid-template-columns:1fr}
  .blog-item .image-placeholder{width:100%;height:auto;min-height:0}
  .blog-item .image-placeholder img{aspect-ratio:4/3}
  .footer-grid{grid-template-columns:1fr;gap:24px}
  .footer-brand{align-items:flex-start}
  .footer-bottom{display:grid;justify-items:center;text-align:center;gap:6px;font-size:.92rem}
  .floating-contact{right:10px;bottom:10px;gap:8px}
  .floating-contact a{width:46px;height:46px}
  .floating-contact a svg{width:22px;height:22px}
  .floating-contact .wa svg{width:24px;height:24px}
  .floating-contact .fb svg{width:24px;height:24px}
}

@media(max-width:420px){
  .container{width:min(calc(100% - 20px),var(--container))}
  .topbar{font-size:.78rem}
  .brand{max-width:calc(100vw - 88px)}
  .brand strong{font-size:.92rem}
  .hero{padding-top:34px}
  .hero h1{font-size:clamp(1.85rem,10.5vw,2.35rem)}
  .cert-carousel{min-height:360px}
  .cert-slide{padding:52px 42px 126px}
  .cert-nav{width:38px;height:38px}
  .cert-nav--prev{left:6px}
  .cert-nav--next{right:6px}
  .cert-caption{bottom:84px;font-size:.82rem}
  .cert-open-button{bottom:42px;width:calc(100% - 28px);padding:10px 14px}
  .panel,.card{padding:18px}
  .section{padding:42px 0}
  .footer-brand{display:grid;gap:12px}
}
