/* Shared styles for the legal pages (privacy statement, disclaimer). Builds on styles.css. */
.legal { max-width: 760px; display: flex; flex-direction: column; gap: 16px; padding-block: clamp(40px, 7vw, 88px); }
.legal h2 { font-size: 22px; line-height: 1.3; letter-spacing: -0.015em; margin-top: 20px; scroll-margin-top: 24px; }
.legal p, .legal li { color: var(--slate); }
.legal strong { color: var(--jet); }
.legal a { color: var(--green-text); font-weight: 600; }
.legal ul { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; }
.legal__lead { font-size: 18px; line-height: 1.6; }
.legal__toc { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 6px 24px; padding: 18px 20px; border-radius: 14px; background: var(--white); box-shadow: inset 0 0 0 1px var(--line); }
.legal__toc a { font-size: 14.5px; font-weight: 600; color: var(--jet); text-decoration: none; }
.legal__toc a:hover { color: var(--green-text); }
.legal__table { overflow-x: auto; border-radius: 14px; background: var(--white); box-shadow: inset 0 0 0 1px var(--line); }
.legal__table table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 14.5px; }
.legal__table th { text-align: left; padding: 11px 14px; background: #FAFBFA; color: var(--slate); font-size: 12.5px; font-weight: 600; border-bottom: 1px solid var(--line); }
.legal__table td { padding: 12px 14px; vertical-align: top; color: var(--slate); border-bottom: 1px solid var(--line); }
.legal__table tr:last-child td { border-bottom: 0; }
.legal__table td:first-child { color: var(--jet); font-weight: 600; }
