.accessibility-bar { background: #eee; color: #555; font: 700 13px/1.4 Arial, sans-serif; }
.accessibility-inner { width: min(1200px, calc(100% - 40px)); min-height: 34px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.accessibility-shortcuts, .accessibility-tools { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.accessibility-bar a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.accessibility-bar .accessibility-link { text-decoration: underline; text-underline-offset: 2px; }
.accessibility-bar button { min-height: 34px; padding: 0 2px; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; display: inline-flex; align-items: center; gap: 7px; }
.accessibility-bar .font-control { font-size: 17px; min-width: 28px; }
.accessibility-bar button:disabled { opacity: .55; cursor: default; }
.contrast-symbol { width: 11px; height: 11px; border: 2px solid currentColor; border-radius: 50%; background: linear-gradient(90deg, currentColor 50%, transparent 50%); }
:focus-visible { outline: 3px solid #105de9; outline-offset: 4px; }
[tabindex="-1"]:focus { outline-offset: -3px; }
.accessibility-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.accessibility-dialog { width: min(600px, calc(100% - 32px)); max-height: 85vh; padding: 28px; border: 1px solid #cad1da; border-radius: 10px; color: #071a32; background: #fff; font-size: calc(16px * var(--home-text-scale, 1)); line-height: 1.6; }
.accessibility-dialog::backdrop { background: rgb(7 26 50 / 65%); }
.accessibility-dialog h2 { margin: 12px 0; font-size: 1.4em; overflow-wrap: anywhere; }
.accessibility-dialog form { display: flex; justify-content: flex-end; }
.accessibility-dialog button { border: 1px solid currentColor; border-radius: 4px; padding: 8px 12px; color: inherit; background: transparent; cursor: pointer; font: inherit; }
.accessibility-dialog a { color: #105de9; overflow-wrap: anywhere; }
.accessibility-dialog li { margin: 8px 0; }
/* Let text grow without clipping the fixed-height sections in the original layout. */
.text-enlarged .home-header, .text-enlarged .home-hero, .text-enlarged .benefits, .text-enlarged .partnership, .text-enlarged .home-cta { height: auto; }
.text-enlarged .header-inner, .text-enlarged .partnership-inner, .text-enlarged .home-cta > .home-container { flex-wrap: wrap; gap: 20px; padding-top: 16px; padding-bottom: 16px; }
.text-enlarged .hero-content { min-height: 335px; padding-top: 30px; padding-bottom: 30px; }
.text-enlarged .hero-copy { width: min(100%, 650px); }
.text-enlarged .hero-copy h1 { overflow-wrap: anywhere; }
.text-enlarged .main-nav, .text-enlarged .header-actions, .text-enlarged .hero-actions, .text-enlarged .footer-inner nav { flex-wrap: wrap; }
.text-enlarged .benefit-grid article { padding: 16px 8px; }
.text-enlarged .area-cards p { height: auto; }
.text-enlarged .footer-inner { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); padding-top: 16px; padding-bottom: 16px; }
.text-enlarged .hero-actions a, .text-enlarged .header-actions a, .text-enlarged .home-cta a, .text-enlarged .area-cards > a { height: auto; min-height: 43px; padding-top: 10px; padding-bottom: 10px; }
.high-contrast body, .high-contrast body :where(header, main, section, footer, nav, article, div, dialog, p, h1, h2, h3, span, strong, small, em, i, a, button) { background-color: #000 !important; color: #fff !important; border-color: #fff !important; box-shadow: none !important; }
.high-contrast :where(.home-hero, .home-cta, .partnership, .program-video) { background-image: none !important; }
.high-contrast body a, .high-contrast body button { color: #ffeb3b !important; }
.high-contrast a { text-decoration: underline !important; }
.high-contrast :focus-visible { outline-color: #ffeb3b; }
.high-contrast .main-nav a.active::after { background: #ffeb3b; }
.high-contrast :where(.brand img, .partner-logos img, .partnership-logos img, .footer-logos img) { background: #fff; padding: 3px; }
@media (max-width: 1100px) { .accessibility-inner { justify-content: center; gap: 0 16px; padding: 4px 0; } }
@media (max-width: 680px) {
  .accessibility-inner { width: calc(100% - 24px); justify-content: flex-start; padding: 6px 0; }
  .accessibility-shortcuts { display: grid; grid-template-columns: repeat(2, auto); gap: 0 16px; }
  .accessibility-shortcuts a { padding: 7px 0; }
  .accessibility-tools { gap: 4px 16px; }
  .accessibility-tools a { padding: 6px 0; }
  .text-enlarged .hero-actions { flex-direction: column; }
  .text-enlarged .hero-copy h1 { font-size: calc(30px * var(--home-text-scale, 1)); }
  .text-enlarged .partnership-logos { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
