[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;left:1rem;top:1rem;transform:translateY(-200%);z-index:100001;background:#fff;color:#285476;border:3px solid #285476;border-radius:6px;padding:.7rem 1rem;font-weight:700}.skip-link:focus{transform:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #356b92;outline-offset:4px}.navbar .btn-primary-small{color:#fff}.hours-row.closed{opacity:1}.hours-row.closed .day,.hours-row.closed .time{color:#4b5563}.footer-bottom p{color:#c9d3dc}.footer-col h3{color:#fff;font-size:1.125rem;margin-bottom:1rem}.faq-heading{margin:0;font:inherit}.faq-item.active .faq-answer{max-height:none}.faq-question{min-height:48px}.map-withdraw{margin-bottom:.7rem}.map-iframe-container iframe{border:0;border-radius:12px}.form-error{padding:1rem;border:1px solid #a43026;background:#fff4f1;color:#86261e;border-radius:8px;margin:1rem 0}.form-privacy{font-size:.9rem;line-height:1.6;color:#374151}.form-privacy a{text-decoration:underline}section[id],main[id]{scroll-margin-top:100px}main:focus{outline:none}.nav-menu a{min-height:44px;display:inline-flex;align-items:center}.category-btn{min-height:44px}.sticky-contact-bar:not(.visible){visibility:hidden}.footer a:focus-visible{outline-color:#fcd34d}button,input,select,textarea{touch-action:manipulation}.footer-bottom a{display:inline-block;min-height:28px;line-height:28px}.footer-bottom{gap:1rem}@media(max-width:768px){.nav-menu:not(.active){visibility:hidden}.nav-menu.active{visibility:visible}.mobile-menu-toggle{min-width:44px;min-height:44px;justify-content:center;align-items:center}.sticky-contact-bar{max-width:100vw}.contact-form{scroll-margin-bottom:100px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important;scroll-behavior:auto!important}}@media(forced-colors:active){button,.btn-primary,.btn-secondary,.category-btn{border:1px solid ButtonText}}

.faq-answer{max-height:none}
/* Visibility must switch immediately so the first Tab reaches the open menu. */
@media(max-width:768px){.nav-menu,.nav-menu a{transition-property:transform,opacity,color,background-color,box-shadow}}
.skip-link{transition:none}

/* Native focus/scroll positioning is immediate; explicit navigation handles its own motion. */
html{scroll-behavior:auto}.location-map{overflow:visible}.map-iframe-container{overflow:hidden;border-radius:8px}.map-consent-note{display:block}.map-consent-note svg{vertical-align:middle;margin-right:4px}

.map-consent-note a{text-decoration:underline;text-underline-offset:3px}#load-google-maps{display:flex;width:100%;justify-content:center;min-height:48px;position:relative;z-index:1}
/* The route link belongs below the consent panel, never over the map button. */
.location-map .map-link{position:static;left:auto;bottom:auto;transform:none;display:flex;width:100%;min-height:48px;justify-content:center;gap:8px;margin-top:12px;padding:12px;border:1px solid #bbc9d4;border-radius:7px;box-shadow:none;text-align:center}.map-link svg{flex-shrink:0}
/* Explicit contrast for navigation CTA in every interactive state. */
.navbar .nav-menu .btn-primary-small,.navbar .nav-menu .btn-primary-small:visited{background:#285476;border-color:#285476;color:#fff}
.navbar .nav-menu .btn-primary-small:hover,.navbar .nav-menu .btn-primary-small:focus-visible{background:#18384f;border-color:#18384f;color:#fff}
.navbar .nav-menu .btn-primary-small:active{background:#14212b;border-color:#14212b;color:#fff}

.hero .hero-cta a:focus-visible,.footer a:focus-visible{outline-color:#e2c58d;outline-width:3px;outline-offset:4px}
/* Legal prose links must not override button text colors on the career page. */
.legal-content a.btn-primary,.legal-content a.btn-primary:is(:hover,:focus-visible,:active){color:#fff;text-decoration:none}
.legal-content a.btn-secondary,.legal-content a.btn-secondary:is(:hover,:focus-visible,:active){color:#285476;text-decoration:none}
