.legal-header {
    width: min(1320px, calc(100% - 48px));
    height: 76px;
    margin: 18px auto 0;
    padding: 0 24px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: rgba(248, 247, 242, .94);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.legal-header nav { display: flex; align-items: center; gap: 24px; }
.legal-header nav a { color: var(--muted); font-size: 13px; font-weight: 700; text-decoration: none; }
.legal-header nav a:hover, .legal-header nav a:focus-visible { color: var(--violet); }

.legal-shell { width: min(1120px, calc(100% - 48px)); margin: 0 auto; padding: 105px 0 120px; }
.legal-hero { max-width: 850px; padding-bottom: 64px; border-bottom: 1px solid var(--line); }
.legal-hero h1 { margin: 20px 0 25px; font: clamp(58px, 8vw, 100px)/.93 var(--serif); letter-spacing: -.06em; }
.legal-hero > p { max-width: 720px; color: var(--muted); font-size: 18px; line-height: 1.7; }
.legal-effective { display: inline-flex; margin-top: 22px; padding: 9px 12px; border-radius: 999px; background: var(--violet-soft); color: #5346c9; font-size: 10px; font-weight: 850; letter-spacing: .1em; }

.legal-layout { display: grid; grid-template-columns: 230px minmax(0, 710px); gap: 90px; padding-top: 65px; }
.legal-toc { position: sticky; top: 30px; align-self: start; }
.legal-toc strong { display: block; margin-bottom: 17px; color: #9995a4; font-size: 10px; letter-spacing: .12em; }
.legal-toc a { display: block; padding: 8px 0; color: var(--muted); font-size: 12px; font-weight: 680; text-decoration: none; }
.legal-toc a:hover, .legal-toc a:focus-visible { color: var(--violet); }

.legal-copy section { scroll-margin-top: 35px; padding: 0 0 38px; }
.legal-copy h2 { margin: 0 0 15px; font: 34px/1.12 var(--serif); letter-spacing: -.035em; }
.legal-copy h3 { margin: 25px 0 10px; font-size: 15px; }
.legal-copy p, .legal-copy li { color: #5f5d6d; font-size: 15px; line-height: 1.78; }
.legal-copy ul { margin: 14px 0; padding-left: 22px; }
.legal-copy li { margin: 8px 0; }
.legal-copy a { color: #5144c8; text-underline-offset: 3px; }
.legal-callout { margin: 10px 0 26px; padding: 22px 24px; border: 1px solid #c9c4f0; border-radius: 12px; background: #f0eeff; }
.legal-callout p { margin: 0; color: #3d386d; }

.legal-footer { width: min(1120px, calc(100% - 48px)); margin: 0 auto; padding: 28px 0 45px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 24px; color: #908d9b; font-size: 11px; }
.legal-footer div { display: flex; gap: 18px; }
.legal-footer a { color: inherit; text-decoration: none; }
.legal-footer a:hover, .legal-footer a:focus-visible { color: var(--violet); }

@media (max-width: 760px) {
    .legal-header { width: calc(100% - 24px); height: 66px; margin-top: 8px; padding: 0 14px; }
    .legal-header nav a:first-child { display: none; }
    .legal-shell { width: calc(100% - 30px); padding: 70px 0 80px; }
    .legal-hero h1 { font-size: 58px; }
    .legal-layout { grid-template-columns: 1fr; gap: 45px; padding-top: 48px; }
    .legal-toc { position: static; display: grid; grid-template-columns: 1fr 1fr; column-gap: 18px; }
    .legal-toc strong { grid-column: 1 / -1; }
    .legal-footer { width: calc(100% - 30px); flex-direction: column; }
}
