/* ADA helpers only. This file must not hide type or buttons. */

:root { --ada-focus: #F5C15A; }

html { scroll-padding-top: 5.5rem; color: #0a1628; }

.skip-link {
  position: absolute;
  left: 0.75rem;
  top: 0.75rem;
  z-index: 10000;
  transform: translateY(-180%);
  background: #003054;
  color: #fff !important;
  padding: 0.7rem 1.05rem;
  border-radius: 8px;
  font-weight: 800;
  text-decoration: none !important;
}
.skip-link:focus,
.skip-link:focus-visible {
  transform: translateY(0);
  outline: 3px solid var(--ada-focus) !important;
  outline-offset: 3px;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--ada-focus) !important;
  outline-offset: 3px !important;
}

.sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}

body, .hero, .page-hero, .hub, .card, .hero-card, .form-card,
.hero-stats, .stat, .section, .section-alt, .section-header,
.hero-lead, .eyebrow, .hero-note, .prose {
  color: #0a1628 !important;
  -webkit-text-fill-color: #0a1628 !important;
}
.hero h1, .page-hero h1, .section-header h2, .section-header h3,
.hub h2, .hub h3, .card h3, .prose h2, .prose h3, .form-card h3 {
  color: #006A96 !important;
  -webkit-text-fill-color: #006A96 !important;
}

.hero, .page-hero, .hero-follow, .section, .section-alt {
  background-color: #e8f4fa !important;
  background-image: none !important;
}
.hero::before, .page-hero::before, .section::before { display: none !important; }

.hub, .card, .hero-card, .form-card, .stat, a.stat-link {
  background: #ffffff !important;
  color: #0a1628 !important;
  -webkit-text-fill-color: #0a1628 !important;
}

a:not(.btn):not(.nav-cta):not(.btn-talk):not(.btn-teal):not(.support-pill) {
  color: #006A96 !important;
  -webkit-text-fill-color: #006A96 !important;
}

/* Filled buttons: teal plate, white label. Never white-on-white. */
a.btn:not(.btn-outline), .btn:not(.btn-outline), a.btn-talk, .btn-talk, a.btn-teal, .btn-teal, a.nav-cta, .nav-cta,
a.support-pill, .support-pill {
  background: #006A96 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 2px solid #006A96 !important;
}

/* Outline buttons: white plate, navy label. */
a.btn-outline, .btn-outline,
.hub .btn-outline, .hero .btn-outline, .page-hero .btn-outline,
.zt-home .btn-outline, .arm-home .btn-outline {
  background: #ffffff !important;
  color: #0a1628 !important;
  -webkit-text-fill-color: #0a1628 !important;
  border: 2px solid #0a1628 !important;
}

.site-footer, .site-footer p, .site-footer a, .site-footer h4,
.cta-band, .cta-band p, .cta-band h2 {
  color: #e8eef5 !important;
  -webkit-text-fill-color: #e8eef5 !important;
}
.cta-band a.btn, .cta-band .btn-talk {
  background: #ffffff !important;
  color: #0a1628 !important;
  -webkit-text-fill-color: #0a1628 !important;
}

.zv-cookie-btn, .zv-cookie-btn-necessary, .zv-cookie-btn-accept {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}
.zv-cookie-btn-necessary {
  background: #0a1628 !important;
  border: 2px solid #0084B4 !important;
}
.zv-cookie-btn-accept {
  background: #006A96 !important;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *:not(#zv-transit):not(.zv-wave):not(.zv-t-mark),
  *:not(#zv-transit):not(.zv-wave):not(.zv-t-mark)::before,
  *:not(#zv-transit):not(.zv-wave):not(.zv-t-mark)::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}


/* zv-ink-lock: teal headings, navy copy on ice. Never dark-navy type on a dark plate. */
main > section.section:nth-of-type(6n+1),
main > section.section:nth-of-type(6n+2),
main > section.section:nth-of-type(6n+3),
main > section.section:nth-of-type(6n+4),
main > section.section:nth-of-type(6n+5),
main > section.section:nth-of-type(6n+6),
main > section.section,
main > section.section-alt,
main > section.page-hero,
main > section.hero,
main > section.hero-follow,
#zyntorque-download,
#work,
#armilla-home {
  background-color: #e8f4fa !important;
  background-image: none !important;
  color: #0a1628 !important;
}
main > section.section:nth-of-type(n)::before,
main > section.section-alt::before,
main > section.page-hero::before,
.hero::before,
.cta-band::before {
  display: none !important;
  content: none !important;
  background: none !important;
  opacity: 0 !important;
}
main h1,
main h2,
main h3,
.section-header h2,
.section-header h3,
.page-hero h1,
.hero h1,
.prose h2,
.prose h3,
.wd-hero h1,
.wd-card h3,
.wd-step h3,
.wd-faq summary,
.hub h2,
.hub h3,
.card h3,
.form-card h3,
.hero-copy h1 {
  color: #006A96 !important;
  -webkit-text-fill-color: #006A96 !important;
}
main p, main li, main td, main th, main label, main summary,
.section-header p, .hero-lead, .hero-note, .hero-note *,
.wd-hero p, .wd-card p, .wd-faq p, .eyebrow, .muted,
.prose p, .prose li, .list-check li {
  color: #0a1628 !important;
  -webkit-text-fill-color: #0a1628 !important;
}
.cta-band {
  background: #0084B4 !important;
  background-image: none !important;
}
.cta-band h2, .cta-band p, .cta-band .eyebrow, .cta-band li {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.site-footer, .site-footer p, .site-footer li, .site-footer h4,
.footer-col-title, .footer-brand p, .footer-contact, .footer-bottom,
.payment-strip span {
  color: #e8eef5 !important;
  -webkit-text-fill-color: #e8eef5 !important;
}
.site-footer a { color: #e8eef5 !important; -webkit-text-fill-color: #e8eef5 !important; }
.site-footer a.btn.support-pill,
.site-footer a.support-pill,
.site-footer a.support-pill:hover,
.footer-contact a.btn.support-pill,
.footer-contact a.support-pill,
.hero a.btn.support-pill,
.hero a.support-pill,
.card a.btn.support-pill,
.card a.support-pill,
.prose a.support-pill {
  background: #006A96 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 2px solid #006A96 !important;
}
.zt-home-copy, .zt-home-copy h2, .zt-home-copy p, .zt-home-copy .eyebrow,
.hub.zt-home p, .hub.zt-home h2, .hub.zt-home .eyebrow {
  color: #EB642C !important;
  -webkit-text-fill-color: #EB642C !important;
}

/* zv-ink-head2: child word-spans must not keep navy fill */
main h1, main h2, main h3,
main h1 *, main h2 *, main h3 *,
main .section-header h2, main .section-header h3,
main .section-header h2 *, main .section-header h3 *,
main .page-hero h1, main .page-hero h1 *,
main .hero h1, main .hero h1 *,
main .wd-hero h1, main .wd-hero h1 *,
main .wd-card h3, main .wd-step h3,
main .wd-faq summary, main .prose h2, main .prose h3,
main .hub h2, main .hub h3,
main .card h3, main .form-card h3,
.wd-home-copy h2 {
  color: #006A96 !important;
  -webkit-text-fill-color: #006A96 !important;
}
.cta-band h2, .cta-band h2 *, .cta-band p, .cta-band p * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.zt-home-copy, .zt-home-copy *, .hub.zt-home .zt-home-copy, .hub.zt-home .zt-home-copy * {
  color: #EB642C !important;
  -webkit-text-fill-color: #EB642C !important;
}

/* zv-ink-head3: same specificity as the navy section h2 lock */
main > section.section h1,
main > section.section h2,
main > section.section h3,
main > section.section-alt h1,
main > section.section-alt h2,
main > section.section-alt h3,
main > section.page-hero h1,
main > section.hero h1 {
  color: #006A96 !important;
  -webkit-text-fill-color: #006A96 !important;
}
