.legal-intro {
    padding-bottom: clamp(1.5rem, 4vw, 2.75rem);
    border-bottom: 1px solid var(--line);
}
.legal-intro h1, .legal-sections h2 { font-family: Baskervville, var(--serif); }
.legal-intro p {
    max-width: 57ch;
    margin: .85rem 0 0;
    color: var(--muted);
    font-size: clamp(1rem, 1.6vw, 1.15rem);
}
.legal-layout {
    display: grid;
    grid-template-columns: minmax(13rem, 1fr) minmax(0, 2.55fr);
    align-items: start;
    gap: clamp(1.75rem, 5vw, 4.5rem);
    padding-top: clamp(1.5rem, 4vw, 2.75rem);
}
.legal-contents {
    position: sticky;
    top: 1.5rem;
    padding: 1.4rem;
    border-top: 3px solid var(--coral);
    border-radius: .6rem;
    background: var(--ink);
    color: var(--paper);
}
.legal-contents h2 {
    margin-bottom: .6rem;
    color: inherit;
    font: 600 1.25rem/1.3 Baskervville, var(--serif);
    letter-spacing: normal;
}
.legal-contents ul { margin: 0; padding: 0; list-style: none; }
.legal-contents li + li { border-top: 1px solid #58485b; }
.legal-contents a { display: block; padding: .6rem 0; color: inherit; line-height: 1.4; text-decoration: none; }
.legal-contents a:hover, .legal-contents a:focus-visible { color: #ffbba9; text-decoration: underline; }
.legal-contents a:focus-visible { outline-color: var(--coral); }
.legal-sections section + section { margin-top: 1.75rem; padding-top: 1.75rem; border-top: 1px solid var(--line); }
.legal-sections h2 { font-size: clamp(1.55rem, 2.8vw, 2rem); }
.legal-sections p { margin: .8rem 0 0; }
.legal-address { padding-left: 1rem; border-left: 3px solid var(--coral); }
@media (max-width: 46rem) {
    .legal-layout { grid-template-columns: minmax(0, 1fr); }
    .legal-contents { position: static; padding: 1rem 1.25rem; }
}
