/* Long-form policy pages use the same Schooligio visual language. */
.legal-hero { background: #faf9f6; padding: 74px 0 66px; }
.legal-hero h1 { font-family: var(--display); font-size: clamp(42px, 4.6vw, 62px); letter-spacing: -.055em; line-height: 1.08; margin: 17px 0 16px; }
.legal-hero p { color: var(--muted); font-size: 17px; line-height: 1.7; margin: 0; max-width: 650px; }
.legal-layout { display: grid; grid-template-columns: minmax(190px, 240px) minmax(0, 790px); gap: clamp(36px, 6vw, 96px); align-items: start; padding-top: 64px; padding-bottom: 96px; }
.legal-aside { position: sticky; top: 120px; max-height: calc(100vh - 145px); overflow-y: auto; padding: 22px 20px; border-radius: 14px; background: #f6f3fb; }
.legal-aside strong { display: block; font-family: var(--display); color: #5e4ca9; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 13px; }
.legal-aside nav { display: grid; gap: 11px; }
.legal-aside a { color: #5b5770; font-size: 13px; line-height: 1.4; }
.legal-aside a:hover { color: #5e4ca9; text-decoration: underline; text-underline-offset: 3px; }
.legal-copy { min-width: 0; color: #4c4d60; font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; }
.legal-copy > :first-child { margin-top: 0; }
.legal-copy h2, .legal-copy h3, .legal-copy h4 { font-family: var(--display); color: var(--ink); letter-spacing: -.025em; line-height: 1.3; scroll-margin-top: 110px; }
.legal-copy h2 { font-size: 25px; margin: 40px 0 12px; }
.legal-copy h3 { font-size: 19px; margin: 30px 0 10px; }
.legal-copy h4 { font-size: 16px; margin: 24px 0 8px; }
.legal-copy p, .legal-copy ul, .legal-copy ol, .legal-copy table { margin: 0 0 18px; }
.legal-copy ul, .legal-copy ol { padding-left: 25px; }
.legal-copy li { margin: 6px 0; }
.legal-copy li p { margin: 0 0 6px; }
.legal-copy li p:last-child { margin-bottom: 0; }
.legal-copy a { color: #5e4ca9; text-decoration: underline; text-underline-offset: 3px; }
.legal-copy a:hover { color: #342777; }
.legal-copy table { border-collapse: collapse; width: 100%; display: block; overflow-x: auto; }
.legal-copy th, .legal-copy td { border: 1px solid #e3e0e8; padding: 10px 12px; text-align: left; vertical-align: top; }
.legal-copy td p, .legal-copy th p { margin: 0; }
.legal-copy hr { border: 0; border-top: 1px solid #e8e6e3; margin: 30px 0; }
.legal-copy blockquote { border-left: 3px solid #aa99dc; margin: 22px 0; padding-left: 20px; }
@media (max-width: 800px) { .legal-hero { padding: 54px 0 48px; } .legal-layout { grid-template-columns: 1fr; gap: 32px; padding-top: 40px; padding-bottom: 70px; } .legal-aside { position: static; max-height: 280px; } .legal-aside nav { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); } }
@media (max-width: 520px) { .legal-copy { font-size: 15px; } .legal-copy h2 { font-size: 22px; } .legal-hero p { font-size: 15px; } }

.legal-nojs-nav { display: none; }
@media (max-width: 1250px) {
  .legal-nojs-nav { display: flex; flex-wrap: wrap; gap: 10px 18px; padding: 16px 24px; border-bottom: 1px solid #eee9f1; background: #fff; color: #51446f; font-size: 14px; font-weight: 700; }
  .legal-nojs-nav a { text-decoration: underline; text-underline-offset: 3px; }
}
