/* WEB-05: responsive resilience, inclusive controls and stable image frames.
   Brand tokens and existing section layouts remain unchanged. */
:root{--web05-focus:#00e5d6}
:where(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid var(--web05-focus);
  outline-offset:3px;
}
@media(max-width:880px){
  .main-nav.is-open{background:#0b1f4b;border:1px solid #355b8c;border-radius:0 0 13px 13px}
  .main-nav.is-open a{min-height:44px;display:flex;align-items:center}
  .menu-toggle{min-width:44px;min-height:44px;border-color:#8faed6}
  /* When JS fails, don't hide all navigation behind an inert hamburger. */
  .no-js .header-inner{height:auto;min-height:81px;flex-wrap:wrap;padding-bottom:13px}
  .no-js .menu-toggle{display:none}
  .no-js .main-nav{position:static;display:flex;flex-direction:column;width:100%;background:#0b1f4b;border-radius:10px;box-shadow:none;margin:0;padding:8px 10px;gap:0}
  .no-js .main-nav a{display:flex;min-height:44px;align-items:center;font-size:15px}
}
:where(.hero-motion-link,.hero-motion-pause,.nav-cta,.button,.back-to-top,.contact-direct,.footer-links a){
  min-height:44px;
}
.hero-motion-link,.hero-motion-pause{display:inline-flex;align-items:center;justify-content:center}
.footer-links a{display:flex;align-items:center}
.faq-list summary{min-height:48px;display:flex;align-items:center}
.module-grid .module{min-width:0}
.module-grid .module-cover{max-width:100%}
.module-media-note{font-size:12px;line-height:1.45}
.preview-nav-btn,.screenshot-dialog-close,.ops-guided-nav{min-height:44px}
.preview-full-link,.ops-guided-module,.preview-demo-link{display:inline-flex;align-items:center;min-height:44px}
.ops-guided-step{min-height:48px}
.ops-guided-image-link{aspect-ratio:16/10;display:grid;place-items:center;position:relative}
.ops-guided-image-link img{display:block;width:100%;height:100%;max-height:none;position:absolute;inset:0;object-fit:contain;background:#fff}
.ops-guided-image-hint{z-index:1;bottom:9px;right:9px}
.ops-guided-visual{width:100%}
.ops-guided-progress{font-size:12px}
.product-screenshot-dialog{overscroll-behavior:contain}
.enquiry-field input,.enquiry-field select,.enquiry-field textarea{font-size:16px}
.enquiry-consent input,.enquiry-choice input{width:18px;height:18px;flex:none}
@media(max-width:620px){
 .hero-motion-link,.hero-motion-pause{min-height:44px}
 .hero-motion-caption{font-size:12px}
 .ops-guided-head p,.ops-guided-copy>p{font-size:15px}
 .ops-guided-step{min-height:48px;gap:9px}
 .ops-guided-stepper{gap:8px}
 .ops-guided-details{font-size:14px}
 .module-media-note{font-size:11px}
 .product-preview-disclaimer,.field-app .field-app-caption{font-size:12px}
}
@media(max-width:379px){
  .module-grid{grid-template-columns:1fr}
  .module-grid .module{border-right:0;border-bottom:1px solid #d9e3f2}
  .module-grid .module-cover{height:145px}
  .module-media-note{min-height:0}
  .ops-guided-step{font-size:12px}
  .ops-guided-number{width:27px;height:27px}
  .hero-motion-link{font-size:10px;padding-inline:8px}
  .hero-motion-pause{font-size:10px;padding-inline:8px}
}
@media(prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto}
  .scroll-progress,.hero-orb{animation:none!important}
}

.section-approach .approach-step p{color:#334862!important}
.ops-logo-panel strong span{color:#ad3900}
.footer-bottom a{text-decoration:underline;text-underline-offset:3px;color:#e0f1ff}
@media(max-width:880px){html.no-js .site-header .main-nav{display:flex!important;position:static!important;visibility:visible;width:100%}html.no-js .site-header .menu-toggle{display:none!important}}

/* Ensure enquiry fallback link is distinguishable without colour alone. */
.enquiry-fallback a{text-decoration:underline!important;text-decoration-thickness:2px;text-underline-offset:3px;font-weight:800}
