/* Shared navigation motion: small cues that keep the menu legible. */
.site-header {
    --header-scroll-progress: 0;
    isolation: isolate;
}

.site-header::after {
    content: "";
    position: absolute;
    z-index: 1002;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    background: linear-gradient(90deg, #11554e, #c6a15b 54%, #11554e);
    transform: scaleX(var(--header-scroll-progress));
    transform-origin: left center;
    pointer-events: none;
}

.site-header .navbar-premium {
    transition: padding .28s ease, box-shadow .28s ease, background .28s ease;
}

@media (min-width: 992px) {
    .site-header .navbar-premium.scrolled {
        padding-top: 8px;
        padding-bottom: 8px;
    }
}

.site-header .brand-logo {
    transition: transform .3s ease, filter .3s ease;
}

.site-header .brand:hover .brand-logo,
.site-header .brand:focus-visible .brand-logo {
    transform: translateY(-2px) rotate(-1deg);
    filter: drop-shadow(0 7px 9px rgba(17, 85, 78, .16));
}

.site-header .navbar-premium .nav-link {
    position: relative;
    transition: color .22s ease, background .22s ease, box-shadow .22s ease, transform .22s ease;
}

.site-header .navbar-premium .nav-link:hover,
.site-header .navbar-premium .nav-link:focus-visible {
    transform: translateY(-2px);
    box-shadow: inset 0 -2px 0 rgba(17, 85, 78, .65);
}

.site-header .navbar-premium .nav-link.nav-current {
    color: #114d47 !important;
    background: rgba(17, 85, 78, .07);
    box-shadow: inset 0 -2px 0 #11554e;
    font-weight: 650;
}

.site-header .navbar-premium .btn-premium {
    position: relative;
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease;
}

.site-header .navbar-premium .btn-premium::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 28%, rgba(255,255,255,.3) 50%, transparent 72%);
    transform: translateX(-160%);
    transition: transform .7s ease;
    pointer-events: none;
}

.site-header .navbar-premium .btn-premium:hover,
.site-header .navbar-premium .btn-premium:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 11px 22px rgba(17, 85, 78, .2);
}

.site-header .navbar-premium .btn-premium:hover::before,
.site-header .navbar-premium .btn-premium:focus-visible::before {
    transform: translateX(160%);
}

.site-header .premium-toggler {
    transition: background .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.site-header .premium-toggler:focus-visible {
    outline: 3px solid rgba(17, 85, 78, .35);
    outline-offset: 3px;
}

.site-header .premium-toggler span {
    transition: transform .24s ease, opacity .24s ease;
}

.site-body.header-menu-open .site-header .premium-toggler span:first-child {
    transform: translateY(8px) rotate(45deg);
}

.site-body.header-menu-open .site-header .premium-toggler span:nth-child(2) {
    opacity: 0;
}

.site-body.header-menu-open .site-header .premium-toggler span:last-child {
    transform: translateY(-8px) rotate(-45deg);
}

@media (prefers-reduced-motion: reduce) {
    .site-header .navbar-premium,
    .site-header .brand-logo,
    .site-header .navbar-premium .nav-link,
    .site-header .navbar-premium .btn-premium,
    .site-header .navbar-premium .btn-premium::before,
    .site-header .premium-toggler,
    .site-header .premium-toggler span {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }
}
