body {
    background: var(--cream);
}

.legal-header {
    background: var(--cocoa);
    color: var(--paper);
    padding-top: 108px;
}

.legal-header__inner {
    margin: 0 auto;
    max-width: var(--content-width);
    padding: 94px var(--page-padding) 84px;
}

.legal-header h1 {
    font-family: var(--serif);
    font-size: clamp(54px, 6.8vw, 96px);
    font-weight: 500;
    letter-spacing: var(--ls-display);
    line-height: .95;
    margin: 18px 0 24px;
    max-width: 980px;
}

.legal-header__inner > p:not(.eyebrow):not(.legal-header__updated) {
    color: rgb(255 248 237 / 82%);
    font-family: var(--serif);
    font-size: var(--fs-lede);
    line-height: 1.25;
    margin: 0;
    max-width: 760px;
}

.legal-header__updated {
    border-top: 1px solid rgb(255 248 237 / 25%);
    color: rgb(255 248 237 / 68%);
    font-size: var(--fs-caption);
    letter-spacing: .12em;
    margin: 34px 0 0;
    max-width: 760px;
    padding-top: 16px;
    text-transform: uppercase;
}

.legal-main {
    display: grid;
    gap: clamp(44px, 7vw, 100px);
    grid-template-columns: minmax(210px, .28fr) minmax(0, .72fr);
    margin: 0 auto;
    max-width: 1160px;
    padding: 86px var(--page-padding) 116px;
}

.legal-summary {
    align-self: start;
    position: sticky;
    top: 116px;
}

.legal-summary .site-footer__links {
    border: 0;
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
}

.legal-summary .site-footer__links a {
    border-bottom: 1px solid var(--line);
    color: rgb(36 23 17 / 74%);
    font-size: 13px;
    padding: 12px 0;
    text-decoration: none;
}

.legal-summary .site-footer__links a:hover,
.legal-summary .site-footer__links a:focus-visible {
    color: var(--terracotta);
}

.legal-document {
    min-width: 0;
}

.legal-section {
    border-top: 1px solid var(--line);
    padding: 38px 0 34px;
}

.legal-section:first-child {
    border-top: 0;
    padding-top: 0;
}

.legal-section h2 {
    font-family: var(--serif);
    font-size: clamp(31px, 3vw, 43px);
    font-weight: 500;
    letter-spacing: var(--ls-heading);
    line-height: 1.05;
    margin: 0 0 20px;
}

.legal-section p,
.legal-section li {
    color: rgb(36 23 17 / 78%);
    font-family: var(--serif);
    font-size: clamp(18px, 1.4vw, 21px);
    line-height: 1.62;
}

.legal-section p {
    margin: 0 0 15px;
}

.legal-section p:last-child {
    margin-bottom: 0;
}

.legal-section ul {
    margin: 0;
    padding-left: 1.2em;
}

.legal-section li + li {
    margin-top: 10px;
}

.legal-section a {
    color: var(--terracotta);
    text-underline-offset: 3px;
}

.legal-section--notice {
    background: rgb(239 189 102 / 18%);
    border: 1px solid rgb(183 101 46 / 38%);
    margin-top: 22px;
    padding: 34px;
}

@media (max-width: 820px) {
    .legal-header {
        padding-top: 82px;
    }

    .legal-header__inner {
        padding-block: 72px 64px;
    }

    .legal-main {
        grid-template-columns: 1fr;
        padding-block: 62px 86px;
    }

    .legal-summary {
        position: static;
    }

    .legal-summary .site-footer__links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .legal-summary .site-footer__links a:nth-child(odd) {
        padding-right: 18px;
    }
}

@media (max-width: 520px) {
    .legal-header h1 {
        font-size: 52px;
    }

    .legal-summary .site-footer__links {
        grid-template-columns: 1fr;
    }

    .legal-section--notice {
        margin-inline: -8px;
        padding: 26px 22px;
    }
}
