.legal-page { color: #143c36; background: #fcfaf5; }
.legal-page .legal-hero { padding: 72px 7vw 62px; background: #f0ecdf; text-align: center; }
.legal-page .legal-hero h1 { margin: 0 auto 22px; font: 400 clamp(2.8rem, 5vw, 4.8rem)/1.08 "DM Serif Display", Georgia, serif; }
.legal-page .legal-hero > p:last-child { max-width: 760px; margin: 0 auto; font-size: 18px; line-height: 1.7; }
.legal-page .legal-body { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: clamp(38px, 5vw, 86px); max-width: 1200px; margin: 0 auto; padding: 74px 5vw 110px; }
.legal-page .legal-toc { position: sticky; top: 120px; align-self: start; display: flex; flex-direction: column; gap: 12px; border-left: 1px solid #ccd7ce; padding-left: 18px; font-size: 13px; line-height: 1.45; }
.legal-page .legal-toc a { color: #143c36; text-decoration: none; }
.legal-page .legal-toc a:hover { color: #a96b12; }
.legal-page .legal-toc a:focus-visible { outline: 2px solid #143c36; outline-offset: 3px; }
.legal-page .legal-copy { min-width: 0; max-width: 800px; }
.legal-page .legal-identity { margin: 0 0 42px; padding: 0 0 34px; border-bottom: 1px solid #ccd7ce; }
.legal-page .legal-copy section { padding: 32px 0 36px; border-bottom: 1px solid #ccd7ce; scroll-margin-top: 112px; }
.legal-page .legal-copy h2 { margin: 0 0 18px; font: 400 30px/1.2 "DM Serif Display", Georgia, serif; }
.legal-page .legal-copy p { margin: 0 0 16px; font-size: 16px; line-height: 1.8; }
.legal-page .legal-copy p:last-child { margin-bottom: 0; }
.legal-page .legal-identity a { border-bottom: 1px solid #9ba9a1; font-size: 15px; }
@media (max-width: 760px) {
  .legal-page .legal-hero { padding: 52px 7vw 48px; }
  .legal-page .legal-hero > p:last-child { font-size: 16px; }
  .legal-page .legal-body { grid-template-columns: minmax(0, 1fr); gap: 40px; padding: 50px 7vw 76px; }
  .legal-page .legal-toc { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 18px; }
  .legal-page .legal-copy h2 { font-size: 26px; }
}
@media (max-width: 430px) { .legal-page .legal-toc { grid-template-columns: minmax(0, 1fr); } }
