/* Shared styles for Terms of Service and Privacy Policy */
.shell { max-width: 760px; }
.legal-head { margin-top: 32px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.legal-head h1 { font-size: clamp(2rem, 1.5rem + 2vw, 2.75rem); font-weight: 600; letter-spacing: -0.03em; line-height: 1.08; }
.legal-head p { margin-top: 10px; color: var(--haze); }
.draft { margin-top: 16px; padding: 12px 14px; border-left: 3px solid #FFC98A; border-radius: var(--radius); background: rgba(255, 201, 138, 0.08); font-size: 14px; color: #FFC98A; }
.toc { margin-top: 24px; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--tar); }
.toc p { font-family: var(--mono); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--haze); }
.toc ol { margin-top: 10px; padding-left: 20px; list-style: decimal; display: grid; gap: 6px; }
.toc a { color: var(--chalk); text-decoration: underline; text-decoration-color: var(--line-strong); text-underline-offset: 3px; }
.toc a:hover { color: var(--vis); }
.legal section { padding-top: 32px; scroll-margin-top: 72px; }
.legal h2 { font-size: 20px; font-weight: 600; letter-spacing: -0.02em; }
.legal p, .legal li { margin-top: 10px; line-height: 1.7; color: rgba(236, 237, 230, 0.86); }
.legal ul { list-style: disc; padding-left: 20px; }
.legal strong { color: var(--chalk); }
.legal a { color: var(--vis); }
.callout { margin-top: 14px; padding: 16px; border-left: 3px solid var(--vis); border-radius: var(--radius); background: var(--kerb); }
.callout p:first-child { margin-top: 0; }
.contact-card { margin-top: 14px; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--tar); line-height: 1.8; }
.legal-foot { margin-top: 48px; padding-top: 20px; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 14px; color: var(--haze); }
.legal-foot a:hover { color: var(--chalk); }
