.legal-page { max-width: 860px; line-height: 1.95; overflow-wrap: anywhere; }
.legal-page .page__title { font-size: clamp(1.65rem, 4vw, 2.15rem); line-height: 1.5; letter-spacing: .02em; }
.legal-page h2 { scroll-margin-top: 6rem; margin-top: 2.6rem; }
.legal-page p, .legal-page li { color: #334b5b; }
.legal-page .legal-list li { margin-bottom: .85rem; }
.legal-page__toc { margin: 1.5rem 0 2rem; padding: 1.2rem 1.4rem; background: #edf4f8; border: 1px solid #d4e3ed; border-radius: 8px; }
.legal-page__toc p { margin: 0 0 .6rem; font-weight: 700; }
.legal-page__toc ol { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem 1.5rem; }
.legal-page__toc a { display: block; font-size: .9rem; line-height: 1.7; }
.legal-page a { text-decoration: underline; text-underline-offset: .2em; }
.legal-page a:focus-visible { outline: 3px solid #176aa1; outline-offset: 4px; }
.legal-page__action { display: inline-block; padding: .75rem 1rem; border: 1px solid #176aa1; border-radius: 6px; font-weight: 700; }
.legal-page__related { border-top: 1px solid #d4e3ed; margin-top: 3rem; padding-top: .5rem; }
.legal-page__related h2 { border: 0; padding: 0; font-size: 1rem; margin-top: 1rem; }
.legal-page__related ul { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; list-style: none; padding: 0; font-size: .875rem; }
.legal-page__enacted { margin-top: 2rem; font-size: .875rem; color: #526b7c; }
.legal-page .price-table, .legal-page .info-table { width: 100%; min-width: 0; table-layout: fixed; }
.legal-page .price-table th { width: 26%; }
.legal-page .price-table td, .legal-page .price-table th { white-space: normal; vertical-align: top; }
@media(max-width: 600px) {
  .legal-page__toc ol { grid-template-columns: 1fr; }
  .legal-page .price-table, .legal-page .price-table tbody, .legal-page .price-table tr, .legal-page .price-table th, .legal-page .price-table td { display: block; width: 100%; }
  .legal-page .price-table td { border-top: 0; padding-top: .5rem; }
  .legal-page .price-table th { padding-bottom: .4rem; }
  .legal-page__table th { width: 90px; }
}
