            #landing-menu-toggle {
                display: none;
                align-items: center;
                justify-content: center;
                width: 44px;
                height: 44px;
                padding: 0;
                border: none;
                border-radius: 0;
                background: transparent;
                color: #0f4c81;
                cursor: pointer;
            }

            #landing-menu-toggle:hover {
                color: #2563eb;
            }

            /* Three independently animated lines */
            .menu-icon {
                position: relative;
                display: block;
                width: 26px;
                height: 22px;
            }

            .menu-icon>span {
                position: absolute;
                left: 0;
                top: 10px;
                width: 26px;
                height: 2px;
                border-radius: 2px;
                background: currentColor;
                transition: transform 250ms ease, opacity 150ms ease;
            }

            .menu-icon>span:nth-child(1) {
                transform: translateY(-8px);
            }

            .menu-icon>span:nth-child(3) {
                transform: translateY(8px);
            }

            /* Open state: top and bottom lines form an X */
            #landing-menu-toggle[aria-expanded="true"] .menu-icon>span:nth-child(1) {
                transform: rotate(45deg);
            }

            #landing-menu-toggle[aria-expanded="true"] .menu-icon>span:nth-child(2) {
                opacity: 0;
                transform: scaleX(0);
            }

            #landing-menu-toggle[aria-expanded="true"] .menu-icon>span:nth-child(3) {
                transform: rotate(-45deg);
            }

            @media (max-width: 767px) {
                #landing-nav {
                    position: relative;
                    gap: 0;
                }

                #landing-menu-toggle:not([hidden]) {
                    display: inline-flex;
                }

                /* Closed state */
                #landing-nav.menu-ready #landing-menu {
                    display: flex;
                    position: absolute;
                    top: 100%;
                    left: 0;
                    right: 0;
                    flex-direction: column;
                    align-items: stretch;
                    gap: 8px;
                    padding: 12px;
                    background: white;
                    border-bottom: 1px solid #e2e8f0;
                    box-shadow: 0 12px 20px rgb(15 23 42 / 0.12);
                    max-height: calc(100dvh - 80px);
                    overflow-y: auto;

                    opacity: 0;
                    visibility: hidden;
                    pointer-events: none;
                    transform: translateY(-12px);
                    clip-path: inset(0 0 100% 0);

                    transition:
                        transform 250ms ease,
                        clip-path 250ms ease,
                        opacity 200ms ease,
                        visibility 0s linear 250ms;
                }

                /* Open state: slide down and reveal the links */
                #landing-nav.menu-ready #landing-menu.is-open {
                    opacity: 1;
                    visibility: visible;
                    pointer-events: auto;
                    transform: translateY(0);
                    clip-path: inset(0 0 -30px 0);
                    transition-delay: 0s;
                }

                #landing-menu>a {
                    justify-content: center;
                    width: 100%;
                    white-space: nowrap;
                }
            }


@media (prefers-reduced-motion: reduce) { .menu-icon>span, #landing-nav.menu-ready #landing-menu { transition: none; } }

/* Dark mode: the shared palette remaps slate-900 to a light off-white, so the
   header's shadow-slate-900/10 rendered as a light glow. Keep it a dark shadow. */
html.dark header:has(> #landing-nav) {
    --tw-shadow-color: rgb(0 0 0 / 0.45);
}

.fc-skip-link:focus {
    z-index: 50;
}

