html { scroll-behavior: smooth; scroll-padding-top: 130px; }
.race-reveal-staged { transition: none !important; }
[hidden] { display: none !important; }
button, a, [role="button"] { -webkit-tap-highlight-color: transparent; }
[role="button"] { cursor: pointer; }
:focus-visible { outline: 3px solid #da3630; outline-offset: 5px; }
.menu-open { overflow: hidden; }
.static-menu { box-sizing: border-box; border: 0; padding: 70px 32px 40px; margin: 0 0 0 auto; width: min(100%, 520px); height: 100dvh; max-height: 100dvh; max-width: 100%; background: #f8f7f6; color: #151515; }
.static-menu::backdrop { background: #0009; }
.static-menu nav { display: flex; flex-direction: column; gap: 23px; font: 700 20px/1.6 Montserrat, 'Yu Gothic', sans-serif; }
.static-menu a { color: inherit; text-decoration: none; }
.static-menu a:hover { color: #c9282e; }
.static-menu-close { position: absolute; right: 24px; top: 15px; border: 0; background: none; color: #111; font-size: 40px; cursor: pointer; }
.static-menu-policy { display: flex; gap: 20px; flex-wrap: wrap; margin-top: 30px; font-size: 12px; }
.static-form-note { padding: 10px 14px; border: 1px solid #e2e8f0; border-radius: 8px; background: #f8fafc; color: #475569; font: 13px/1.7 'Yu Gothic', sans-serif; margin: 0 0 20px; }
.lpf-form .static-form-reset { display: block; margin-top: 6px; padding: 2px 0; border-radius: 0; background: none; color: #475569; font-size: 12px; text-decoration: underline; }
.icon.fa.fa-envelope::before { content: '✉'; font-family: sans-serif; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
