/* Verified overflow and keyboard fixes, preserving the established layout. */
.skip-link { position: fixed; z-index: 1000; left: 16px; top: 8px; padding: 10px 18px; background: #fff; color: #a61b20; border: 2px solid currentColor; transform: translateY(-160%); }
.skip-link:focus { transform: none; }
.hero-pause { position:absolute; bottom:12px; right:16px; z-index:3; padding:8px 12px; border:1px solid var(--line); border-radius:4px; background:rgba(255,255,255,.92); color:var(--ink); font:600 12px var(--font-sans); cursor:pointer; }
:where(a,button,input,textarea,select):focus-visible { outline: 2px solid #a61b20; outline-offset: 4px; }
.about-slogan { overflow: hidden; }
.partners-marquee:focus-within .partners-track { animation-play-state: paused; }
.menu-toggle { min-width: 44px; min-height: 44px; }
.menu-toggle .sr-only { width: 1px; height: 1px; margin: -1px; background: none; }
.contact-form input, .contact-form textarea { font-size: 16px; }
.contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width:1100px) and (min-width:761px) {
  .industry-activity, .industry-activity:nth-child(even) { margin-inline:-28px; padding-inline:28px; }
}
@media (max-width:1024px) {
  .primary-nav { position:absolute; top:100%; right:0; left:0; display:none; border-top:1px solid var(--line); background:var(--white); box-shadow:0 12px 24px rgba(0,0,0,.08); }
  .primary-nav.is-open { display:block; }
  .primary-nav ul { display:block; padding:12px 19px 19px; }
  .primary-nav a { padding:13px 0; }
  .menu-toggle { display:block; }
  .header-tools { gap:8px; margin-right:0; }
}
@media (max-width:430px) {
  .site-brand > span:last-child { width:clamp(110px,35vw,150px)!important; }
  .site-brand__logo-image { max-width:100%; }
  .language-trigger { padding-inline:5px; }
  .header-tools { gap:2px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .reveal { opacity:1!important; transform:none!important; transition:none!important; }
  .partners-track { animation:none; flex-wrap:wrap; width:100%; justify-content:center; }
  .partners-marquee::before,.partners-marquee::after { display:none; }
  .solutions-action-set__label::before, .contact-card__marker { animation:none!important; }
}

/* Final audit: pseudo-elements share the box model; touch controls meet 44px. */
*, *::before, *::after { box-sizing: border-box; }
:root { --touch-target: 44px; }
@media (max-width: 1024px) {
  a[href], button, input:not([type="hidden"]), textarea, select {
    min-width: var(--touch-target);
    min-height: var(--touch-target);
  }
  .site-footer a, .section-link, .contact-card__map-link {
    display: inline-flex;
    align-items: center;
  }
  .footer-social__link { width: var(--touch-target); height: var(--touch-target); justify-content: center; }
}
@media (max-width: 1024px) {
  .language-trigger { min-width: var(--touch-target); min-height: var(--touch-target); }
}
/* Keep the interaction's painted position aligned with its resting layout. */
.solutions-hub-card:hover { transform: none; }
