/* Shared accessibility and motion improvements. */
a:focus-visible,button:focus-visible{outline:3px solid #0085c7;outline-offset:4px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}

/* Keep the language selector above the sticky navigation. */
html:has(.topbar + .header){--topbar-height:36px;scroll-padding-top:calc(var(--topbar-height) + 76px)}
.topbar{position:sticky;top:0;z-index:1001}
.topbar + .header{top:var(--topbar-height)}

/* Keep route-image previews compact and centered. */
.img-modal-box,.map-modal-box{width:min(900px,90vw)!important;max-height:82vh!important;overflow:auto!important}
.img-modal-box img,.map-modal-box img{max-height:70vh!important;object-fit:contain}

.footer-contact .map-thumb{width:144px!important;height:92px!important;max-width:100%;object-fit:contain;background:#fff;border-radius:5px}
.company-building{flex:none;margin-top:20px;aspect-ratio:5/3;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow)}
.company-building img{display:block;width:125%;max-width:none;height:100%;object-fit:cover;object-position:center 38%;transform:translateX(-20%)}
.footer-contact .map-link > span,
.footer-contact a[href^="mailto:"]{white-space:nowrap;overflow-wrap:normal}
.footer-contact .map-link{flex-shrink:0}
@media(min-width:1200px){
  .footer .footer-top{grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;align-items:start}
  /* Crop the transparent vertical padding around the footer logo. */
  .footer .footer-logo-img{aspect-ratio:1312/280;object-fit:cover;object-position:center 50.5%;margin-top:3px}
  .footer .footer-brand p{max-width:190px;text-align:left}
  .footer .footer-contact{font-size:13px}
  .footer .footer-contact li{gap:10px}
  .footer .footer-top > div{text-align:center}
  .footer .footer-logo-img,
  .footer .footer-brand p{margin-inline:auto}
  .footer h4::after{left:50%;transform:translateX(-50%)}
  .footer .footer-top > div > ul{width:max-content;max-width:100%;margin-inline:auto;text-align:left}
}
@media(min-width:641px) and (max-width:1199px){
  .footer .footer-top{grid-template-columns:repeat(2,minmax(0,1fr)) minmax(max-content,1.3fr)}
}
