/* Preserve the existing design while improving keyboard access and resilience. */
.anim, .fadeIn { opacity: 1; visibility: visible; transform: none; }
.reveal-ready .anim { opacity: 0; visibility: hidden; transform: translateY(90px); transition: .8s; }
.reveal-ready .anim.is_active { opacity: 1; visibility: visible; transform: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
:focus-visible { outline: 3px solid #f2b544; outline-offset: 4px; }
html { scroll-padding-top: 90px; }
.skip-link { position: fixed; left: 1rem; top: -100px; padding: 1rem 2rem; color: #fff; background: #00003c; z-index: 2000; }
.skip-link:focus { top: 1rem; }
.menu_btn { box-sizing: border-box; margin: 0; padding-right: 0; padding-bottom: 0; padding-left: 0; border: 0; background: transparent; font-family: inherit; line-height: inherit; }
.menu_btn span { position: absolute; top: 10px; left: 0; right: 0; }
.tp-top.is-visible { display: block; }
.hero { height: 100vh; }
.hero-inner, .video-container { display: block; }
.video-container video { width: 100%; height: 100%; object-fit: cover; inset: 0; min-width: 0; min-height: 0; transform: none; }
.top-about .top-childs { isolation: isolate; }
.video-toggle { position: absolute; bottom: 1rem; right: 1rem; z-index: 5; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 4px; color: #fff; background: transparent; cursor: pointer; }
.video-toggle::before { content: ''; position: absolute; inset: 6px; border: 1px solid rgba(255, 255, 255, .4); border-radius: 50%; pointer-events: none; }
.video-toggle svg { width: 14px; height: 14px; fill: currentColor; opacity: .6; filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .65)); transition: opacity .2s; }
.video-toggle:hover svg, .video-toggle:focus-visible svg { opacity: 1; }
.video-toggle .video-toggle-play, .video-toggle[data-paused="true"] .video-toggle-pause { display: none; }
.video-toggle[data-paused="true"] .video-toggle-play { display: block; }
.video-toggle[hidden] { display: none; }
#video-dialog { width: min(90vw, 960px); max-width: none; border: 0; padding: 1.5rem; background: #00003c; color: #fff; }
#video-dialog::backdrop { background: rgba(0, 0, 0, .75); }
.dialog-close { display: block; margin: 0 0 1rem auto; padding: 1rem 2rem; background: #fff; color: #00003c; font: inherit; border: 0; cursor: pointer; }
.video-player { aspect-ratio: 16 / 9; }
.video-player iframe { width: 100%; height: 100%; border: 0; }
.form .field-error { color: #b00020; }
.form [aria-invalid="true"] { border-color: #b00020; }
.form .field-error { display: block; font-size: 1.4rem; }
.form .field-error:empty { display: none; }
.form .pp label { cursor: pointer; }
.form .pp div label { font-size: 1.6rem; }
.form .bot-field { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 870px) {
    .hero { height: auto; aspect-ratio: 1; min-height: 375px; }
    .video-container { position: absolute; inset: 0; }
    body.open header nav { display: block; }
    header nav { max-height: 100svh; overflow-y: auto; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
