@media (max-width: 67rem) {
    /* One authoritative mobile navigation implementation. */
    .site-header .header-actions {
        display: none !important;
    }

    .site-header .header-navigation {
        position: absolute !important;
        top: calc(100% + .5rem) !important;
        right: .75rem !important;
        bottom: auto !important;
        left: auto !important;
        width: min(21rem, calc(100vw - 1.5rem)) !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: calc(100dvh - var(--header-height) - var(--partner-bar-height, 0rem) - 1.5rem) !important;
        display: none !important;
        padding: .65rem !important;
        overflow-y: auto !important;
        background: rgba(255, 255, 255, .985) !important;
        border: 1px solid #dce6f0 !important;
        border-radius: 1.1rem !important;
        box-shadow: 0 1.25rem 3rem rgba(10, 27, 45, .16) !important;
        backdrop-filter: blur(1rem) saturate(150%) !important;
    }

    .site-header .header-navigation.is-open {
        display: grid !important;
        gap: .55rem !important;
        animation: skpm-mobile-nav-in 220ms cubic-bezier(.22, 1, .36, 1) both !important;
    }

    .site-header .header-navigation::before,
    .site-header .header-navigation::after,
    .site-header .header-navigation__eyebrow,
    .site-header .header-navigation__title,
    .site-header .header-navigation__label,
    .site-header .header-navigation .header-booking {
        display: none !important;
        content: none !important;
    }

    .site-header .header-navigation__links {
        width: 100% !important;
        display: grid !important;
        align-items: stretch !important;
        justify-content: stretch !important;
        justify-items: stretch !important;
        gap: .1rem !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .site-header .header-navigation__links > .header-navigation__link,
    .site-header .header-navigation__item {
        width: 100% !important;
    }

    .site-header .header-navigation__links > .header-navigation__link,
    .site-header .header-navigation__trigger {
        width: 100% !important;
        min-height: 2.75rem !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        margin: 0 !important;
        padding: .62rem .78rem !important;
        color: var(--ink) !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: .78rem !important;
        font-size: .97rem !important;
        font-weight: 760 !important;
        line-height: 1.2 !important;
        letter-spacing: -.01em !important;
        text-align: left !important;
        text-decoration: none !important;
    }

    .site-header .header-navigation__trigger {
        border: 0 !important;
        cursor: pointer !important;
    }

    .site-header .header-navigation__trigger svg {
        width: .9rem !important;
        height: .9rem !important;
        margin-left: auto !important;
        transition: transform 200ms cubic-bezier(.22, 1, .36, 1) !important;
    }

    .site-header .header-navigation__links > .header-navigation__link::after,
    .site-header .header-navigation__trigger::after {
        display: none !important;
    }

    .site-header .header-navigation__links > .header-navigation__link::before,
    .site-header .header-navigation__trigger::before {
        content: "" !important;
        flex: 0 0 auto !important;
        width: .24rem !important;
        height: 1.05rem !important;
        margin-right: .72rem !important;
        background: #d7e5f4 !important;
        border-radius: 999px !important;
        box-shadow: none !important;
        transform: none !important;
    }

    .site-header .header-navigation__links > .header-navigation__link:hover,
    .site-header .header-navigation__links > .header-navigation__link:focus-visible,
    .site-header .header-navigation__trigger:hover,
    .site-header .header-navigation__trigger:focus-visible {
        color: var(--primary-dark) !important;
        background: #f1f7ff !important;
    }

    .site-header .header-navigation__links > .header-navigation__link:hover::before,
    .site-header .header-navigation__links > .header-navigation__link:focus-visible::before,
    .site-header .header-navigation__links > .header-navigation__link.is-active::before,
    .site-header .header-navigation__trigger:hover::before,
    .site-header .header-navigation__trigger:focus-visible::before,
    .site-header .header-navigation__trigger.is-active::before {
        background: var(--primary) !important;
    }

    .site-header .header-navigation__item {
        position: static !important;
        display: grid !important;
        min-width: 0 !important;
    }

    .site-header .header-navigation__item.is-open .header-navigation__trigger {
        color: var(--primary-dark) !important;
        background: #f1f7ff !important;
    }

    .site-header .header-navigation__item.is-open .header-navigation__trigger::before {
        background: var(--primary) !important;
    }

    .site-header .header-navigation__dropdown,
    .site-header .header-navigation__item:hover .header-navigation__dropdown,
    .site-header .header-navigation__item:focus-within .header-navigation__dropdown {
        position: static !important;
        width: auto !important;
        display: none !important;
        gap: .08rem !important;
        margin: .12rem 0 .35rem 1rem !important;
        padding: .22rem 0 .22rem .68rem !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        background: transparent !important;
        border: 0 !important;
        border-left: 1px solid #dce8f4 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        transform: none !important;
        transition: none !important;
    }

    .site-header .header-navigation__item.is-open .header-navigation__dropdown {
        display: grid !important;
    }

    .site-header .header-navigation__dropdown::before {
        display: none !important;
        content: none !important;
    }

    .site-header .header-navigation__dropdown a {
        min-height: 2.45rem !important;
        display: grid !important;
        gap: .08rem !important;
        align-content: center !important;
        margin: 0 !important;
        padding: .52rem .68rem !important;
        color: #30475f !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: .7rem !important;
        font-size: .9rem !important;
        line-height: 1.2 !important;
        text-decoration: none !important;
        transform: none !important;
    }

    .site-header .header-navigation__dropdown a::before,
    .site-header .header-navigation__dropdown a::after {
        display: none !important;
        content: none !important;
    }

    .site-header .header-navigation__dropdown a span {
        font-size: .9rem !important;
        font-weight: 760 !important;
    }

    .site-header .header-navigation__dropdown a small {
        color: #728397 !important;
        font-size: .7rem !important;
        font-weight: 620 !important;
    }

    .site-header .header-navigation__dropdown a:hover,
    .site-header .header-navigation__dropdown a:focus-visible,
    .site-header .header-navigation__dropdown a.is-active {
        color: var(--primary-dark) !important;
        background: #eef6ff !important;
    }

    .site-header .header-navigation__mobile-actions {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: .6rem !important;
        margin: 0 !important;
        padding: .7rem 0 0 !important;
        border-top: 1px solid var(--line) !important;
    }

    .site-header .header-navigation__communities {
        display: grid !important;
        gap: .45rem !important;
    }

    .site-header .header-community-card {
        width: 100% !important;
        min-height: 3.65rem !important;
        display: flex !important;
        align-items: center !important;
        gap: .72rem !important;
        margin: 0 !important;
        padding: .68rem .78rem !important;
        color: #fff !important;
        background: #0b1d2d !important;
        border: 1px solid rgba(255, 255, 255, .08) !important;
        border-radius: .85rem !important;
        box-shadow: 0 .55rem 1.35rem rgba(10, 27, 45, .15) !important;
        text-decoration: none !important;
        transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 200ms cubic-bezier(.22, 1, .36, 1) !important;
    }

    .site-header .header-community-card:hover,
    .site-header .header-community-card:focus-visible {
        color: #fff !important;
        background: #10283a !important;
        transform: translateY(-1px) !important;
    }

    .site-header .header-community-card--ace:hover,
    .site-header .header-community-card--ace:focus-visible {
        border-color: rgba(179, 249, 14, .42) !important;
        box-shadow: 0 .65rem 1.5rem rgba(10, 27, 45, .18), 0 0 0 .18rem rgba(179, 249, 14, .06) !important;
    }

    .site-header .header-community-card--whatsapp:hover,
    .site-header .header-community-card--whatsapp:focus-visible {
        border-color: rgba(37, 211, 102, .46) !important;
        box-shadow: 0 .65rem 1.5rem rgba(10, 27, 45, .18), 0 0 0 .18rem rgba(37, 211, 102, .07) !important;
    }

    .site-header .header-community-card__brand {
        width: 3.5rem !important;
        height: 2.5rem !important;
        display: grid !important;
        place-items: center !important;
        flex: 0 0 3.5rem !important;
        background: rgba(255, 255, 255, .045) !important;
        border: 1px solid rgba(255, 255, 255, .08) !important;
        border-radius: .68rem !important;
    }

    .site-header .header-community-card__brand--ace {
        border-color: rgba(179, 249, 14, .13) !important;
    }

    .site-header .header-community-card__brand--whatsapp {
        border-color: rgba(37, 211, 102, .15) !important;
    }

    .site-header .header-community-card__logo {
        height: auto !important;
        display: block !important;
        max-width: 100% !important;
    }

    .site-header .header-community-card__logo--ace {
        width: 2.9rem !important;
    }

    .site-header .header-community-card__logo--whatsapp {
        width: 1.7rem !important;
    }

    .site-header .header-community-card__copy {
        min-width: 0 !important;
        display: grid !important;
        gap: .12rem !important;
    }

    .site-header .header-community-card__copy strong {
        color: #fff !important;
        font-size: .82rem !important;
        font-weight: 790 !important;
    }

    .site-header .header-community-card__copy small {
        display: block !important;
        overflow: hidden !important;
        color: rgba(255, 255, 255, .68) !important;
        font-size: .66rem !important;
        font-weight: 620 !important;
        line-height: 1.25 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .site-header .header-community-card__arrow {
        margin-left: auto !important;
        font-size: .85rem !important;
        font-weight: 800 !important;
        line-height: 1 !important;
    }

    .site-header .header-community-card--ace .header-community-card__arrow {
        color: #b3f90e !important;
    }

    .site-header .header-community-card--whatsapp .header-community-card__arrow {
        color: #25d366 !important;
    }

    .site-header .header-navigation__language {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: .75rem !important;
        padding: 0 .78rem .15rem !important;
    }

    .site-header .header-navigation__language-label {
        color: var(--ink-soft) !important;
        font-size: .8rem !important;
        font-weight: 720 !important;
    }

    /* Premium two-line menu control. The icon is drawn with pseudo-elements
       so legacy span rules cannot turn the icon container into a black block. */
    .site-header .menu-button {
        width: 2.8rem !important;
        height: 2.8rem !important;
        position: relative !important;
        display: grid !important;
        place-items: center !important;
        padding: 0 !important;
        color: var(--ink) !important;
        background: rgba(255, 255, 255, .98) !important;
        border: 1px solid #d8e3ee !important;
        border-radius: .9rem !important;
        box-shadow: 0 .35rem 1rem rgba(10, 27, 45, .07) !important;
        cursor: pointer !important;
        -webkit-tap-highlight-color: transparent;
        transition: color 200ms ease, background-color 200ms ease, border-color 200ms ease, box-shadow 200ms ease, transform 200ms cubic-bezier(.22, 1, .36, 1) !important;
    }

    .site-header .menu-button:hover,
    .site-header .menu-button:focus-visible {
        color: var(--primary-dark) !important;
        border-color: rgba(0, 123, 255, .38) !important;
        box-shadow: 0 .5rem 1.25rem rgba(0, 91, 191, .12) !important;
        transform: translateY(-1px) !important;
    }

    .site-header .menu-button[aria-expanded="true"] {
        color: var(--primary-dark) !important;
        background: #f3f8ff !important;
        border-color: rgba(0, 123, 255, .42) !important;
        box-shadow: 0 .45rem 1.15rem rgba(0, 91, 191, .13) !important;
    }

    .site-header .menu-button__icon {
        position: relative !important;
        width: 1.3rem !important;
        height: 1rem !important;
        display: block !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .site-header .menu-button__icon::before,
    .site-header .menu-button__icon::after {
        content: "";
        position: absolute;
        left: 50%;
        width: 1.3rem;
        height: 2px;
        background: currentColor;
        border-radius: 999px;
        transform: translateX(-50%);
        transform-origin: center;
        transition: top 280ms cubic-bezier(.22, 1, .36, 1), width 220ms ease, transform 320ms cubic-bezier(.22, 1, .36, 1);
    }

    .site-header .menu-button__icon::before {
        top: .18rem;
    }

    .site-header .menu-button__icon::after {
        top: .68rem;
        width: .88rem;
        margin-left: .21rem;
    }

    .site-header .menu-button[aria-expanded="true"] .menu-button__icon::before,
    .site-header .menu-button[aria-expanded="true"] .menu-button__icon::after {
        top: calc(50% - 1px);
        width: 1.2rem;
        margin-left: 0;
    }

    .site-header .menu-button[aria-expanded="true"] .menu-button__icon::before {
        transform: translateX(-50%) rotate(45deg);
    }

    .site-header .menu-button[aria-expanded="true"] .menu-button__icon::after {
        transform: translateX(-50%) rotate(-45deg);
    }

    .site-header .menu-button__line,
    .site-header .menu-button__accent {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        background: transparent !important;
    }

    /* One stable, centred mobile booking CTA with safe-area support. */
    .mobile-booking {
        position: fixed !important;
        z-index: 85 !important;
        right: max(1rem, env(safe-area-inset-right)) !important;
        bottom: calc(1rem + env(safe-area-inset-bottom)) !important;
        left: max(1rem, env(safe-area-inset-left)) !important;
        width: auto !important;
        max-width: 32rem !important;
        min-height: 3.45rem !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: .85rem 1.35rem !important;
        margin-inline: auto !important;
        overflow: hidden !important;
        color: #fff !important;
        background: linear-gradient(135deg, #1188ff 0%, #0073ed 100%) !important;
        border: 1px solid rgba(255, 255, 255, .18) !important;
        border-radius: 999px !important;
        box-shadow: 0 .8rem 2rem rgba(0, 94, 196, .26) !important;
        font-size: 1rem !important;
        font-weight: 820 !important;
        line-height: 1 !important;
        letter-spacing: -.01em !important;
        text-align: center !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        opacity: 1;
        transform: translateY(0);
        transition: opacity 180ms ease, transform 220ms cubic-bezier(.22, 1, .36, 1), box-shadow 180ms ease !important;
    }

    .mobile-booking:hover,
    .mobile-booking:focus-visible {
        box-shadow: 0 1rem 2.4rem rgba(0, 94, 196, .32) !important;
        transform: translateY(-2px) !important;
    }

    body.has-mobile-menu-open .mobile-booking {
        opacity: 0 !important;
        pointer-events: none !important;
        transform: translateY(1rem) !important;
    }
}

@media (max-width: 34rem) {
    .site-header .header-navigation {
        right: .6rem !important;
        width: min(20rem, calc(100vw - 1.2rem)) !important;
        padding: .55rem !important;
        border-radius: 1rem !important;
    }

    .site-header .header-navigation__links > .header-navigation__link,
    .site-header .header-navigation__trigger {
        min-height: 2.75rem !important;
        padding: .57rem .7rem !important;
        font-size: .94rem !important;
    }

    .site-header .header-community-card {
        min-height: 3.45rem !important;
        padding: .62rem .7rem !important;
    }

    .site-header .header-community-card__brand {
        width: 3.25rem !important;
        height: 2.35rem !important;
        flex-basis: 3.25rem !important;
    }

    .site-header .header-community-card__logo--ace {
        width: 2.7rem !important;
    }

    .site-header .header-community-card__logo--whatsapp {
        width: 1.6rem !important;
    }

    .site-header .menu-button {
        width: 2.75rem !important;
        height: 2.75rem !important;
        border-radius: .82rem !important;
    }

    .mobile-booking {
        right: max(.75rem, env(safe-area-inset-right)) !important;
        bottom: calc(.75rem + env(safe-area-inset-bottom)) !important;
        left: max(.75rem, env(safe-area-inset-left)) !important;
        min-height: 3.25rem !important;
        padding-inline: 1.1rem !important;
        font-size: .96rem !important;
    }
}

@keyframes skpm-mobile-nav-in {
    from { opacity: 0; transform: translateY(-.35rem) scale(.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
    .site-header .header-navigation.is-open { animation: none !important; }
    .site-header .menu-button,
    .site-header .menu-button__icon::before,
    .site-header .menu-button__icon::after,
    .mobile-booking { transition: none !important; }
}
