/* =====================================
   LEGAL PAGES
===================================== */

.legal-shell {
    width:
        min(
            calc(100% - 80px),
            980px
        );

    margin: 0 auto;
}


/* =====================================
   HERO
===================================== */

.legal-hero {
    position: relative;

    overflow: hidden;

    padding:
        165px 0
        100px;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(119, 61, 169, 0.16),
            transparent 39%
        ),
        #09070f;

    border-bottom:
        1px solid
        rgba(255, 255, 255, 0.04);
}


.legal-hero-glow {
    position: absolute;

    top: -260px;
    left: 50%;

    width: 900px;
    height: 600px;

    transform:
        translateX(-50%);

    background:
        radial-gradient(
            ellipse,
            rgba(142, 76, 193, 0.14),
            transparent 68%
        );

    pointer-events: none;
}


.legal-hero-inner {
    position: relative;

    z-index: 2;
}


.legal-hero h1 {
    max-width: 820px;

    margin: 0;

    font-size:
        clamp(
            55px,
            6vw,
            82px
        );

    line-height: 1;

    letter-spacing: -0.05em;

    font-weight: 500;
}


.legal-hero h1 span {
    display: block;

    color: #c7afe0;
}


.legal-intro {
    max-width: 720px;

    margin:
        26px 0
        0;

    color: #9a919e;

    font-size: 18px;

    line-height: 1.72;
}


.legal-updated {
    margin:
        23px 0
        0;

    color: #6c6371;

    font-size: 12px;

    letter-spacing: 0.03em;
}


/* =====================================
   LEGAL NAV
===================================== */

.legal-nav-wrap {
    position: sticky;

    top: 72px;

    z-index: 20;

    padding:
        14px 0;

    background:
        rgba(9, 7, 15, 0.93);

    backdrop-filter:
        blur(16px);

    border-bottom:
        1px solid
        rgba(255, 255, 255, 0.045);
}


.legal-nav {
    display: flex;

    gap: 8px;

    overflow-x: auto;

    scrollbar-width: none;
}


.legal-nav::-webkit-scrollbar {
    display: none;
}


.legal-nav a {
    flex:
        0 0 auto;

    padding:
        8px 13px;

    border:
        1px solid
        rgba(145, 88, 190, 0.15);

    border-radius: 20px;

    color: #998f9e;

    font-size: 12px;

    white-space: nowrap;
}


.legal-nav a:hover {
    color: #d2cad6;

    border-color:
        rgba(166, 101, 215, 0.34);
}


/* =====================================
   BODY
===================================== */

.legal-body {
    padding:
        100px 0
        130px;

    background: #09070f;
}


.legal-lead {
    margin-bottom: 60px;

    padding:
        30px;

    border:
        1px solid
        rgba(151, 90, 195, 0.16);

    border-radius: 16px;

    background:
        rgba(255, 255, 255, 0.008);
}


.legal-lead p {
    margin: 0;

    color: #aaa0ae;

    font-size: 18px;

    line-height: 1.75;
}


.legal-section {
    padding:
        48px 0;

    border-top:
        1px solid
        rgba(255, 255, 255, 0.06);

    scroll-margin-top: 130px;
}


.legal-section:first-of-type {
    border-top: 0;
}


.legal-section h2 {
    margin:
        0 0
        22px;

    color: #e8e2ea;

    font-size:
        clamp(
            28px,
            3vw,
            38px
        );

    line-height: 1.2;

    letter-spacing: -0.025em;

    font-weight: 500;
}


.legal-section h3 {
    margin:
        31px 0
        13px;

    color: #d2cad5;

    font-size: 20px;

    line-height: 1.4;

    font-weight: 600;
}


.legal-section p {
    max-width: 900px;

    margin:
        0 0
        18px;

    color: #978d9b;

    font-size: 17px;

    line-height: 1.78;
}


.legal-section ul {
    margin:
        18px 0
        24px;

    padding-left: 23px;
}


.legal-section li {
    margin-bottom: 11px;

    color: #978d9b;

    font-size: 17px;

    line-height: 1.65;
}


.legal-section strong {
    color: #cfc7d2;
}


.legal-section a {
    color: #b67bd8;

    font-weight: 600;
}


.legal-callout {
    margin:
        28px 0;

    padding:
        25px 27px;

    border-left:
        2px solid #8d58ae;

    background:
        rgba(104, 57, 143, 0.06);
}


.legal-callout p {
    margin: 0;
}


/* =====================================
   CROSS LINKS
===================================== */

.legal-links {
    padding:
        65px 0;

    background: #0b0810;

    border-top:
        1px solid
        rgba(255, 255, 255, 0.04);
}


.legal-links-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 12px;
}


.legal-links-grid a {
    padding: 25px;

    border:
        1px solid
        rgba(255, 255, 255, 0.055);

    border-radius: 13px;

    background:
        rgba(255, 255, 255, 0.006);
}


.legal-links-grid span {
    display: block;

    color: #856895;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 1.2px;
}


.legal-links-grid strong {
    display: block;

    margin-top: 9px;

    color: #d1c9d4;

    font-size: 18px;
}


/* =====================================
   RESPONSIVE
===================================== */

@media (max-width: 760px) {

    html,
    body {
        max-width: 100%;

        overflow-x: hidden;
    }


    .legal-shell {
        width:
            calc(100% - 40px);
    }


    .legal-links-grid {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 600px) {

    .legal-shell {
        width:
            calc(100% - 28px);

        max-width:
            calc(100% - 28px);
    }


    .legal-hero {
        padding:
            125px 0
            80px;
    }


    .legal-hero h1 {
        font-size: 49px;
    }


    .legal-nav-wrap {
        top: 60px;
    }


    .legal-nav-wrap .legal-shell {
        width: 100%;
        max-width: 100%;

        padding:
            0 14px;

        box-sizing: border-box;
    }


    .legal-body {
        padding:
            70px 0
            95px;
    }


    .legal-lead {
        padding: 23px;
    }


    .legal-section {
        padding:
            38px 0;
    }


    .legal-section p,
    .legal-section li {
        font-size: 16px;
    }

}