/* =========================================================
   CAIRN LEGAL DOCUMENT SYSTEM

   SHARED BY:
   privacy.html
   terms.html
   ========================================================= */


/* =========================================================
   VARIABLES
   ========================================================= */

:root {

    --bg: #121110;
    --bg-2: #171613;
    --bg-3: #1b1916;

    --text: #f2f0ea;
    --text-soft: #b7b2a6;
    --text-muted: #7d786e;

    --border: #34322c;

    --sand: #cdbb91;
    --sage: #68766b;
    --orange: #b46b48;

    --display-font:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    --body-font:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}


/* =========================================================
   RESET
   ========================================================= */

* {

    box-sizing:
        border-box;

    margin:
        0;

    padding:
        0;
}


html {

    background:
        var(--bg);

    color:
        var(--text);

    scroll-behavior:
        smooth;

    scroll-padding-top:
        5rem;
}


body {

    min-height:
        100%;

    overflow-x:
        hidden;

    background:
        var(--bg);

    color:
        var(--text);

    font-family:
        var(--body-font);

    -webkit-font-smoothing:
        antialiased;

    text-rendering:
        optimizeLegibility;
}


a {

    color:
        inherit;

    text-decoration:
        none;
}


button {

    font:
        inherit;
}


/* =========================================================
   HEADER
   ========================================================= */

.legal-header {

    position:
        fixed;

    top:
        0;

    left:
        0;

    right:
        0;

    z-index:
        201;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    padding:
        clamp(1rem, 2vw, 1.8rem)
        clamp(1.25rem, 4vw, 4rem);

    pointer-events:
        none;
}


.legal-logo {

    display:
        flex;

    align-items:
        center;

    width:
        fit-content;

    pointer-events:
        auto;
}


.legal-logo img {

    display:
        block;

    width:
        120px;

    height:
        auto;

    max-height:
        42px;

    object-fit:
        contain;
}


/* =========================================================
   MENU BUTTON
   MATCHES FAQ MENU IMPLEMENTATION
   ========================================================= */

.menu-toggle {

    position:
        relative;

    width:
        36px;

    height:
        36px;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        flex-end;

    justify-content:
        center;

    gap:
        5px;

    padding:
        0;

    margin:
        0;

    border:
        0;

    background:
        transparent;

    cursor:
        pointer;

    pointer-events:
        auto;

    z-index:
        202;

    appearance:
        none;

    -webkit-appearance:
        none;
}


.menu-bar {

    display:
        block;

    width:
        36px;

    height:
        2px;

    background:
        var(--text);

    transform-origin:
        center;

    transition:
        transform .55s cubic-bezier(.22,.75,.2,1),
        width .55s cubic-bezier(.22,.75,.2,1),
        opacity .35s ease;
}


.menu-bar.bar3 {

    width:
        24px;
}


/* =========================================================
   HAMBURGER → X
   ========================================================= */

.menu-toggle.menu-open .bar1 {

    transform:
        translateY(7px)
        rotate(45deg) !important;
}


.menu-toggle.menu-open .bar2 {

    opacity:
        0 !important;
}


.menu-toggle.menu-open .bar3 {

    width:
        36px !important;

    transform:
        translateY(-7px)
        rotate(-45deg) !important;
}


/* =========================================================
   FULLSCREEN MENU
   ========================================================= */

#canvas-nav {

    position:
        fixed;

    inset:
        0;

    z-index:
        200;

    width:
        100%;

    height:
        100%;

    padding:
        10vw
        15vw
        5vw;

    background:
        var(--bg-2);

    overflow:
        hidden;

    clip-path:
        inset(
            0 0 100% 0
        );

    visibility:
        hidden;

    pointer-events:
        none;

    transition:
        clip-path 1s cubic-bezier(.4,.1,0,1),
        visibility 0s linear 1.3s;
}


#canvas-nav.canvas-open {

    clip-path:
        inset(
            0 0 0 0
        );

    visibility:
        visible;

    pointer-events:
        auto;

    transition:
        clip-path 1s cubic-bezier(.4,.1,0,1);
}


#canvas-nav .canvas-inner {

    display:
        flex;

    flex-direction:
        column;

    justify-content:
        center;

    width:
        70%;

    height:
        100%;
}


/* =========================================================
   MENU LIST
   ========================================================= */

#canvas-nav nav ul {

    list-style:
        none;

    width:
        100%;
}


#canvas-nav nav li {

    opacity:
        0;

    transform:
        translateY(35px);
}


#canvas-nav.canvas-open nav li {

    animation:
        legalMenuIn
        .5s
        ease
        forwards;
}


#canvas-nav.canvas-open nav li:nth-child(1) {

    animation-delay:
        .7s;
}


#canvas-nav.canvas-open nav li:nth-child(2) {

    animation-delay:
        .75s;
}


#canvas-nav.canvas-open nav li:nth-child(3) {

    animation-delay:
        .8s;
}


@keyframes legalMenuIn {

    from {

        opacity:
            0;

        transform:
            translateY(35px);
    }

    to {

        opacity:
            1;

        transform:
            translateY(0);
    }
}


#canvas-nav nav li a {

    display:
        block;

    color:
        var(--text);

    font-size:
        4vw;

    font-weight:
        500;

    line-height:
        1;

    letter-spacing:
        -.045em;

    padding:
        1.2vw
        0
        .5vw;

    transition:
        color .35s ease;
}


#canvas-nav nav li a:hover {

    color:
        var(--text-soft);
}


/* =========================================================
   MENU FOOTER
   ========================================================= */

#canvas-nav .canvas-footer {

    margin-top:
        3vw;

    opacity:
        0;
}


#canvas-nav.canvas-open .canvas-footer {

    animation:
        legalFooterIn
        .5s
        ease
        .75s
        forwards;
}


@keyframes legalFooterIn {

    from {

        opacity:
            0;

        transform:
            translateY(20px);
    }

    to {

        opacity:
            1;

        transform:
            translateY(0);
    }
}


#canvas-nav .links {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        1rem;
}


#canvas-nav .text-link {

    display:
        inline-block;

    color:
        var(--text-soft);

    font-size:
        1vw;

    font-weight:
        500;

    line-height:
        1.2;

    padding:
        .75vw
        0
        .7vw;

    transition:
        color .3s ease;
}


#canvas-nav .text-link:hover {

    color:
        var(--text);
}


/* =========================================================
   SCROLL LOCK
   ========================================================= */

html.menu-scroll-locked {

    overflow:
        hidden !important;

    overscroll-behavior:
        none !important;
}


body.menu-scroll-locked {

    position:
        fixed !important;

    left:
        0;

    right:
        0;

    width:
        100%;

    overflow:
        hidden !important;

    overscroll-behavior:
        none !important;
}


/* =========================================================
   READING PROGRESS
   ========================================================= */

.legal-progress {

    position:
        fixed;

    top:
        0;

    left:
        0;

    right:
        0;

    z-index:
        199;

    height:
        1px;

    pointer-events:
        none;
}


.legal-progress::before {

    content:
        "";

    position:
        absolute;

    inset:
        0;

    background:
        rgba(242,240,234,.045);
}


#legalProgressBar {

    position:
        absolute;

    top:
        0;

    left:
        0;

    width:
        0;

    height:
        1px;

    background:
        var(--sand);

    box-shadow:
        0 0 14px
        rgba(205,187,145,.24);
}


/* =========================================================
   HERO
   ========================================================= */

.legal-hero {

    position:
        relative;

    padding:
        9rem
        clamp(1.25rem, 4vw, 5rem)
        7rem;

    background:
        var(--bg);

    overflow:
        hidden;
}


.legal-hero::before {

    content:
        "";

    position:
        absolute;

    top:
        0;

    right:
        0;

    width:
        44%;

    height:
        100%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(205,187,145,.024)
        );

    pointer-events:
        none;
}


.legal-hero::after {

    content:
        "";

    position:
        absolute;

    right:
        5%;

    bottom:
        -30%;

    width:
        32rem;

    height:
        32rem;

    border:
        1px solid
        rgba(205,187,145,.06);

    border-radius:
        50%;

    box-shadow:
        0 0 0 4rem
        rgba(205,187,145,.012),

        0 0 0 8rem
        rgba(205,187,145,.008);

    pointer-events:
        none;
}


.legal-hero-inner {

    position:
        relative;

    z-index:
        1;

    width:
        100%;

    max-width:
        1740px;

    margin:
        0 auto;
}


.legal-hero-meta {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        2rem;

    padding-bottom:
        1.1rem;

    margin-bottom:
        4.5rem;

    border-bottom:
        1px solid
        rgba(242,240,234,.08);

    color:
        var(--text-muted);

    font-size:
        .54rem;

    font-weight:
        600;

    letter-spacing:
        .14em;
}


.legal-hero-grid {

    display:
        grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(290px,31%);

    gap:
        6rem;

    align-items:
        end;
}


.legal-eyebrow {

    margin-bottom:
        1.35rem;

    color:
        var(--text-muted);

    font-size:
        .64rem;

    font-weight:
        600;

    letter-spacing:
        .14em;

    text-transform:
        uppercase;
}


.legal-hero h1 {

    max-width:
        8ch;

    color:
        var(--text);

    font-family:
        var(--display-font);

    font-size:
        clamp(
            5rem,
            9vw,
            10rem
        );

    font-weight:
        600;

    line-height:
        .79;

    letter-spacing:
        -.078em;
}


.legal-hero-copy {

    padding-bottom:
        .35rem;
}


.legal-hero-copy > p {

    max-width:
        31rem;

    color:
        var(--text-soft);

    font-size:
        .91rem;

    line-height:
        1.72;

    letter-spacing:
        -.015em;
}


.legal-status {

    display:
        grid;

    gap:
        .45rem;

    width:
        fit-content;

    margin-top:
        3rem;

    padding-top:
        1rem;

    border-top:
        1px solid
        var(--border);
}


.legal-status span {

    color:
        var(--text-muted);

    font-size:
        .48rem;

    font-weight:
        600;

    letter-spacing:
        .14em;
}


.legal-status strong {

    color:
        var(--text);

    font-size:
        .72rem;

    font-weight:
        500;
}


/* =========================================================
   DOCUMENT
   ========================================================= */

.legal-document {

    position:
        relative;

    padding:
        0
        clamp(1.25rem, 4vw, 5rem)
        11rem;

    background:
        var(--bg-2);

    border-top:
        1px solid
        rgba(242,240,234,.08);
}


.legal-document-inner {

    display:
        grid;

    grid-template-columns:
        minmax(190px,230px)
        minmax(0,1fr);

    gap:
        clamp(3rem,7vw,8rem);

    width:
        100%;

    max-width:
        1740px;

    margin:
        0 auto;
}


/* =========================================================
   TABLE OF CONTENTS
   ========================================================= */

.legal-toc {

    position:
        sticky;

    top:
        5.6rem;

    align-self:
        start;

    padding-top:
        2.6rem;

    max-height:
        calc(100vh - 7.5rem);

    overflow:
        auto;

    scrollbar-width:
        none;
}


.legal-toc::-webkit-scrollbar {

    display:
        none;
}


.legal-toc-label {

    margin-bottom:
        1.25rem;

    color:
        var(--text-muted);

    font-size:
        .5rem;

    font-weight:
        600;

    letter-spacing:
        .15em;
}


.legal-toc nav {

    display:
        grid;

    border-top:
        1px solid
        var(--border);
}


.legal-toc a {

    display:
        grid;

    grid-template-columns:
        1.8rem
        minmax(0,1fr);

    gap:
        .55rem;

    align-items:
        start;

    padding:
        .72rem 0;

    border-bottom:
        1px solid
        rgba(242,240,234,.055);

    color:
        var(--text-muted);

    font-size:
        .61rem;

    font-weight:
        500;

    line-height:
        1.35;

    transition:
        color .25s ease,
        padding-left .25s ease,
        background .25s ease;
}


.legal-toc a span {

    color:
        rgba(125,120,110,.62);

    font-size:
        .48rem;

    font-weight:
        600;

    letter-spacing:
        .09em;
}


.legal-toc a strong {

    font-weight:
        500;
}


.legal-toc a:hover {

    color:
        var(--text);

    padding-left:
        .3rem;
}


.legal-toc a.is-active {

    color:
        var(--text);

    padding-left:
        .3rem;
}


.legal-toc a.is-active span {

    color:
        var(--sand);
}


/* =========================================================
   MAIN CONTENT
   ========================================================= */

.legal-content {

    min-width:
        0;

    max-width:
        960px;

    padding-bottom:
        4rem;
}


.legal-section {

    display:
        grid;

    grid-template-columns:
        minmax(180px,24%)
        minmax(0,1fr);

    gap:
        clamp(2rem,5vw,5.5rem);

    padding:
        6.2rem 0;

    border-bottom:
        1px solid
        var(--border);

    opacity:
        0;

    transform:
        translateY(18px);

    transition:
        opacity .7s ease,
        transform .7s cubic-bezier(.2,.75,.2,1);

    scroll-margin-top:
        5rem;
}


.legal-section.is-visible {

    opacity:
        1;

    transform:
        translateY(0);
}


.legal-section:first-child {

    padding-top:
        6rem;
}


.legal-section-heading {

    align-self:
        start;
}


.legal-number {

    display:
        grid;

    place-items:
        center;

    width:
        2.25rem;

    height:
        2.25rem;

    margin-bottom:
        1.2rem;

    border:
        1px solid
        rgba(205,187,145,.24);

    border-radius:
        50%;

    color:
        var(--sand);

    font-size:
        .5rem;

    font-weight:
        600;

    letter-spacing:
        .08em;
}


.legal-section-heading h2 {

    max-width:
        9ch;

    color:
        var(--text);

    font-family:
        var(--display-font);

    font-size:
        clamp(
            1.9rem,
            2.8vw,
            3rem
        );

    font-weight:
        500;

    line-height:
        .94;

    letter-spacing:
        -.055em;
}


.legal-section-body {

    min-width:
        0;
}


.legal-section-body p {

    max-width:
        49rem;

    margin:
        0 0 1.3rem;

    color:
        var(--text-soft);

    font-size:
        .82rem;

    line-height:
        1.8;

    letter-spacing:
        -.008em;
}


.legal-section-body p:last-child {

    margin-bottom:
        0;
}


/* =========================================================
   INLINE / CONTACT LINK
   ========================================================= */

.legal-contact-link {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    width:
        100%;

    max-width:
        28rem;

    margin-top:
        2rem;

    padding:
        1rem
        1.15rem;

    border:
        1px solid
        rgba(205,187,145,.22);

    background:
        rgba(205,187,145,.018);

    color:
        var(--text);

    font-size:
        .59rem;

    font-weight:
        600;

    letter-spacing:
        .11em;

    transition:
        border-color .3s ease,
        background .3s ease,
        padding .3s cubic-bezier(.2,.75,.2,1);
}


.legal-contact-link:hover {

    border-color:
        rgba(205,187,145,.42);

    background:
        rgba(205,187,145,.045);

    padding-left:
        1.35rem;

    padding-right:
        1.35rem;
}


.legal-contact-link strong {

    color:
        var(--sand);

    font-size:
        1rem;

    font-weight:
        400;
}


/* =========================================================
   DATA GRID
   ========================================================= */

.legal-data-grid {

    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0,1fr)
        );

    margin:
        2rem 0;

    border-top:
        1px solid
        var(--border);

    border-left:
        1px solid
        var(--border);
}


.legal-data-grid > div {

    min-height:
        7rem;

    padding:
        1.15rem;

    border-right:
        1px solid
        var(--border);

    border-bottom:
        1px solid
        var(--border);

    background:
        rgba(242,240,234,.008);

    transition:
        background .3s ease;
}


.legal-data-grid > div:hover {

    background:
        rgba(205,187,145,.025);
}


.legal-data-grid span {

    display:
        block;

    margin-bottom:
        .65rem;

    color:
        var(--text-muted);

    font-size:
        .46rem;

    font-weight:
        600;

    letter-spacing:
        .13em;
}


.legal-data-grid strong {

    display:
        block;

    color:
        var(--text);

    font-size:
        .75rem;

    font-weight:
        500;

    line-height:
        1.45;
}


/* =========================================================
   WARNING DATA GRID
   ========================================================= */

.legal-data-grid-warning > div {

    border-color:
        rgba(180,107,72,.13);
}


.legal-data-grid-warning > div:hover {

    background:
        rgba(180,107,72,.028);
}


.legal-data-grid-warning span {

    color:
        rgba(180,107,72,.72);
}


/* =========================================================
   LISTS
   ========================================================= */

.legal-list {

    margin:
        2rem 0;

    padding:
        0;

    list-style:
        none;

    border-top:
        1px solid
        var(--border);
}


.legal-list li {

    display:
        grid;

    grid-template-columns:
        1.8rem
        minmax(0,1fr);

    gap:
        .9rem;

    align-items:
        start;

    padding:
        1rem 0;

    border-bottom:
        1px solid
        rgba(242,240,234,.055);
}


.legal-list li > span {

    padding-top:
        .1rem;

    color:
        var(--sand);

    font-size:
        .48rem;

    font-weight:
        600;

    letter-spacing:
        .1em;
}


.legal-list li p {

    max-width:
        none;

    margin:
        0;

    color:
        var(--text-soft);

    font-size:
        .79rem;

    line-height:
        1.68;
}


/* =========================================================
   FLOW
   ========================================================= */

.legal-flow {

    display:
        grid;

    grid-template-columns:
        minmax(0,1fr)
        auto
        minmax(0,1fr)
        auto
        minmax(0,1fr);

    gap:
        .75rem;

    align-items:
        stretch;

    margin:
        2.3rem 0 2.25rem;
}


.legal-flow-contract {

    grid-template-columns:
        repeat(
            4,
            minmax(0,1fr)
        );
}


.legal-flow-contract .legal-flow-arrow {

    display:
        none;
}


.legal-flow-step {

    position:
        relative;

    min-height:
        8.5rem;

    padding:
        1rem;

    border:
        1px solid
        var(--border);

    background:
        rgba(242,240,234,.008);

    transition:
        border-color .3s ease,
        background .3s ease;
}


.legal-flow-step:hover {

    border-color:
        rgba(205,187,145,.24);

    background:
        rgba(205,187,145,.018);
}


.legal-flow-step span {

    display:
        block;

    margin-bottom:
        1.9rem;

    color:
        var(--sand);

    font-size:
        .46rem;

    font-weight:
        600;

    letter-spacing:
        .1em;
}


.legal-flow-step strong {

    display:
        block;

    margin-bottom:
        .45rem;

    color:
        var(--text);

    font-size:
        .72rem;

    font-weight:
        500;
}


.legal-flow-step small {

    display:
        block;

    color:
        var(--text-muted);

    font-size:
        .58rem;

    line-height:
        1.5;
}


.legal-flow-arrow {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    color:
        var(--text-muted);

    font-size:
        .9rem;
}


/* =========================================================
   CALLOUT
   ========================================================= */

.legal-callout {

    display:
        grid;

    grid-template-columns:
        2.55rem
        minmax(0,1fr);

    gap:
        1.1rem;

    margin:
        1.2rem 0 0;

    padding:
        1.35rem 1.4rem;

    border:
        1px solid
        rgba(205,187,145,.17);

    background:
        linear-gradient(
            135deg,
            rgba(205,187,145,.03),
            rgba(242,240,234,.006)
        );

    opacity:
        0;

    transform:
        translateY(18px);

    transition:
        opacity .7s ease,
        transform .7s cubic-bezier(.2,.75,.2,1);
}


.legal-callout.is-visible {

    opacity:
        1;

    transform:
        translateY(0);
}


.legal-callout-mark {

    display:
        grid;

    place-items:
        center;

    width:
        2.55rem;

    height:
        2.55rem;

    border:
        1px solid
        rgba(205,187,145,.25);

    border-radius:
        .65rem;

    color:
        var(--sand);

    font-size:
        .9rem;
}


.legal-callout-label {

    display:
        block;

    margin-bottom:
        .65rem;

    color:
        var(--sand);

    font-size:
        .47rem;

    font-weight:
        600;

    letter-spacing:
        .15em;
}


.legal-callout p {

    max-width:
        47rem;

    margin:
        0;

    color:
        var(--text-soft);

    font-size:
        .78rem;

    line-height:
        1.68;
}


/* =========================================================
   END MARK
   ========================================================= */

.legal-endmark {

    display:
        flex;

    align-items:
        center;

    gap:
        .4rem;

    margin-top:
        2.8rem;
}


.legal-endmark span {

    display:
        block;

    width:
        .3rem;

    height:
        .3rem;

    border:
        1px solid
        var(--sand);

    transform:
        rotate(45deg);
}


.legal-endmark span:nth-child(2) {

    background:
        var(--sand);
}


/* =========================================================
   FOOTER
   ========================================================= */

footer {

    display:
        grid !important;

    grid-template-columns:
        auto
        minmax(0,1fr)
        auto;

    align-items:
        center;

    gap:
        2rem;

    padding:
        2rem
        clamp(1.25rem,4vw,5rem);

    background:
        var(--bg-2);

    color:
        var(--text-muted);

    font-size:
        .75rem;

    border-top:
        1px solid
        var(--border);
}


.site-footer-links {

    display:
        flex;

    align-items:
        center;

    gap:
        1.2rem;
}


.site-footer-links a {

    color:
        var(--text-muted);

    font-size:
        .68rem;

    transition:
        color .25s ease;
}


.site-footer-links a:hover,
.site-footer-links a[aria-current="page"] {

    color:
        var(--text);
}


/* =========================================================
   LARGE DESKTOP
   ========================================================= */

@media (min-width: 1600px) {

    .legal-hero h1 {

        font-size:
            clamp(
                5.2rem,
                8vw,
                10rem
            );
    }


    .legal-section-body p {

        font-size:
            .84rem;
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1050px) {

    .legal-hero-grid {

        grid-template-columns:
            minmax(0,1fr)
            minmax(250px,.6fr);

        gap:
            4rem;
    }


    .legal-document-inner {

        grid-template-columns:
            185px
            minmax(0,1fr);

        gap:
            3rem;
    }


    .legal-section {

        grid-template-columns:
            1fr;

        gap:
            2.2rem;
    }


    .legal-section-heading h2 {

        max-width:
            none;
    }


    .legal-flow {

        grid-template-columns:
            1fr;
    }


    .legal-flow-arrow {

        min-height:
            1rem;

        transform:
            rotate(90deg);
    }


    .legal-flow-contract {

        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            );
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    html {

        scroll-padding-top:
            4rem;
    }


    .legal-header {

        padding:
            1rem;
    }


    .legal-logo img {

        width:
            105px;

        max-height:
            36px;
    }


    /* -----------------------------------------------------
       MENU
       ----------------------------------------------------- */

    #canvas-nav {

        padding:
            7rem
            1.25rem
            2rem;
    }


    #canvas-nav .canvas-inner {

        width:
            100%;
    }


    #canvas-nav nav li a {

        font-size:
            10vw;

        padding:
            2.6vw
            0
            1.4vw;
    }


    #canvas-nav .canvas-footer {

        margin-top:
            2rem;
    }


    #canvas-nav .text-link {

        font-size:
            .78rem;

        padding:
            .55rem
            0;
    }


    /* -----------------------------------------------------
       HERO
       ----------------------------------------------------- */

    .legal-hero {

        padding:
            7.2rem
            1.25rem
            5rem;
    }


    .legal-hero::after {

        width:
            18rem;

        height:
            18rem;

        right:
            -5rem;

        bottom:
            -8rem;
    }


    .legal-hero-meta {

        margin-bottom:
            3.5rem;
    }


    .legal-hero-grid {

        grid-template-columns:
            1fr;

        gap:
            3rem;
    }


    .legal-hero h1 {

        max-width:
            7ch;

        font-size:
            clamp(
                4rem,
                18vw,
                6.4rem
            );
    }


    .legal-hero-copy > p {

        max-width:
            31rem;

        font-size:
            .84rem;
    }


    .legal-status {

        margin-top:
            2.2rem;
    }


    /* -----------------------------------------------------
       DOCUMENT
       ----------------------------------------------------- */

    .legal-document {

        padding:
            0
            1.25rem
            7rem;
    }


    .legal-document-inner {

        display:
            block;
    }


    /* -----------------------------------------------------
       MOBILE TOC
       ----------------------------------------------------- */

    .legal-toc {

        position:
            sticky;

        top:
            0;

        z-index:
            20;

        max-height:
            none;

        padding:
            .72rem 0;

        margin:
            0;

        border-bottom:
            1px solid
            var(--border);

        background:
            rgba(23,22,19,.96);

        backdrop-filter:
            blur(12px);

        overflow-x:
            auto;

        scrollbar-width:
            none;
    }


    .legal-toc::-webkit-scrollbar {

        display:
            none;
    }


    .legal-toc-label {

        display:
            none;
    }


    .legal-toc nav {

        display:
            flex;

        width:
            max-content;

        min-width:
            100%;

        border-top:
            0;

        gap:
            .35rem;
    }


    .legal-toc a {

        display:
            flex;

        align-items:
            center;

        gap:
            .4rem;

        min-height:
            2rem;

        padding:
            .45rem
            .6rem;

        border:
            1px solid
            transparent;

        white-space:
            nowrap;

        font-size:
            .55rem;
    }


    .legal-toc a:hover,
    .legal-toc a.is-active {

        padding-left:
            .6rem;

        border-color:
            rgba(205,187,145,.24);

        background:
            rgba(205,187,145,.04);
    }


    /* -----------------------------------------------------
       CONTENT
       ----------------------------------------------------- */

    .legal-section {

        display:
            block;

        padding:
            4rem 0;

        scroll-margin-top:
            4rem;
    }


    .legal-section:first-child {

        padding-top:
            4rem;
    }


    .legal-number {

        width:
            2rem;

        height:
            2rem;

        margin-bottom:
            1rem;

        font-size:
            .48rem;
    }


    .legal-section-heading h2 {

        max-width:
            11ch;

        font-size:
            clamp(
                2.2rem,
                10vw,
                3.6rem
            );
    }


    .legal-section-body {

        margin-top:
            2rem;
    }


    .legal-section-body p {

        font-size:
            .81rem;

        line-height:
            1.78;
    }


    /* -----------------------------------------------------
       DATA GRID
       ----------------------------------------------------- */

    .legal-data-grid {

        grid-template-columns:
            1fr;
    }


    .legal-data-grid > div {

        min-height:
            6rem;
    }


    /* -----------------------------------------------------
       FLOW
       ----------------------------------------------------- */

    .legal-flow,
    .legal-flow-contract {

        grid-template-columns:
            1fr;

        gap:
            .6rem;
    }


    .legal-flow-arrow {

        display:
            flex;
    }


    .legal-flow-contract .legal-flow-arrow {

        display:
            none;
    }


    .legal-flow-step {

        min-height:
            7.2rem;
    }


    /* -----------------------------------------------------
       CALLOUT
       ----------------------------------------------------- */

    .legal-callout {

        grid-template-columns:
            2.25rem
            minmax(0,1fr);

        gap:
            .9rem;

        padding:
            1.1rem;
    }


    .legal-callout-mark {

        width:
            2.25rem;

        height:
            2.25rem;
    }


    /* -----------------------------------------------------
       CONTACT LINK
       ----------------------------------------------------- */

    .legal-contact-link {

        max-width:
            100%;
    }


    /* -----------------------------------------------------
       FOOTER
       ----------------------------------------------------- */

    footer {

        grid-template-columns:
            1fr !important;

        gap:
            .75rem;

        padding:
            1.5rem
            1.25rem;
    }


    .site-footer-links {

        gap:
            1.2rem;
    }


    .site-footer-links a {

        font-size:
            .72rem;
    }
}


/* =========================================================
   SMALL PHONE
   ========================================================= */

@media (max-width: 480px) {

    .legal-hero {

        padding-top:
            6.7rem;
    }


    .legal-hero h1 {

        font-size:
            clamp(
                3.8rem,
                17.5vw,
                5.5rem
            );
    }


    .legal-section {

        padding:
            3.35rem 0;
    }


    .legal-section-body {

        margin-top:
            1.7rem;
    }


    .legal-list li {

        grid-template-columns:
            1.4rem
            minmax(0,1fr);

        gap:
            .65rem;
    }


    .legal-flow-step {

        min-height:
            6.8rem;
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    html {

        scroll-behavior:
            auto;
    }


    .menu-bar,
    .legal-toc a,
    .legal-section,
    .legal-callout,
    .legal-contact-link {

        transition:
            none !important;
    }


    .legal-section,
    .legal-callout {

        opacity:
            1;

        transform:
            none;
    }
}