.legal-page header:not(.scrolled) {
    height: 6.375vw;
}

.legal-main {
    width: min(70vw, calc(100% - 4vw));
    margin: 0 auto;
    padding: 11.25vw 0 6vw;
}

.legal-hero {
    padding-bottom: 2.25vw;
    border-bottom: 0.0625vw solid #dce7e1;
}

.legal-eyebrow {
    display: flex;
    align-items: center;
    gap: 1vw;
    margin-bottom: 1.25vw;
    color: #52605a;
    font-size: max(var(--compact-small-font, 0vw), 0.75vw);
    letter-spacing: 0.125vw;
    text-transform: uppercase;
}

.legal-eyebrow::before {
    content: '';
    width: 2.5vw;
    height: 0.0625vw;
    background: #009b49;
}

.legal-hero h1 {
    font-size: max(var(--compact-h1-font, 0vw), 3.25vw);
    line-height: 1.2;
    margin-bottom: 1.25vw;
}

.legal-hero p {
    max-width: 47.5vw;
    font-size: max(var(--compact-body-font, 0vw), 1vw);
    line-height: 1.8;
}

.legal-hero .legal-date {
    margin-top: 1vw;
    font-size: max(var(--compact-small-font, 0vw), 0.8125vw);
}

.legal-layout {
    display: grid;
    grid-template-columns: 15vw minmax(0, 1fr);
    gap: 4vw;
    padding-top: 2.5vw;
    align-items: start;
}

.legal-contents {
    position: sticky;
    top: calc(6.371vw + 1.25vw);
    max-height: calc(100dvh - 6.371vw - 2.5vw);
    overflow-y: auto;
    padding: 1.5vw;
    border-radius: 1vw;
    background: #f4f8f5;
}

.legal-contents p {
    color: #0c1712;
    font-family: I-SB;
    font-size: max(var(--compact-body-font, 0vw), 0.875vw);
    margin-bottom: 0.75vw;
}

.legal-contents a {
    display: block;
    padding: 0.5vw 0;
    font-size: max(var(--compact-small-font, 0vw), 0.8125vw);
    line-height: 1.6;
    transition: color .2s;
}

@media (min-width: 1025px), (hover: hover) {
    .legal-contents a:hover {
        color: #007d49;
        text-decoration: underline;
        text-underline-offset: 0.1875vw;
    }
}

.legal-contents a[aria-current="location"] {
    color: #007d49;
    font-family: I-SB;
    text-decoration: underline;
    text-underline-offset: 0.1875vw;
}

.legal-article {
    min-width: 0;
    font-size: max(var(--compact-body-font, 0vw), 0.9375vw);
    line-height: 1.85;
}

.legal-article section {
    padding-bottom: 1.75vw;
    margin-bottom: 1.75vw;
    border-bottom: 0.0625vw solid #dce7e1;
    scroll-margin-top: 8.75vw;
}

.legal-article section:last-child {
    margin-bottom: 0;
}

.legal-article h2 {
    font-family: M-B;
    font-size: max(var(--compact-h2-font, 0vw), 1.4375vw);
    line-height: 1.4;
    margin-bottom: 0.875vw;
}

.legal-article p + p {
    margin-top: 0.75vw;
}

.legal-article ul {
    margin-top: 0.75vw;
    padding-left: 1.375vw;
}

.legal-article li + li {
    margin-top: 0.375vw;
}

.legal-article a {
    color: #007d49;
    text-decoration: underline;
    text-underline-offset: 0.1875vw;
    overflow-wrap: anywhere;
}

@media (min-width: 1025px), (hover: hover) {
    .legal-article a:hover {
        color: #0c1712;
    }
}

.legal-article address {
    margin-top: 0.75vw;
    font-style: normal;
}

/* Compact desktop: readable type and spacing from 961px through 1200px. */

@media (max-width: 1200px) {
.legal-main {
    width: calc(100% - 80px);
    padding-top: max(11.25vw, 144px);
}

.legal-layout {
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 40px;
}

.legal-contents {
    top: max(7.621vw, 104px);
    max-height: calc(100dvh - 128px);
    padding: 20px;
}

.legal-contents a {
    padding: 10px 0;
}

.legal-article section {
    padding-bottom: 24px;
    margin-bottom: 24px;
}
}

@media (max-width: 960px) {
.legal-eyebrow {
    gap: 3.72093vw;
    margin-bottom: 4.65116vw;
    font-size: 2.7907vw;
    letter-spacing: 0.46512vw;
}

.legal-eyebrow::before {
    width: 9.30233vw;
    height: 0.23256vw;
}

.legal-hero h1 {
    font-size: 8.37209vw;
    margin-bottom: 4.65116vw;
}

.legal-hero .legal-date {
    margin-top: 3.72093vw;
    font-size: 3.02326vw;
}

.legal-contents p {
    font-size: 3.25581vw;
    margin-bottom: 2.7907vw;
}

@media (min-width: 1025px), (hover: hover) {
    .legal-contents a:hover {
        text-underline-offset: 0.69767vw;
    }
}

.legal-contents a[aria-current="location"] {
    text-underline-offset: 0.69767vw;
}

.legal-article {
    font-size: 3.48837vw;
}

.legal-article p + p {
    margin-top: 2.7907vw;
}

.legal-article address {
    margin-top: 2.7907vw;
}

.legal-article ul {
    margin-top: 2.7907vw;
    padding-left: 5.11628vw;
}

.legal-article li + li {
    margin-top: 1.39535vw;
}

.legal-article a {
    text-underline-offset: 0.69767vw;
}

.legal-page header:not(.scrolled) {
    height: 20.4651vw;
}

.legal-main {
    padding-top: 30.69767vw;
    width: min(176.74419vw, calc(100% - 9.30233vw));
    padding: 30.69767vw 0 13.95349vw;
}

.legal-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 7.44186vw;
    padding-top: 6.51163vw;
}

.legal-contents {
    top: calc(6.371vw + 4.65116vw);
    border-radius: 3.72093vw;
    position: static;
    max-height: none;
    overflow-y: visible;
    padding: 4.65116vw;
}

.legal-contents a {
    padding: 1.86047vw 0;
    min-height: 10.23256vw;
    display: flex;
    align-items: center;
    font-size: 3.25581vw;
}

.legal-hero {
    border-bottom: 0.23256vw solid #dce7e1;
    padding-bottom: 6.51163vw;
}

.legal-hero p {
    max-width: 176.74419vw;
    font-size: 3.48837vw;
}

.legal-article h2 {
    margin-bottom: 3.25581vw;
    font-size: 5.11628vw;
}

.legal-article section {
    padding-bottom: 6.51163vw;
    margin-bottom: 6.51163vw;
    border-bottom: 0.23256vw solid #dce7e1;
    scroll-margin-top: 24.4186vw;
}
}
