



.site-header {
    transition: background-color 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                border-color 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                backdrop-filter 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                -webkit-backdrop-filter 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}


.site-header.header-at-hero {
    background-color: transparent;
    border-bottom-color: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}


.site-header.header-at-hero::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: calc(var(--header-height) + 48px);
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.4) 0%,
        rgba(0, 0, 0, 0.15) 55%,
        transparent 100%
    );
    pointer-events: none;
    z-index: -1;
    opacity: 1;
    transition: opacity 0.5s ease;
}


.site-header::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: calc(var(--header-height) + 48px);
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.4) 0%,
        rgba(0, 0, 0, 0.15) 55%,
        transparent 100%
    );
    pointer-events: none;
    z-index: -1;
    opacity: 0;
    transition: opacity 0.5s ease;
}


.btn-header {
    border-radius: 50px !important;
    padding: 9px 26px;
    font-weight: 500;
    letter-spacing: 0.02em;
}



.site-header.header-at-hero .btn-primary.btn-header {
    background-color: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.45);
    color: var(--white);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.site-header.header-at-hero .btn-primary.btn-header:hover {
    background-color: var(--white);
    color: var(--accent-color);
    border-color: var(--white);
    box-shadow: 0 4px 20px rgba(255, 255, 255, 0.25);
    transform: translateY(-2px);
}

.site-header.header-at-hero .btn-outline.btn-header {
    border-color: rgba(255, 255, 255, 0.45);
    background-color: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.site-header.header-at-hero .btn-outline.btn-header:hover {
    background-color: var(--white);
    color: var(--accent-color);
    border-color: var(--white);
    box-shadow: 0 4px 20px rgba(255, 255, 255, 0.25);
    transform: translateY(-2px);
}



.site-header.header-at-hero .nav-item > a {
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.15);
}

.site-header.header-at-hero .nav-item > a::after {
    background-color: var(--white);
}


.site-header.header-at-hero .logo-name {
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.15);
}

.site-header.header-at-hero .logo-tagline {
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.1);
}



body.transparent-header-active .page-header {
    margin-top: calc(-1 * var(--header-height));
    padding-top: calc(200px + var(--header-height));
}


body.transparent-header-active .hero-section {
    margin-top: calc(-1 * var(--header-height));
}



.site-header.header-at-hero .dropdown-panel {
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
}



.site-header.header-at-hero .hamburger-line {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
}


@media (max-width: 1024px) {
    .btn-header {
        border-radius: 50px !important;
        padding: 8px 20px;
    }
}

@media (max-width: 968px) {
    
    .site-header.header-at-hero .hamburger-line {
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    }
}
