:focus-visible { outline: 3px solid #b8860b; outline-offset: 4px; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 100; background: #fff; padding: 12px 20px; color: #0b192c; }
.skip-link:focus { top: 12px; }
header nav .group:focus-within > .absolute,
header nav [data-menu-open="true"] > .absolute { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
header nav a[aria-current="page"] { color: #0b192c; }
header nav a[aria-current="page"] > span { width: 100%; }
.mobile-nav { display: none; padding: 16px 24px 24px; background: #fff; border-top: 1px solid #eee; }
.mobile-nav a, .mobile-nav summary { display: block; padding: 12px 0; font-size: 15px; font-weight: 600; color: #0b192c; border-bottom: 1px solid #eee; }
.mobile-nav details a { padding-left: 16px; font-size: 14px; font-weight: 400; }
.mobile-nav summary { cursor: pointer; }
.mobile-nav .mobile-cta { background: #0b192c; color: #fff; text-align: center; margin-top: 16px; border-radius: 2px; }
.form-notice { padding: 16px 20px; margin-bottom: 24px; border: 1px solid #d9a7a1; background: #fff5f4; color: #7b271e; font-size: 14px; line-height: 1.7; }
.form-notice.success { border-color: #accab4; background: #eff8f1; color: #1b5730; }
.form-note { color: #596270; font-size: 12px; line-height: 1.7; }
.field-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 1023px) { .mobile-nav[data-open="true"] { display: block; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }
