[hidden] { display: none !important; }
html { scroll-padding-top: 5rem; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #cc0033; outline-offset: 4px; }
button:disabled { cursor: not-allowed; opacity: .5; }
button:active:not(:disabled) { filter: brightness(.92); }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 200; padding: .75rem 1rem; background: white; color: #222; }
.skip-link:focus { top: 1rem; }
[data-menu-item]:hover > [data-dropdown], [data-menu-item]:focus-within > [data-dropdown] { display: block; }
.mobile-menu { position: fixed; inset: 0 0 0 auto; width: min(90vw, 26rem); background: white; color: #333; z-index: 100; overflow-y: auto; padding: 1.5rem; box-shadow: 0 0 0 100vw #0008; }
.mobile-menu a, .mobile-menu button { display: block; padding: .75rem; min-height: 44px; }
.mobile-menu button { margin-bottom: 1rem; background: #cc0033; color: white; }
.mobile-menu .mobile-subitem { padding-left: 1.75rem; font-size: .9rem; }
[data-menu-item] a[aria-current="page"], [data-menu-item] a[data-current-section], .mobile-menu a[aria-current="page"] { text-decoration: none; }
[data-menu-item] > a[aria-current="page"] > p, [data-menu-item] > a[data-current-section] > p, [data-dropdown] a[aria-current="page"] > p, .mobile-menu a[aria-current="page"] { color: #cc0033; font-weight: 500; }
[data-menu-item] > a[aria-current] > div > div, [data-menu-item] > a[data-current-section] > div > div { bottom: .75rem; }
[data-menu-item]:hover > a > div > div, [data-menu-item]:focus-within > a > div > div { bottom: .75rem; }
.scroll-top { position: fixed; bottom: 1rem; right: 1rem; z-index: 40; display: grid; place-items: center; background: #cc0033; color: white; width: 40px; height: 40px; padding: 8px; border: 0; box-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a; }
.migration-notice { padding: 1rem; border-left: 4px solid #cc0033; background: #fff2f5; color: #333; font-size: 16px; line-height: 1.75; }
fieldset[disabled] { min-width: 0; }
fieldset[disabled] > * + * { margin-top: 1rem; }
dialog { max-width: min(90vw, 32rem); margin: auto; padding: 1.5rem; border: 0; border-radius: .5rem; }
dialog::backdrop { background: #0008; }
dialog h2 { font-size: 20px; margin-bottom: 1rem; }
dialog p { font-size: 16px; line-height: 1.75; }
dialog button { margin-top: 1rem; background: #cc0033; color: white; padding: .75rem 1rem; }
@media (min-width: 768px) { .mobile-menu { display: none; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }
