/* Legal pages reuse the global Syntide palette, type scale, spacing and container system. */
.legal-main { padding-top: 0; background: radial-gradient(circle at 76% 0%, rgb(22 124 198 / 13%), transparent 32rem), var(--color-bg); }
.legal-hero { border-bottom: var(--border-thin); background: linear-gradient(180deg, rgb(8 18 28 / 80%), transparent); }
.legal-hero__inner { max-width: calc(72rem + (var(--gutter) * 2)); padding-block: clamp(3.5rem, 7vw, 6.5rem) clamp(2rem, 4vw, 3.5rem); }
.legal-eyebrow, .legal-updated span { margin: 0 0 var(--space-3); color: var(--color-cyan); font-family: var(--font-ui); font-size: var(--font-size-caption); font-weight: var(--font-weight-bold); letter-spacing: var(--letter-spacing-eyebrow); text-transform: uppercase; }
.legal-hero h1 { max-width: 50rem; margin-bottom: var(--space-4); font-size: var(--font-size-display); }
.legal-hero__summary { max-width: 47rem; margin: 0; color: var(--color-text-muted); font-size: 1.03rem; }
.legal-updated { margin: var(--space-6) 0 0; color: var(--color-text-muted); font-size: var(--font-size-small); }
.legal-updated span { margin-right: var(--space-2); }
.legal-layout { display: grid; grid-template-columns: minmax(13rem, 16rem) minmax(0, 48rem); justify-content: center; align-items: start; gap: clamp(2rem, 6vw, 6rem); padding-block: var(--section-space); }
.legal-toc { position: sticky; top: calc(var(--header-height, 92px) + var(--space-6)); }
.legal-toc__details { border-top: 1px solid var(--color-border-strong); }
.legal-toc summary { cursor: pointer; padding: var(--space-4) 0; color: var(--color-metallic-silver); font-family: var(--font-ui); font-size: var(--font-size-small); font-weight: var(--font-weight-bold); letter-spacing: var(--letter-spacing-heading); text-transform: uppercase; }
.legal-toc ol { display: grid; gap: .6rem; margin: 0; padding: 0 0 var(--space-2); color: var(--color-text-muted); font-size: var(--font-size-small); line-height: 1.35; list-style: none; }
.legal-toc a { color: inherit; text-decoration: none; }
.legal-toc a:hover, .legal-toc a:focus-visible { color: var(--color-cyan); }
.legal-content { min-width: 0; color: var(--color-metallic-silver); font-family: var(--font-body); }
.legal-content h2 { scroll-margin-top: calc(var(--header-height, 92px) + var(--space-8)); margin-top: clamp(2.75rem, 5vw, 4.25rem); padding-top: var(--space-6); border-top: 1px solid var(--color-border); color: var(--color-text); font-size: var(--font-size-h3); }
.legal-content h2:first-child { margin-top: 0; }
.legal-content h3 { margin-top: var(--space-8); color: var(--color-metallic-silver); font-size: var(--font-size-h4); }
.legal-content p, .legal-content li { max-width: 100%; }
.legal-content p + p { margin-top: var(--space-5); }
.legal-content ul, .legal-content ol { display: grid; gap: var(--space-3); padding-left: 1.35rem; }
.legal-content strong { color: var(--color-text); }
.legal-notice { border-left: 3px solid var(--color-cyan); margin: 0 0 var(--space-8); padding: var(--space-5) var(--space-6); background: rgb(22 124 198 / 8%); color: var(--color-text); font-family: var(--font-ui); font-size: var(--font-size-small); letter-spacing: .025em; }
.legal-placeholder { display: inline; border-bottom: 1px dashed var(--color-warning); color: #f4c96b; font-weight: var(--font-weight-semibold); }
.legal-related { border-top: 1px solid var(--color-border-strong); margin-top: var(--space-16); padding-top: var(--space-8); }
.legal-related h2 { border: 0; margin: 0 0 var(--space-4); padding: 0; font-size: var(--font-size-h4); }
.legal-related ul { grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); padding: 0; list-style: none; }
.legal-related a { color: var(--color-cyan); font-family: var(--font-ui); font-size: var(--font-size-small); text-decoration: none; }
@media (max-width: 900px) { .legal-layout { grid-template-columns: 1fr; gap: var(--space-8); } .legal-toc { position: static; } .legal-toc__details { border: var(--border-thin); padding: 0 var(--space-4); background: var(--color-surface); } .legal-toc__details:not([open]) { padding-bottom: 0; } .legal-toc ol { max-height: 17rem; overflow: auto; padding-bottom: var(--space-4); } }
@media (max-width: 540px) { .legal-hero__inner { padding-block: var(--space-16) var(--space-10); } .legal-content h2 { margin-top: var(--space-12); } .legal-related ul { grid-template-columns: 1fr; } }
