/* =========================================================
   PÁGINAS LEGALES
========================================================= */

.legal-page{
    background:
        radial-gradient(
            circle at 15% 10%,
            rgba(191, 143, 77, .10),
            transparent 32%
        ),
        radial-gradient(
            circle at 85% 30%,
            rgba(255, 45, 145, .06),
            transparent 28%
        ),
        #080808;

    color:#fff;
}


/* =========================================================
   HERO
========================================================= */

.legal-hero{
    position:relative;
    min-height:74vh;

    display:flex;
    align-items:center;
    justify-content:center;

    overflow:hidden;

    padding:
        calc(var(--header-height, 90px) + 90px)
        24px
        90px;

    text-align:center;
}

.legal-hero::before{
    content:"";
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.12),
            rgba(0,0,0,.58)
        );

    pointer-events:none;
}

.legal-hero__glow{
    position:absolute;
    top:50%;
    left:50%;

    width:min(680px, 90vw);
    aspect-ratio:1;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(197, 153, 88, .16),
            transparent 68%
        );

    transform:translate(-50%, -50%);
    filter:blur(18px);

    pointer-events:none;
}

.legal-hero__content{
    position:relative;
    z-index:1;

    width:min(900px, 100%);
    margin:0 auto;
}

.legal-kicker{
    margin:0 0 22px;

    font-family:var(--font-body);
    font-size:.68rem;
    font-weight:500;
    line-height:1.4;
    letter-spacing:.32em;
    text-transform:uppercase;

    color:#d9b572;
}

.legal-hero__title{
    max-width:900px;
    margin:0 auto 28px;

    font-family:var(--font-title);
    font-size:clamp(3.4rem, 8vw, 7.6rem);
    font-weight:400;
    line-height:.88;
    letter-spacing:-.055em;
}

.legal-hero__description{
    max-width:650px;
    margin:0 auto 38px;

    font-size:.95rem;
    line-height:1.85;

    color:rgba(255,255,255,.68);
}

.legal-hero__button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:14px;

    min-width:196px;

    padding:14px 24px;

    border:1px solid rgba(217,181,114,.62);
    border-radius:999px;

    color:#fff;
    font-size:.62rem;
    letter-spacing:.20em;
    text-transform:uppercase;
    text-decoration:none;

    transition:
        background-color .3s ease,
        border-color .3s ease,
        color .3s ease,
        transform .3s ease;
}

.legal-hero__button:hover{
    color:#080808;
    background:#d9b572;
    border-color:#d9b572;
    transform:translateY(-3px);
}


/* =========================================================
   CONTENIDO
========================================================= */

.legal-content{
    position:relative;
    padding:120px 0 130px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.025),
            transparent 20%
        );
}

.legal-content__layout{
    width:min(1180px, calc(100% - 72px));
    margin:0 auto;

    display:grid;
    grid-template-columns:240px minmax(0, 1fr);
    gap:90px;

    align-items:start;
}


/* =========================================================
   ÍNDICE
========================================================= */

.legal-index{
    position:sticky;
    top:130px;

    padding:28px;

    border:1px solid rgba(255,255,255,.10);
    border-radius:22px;

    background:rgba(255,255,255,.025);
    backdrop-filter:blur(18px);
}

.legal-index__title{
    margin:0 0 22px;

    font-family:var(--font-title);
    font-size:1.35rem;
    line-height:1.1;
}

.legal-index nav{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:13px;
}

.legal-index a{
    position:relative;

    color:rgba(255,255,255,.54);
    font-size:.70rem;
    line-height:1.45;
    text-decoration:none;

    transition:
        color .3s ease,
        transform .3s ease;
}

.legal-index a:hover{
    color:#d9b572;
    transform:translateX(4px);
}


/* =========================================================
   DOCUMENTO
========================================================= */

.legal-document{
    min-width:0;
}

.legal-section{
    display:grid;
    grid-template-columns:62px minmax(0, 1fr);
    gap:30px;

    padding:0 0 72px;
    margin:0 0 72px;

    border-bottom:1px solid rgba(255,255,255,.09);
}

.legal-section__number{
    font-family:var(--font-title);
    font-size:1.15rem;
    line-height:1;

    color:#d9b572;
}

.legal-section h2{
    margin:0 0 24px;

    font-family:var(--font-title);
    font-size:clamp(2rem, 3.6vw, 3.7rem);
    font-weight:400;
    line-height:.96;
    letter-spacing:-.04em;
}

.legal-section p{
    max-width:760px;
    margin:0 0 18px;

    font-size:.91rem;
    line-height:1.9;

    color:rgba(255,255,255,.68);
}

.legal-section ul{
    max-width:760px;
    margin:26px 0;
    padding:0;

    list-style:none;
}

.legal-section li{
    position:relative;

    margin:0 0 13px;
    padding-left:25px;

    font-size:.88rem;
    line-height:1.75;

    color:rgba(255,255,255,.68);
}

.legal-section li::before{
    content:"✦";

    position:absolute;
    top:1px;
    left:0;

    color:#d9b572;
    font-size:.62rem;
}

.legal-section a{
    color:#d9b572;
    text-decoration:none;
    overflow-wrap:anywhere;
}

.legal-section a:hover{
    text-decoration:underline;
}

.legal-card{
    max-width:720px;

    margin-top:26px;
    padding:26px 28px;

    border:1px solid rgba(217,181,114,.24);
    border-radius:20px;

    background:
        linear-gradient(
            135deg,
            rgba(217,181,114,.07),
            rgba(255,255,255,.018)
        );
}

.legal-card p{
    margin:0 0 11px;
}

.legal-card p:last-child{
    margin-bottom:0;
}

.legal-card strong{
    color:#fff;
    font-weight:500;
}

.legal-note{
    position:relative;

    max-width:720px;

    margin-top:28px !important;
    padding:20px 22px 20px 48px;

    border-left:2px solid #d9b572;

    background:rgba(217,181,114,.055);
}

.legal-note::before{
    content:"✦";

    position:absolute;
    top:20px;
    left:20px;

    color:#d9b572;
}

.legal-update{
    margin-top:30px !important;

    color:rgba(255,255,255,.88) !important;
}

.legal-update strong{
    color:#d9b572;
    font-weight:500;
}


/* =========================================================
   CONTACTO FINAL
========================================================= */

.legal-contact{
    margin-top:100px;
    padding:64px 56px;

    border:1px solid rgba(255,255,255,.10);
    border-radius:28px;

    text-align:center;

    background:
        radial-gradient(
            circle at center,
            rgba(217,181,114,.10),
            transparent 65%
        ),
        rgba(255,255,255,.02);
}

.legal-contact h2{
    max-width:620px;
    margin:0 auto 30px;

    font-family:var(--font-title);
    font-size:clamp(2.4rem, 4.8vw, 4.8rem);
    font-weight:400;
    line-height:.93;
    letter-spacing:-.045em;
}

.legal-contact__button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:14px;

    max-width:100%;
    padding:14px 24px;

    border:1px solid rgba(217,181,114,.50);
    border-radius:999px;

    color:#fff;
    font-size:.68rem;
    line-height:1.4;
    letter-spacing:.07em;
    text-decoration:none;

    overflow-wrap:anywhere;

    transition:
        color .3s ease,
        background-color .3s ease,
        transform .3s ease;
}

.legal-contact__button:hover{
    color:#080808;
    background:#d9b572;
    transform:translateY(-3px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width:980px){

    .legal-content__layout{
        grid-template-columns:1fr;
        gap:60px;
    }

    .legal-index{
        position:relative;
        top:auto;

        padding:24px;
    }

    .legal-index nav{
        display:grid;
        grid-template-columns:repeat(3, minmax(0, 1fr));
        gap:14px 24px;
    }

}


/* =========================================================
   MÓVIL
========================================================= */

@media (max-width:720px){

    .legal-hero{
        min-height:68vh;

        padding:
            calc(var(--header-height, 80px) + 80px)
            21px
            70px;
    }

    .legal-kicker{
        margin-bottom:18px;

        font-size:.58rem;
        letter-spacing:.27em;
    }

    .legal-hero__title{
        max-width:340px;

        margin-bottom:22px;

        font-size:clamp(2.9rem, 15vw, 4.2rem);
        line-height:.90;
    }

    .legal-hero__description{
        max-width:330px;

        margin-bottom:30px;

        font-size:.78rem;
        line-height:1.75;
    }

    .legal-hero__button{
        min-width:168px;

        padding:11px 18px;

        font-size:.53rem;
    }


    .legal-content{
        padding:78px 0 90px;
    }

    .legal-content__layout{
        width:calc(100% - 42px);
        gap:48px;
    }

    .legal-index{
        padding:22px;
        border-radius:18px;
    }

    .legal-index__title{
        font-size:1.15rem;
    }

    .legal-index nav{
        grid-template-columns:1fr 1fr;
        gap:12px 18px;
    }

    .legal-index a{
        font-size:.65rem;
    }


    .legal-section{
        grid-template-columns:1fr;
        gap:18px;

        padding-bottom:48px;
        margin-bottom:48px;
    }

    .legal-section__number{
        font-size:.82rem;
    }

    .legal-section h2{
        max-width:320px;

        font-size:1.85rem;
        line-height:.98;
    }

    .legal-section p{
        font-size:.80rem;
        line-height:1.78;
    }

    .legal-section li{
        padding-left:22px;

        font-size:.78rem;
        line-height:1.68;
    }

    .legal-card{
        padding:21px;
        border-radius:17px;
    }

    .legal-note{
        padding:
            18px
            18px
            18px
            42px;
    }

    .legal-note::before{
        top:18px;
        left:17px;
    }


    .legal-contact{
        margin-top:70px;
        padding:48px 22px;

        border-radius:22px;
    }

    .legal-contact h2{
        max-width:290px;

        margin-bottom:25px;

        font-size:2.15rem;
        line-height:.94;
    }

    .legal-contact__button{
        width:100%;

        padding:12px 15px;

        font-size:.58rem;
    }

}