/* =========================================================
   INTRODUÇÃO COMPACTA
   ========================================================= */

.page-intro--compact {
    min-height:
        22rem;
}


/* =========================================================
   POLÍTICA DE PRIVACIDADE
   ========================================================= */

.legal-content {
    padding-block:
        clamp(
            4rem,
            8vw,
            7rem
        );

    background:
        var(--color-white);
}


.legal-content__body {
    max-width:
        54rem;
}


.legal-content__intro {
    margin-bottom:
        3rem;

    padding-bottom:
        2rem;

    border-bottom:
        1px solid
        var(--color-border);

    color:
        var(--color-navy);

    font-size:
        1.125rem;

    font-weight:
        600;

    line-height:
        1.8;
}


.legal-content__body h2 {
    margin-top:
        2.75rem;

    color:
        var(--color-navy);

    font-size:
        clamp(
            1.3rem,
            2vw,
            1.65rem
        );

    letter-spacing:
        -0.02em;

    line-height:
        1.25;
}


.legal-content__body h2:first-of-type {
    margin-top:
        0;
}


.legal-content__body p {
    margin-top:
        0.85rem;

    color:
        var(--color-text-muted);

    font-size:
        1rem;

    line-height:
        1.85;
}


.legal-content__contacts {
    display: flex;

    flex-wrap: wrap;

    align-items: center;

    gap:
        1.25rem;

    margin-top:
        3rem;

    padding-top:
        2rem;

    border-top:
        1px solid
        var(--color-border);
}


.legal-content__contact {
    color:
        var(--color-navy);

    font-weight:
        700;

    transition:
        color
        180ms
        ease;
}


.legal-content__contact:hover,
.legal-content__contact:focus-visible {
    color:
        var(--color-cyan);
}


/* =========================================================
   PÁGINAS DE ERRO
   ========================================================= */

.error-page {
    position: relative;

    min-height:
        calc(
            100vh -
            var(--header-height)
        );

    display: grid;

    overflow: hidden;

    place-items: center;

    padding-block:
        5rem;

    background:

        radial-gradient(
            circle at 78% 24%,
            rgb(0 181 226 / 18%),
            transparent 25rem
        ),

        linear-gradient(
            135deg,
            var(--color-navy),
            #003a5c
        );

    color:
        var(--color-white);
}


.error-page::before {
    position: absolute;

    top: -14rem;

    right: -10rem;

    width:
        34rem;

    height:
        34rem;

    border:
        1px solid
        rgb(0 181 226 / 16%);

    border-radius:
        50%;

    box-shadow:

        0 0 0 5rem
        rgb(0 181 226 / 3%),

        0 0 0 10rem
        rgb(0 181 226 / 2%);

    content: "";

    pointer-events:
        none;
}


.error-page__content {
    position: relative;

    z-index: 1;

    max-width:
        48rem;

    text-align:
        center;
}


.error-page__code {
    color:
        var(--color-orange);

    font-size:
        clamp(
            5rem,
            15vw,
            10rem
        );

    font-weight:
        800;

    letter-spacing:
        -0.06em;

    line-height:
        0.85;
}


.error-page h1 {
    margin-top:
        1.5rem;

    color:
        var(--color-white);

    font-size:
        clamp(
            2rem,
            5vw,
            4rem
        );

    letter-spacing:
        -0.04em;

    line-height:
        1.05;
}


.error-page__description {
    max-width:
        40rem;

    margin:
        1.5rem
        auto
        0;

    color:
        rgb(255 255 255 / 74%);

    font-size:
        1.075rem;

    line-height:
        1.75;
}


.error-page__actions {
    display: flex;

    flex-wrap: wrap;

    justify-content:
        center;

    gap:
        1rem;

    margin-top:
        2.25rem;
}


.error-page__secondary {
    display: inline-flex;

    min-height:
        3rem;

    align-items:
        center;

    justify-content:
        center;

    padding-inline:
        1.5rem;

    border:
        1px solid
        rgb(255 255 255 / 35%);

    border-radius:
        var(--radius-small);

    color:
        var(--color-white);

    font-weight:
        700;

    transition:

        background-color
        180ms
        ease,

        border-color
        180ms
        ease;
}


.error-page__secondary:hover,
.error-page__secondary:focus-visible {
    background:
        rgb(0 181 226 / 10%);

    border-color:
        var(--color-cyan);
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .page-intro--compact {
        min-height:
            18rem;
    }


    .legal-content__contacts {
        align-items:
            stretch;

        flex-direction:
            column;
    }


    .legal-content__contacts .button {
        width:
            100%;
    }


    .error-page__actions {
        align-items:
            stretch;

        flex-direction:
            column;
    }


    .error-page__actions a {
        width:
            100%;
    }

}