/* Shared accessibility repairs. Keep loaded after the visual styles. */
html { scroll-padding-top: 7rem; }
body { overflow-wrap: anywhere; }
main, section[id], details[id] { scroll-margin-top: 7rem; }
main:focus { outline: none; }
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 3px solid #071a3d;
  outline-offset: 4px;
  box-shadow: 0 0 0 7px #fff;
}
.skip-link { z-index: 200; }
.skip-link:focus { top: 12px; }
.legal a, .contact-lines a, .contact-card a { text-decoration: underline; text-underline-offset: .2em; }
.footer-links a { display: inline-block; padding-block: 6px; text-decoration: underline; text-underline-offset: .2em; }
.footer-brand span, .footer-meta { color: #526078; }
.service-card .number, .service-card-details summary .number { color: #526078; }
.service-card-details summary .service-title { margin: 0; font: inherit; font-size: 1.32rem; color: var(--navy); }
.service-card-details:focus-within { overflow: visible; }
.whatsapp-float, .whatsapp-float:hover, .whatsapp-float:focus-visible { color: #071a3d; }
.wa-demo .wa-demo-body { color: #10203b; }
.wa-demo .wa-demo-note { color: #514941; }
.wa-demo .wa-sender, .wa-demo .wa-send { color: #076252; }
.wa-demo .wa-bubble small { color: #46594f; line-height: 1.4; }
.wa-demo .wa-demo-input { color: #526078; }
.wa-demo .wa-contact small { color: #fff; }
.wa-demo .wa-handoff { color: #46594f; }
.chat-date, .chat-input { color: #526560; }
.site-footer .footer-meta { color: #d6e1f2; }
.accessibility-contact { padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.accessibility-contact a { text-decoration: underline; }
.ai-layout > *, .hero-inner > *, .section-heading > *, .footer-inner > *, .nav > * { min-width: 0; }
@media (max-width: 980px) {
  /* A flowing header keeps all destinations available at zoom and narrow widths. */
  .site-header { position: relative; }
  .site-header .nav { flex-wrap: wrap; justify-content: center; gap: 12px; padding-block: 14px; }
  .site-header .brand { min-width: 0; }
  .site-header .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 16px; width: 100%; }
  .site-header .nav-links .secondary-nav { display: inline-flex; }
  .site-header .login-nav, .site-header .login-nav:hover, .site-header .login-nav:focus-visible {
    position: static; inset: auto; transform: none; width: auto; min-height: 40px; padding: 6px 12px; font-size: .8rem;
  }
  .site-header .login-nav::after { content: none; }
  .nav-links a { padding-block: 6px; }
  .site-header .nav a:not(.header-cta) { display: inline-flex; }
  .header-inner, .header-actions { flex-wrap: wrap; justify-content: center; gap: 12px; }
  .header-actions { width: 100%; }
  html { scroll-padding-top: 1rem; }
  main, section[id], details[id] { scroll-margin-top: 1rem; }
}
@media (max-width: 400px) {
  .hero-actions, .contact-actions { flex-direction: column; align-items: stretch; }
  .whatsapp-float { position: static; width: fit-content; max-width: calc(100% - 32px); margin: 16px auto; }
  .legal { padding-inline: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
@media (forced-colors: active) {
  a:focus-visible, button:focus-visible, summary:focus-visible { outline-color: Highlight; }
  .button, .whatsapp-float { border: 1px solid ButtonText; }
}
