/* Accessibility layer – linked from every page, loaded after each page's own styles. */

/* Screen-reader-only text */
.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* Skip link: first tab stop, visible on focus */
.skip-link{position:absolute;left:12px;top:-100px;z-index:10000;padding:12px 18px;border-radius:8px;background:#123653;color:#fff;font:700 14px/1.2 Inter,Arial,sans-serif;text-decoration:none}
.skip-link:focus{top:12px}
main:focus{outline:none}

/* Focus indicator: solid navy ring with a white gap (visible on light and dark backgrounds, >3:1) */
html body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #123653;outline-offset:3px;box-shadow:0 0 0 6px #fff}

/* Touch / click targets at least 44px tall */
.brand,.back,.back-link,.project-link,.project-nav a{display:inline-flex;align-items:center;min-height:44px}
.project-nav-inner{align-items:center}

/* Password dialog */
.pw-error:empty{display:none}
.pw-error{font-weight:600}
.pw-modal input[aria-invalid="true"]{border-color:#b6253f}

/* Keep every nav link reachable on small screens (wrap instead of hiding) */
@media(max-width:760px){
  nav{height:auto!important;min-height:68px;padding:6px 0}
  .nav-inner{flex-wrap:wrap;gap:0 16px}
  .nav-links{flex-wrap:wrap;gap:0 16px!important;justify-content:flex-end}
  .nav-links>a:not(.btn),.nav-links a:not(.active):not(.btn){display:inline-flex!important;align-items:center;min-height:44px;padding:0!important}
  .nav-links>a:not(.btn):after{bottom:6px!important}
  .nav-links .btn{min-height:44px}
}

/* Respect "reduce motion" */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Buttons: smooth hover / pressed states (hover effects only on devices that can hover) */
.btn{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.btn:active:not(:disabled){transform:translateY(0);box-shadow:none}
@media (hover:hover){
  .btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(18,54,83,.22)}
  .btn.primary:not(:disabled):hover{background:#1f5278;border-color:#1f5278;color:#fff}
  .btn.secondary:not(:disabled):hover{background:#123653;border-color:#123653;color:#fff}
  /* white button on the dark Enterprise AI band */
  .enterprise-ai-feature .btn:not(:disabled):hover{background:#eaf3f8;border-color:#eaf3f8;color:#123653;box-shadow:0 8px 22px rgba(0,0,0,.3)}
}

/* "Back to Featured Work" on the case-study pages: left-aligned above the title, same look on every page */
main .back{margin:0 0 14px;color:#123653;font-size:14px;font-weight:700}
main .back:hover{text-decoration:underline;text-underline-offset:4px}
