/* =========================================================
   IMPRESSUM
   NetSphere Security
   ========================================================= */


/* =========================================================
   STICKY NAVIGATION
   ========================================================= */

.navbar-sentinel {
    width: 100%;
    height: 1px;

    margin-bottom: -1px;

    pointer-events: none;
}


.navbar {
    position: sticky;

    top: 0;

    z-index: 1000;

    width: 100%;

    padding:
        0 7vw;

    box-sizing: border-box;

    border-bottom:
        1px solid rgba(
            53,
            63,
            73,
            0.10
        );

    background-color:
        var(--netwhite);

    box-shadow:
        0 0 0 rgba(
            53,
            63,
            73,
            0
        );

    transition:
        box-shadow 240ms ease;
}


.navbar.is-stuck {
    box-shadow:
        0 8px 28px rgba(
            53,
            63,
            73,
            0.10
        );
}


/* =========================================================
   PAGE HEADER
   ========================================================= */

.legal-hero {
    padding:
        105px 7vw 82px;

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


.legal-hero-inner {
    width:
        min(100%, 1500px);

    margin:
        0 auto;
}


.legal-kicker {
    display:
        block;

    margin-bottom:
        20px;

    color:
        var(--netgreen);

    font-family:
        'Montserrat-Bold',
        sans-serif;

    font-size:
        0.72rem;

    letter-spacing:
        0.13em;

    text-transform:
        uppercase;
}


.legal-hero h1 {
    margin:
        0;

    color:
        var(--netdark);

    font-size:
        clamp(
            3.2rem,
            5vw,
            5.4rem
        );

    font-weight:
        400;

    letter-spacing:
        -0.05em;

    line-height:
        1;
}


/* =========================================================
   LEGAL SECTION
   ========================================================= */

.legal-section {
    min-height:
        480px;

    padding:
        0 7vw 130px;

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


.legal-inner {
    width:
        min(100%, 1500px);

    margin:
        0 auto;
}


/* =========================================================
   SECTION HEADING
   ========================================================= */

.legal-heading {
    padding:
        25px 0;

    border-top:
        1px solid rgba(
            53,
            63,
            73,
            0.16
        );

    border-bottom:
        1px solid rgba(
            53,
            63,
            73,
            0.16
        );
}


.legal-section-label {
    color:
        var(--netdark);

    font-family:
        'Montserrat-Bold',
        sans-serif;

    font-size:
        0.78rem;

    letter-spacing:
        0.04em;
}


/* =========================================================
   LEGAL TABLE
   ========================================================= */

.legal-table {
    max-width:
        1050px;

    margin-top:
        55px;

    border-top:
        1px solid rgba(
            53,
            63,
            73,
            0.14
        );
}


.legal-row {
    display:
        grid;

    grid-template-columns:
        minmax(180px, 0.34fr)
        minmax(0, 1fr);

    gap:
        50px;

    padding:
        24px 0;

    border-bottom:
        1px solid rgba(
            53,
            63,
            73,
            0.14
        );
}


.legal-key {
    color:
        rgba(
            53,
            63,
            73,
            0.58
        );

    font-family:
        'Montserrat-Bold',
        sans-serif;

    font-size:
        0.76rem;

    line-height:
        1.65;
}


.legal-value {
    color:
        var(--netdark);

    font-size:
        0.88rem;

    line-height:
        1.75;
}


.legal-value a {
    color:
        var(--netdark);

    text-decoration:
        none;

    transition:
        color 180ms ease;
}


.legal-value a:hover {
    color:
        var(--netgreen);
}


/* =========================================================
   FOOTER
   ========================================================= */

.site-footer {
    padding:
        40px 7vw;

    background-color:
        #2d363f;

    color:
        rgba(
            255,
            255,
            254,
            0.65
        );
}


.footer-inner {
    width:
        min(100%, 1500px);

    margin:
        0 auto;

    display:
        flex;

    justify-content:
        space-between;

    align-items:
        center;

    gap:
        40px;
}


.footer-brand {
    display:
        flex;

    flex-direction:
        column;

    gap:
        7px;

    font-size:
        0.8rem;
}


.footer-brand strong {
    color:
        var(--netwhite);

    font-family:
        'Montserrat-Bold',
        sans-serif;

    font-size:
        0.9rem;
}


.footer-links {
    display:
        flex;

    gap:
        30px;
}


.footer-links a {
    color:
        rgba(
            255,
            255,
            254,
            0.65
        );

    font-size:
        0.8rem;

    text-decoration:
        none;

    transition:
        color 180ms ease;
}


.footer-links a:hover {
    color:
        var(--netwhite);
}


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

@media (max-width: 760px) {


    .legal-hero {
        padding:
            70px 20px 60px;
    }


    .legal-hero h1 {
        font-size:
            3rem;
    }


    .legal-section {
        min-height:
            0;

        padding:
            0 20px 85px;
    }


    .legal-table {
        margin-top:
            40px;
    }


    .legal-row {
        display:
            block;

        padding:
            21px 0;
    }


    .legal-key {
        margin-bottom:
            8px;

        color:
            var(--netgreen);
    }


    .legal-value {
        font-size:
            0.85rem;
    }


    .site-footer {
        padding:
            35px 20px;
    }


    .footer-inner {
        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            30px;
    }


    .footer-links {
        flex-wrap:
            wrap;

        gap:
            16px 24px;
    }


}