* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}


body {

    min-height: 100vh;

    font-family:
        "Inter",
        "Segoe UI",
        Arial,
        sans-serif;

    background: #0f1117;

    color: #e6e6e6;

    line-height: 1.7;

}


/* Header */

.page-header {

    max-width: 900px;

    margin: 50px auto 40px;

    padding: 0 20px;

    text-align: center;

}


.header-content {

    display: flex;

    flex-direction: column;

    align-items: center;

}


.header-content h1 {

    color: white;

    font-size: 3rem;

    margin: 25px 0 12px;

    letter-spacing: -1px;

}


.header-content p {

    color: #a9adb8;

    font-size: 1.1rem;

}




/* Back button */

.back-button {

    display: inline-block;

    padding: 10px 18px;

    background: #171a22;

    border: 1px solid #272c38;

    border-radius: 10px;

    color: white;

    text-decoration: none;

    font-weight: 600;

    transition:

        background .2s ease,

        border-color .2s ease,

        transform .2s ease;

}


.back-button:hover {

    background: #222735;

    border-color: #3d7cff;

    transform: translateY(-2px);

}




/* Divider */

hr {

    max-width: 1100px;

    height: 1px;

    border: none;

    background: #292d38;

    margin: 30px auto;

}




/* Legal container */

main {

    padding: 0 20px;

}


.legal-page {

    max-width: 900px;

    margin: 40px auto;

    padding: 40px;


    background: #171a22;

    border:

        1px solid #272c38;


    border-radius: 20px;


    box-shadow:

        0 20px 45px rgba(0,0,0,.25);

}




/* Text */

.legal-page h2 {

    margin-top: 35px;

    margin-bottom: 15px;

    color: white;

    font-size: 1.5rem;

}


.legal-page h3 {

    margin-top: 25px;

    margin-bottom: 10px;

    color: #60a5fa;

    font-size: 1.15rem;

}



.legal-page p {

    color: #b7bbc5;

    margin-bottom: 15px;

}



.legal-page strong {

    color: white;

}




/* Lists */

.legal-page ul {

    margin:

        15px 0 20px 25px;

}



.legal-page li {

    color: #b7bbc5;

    margin-bottom: 8px;

}



.legal-page li::marker {

    color: #3d7cff;

}




/* Date box */

.legal-meta {

    background: #0f1117;

    border:

        1px solid #272c38;


    padding: 14px 18px;

    border-radius: 12px;


    margin-bottom: 25px;

}




/* Footer */

footer {

    text-align: center;

    color: #8b8f99;

    padding: 30px 20px;

}




/* Page animation */

.page-header,
.legal-page,
footer {

    opacity: 0;

    transform:

        translateY(25px);

    animation:

        fadeIn .6s ease forwards;

}


.legal-page {

    animation-delay: .15s;

}


footer {

    animation-delay: .3s;

}



@keyframes fadeIn {

    from {

        opacity: 0;

        transform: translateY(25px);

    }


    to {

        opacity: 1;

        transform: translateY(0);

    }

}




/* Mobile */

@media(max-width:700px) {


    .header-content h1 {

        font-size: 2.2rem;

    }


    .legal-page {

        padding: 25px;

        border-radius: 16px;

    }


    .legal-page h2 {

        font-size: 1.3rem;

    }

}

/* =========================
   Links
========================= */


.legal-page a {

    color: #60a5fa;

    text-decoration: none;

    font-weight: 600;

    position: relative;

    display: inline-block;

    transition: none;

}



.legal-page a::after {

    content: "";

    position: absolute;

    left: 0;

    bottom: -2px;

    width: 0%;

    height: 2px;

    background:

        linear-gradient(
            90deg,
            #3d7cff,
            #60a5fa
        );

    border-radius: 5px;

    transition:

        width 0.25s ease;

}



.legal-page a:hover {

    color: #60a5fa;

}



.legal-page a:hover::after {

    width: 100%;

}



.legal-page a.external::before {

    content: "↗ ";

    font-size: .85em;

}