.site-header {
        position: fixed;
        z-index: 1000;
        top: 0;
        right: 0;
        left: 0;
        padding:
            max(14px, env(safe-area-inset-top))
            max(16px, env(safe-area-inset-right))
            14px
            max(16px, env(safe-area-inset-left));
        transition:
            padding .3s ease,
            background-color .3s ease,
            box-shadow .3s ease,
            backdrop-filter .3s ease,
            transform .35s cubic-bezier(.2, .8, .2, 1);
    }

    .site-header.is-scrolled {
        padding-top: max(9px, env(safe-area-inset-top));
        padding-bottom: 9px;
        border-bottom: 1px solid rgba(255, 255, 255, .08);
        background: rgba(3, 4, 10, .78);
        box-shadow: 0 15px 45px rgba(0, 0, 0, .24);
        backdrop-filter: blur(22px) saturate(145%);
        -webkit-backdrop-filter: blur(22px) saturate(145%);
    }

    .site-header.is-hidden {
        transform: translateY(-110%);
    }

    .site-header__inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: min(100%, 1280px);
        min-height: 58px;
        margin-inline: auto;
        gap: 1rem;
    }

    .site-header__logo {
        position: relative;
        z-index: 3;
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        gap: .68rem;
        color: #fff;
        text-decoration: none;
    }

    .site-header__logo-mark {
        position: relative;
        display: grid;
        width: 42px;
        height: 42px;
        overflow: hidden;
        place-items: center;
        border: 1px solid rgba(255, 255, 255, .2);
        border-radius: 13px;
        background: linear-gradient(135deg, #087cff 5%, #7142ee 56%, #f326d7);
        box-shadow:
            0 0 25px rgba(8, 124, 255, .3),
            inset 0 1px rgba(255, 255, 255, .25);
        font-size: 1rem;
        font-weight: 950;
        letter-spacing: -.08em;
    }

    .site-header__logo-mark::after {
        position: absolute;
        width: 52px;
        height: 12px;
        content: "";
        background: rgba(255, 255, 255, .35);
        filter: blur(7px);
        transform: translate(-28px, -22px) rotate(-35deg);
        transition: transform .45s ease;
    }

    .site-header__logo:hover .site-header__logo-mark::after {
        transform: translate(27px, 22px) rotate(-35deg);
    }

    .site-header__logo-copy {
        display: grid;
        line-height: .92;
    }

    .site-header__logo-name {
        font-size: 1.08rem;
        font-weight: 950;
        letter-spacing: -.04em;
    }

    .site-header__logo-plus {
        margin-top: .32rem;
        color: #52ddff;
        font-size: .58rem;
        font-weight: 850;
        letter-spacing: .29em;
    }

    .site-header__desktop {
        display: none;
        align-items: center;
        gap: .15rem;
    }

    .site-header__link {
        position: relative;
        padding: .72rem .9rem;
        border-radius: 12px;
        color: #aeb5c8;
        font-size: .82rem;
        font-weight: 720;
        text-decoration: none;
        transition: color .22s ease, background-color .22s ease;
    }

    .site-header__link::after {
        position: absolute;
        right: .9rem;
        bottom: .36rem;
        left: .9rem;
        height: 2px;
        border-radius: 2px;
        content: "";
        opacity: 0;
        background: linear-gradient(90deg, #35d7ff, #7c3cff);
        box-shadow: 0 0 8px rgba(53, 215, 255, .5);
        transform: scaleX(.25);
        transition: opacity .22s ease, transform .22s ease;
    }

    .site-header__link:hover,
    .site-header__link:focus-visible,
    .site-header__link[aria-current="page"] {
        color: #fff;
        background: rgba(255, 255, 255, .045);
    }

    .site-header__link[aria-current="page"]::after {
        opacity: 1;
        transform: scaleX(1);
    }

    .site-header__actions {
        display: flex;
        align-items: center;
        gap: .55rem;
    }

    .site-header__cta {
        display: none;
        align-items: center;
        min-height: 42px;
        padding: .65rem 1rem;
        border: 1px solid rgba(255, 255, 255, .15);
        border-radius: 13px;
        color: #fff;
        background: linear-gradient(95deg, #087cff, #7142ee);
        box-shadow: 0 10px 25px rgba(8, 124, 255, .22);
        font-size: .77rem;
        font-weight: 850;
        text-decoration: none;
        transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
    }

    .site-header__cta:hover,
    .site-header__cta:focus-visible {
        box-shadow: 0 14px 34px rgba(8, 124, 255, .34);
        filter: brightness(1.08);
        transform: translateY(-2px);
    }

    .site-header__toggle {
        position: relative;
        z-index: 3;
        display: grid;
        width: 44px;
        height: 44px;
        padding: 0;
        border: 1px solid rgba(255, 255, 255, .12);
        border-radius: 13px;
        place-items: center;
        color: #fff;
        background: rgba(255, 255, 255, .055);
        cursor: pointer;
    }

    .site-header__toggle-lines {
        position: relative;
        width: 19px;
        height: 14px;
    }

    .site-header__toggle-line {
        position: absolute;
        left: 0;
        width: 19px;
        height: 1.5px;
        border-radius: 2px;
        background: currentColor;
        transition: top .25s ease, transform .25s ease, opacity .2s ease;
    }

    .site-header__toggle-line:nth-child(1) {
        top: 0;
    }

    .site-header__toggle-line:nth-child(2) {
        top: 6px;
    }

    .site-header__toggle-line:nth-child(3) {
        top: 12px;
    }

    .site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(1) {
        top: 6px;
        transform: rotate(45deg);
    }

    .site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(2) {
        opacity: 0;
    }

    .site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(3) {
        top: 6px;
        transform: rotate(-45deg);
    }

    .site-header__mobile {
        position: fixed;
        z-index: 2;
        inset: 0;
        display: grid;
        align-content: center;
        padding: 6rem 1.25rem;
        visibility: hidden;
        opacity: 0;
        background:
            radial-gradient(circle at 80% 15%, rgba(124, 60, 255, .22), transparent 35rem),
            radial-gradient(circle at 15% 90%, rgba(8, 124, 255, .2), transparent 30rem),
            rgba(3, 4, 10, .97);
        backdrop-filter: blur(25px);
        transition: visibility .3s ease, opacity .3s ease;
    }

    .site-header__mobile.is-open {
        visibility: visible;
        opacity: 1;
    }

    .site-header__mobile-list {
        display: grid;
        gap: .4rem;
        width: min(100%, 520px);
        margin: 0 auto;
        padding: 0;
        list-style: none;
    }

    .site-header__mobile-link {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 1rem .9rem;
        border-bottom: 1px solid rgba(255, 255, 255, .08);
        color: #d5daea;
        font-size: clamp(1.5rem, 7vw, 2.3rem);
        font-weight: 850;
        letter-spacing: -.04em;
        text-decoration: none;
        transition: color .2s ease, padding-left .2s ease;
    }

    .site-header__mobile-link span {
        color: #4edcff;
        font-size: 1rem;
    }

    .site-header__mobile-link:hover,
    .site-header__mobile-link:focus-visible,
    .site-header__mobile-link[aria-current="page"] {
        padding-left: 1.2rem;
        color: #fff;
    }

    body.menu-open {
        overflow: hidden;
    }

    /* El menú lateral permanece disponible en móvil. */

    @media (min-width: 680px) {
        .site-header__cta {
            display: inline-flex;
        }
    }

    @media (min-width: 900px) {
        .site-header {
            padding-right: 32px;
            padding-left: 32px;
        }

        .site-header__desktop {
            display: flex;
        }

        .site-header__toggle,
        .site-header__mobile {
            display: none;
        }
    }

    @media (min-width: 1800px) {
        .site-header__inner {
            width: min(100%, 1540px);
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .site-header,
        .site-header__mobile,
        .site-header__toggle-line {
            transition: none;
        }
    }

    .site-header {
        padding-top: max(12px, env(safe-area-inset-top));
        pointer-events: none;
    }

    .site-header__inner {
        width: min(calc(100% - 8px), 1360px);
        min-height: 66px;
        padding: 7px 10px 7px 14px;
        border: 1px solid rgba(255, 255, 255, .11);
        border-radius: 20px;
        background:
            linear-gradient(100deg, rgba(3, 4, 10, .72), rgba(8, 10, 22, .48) 48%, rgba(3, 4, 10, .68)),
            rgba(3, 4, 10, .35);
        box-shadow: 0 18px 50px rgba(0, 0, 0, .28), inset 0 1px rgba(255, 255, 255, .05);
        backdrop-filter: blur(18px) saturate(145%);
        -webkit-backdrop-filter: blur(18px) saturate(145%);
        pointer-events: auto;
    }

    .site-header.is-scrolled {
        padding-top: max(8px, env(safe-area-inset-top));
        border-bottom: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .site-header.is-scrolled .site-header__inner {
        border-color: rgba(255, 255, 255, .14);
        background: rgba(3, 4, 10, .84);
        box-shadow: 0 20px 55px rgba(0, 0, 0, .38);
        backdrop-filter: blur(24px) saturate(155%);
        -webkit-backdrop-filter: blur(24px) saturate(155%);
    }

    .site-header__logo-img {
        display: block;
        width: auto;
        height: 48px;
        max-width: 190px;
        object-fit: contain;
        filter: drop-shadow(0 7px 15px rgba(0, 0, 0, .45));
        transition: transform .22s ease, filter .22s ease;
    }

    .site-header__logo-fallback {
        display: none;
        align-items: center;
        gap: .68rem;
    }

    .site-header__logo.has-logo-error .site-header__logo-img {
        display: none;
    }

    .site-header__logo.has-logo-error .site-header__logo-fallback {
        display: inline-flex;
    }

    .site-header__logo:hover .site-header__logo-img {
        filter: drop-shadow(0 8px 20px rgba(8, 124, 255, .35));
        transform: translateY(-1px) scale(1.02);
    }

    .site-header__desktop {
        padding: 4px;
        border: 1px solid rgba(255, 255, 255, .055);
        border-radius: 14px;
        background: rgba(0, 0, 0, .13);
    }

    .site-header__link {
        color: rgba(238, 242, 255, .72);
        text-shadow: 0 2px 10px rgba(0, 0, 0, .8);
    }

    .site-header__link:hover,
    .site-header__link:focus-visible,
    .site-header__link[aria-current="page"] {
        background: rgba(255, 255, 255, .075);
    }

    .site-header__login {
        display: none;
        align-items: center;
        justify-content: center;
        min-height: 42px;
        padding: .65rem 1rem;
        border: 1px solid rgba(53, 215, 255, .28);
        border-radius: 13px;
        color: #fff;
        background: linear-gradient(105deg, rgba(8, 124, 255, .9), rgba(53, 215, 255, .86));
        box-shadow: 0 11px 26px rgba(8, 124, 255, .22);
        font-size: .76rem;
        font-weight: 850;
        text-decoration: none;
        transition: transform .22s ease, filter .22s ease, box-shadow .22s ease;
    }

    .site-header__login:hover,
    .site-header__login:focus-visible {
        box-shadow: 0 14px 32px rgba(8, 124, 255, .32);
        filter: brightness(1.08);
        transform: translateY(-2px);
    }

    @media (min-width: 760px) {
        .site-header__login { display: inline-flex; }
    }

    @media (min-width: 900px) {
        .site-header {
            padding-right: 20px;
            padding-left: 20px;
        }

        .site-header__inner {
            width: min(100%, 1360px);
        }
    }

    @media (max-width: 899px) {
        .site-header__inner {
            width: 100%;
            min-height: 58px;
            padding: 6px 7px 6px 11px;
            border-radius: 17px;
        }

        .site-header__logo-img {
            height: 42px;
            max-width: 150px;
        }
    }

    @media (max-width: 520px) {
        .site-header { padding-inline: 8px; }
        .site-header__logo-copy { display: none; }
    }

    /* Menú móvil flotante: no desplaza el contenido de la página. */
    @media (max-width: 899px) {
        .site-header__actions { margin-left: auto; gap: .4rem; }

        .site-header__login {
            display: inline-flex;
            min-height: 40px;
            padding: .58rem .78rem;
            white-space: nowrap;
            font-size: .7rem;
        }

        .site-header__cta { display: none; }

        .site-header__toggle {
            z-index: 1002;
            display: grid;
            flex: 0 0 42px;
            width: 42px;
            height: 42px;
        }

        .site-header__mobile {
            z-index: 1001;
            top: calc(max(12px, env(safe-area-inset-top)) + 70px);
            right: max(10px, env(safe-area-inset-right));
            bottom: auto;
            left: auto;
            display: block;
            width: min(88vw, 360px);
            max-height: calc(100dvh - 100px);
            padding: .75rem;
            overflow-y: auto;
            border: 1px solid rgba(255, 255, 255, .14);
            border-radius: 22px;
            visibility: hidden;
            opacity: 0;
            pointer-events: none;
            background: radial-gradient(circle at 90% 0, rgba(124, 60, 255, .2), transparent 17rem), rgba(5, 7, 16, .94);
            box-shadow: 0 24px 70px rgba(0, 0, 0, .58), inset 0 1px rgba(255, 255, 255, .06);
            backdrop-filter: blur(24px) saturate(150%);
            -webkit-backdrop-filter: blur(24px) saturate(150%);
            transform: translate3d(18px, -8px, 0) scale(.97);
            transform-origin: top right;
            transition: visibility .25s ease, opacity .25s ease, transform .25s ease;
        }

        .site-header__mobile.is-open {
            visibility: visible;
            opacity: 1;
            pointer-events: auto;
            transform: translate3d(0, 0, 0) scale(1);
        }

        .site-header__mobile-list { width: 100%; gap: .25rem; }

        .site-header__mobile-link {
            min-height: 54px;
            padding: .82rem .9rem;
            border: 0;
            border-radius: 14px;
            font-size: 1.05rem;
            letter-spacing: -.02em;
        }

        .site-header__mobile-link:hover,
        .site-header__mobile-link:focus-visible,
        .site-header__mobile-link[aria-current="page"] {
            padding-left: 1rem;
            background: linear-gradient(100deg, rgba(8, 124, 255, .16), rgba(124, 60, 255, .12));
        }

        body.menu-open { overflow: auto; }
    }

    @media (max-width: 430px) {
        .site-header__inner { gap: .35rem; padding-left: 8px; }
        .site-header__logo-img { height: 36px; max-width: 112px; }
        .site-header__login { min-height: 38px; padding: .52rem .62rem; font-size: .64rem; }
        .site-header__toggle { flex-basis: 40px; width: 40px; height: 40px; }
    }
