/* Legal content shares the landing palette and works without page JavaScript. */
body.coming-soon-page .header-controls { margin-left: auto; }
.legal-page { padding: 54px 0 72px; color: var(--ink); background: var(--paper); }
.legal-shell { max-width: 1140px; }
.legal-header { padding-bottom: 32px; margin-bottom: 32px; border-bottom: 1px solid var(--line); }
.legal-back { display: inline-flex; margin-bottom: 27px; font-size: 13px; color: var(--ink); }
.legal-eyebrow {
    margin-bottom: 12px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}
.legal-header h1 { font: 400 clamp(42px, 5vw, 64px)/1.08 var(--serif); letter-spacing: -.04em; }
.legal-updated { margin-top: 19px; font-size: 12px; color: var(--muted); }
.legal-header > p:last-child { max-width: 78ch; margin-top: 21px; font-size: 16px; line-height: 1.8; color: var(--muted); }
.legal-header strong, .legal-content strong { color: var(--ink); font-weight: 650; }
.legal-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 36px; align-items: start; }
.legal-toc {
    position: sticky;
    top: 108px;
    max-height: calc(100dvh - 128px);
    overflow: auto;
    overscroll-behavior: contain;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--theme-card, #fdfdf8);
    scrollbar-width: thin;
}
.legal-toc ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.legal-toc li { min-width: 0; }
.legal-toc a { display: block; padding: 8px 9px; color: var(--ink); font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.legal-content {
    min-width: 0;
    padding: 34px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--theme-card, #fdfdf8);
}
.legal-content section { padding-bottom: 29px; margin-bottom: 29px; border-bottom: 1px solid var(--line); scroll-margin-top: 18px; }
.legal-content section:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: 0; }
.legal-content h2 { margin: 0 0 16px; font: 400 29px/1.25 var(--serif); letter-spacing: -.025em; color: var(--ink); overflow-wrap: anywhere; }
.legal-content h3 { margin: 22px 0 10px; font: 600 16px/1.5 var(--sans); letter-spacing: 0; color: var(--ink); }
.legal-content p, .legal-content li { font-size: 15px; line-height: 1.85; color: var(--muted); overflow-wrap: anywhere; }
.legal-content p + p { margin-top: 16px; }
.legal-content ul { margin: 0 0 18px; padding-inline-start: 22px; }
.legal-content li + li { margin-top: 11px; }
.legal-content a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.legal-page a:focus-visible { outline: 3px solid var(--theme-focus, #987130); outline-offset: 3px; border-radius: 2px; }
.legal-related { display: flex; flex-wrap: wrap; gap: 20px 32px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); font-size: 13px; }
.legal-related a { color: var(--ink); }
.legal-related a[aria-current="page"] { font-weight: 650; }
@media (max-width: 1099px) {
    .legal-layout { grid-template-columns: 210px minmax(0, 1fr); gap: 24px; }
    .legal-content { padding: 27px; }
    .legal-toc { top: 98px; max-height: calc(100dvh - 118px); padding: 10px; }
}
@media (max-width: 799px) {
    .legal-page { padding-block: 34px 50px; }
    .legal-header { padding-bottom: 26px; margin-bottom: 25px; }
    .legal-layout { grid-template-columns: minmax(0, 1fr); gap: 25px; }
    .legal-toc { position: static; max-height: none; overflow: visible; padding: 12px; }
    .legal-toc ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px 10px; }
    .legal-toc a { padding: 8px; }
    .legal-header > p:last-child { font-size: 15px; }
    .legal-content h2 { font-size: 28px; }
}
@media (max-width: 559px) {
    .legal-back { margin-bottom: 23px; }
    .legal-header h1 { font-size: 42px; }
    .legal-updated { font-size: 11px; line-height: 1.7; }
    .legal-toc { padding: 10px; }
    .legal-toc ul { grid-template-columns: minmax(0, 1fr); }
    .legal-toc a { font-size: 13px; }
    .legal-content { padding: 23px 20px; }
    .legal-content h2 { font-size: 26px; }
    .legal-content p, .legal-content li { font-size: 15px; line-height: 1.8; }
}
@media print {
    .legal-page { padding: 0; }
    .legal-back, .legal-toc, .legal-related { display: none; }
    .legal-layout { display: block; }
    .legal-header, .legal-content { padding: 0; border: 0; }
    .legal-header h1 { font-size: 30px; }
    .legal-content { background: transparent; }
    .legal-content h2 { font-size: 22px; break-after: avoid; }
    .legal-content p, .legal-content li { font-size: 11px; }
}
