html,body{max-width:100%;overflow-x:clip}*,*::before,*::after{box-sizing:border-box}.container,:where(main,section,article,aside,nav,header,footer,div){min-width:0}:where(img,svg,video,iframe){max-width:100%}
:where(.section,.institution,.prevention,.news,.faq,.contact,.public-directory,.entity-directory,.site-map-directory,.news-archive,.contact-channels,.location-section,.arrival-guide,.contact-request,.cap-section,.cap-summary,.index-capacity){overflow:clip;overflow-clip-margin:0}
:where(.institution-grid,.services-grid,.news-grid,.public-grid,.rules-list,.site-map-grid,.contact-channel-grid,.arrival-steps,.archive-grid,.cap-grid,.cap-people,.cap-summary__grid,.index-capacity__features)>*{min-width:0;max-width:100%}
:where(.institution-grid,.services-grid,.news-grid,.public-grid,.rules-list,.site-map-grid,.contact-channel-grid,.arrival-steps,.archive-grid,.cap-grid,.cap-people){padding-top:10px;padding-bottom:22px}
.motion-card{overflow:hidden!important;background-clip:padding-box;transform-origin:center}.motion-card__accent{top:0!important;right:14px!important;left:14px!important;max-width:calc(100% - 28px)!important;overflow:hidden!important}.motion-card :where(.material-symbols-rounded,svg,img){transform-origin:center}
:where(.button,button,[role="button"],.cap-card__action,.text-link,.service-card a,.public-card a,.rule-card a,.site-map-card,.route-options a,.google-map-actions a){max-width:100%;min-height:44px;line-height:1.25;white-space:normal;overflow-wrap:anywhere}:where(.button,button,[role="button"]){touch-action:manipulation}:where(.button,.cap-card__action,.text-link,.service-card a,.public-card a){gap:8px}
:where(h1,h2,h3,h4,p,strong,small,a,span,address){max-width:100%}:where(.contact-channel-card strong,.brand__text,.entity-topic summary strong,.cap-card h2,.cap-card h3,.public-card h3){overflow-wrap:anywhere}
@media(min-width:1051px) and (max-width:1280px){.navbar__content{gap:14px}.nav-menu{gap:11px}.nav-menu>a:not(.button),.nav-public{font-size:.78rem}.brand{gap:9px}.brand__text strong{font-size:.72rem}.brand__text small{font-size:.66rem}.brand .institutional-logo{inline-size:54px;block-size:54px;min-inline-size:54px;max-inline-size:54px}.nav-public>div{min-width:260px}}
@media(max-width:1050px){.nav-menu{max-width:100%;overflow-x:hidden}.nav-menu>a:not(.button),.nav-public summary,.nav-public>div a{width:100%;min-width:0}.nav-public>div{max-width:100%}}
@media(max-width:720px){.services-grid{margin-right:0!important;padding:8px 4px 16px!important;overscroll-behavior-inline:contain}.service-card{flex-basis:min(84vw,330px)}.motion-card__accent{right:10px!important;left:10px!important;max-width:calc(100% - 20px)!important}:where(.hero__actions,.emergency-strip__actions,.google-map-actions,.contact-hero__actions){max-width:100%}:where(.hero__actions,.emergency-strip__actions) .button{width:100%}}
@media(prefers-reduced-motion:reduce){.motion-card,.motion-card__accent,:where(.button,button,a){transition-duration:.01ms!important;animation-duration:.01ms!important}.motion-card:hover,.motion-card:focus-within{transform:none!important}}
.a11y-high-contrast :where(.motion-card,.button,button,[role="button"]){outline-offset:3px}@supports not (overflow:clip){html,body{overflow-x:hidden}}

/* Endurecimiento responsivo final para publicación multiplataforma. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip}body{min-height:100vh;min-height:100dvh}:where(main,header,footer,section,nav,article,aside,form){max-width:100%}:where(input,select,textarea,fieldset){min-width:0;max-width:100%}
@media(max-width:1050px){.site-header,.navbar,.navbar__content{max-width:100vw}.brand{max-width:calc(100% - 58px)}.brand__text{min-width:0}.brand__text strong,.brand__text small{overflow-wrap:anywhere}.nav-menu{contain:layout paint;transform-origin:top center}.nav-menu :where(a,summary,button){touch-action:manipulation}}
@media(max-width:720px){input,select,textarea{font-size:16px!important}.container{max-width:100%}:where(.section-heading,.hero__copy,.contact-hero__grid,.public-hero__grid,.entity-hero__grid,.cap-hero__grid)>*{min-width:0}.footer{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.happy-assistant{max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 96px)!important}}
@media(max-width:360px){.container{width:calc(100% - 18px)!important}.brand{gap:7px}.brand__text strong{font-size:.58rem!important}.brand__text small{font-size:.57rem!important}.institutional-logo{width:46px!important;height:46px!important}.menu-toggle{width:42px!important;height:42px!important;flex-basis:42px!important}}
@media(hover:none),(pointer:coarse){:where(.motion-card,.institution-card,.service-card,.news-card,.site-map-card,.public-card,.contact-channel-card):hover{transform:none!important}.motion-card:hover{box-shadow:var(--card-shadow-rest,0 10px 30px rgba(7,24,45,.055))!important}.motion-card.is-motion-selected>.motion-card__accent::after,.motion-card:active>.motion-card__accent::after{transform:scaleX(1)}:where(a,button,summary,[role="button"]){min-height:44px}}
@media(update:slow),(prefers-reduced-data:reduce){.motion-card,.motion-card *,.reveal,.navbar,.nav-menu{animation:none!important;transition-duration:160ms!important}.hero::after,.dispatch-card::before{display:none!important}}
@media(forced-colors:active){.nav-menu{border:2px solid CanvasText!important;background:Canvas!important;color:CanvasText!important}.nav-menu a,.nav-public summary{color:LinkText!important}body.menu-open::before{background:rgba(0,0,0,.55)!important}}
@supports not (overflow:clip){.design-card,main,main>section{overflow:hidden}}

/* v84 — relación responsiva entre panel y lanzador de Hando. */
@media(max-width:600px){
  .happy-launcher{right:max(12px,env(safe-area-inset-right))!important;bottom:max(12px,env(safe-area-inset-bottom))!important}
  .happy-assistant{right:8px!important;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 88px)!important;left:8px!important;width:auto!important;max-width:none!important;max-height:calc(100dvh - max(12px,env(safe-area-inset-bottom)) - 104px)!important;transform-origin:right bottom!important}
}
@media(max-width:600px) and (max-height:620px){
  .happy-launcher{width:64px!important;height:64px!important;padding:4px!important}
  .happy-launcher__portrait{width:54px!important;height:54px!important}
  .happy-launcher__portrait img{width:60px!important;height:60px!important}
  .happy-assistant{bottom:calc(max(8px,env(safe-area-inset-bottom)) + 76px)!important;max-height:calc(100dvh - max(8px,env(safe-area-inset-bottom)) - 88px)!important;border-radius:20px!important}
  .happy-assistant__messages{min-height:112px!important}
}
@media(max-width:360px){
  .happy-assistant{right:6px!important;left:6px!important}
}
@supports not (height:100dvh){
  @media(max-width:600px){.happy-assistant{max-height:calc(100vh - max(12px,env(safe-area-inset-bottom)) - 104px)!important}}
}

/* v86 — sistema responsivo específico para tabletas (vertical y horizontal). */
@media(min-width:721px) and (max-width:1050px){
  .container{width:min(calc(100% - 40px),var(--container))!important}
  .accessibility-bar{padding:6px 0!important;background:#f4f7fa!important}
  .accessibility-bar__inner{display:block!important;min-height:0!important;padding:0!important;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(7,24,45,.05)}
  .accessibility-bar>.container{width:min(calc(100% - 28px),var(--container))!important}
  .accessibility-bar__label{display:none!important}
  .accessibility-bar button.accessibility-bar__toggle{display:flex!important;width:100%!important;min-height:48px!important;align-items:center;justify-content:flex-start;gap:10px;padding:7px 10px!important;border:0!important;border-radius:12px!important;background:#fff!important;color:var(--navy)!important;text-align:left;white-space:nowrap}
  .accessibility-bar__toggle-icon{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border-radius:9px;background:#fdecee;color:var(--red);font-size:.74rem;font-weight:900}
  .accessibility-bar__toggle-title{font-size:.78rem;font-weight:850}
  .accessibility-bar__chevron{display:block;width:20px;height:20px;flex:0 0 20px;margin-left:auto;transition:transform .25s var(--ease-smooth)}
  .accessibility-bar__toggle[aria-expanded="true"] .accessibility-bar__chevron{transform:rotate(180deg)}
  .accessibility-bar__panel{display:none!important;padding:9px!important;border-top:1px solid var(--line)}
  .accessibility-bar.is-open .accessibility-bar__panel{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;animation:a11y-menu-open .26s var(--ease-smooth)}
  .accessibility-bar__controls,.accessibility-bar__links{display:grid!important;width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0!important;padding:0!important}
  .accessibility-bar button,.accessibility-bar a{width:100%;min-width:0;min-height:44px;justify-content:center;padding:6px!important;font-size:.68rem;line-height:1.12;text-align:center;white-space:normal}

  .hero{padding-block:clamp(58px,8vw,82px)!important}
  .hero__content{grid-template-columns:minmax(0,1fr)!important;gap:34px!important}
  .hero__copy,.dispatch-card{width:100%;max-width:none!important}
  .hero h1{max-width:820px;font-size:clamp(3rem,7.2vw,4.8rem)!important}
  .hero__copy>p{max-width:760px}
  .hero__actions{margin-top:28px}
  .hero__trust{margin-top:28px}
  .dispatch-card__body{padding:32px 28px 36px}

  :where(.institution-grid,.services-grid,.news-grid,.public-grid,.site-map-grid,.contact-channel-grid,.arrival-steps,.archive-grid,.cap-grid,.cap-people){grid-template-columns:repeat(2,minmax(0,1fr))!important}
  :where(.contact-hero__grid,.public-hero__grid,.entity-hero__grid,.cap-hero__grid,.location-layout,.contact-request__layout){grid-template-columns:minmax(0,1fr)!important;gap:36px!important}
  :where(.contact-emergency,.entity-hero__visual,.public-hero__symbol,.cap-hero__visual){width:100%;max-width:none!important}
}

@media(min-width:900px) and (max-width:1050px) and (orientation:landscape){
  .hero__content{grid-template-columns:minmax(0,1.08fr) minmax(350px,.92fr)!important;gap:clamp(30px,4vw,52px)!important;align-items:center}
  .hero h1{font-size:clamp(2.8rem,4.6vw,4.25rem)!important}
  .dispatch-card__body{padding:28px 25px 31px}
  :where(.contact-hero__grid,.public-hero__grid,.entity-hero__grid,.cap-hero__grid,.location-layout){grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr)!important;gap:clamp(30px,4vw,48px)!important}
  .contact-request__layout{grid-template-columns:minmax(0,.8fr) minmax(440px,1.2fr)!important}
}

@media(min-width:721px) and (max-width:899px) and (orientation:landscape){
  .hero__actions .button{flex:1 1 190px}
  .dispatch-card__footer div{padding-inline:8px}
}
