.legal-page { background: #fff; }
.legal-intro { padding: 62px 0 70px; background: #333; color: #fff; }
.legal-intro__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr); gap: clamp(42px, 8vw, 110px); align-items: center; }
.legal-intro h1 { margin-bottom: 18px; font-size: clamp(3rem, 6vw, 5.35rem); }
.legal-intro .eyebrow { color: #c5dce8; }
.legal-intro__grid > div > p:not(.eyebrow):not(.legal-intro__updated) { max-width: 630px; color: #d7e0e5; font-size: 1.08rem; }
.legal-intro__updated { margin-top: 24px; color: #c5dce8; font-size: .78rem; font-weight: 800; }
.legal-intro__image { height: 290px; margin: 0; overflow: hidden; border-radius: var(--radius-large); box-shadow: 0 20px 50px rgba(0, 0, 0, .22); }
.legal-intro__image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72); }
.legal-layout { display: grid; grid-template-columns: 180px minmax(0, 800px); gap: clamp(50px, 10vw, 154px); padding: 90px 0 116px; align-items: start; }
.legal-toc { position: sticky; top: 110px; display: grid; gap: 10px; height: fit-content; padding-left: 16px; border-left: 1px solid var(--color-line); font-size: .8rem; }
.legal-toc p { margin: 0 0 5px; color: var(--color-primary); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.legal-toc a { color: var(--color-muted); }
.legal-toc a:hover { color: var(--color-primary); }
.legal-content section { padding: 0 0 42px; margin-bottom: 42px; border-bottom: 1px solid var(--color-line); scroll-margin-top: 120px; }
.legal-content section:last-child { margin-bottom: 0; border-bottom: 0; }
.legal-content h2 { margin-bottom: 15px; font-size: clamp(1.75rem, 3vw, 2.45rem); }
.legal-content p { color: var(--color-muted); }
.legal-content a { color: var(--color-primary); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 900px) { .legal-intro__grid, .legal-layout { grid-template-columns: 1fr; } .legal-layout { gap: 0; padding-top: 66px; } .legal-toc { display: none; } }
@media (max-width: 620px) { .legal-intro { padding: 42px 0 48px; } .legal-intro__image { height: 215px; } .legal-content section { padding-bottom: 32px; margin-bottom: 32px; } }
