/* Shared accessibility and mobile-menu styles for every page (WCAG 2.2 AA work, Oct 2026). */

/* Keep anything that receives keyboard focus clear of the sticky header and the cookie banner. */
html { scroll-padding-top: 110px; scroll-padding-bottom: 140px; }

/* "Skip to content" link: hidden until someone presses Tab. */
.skip-link { position: absolute; left: 12px; top: -80px; z-index: 1000; background: #fff; color: #0B0B0B;
  padding: 10px 16px; border-radius: 8px; font-weight: 600; font-size: 15px; text-decoration: none;
  box-shadow: 0 4px 14px rgba(0,0,0,.25); }
.skip-link:focus { top: 12px; }

/* A clear focus ring for keyboard users everywhere. */
:focus-visible { outline: 3px solid #B4501A; outline-offset: 2px; }
main:focus { outline: none; }

/* Mobile menu */
.nav-right { display: flex; align-items: center; gap: 10px; }
.menu-btn { display: none; width: 44px; height: 44px; align-items: center; justify-content: center;
  background: transparent; border: 1px solid rgba(255,255,255,.28); border-radius: 10px; color: #fff; cursor: pointer; padding: 0; }
.menu-btn svg { width: 22px; height: 22px; }
@media (max-width: 820px) {
  .menu-btn { display: inline-flex; }
  nav.menu-open .navlinks { display: flex; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; gap: 0;
    background: #0B0B0B; padding: 6px 22px 16px; border-bottom: 1px solid rgba(255,255,255,.08); z-index: 40; }
  nav.menu-open .navlinks a { padding: 14px 0; font-size: 16px; color: #e8e3db; border-top: 1px solid rgba(255,255,255,.08); }
}

/* Pause control for the scrolling logo strip and case study carousel. */
.motion-toggle { display: block; margin: 10px auto 0; font: 600 12.5px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Helvetica, sans-serif;
  padding: 8px 14px; border-radius: 30px; cursor: pointer; background: transparent; border: 1px solid #d8d2cb; color: #575249; }
.motion-toggle.on-dark { border-color: rgba(255,255,255,.3); color: #d9d3ca; }
.paused .logo-track, .paused .case-track, .case-viewport:focus-within .case-track { animation-play-state: paused !important; }

/* Respect the operating system's "reduce motion" setting: no scrolling, shimmer, blinking or typing. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important;
    transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .logo-track, .case-track { animation: none !important; }
  .motion-toggle { display: none; }
}
