/* Versioned accessibility styles prevent stale assets after production releases. */
/* Final contrast and interaction layer */
.button-primary,.light-form .button-primary{color:#071d3e}
.button-primary:hover{background:#ff7a45;color:#071d3e}
.contact-assurance{color:#071d3e}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #f05a28;outline-offset:4px}
::selection{background:#f05a28;color:#071d3e}
.classification-sources{padding:25px 7vw;background:#030d1d;color:#fff;display:grid;grid-template-columns:auto 1fr auto;gap:25px;align-items:center}.classification-sources strong{font:600 12px var(--display);text-transform:uppercase;letter-spacing:1px;color:#ff7a45}.classification-sources p{margin:0;color:rgba(255,255,255,.6);font-size:13px}.classification-sources div{display:flex;flex-wrap:wrap;gap:14px}.classification-sources a{font-size:12px;color:#fff;border-bottom:1px solid rgba(255,255,255,.35)}
@media(max-width:850px){.classification-sources{grid-template-columns:1fr}}

/* WCAG 2.1 AA and Section 508-oriented accessibility layer */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;z-index:1000;left:20px;top:16px;padding:14px 18px;background:#fff;color:#071d3e;border:3px solid #f05a28;font:700 15px/1 var(--display);transform:translateY(-150%);transition:transform .15s ease}
.skip-link:focus{transform:translateY(0)}
main:focus{outline:0}
a:not(.button):focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #f05a28;outline-offset:4px}
.nav-links>a:not(.nav-cta):hover,.nav-links>a:not(.nav-cta):focus-visible,.footer-accessibility a:hover,.footer-accessibility a:focus-visible{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.35em}
.nav-links a[aria-current="page"],.footer-accessibility a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:.35em}
.menu-toggle{min-width:48px;min-height:48px}
.nav-links a{min-height:44px;display:inline-flex;align-items:center}
.button{min-height:48px}
.contact-details a,.contact-meta a,.contact-assurance a,.accessibility-content a:not(.button),.form-note a{text-decoration:underline;text-underline-offset:.2em}
.credential-grid span,.capability>span,.delivery-grid strong,.practice-solutions span{color:#a63b18}
.footer-accessibility{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center}
.footer-accessibility a{color:#fff;min-height:44px;display:inline-flex;align-items:center}
.form-instructions{margin:0;color:inherit;font-size:14px;text-transform:none;letter-spacing:0}
.required-text{font-size:.9em;text-transform:none;letter-spacing:0}
.form-field{display:flex;flex-direction:column}
.form-field label{display:block}
.form-errors{border:2px solid #ff7a45;background:#fff3ed;color:#74210b;padding:14px 16px;font-weight:600;text-transform:none;letter-spacing:0}
.field-error{display:block;color:#ffd8cc;font-size:13px;font-weight:600;margin-top:8px;text-transform:none;letter-spacing:0}
.light-form .field-error{color:#9b2c0c}
input[aria-invalid="true"],textarea[aria-invalid="true"],select[aria-invalid="true"]{border-bottom:3px solid #ff7a45}
input::placeholder,textarea::placeholder{color:rgba(255,255,255,.72);opacity:1}
.light-form input::placeholder,.light-form textarea::placeholder{color:#5c6870;opacity:1}
.light-form select{color:#18212b}
.form-status{scroll-margin-top:24px}
.service:focus-within{background:#f5f7fa}
.scroll-cue{color:rgba(255,255,255,.68)}
footer{flex-wrap:wrap;gap:18px 28px}

/* Native cross-document transitions with a polished fallback */
@view-transition{navigation:auto}
@keyframes metro-page-enter{from{opacity:0}to{opacity:1}}
@keyframes metro-page-old{from{opacity:1}to{opacity:0}}
@keyframes metro-page-new{from{opacity:0}to{opacity:1}}
html{background:#071d3e}
body{animation:metro-page-enter 320ms cubic-bezier(.22,1,.36,1)}
body.page-exit{animation:none;opacity:0;pointer-events:none;transition:opacity 260ms cubic-bezier(.4,0,1,1)}
::view-transition-group(root){animation-duration:520ms;animation-timing-function:cubic-bezier(.22,1,.36,1)}
::view-transition-image-pair(root){isolation:isolate}
::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal}
::view-transition-old(root){animation:metro-page-old 360ms cubic-bezier(.4,0,1,1) both;z-index:1}
::view-transition-new(root){animation:metro-page-new 520ms cubic-bezier(.22,1,.36,1) both;z-index:2}
@supports(view-transition-name:none){body{animation:none}}

@media(max-width:800px){
  body.menu-open{overflow:hidden}
  .nav-links{max-height:100vh;overflow-y:auto}
  .nav-links a{width:100%;min-height:48px}
  .footer-accessibility{width:100%;flex-direction:column;align-items:flex-start}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
  .button:hover,.operations-photo:hover img,.page-story-visual:hover .page-story-image img{transform:none!important}
  body{animation:none!important}
  body.page-exit{opacity:1!important}
  ::view-transition-group(root),::view-transition-old(root),::view-transition-new(root){animation-duration:.01ms!important}
}

@media(forced-colors:active){
  .skip-link,.button,.nav-cta,input,textarea,select{border:2px solid ButtonText}
  a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid Highlight}
}
