/* Lighthouse Prepro-only interaction repairs. Shared/live styles stay untouched. */
html { scrollbar-gutter: stable; }
#header button { border: 0; background: transparent; text-align: left; }
#header button.title { font-family: inherit; }
#header button:focus-visible, #header a:focus-visible { outline: 3px solid var(--gold); outline-offset: -3px; }
#header.minimenuopen { height: auto !important; transform: none !important; backdrop-filter: none !important; }
#header.scrolled { transform: none; position: fixed; }
#header.scrolled .subheader { display: none; }
#header .main .nav .menu .item .submenu { visibility: hidden; }
#header .main .nav .menu .item.is-expanded > .submenu { visibility: visible; opacity: 1; pointer-events: auto; transform: none; }
#header .main .nav .menu .item.is-expanded > .title { background: #fff; color: var(--navy-deep); }
#header .main .nav .menu .item.is-expanded .sublink { opacity: 1; transform: none; }
#header .main .nav .menu .item.is-expanded > .title .fa-solid { transform: rotate(90deg); }
#header .main .nav .menu .item > .title { cursor: pointer; }
#header .main.m1000 .nav {
    height: 100vh; height: 100dvh; max-height: 100dvh;
    box-sizing: border-box; padding: max(5.5rem, env(safe-area-inset-top)) 0 max(1.5rem, env(safe-area-inset-bottom));
    justify-content: flex-start; visibility: hidden; overflow: hidden;
    transition: opacity .2s ease, visibility 0s linear .2s;
}
#header .main.m1000 .nav.showmenu { visibility: visible; transition-delay: 0s; }
#header .main.m1000 .nav .menu {
    display: block; width: 100%; margin: 0; min-height: 0; overflow-y: auto;
    overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
}
#header .main.m1000 .nav .miniclose {
    position: absolute; top: max(1rem, env(safe-area-inset-top)); right: 1rem;
    width: 3rem; height: 3rem; padding: 0; display: grid; place-items: center;
    color: #fff; font-size: 2rem; background: var(--navy); border: 1px solid var(--gold);
    border-radius: .3rem; z-index: 1001;
}
#header .main.m1000 .nav .menu .item .title,
#header .main.m1000 .nav .menu .item .toplink { display: flex; white-space: normal; padding: .85rem 1.5rem; }
#header .main.m1000 .nav .menu .item .title .text { text-align: left; }
#header .main.m1000 .nav .menu .item .submenu { min-width: 0; pointer-events: auto; }
#header .main.m1000 .nav .menu .item .submenu .sublink { white-space: normal; padding: .8rem 1.5rem; opacity: 1; transform: none; }
#header .main.m1000 .nav .menu .item.is-expanded > .title { color: var(--navy-deep); }
#header .main.m1000 .nav .menu .item:hover:not(.is-expanded) > .title { background: transparent; color: white; }
#header .main.m1000 .nav .menu .item:hover:not(.is-expanded) > .title .fa-solid { transform: none; }
#header .main .minimenu { padding: .5rem; min-width: 44px; min-height: 44px; }
body.noscroll { overflow: hidden; }
/* Legacy reveal classes are visible until the scoped observer is ready. */
.scrollme { opacity: 1 !important; transform: none !important; clip-path: none !important; }
.lh-reveal { transition: opacity .45s ease, transform .45s ease; }
.scrollme.lh-reveal-pending { opacity: 0 !important; transform: translateY(16px) !important; }
.contmain.scrollme { opacity: 1 !important; transform: none !important; }
.home .lh-hero { min-height: 100svh; }
.home .lh-hero-bg { will-change: transform; }
#page-content { transition: opacity .2s ease; }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; transition-delay: 0ms !important; }
    .scrollme.lh-reveal-pending { opacity: 1 !important; transform: none !important; }
    .home .lh-hero-bg { transform: none !important; }
}
.site-audit .scrollme.lh-reveal-pending { opacity: 1 !important; transform: none !important; }
@media print { .scrollme.lh-reveal-pending { opacity: 1 !important; transform: none !important; } }
