:root { color-scheme: light; font-family: Arial, sans-serif; color: #18343f; background: #fff; letter-spacing: 0; }
* { box-sizing: border-box; }
body { margin: 0; }
a { color: #006d7b; text-underline-offset: 3px; overflow-wrap: anywhere; }
a:hover { color: #004652; }
a:focus-visible { outline: 3px solid #008b99; outline-offset: 5px; }
.legal-header, .legal-footer { border-bottom: 1px solid #d9e4e7; padding: 20px max(24px, calc((100% - 1120px) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.legal-brand { display: flex; align-items: center; gap: 12px; color: #18343f; font-size: 19px; font-weight: 700; text-decoration: none; }
.legal-brand img { width: 40px; height: 40px; flex: 0 0 40px; }
.legal-header nav, .legal-footer nav { display: flex; flex-wrap: wrap; gap: 16px; }
.legal-header nav a, .legal-footer nav a { padding: 10px 0; }
.legal-header [aria-current=page] { font-weight: 700; }
.legal-draft { background: #fff5db; border-bottom: 1px solid #e9d5a0; color: #604912; padding: 14px 24px; text-align: center; font-size: 14px; line-height: 1.5; }
.legal-layout { max-width: 1120px; margin: 0 auto; padding: 44px 24px 64px; display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 56px; }
.legal-toc { align-self: start; position: sticky; top: 24px; font-size: 14px; line-height: 1.5; }
.legal-toc p { margin: 0 0 12px; font-weight: 700; }
.legal-toc ol { margin: 0; padding-left: 22px; }
.legal-toc li { padding: 6px 0; }
.legal-article { min-width: 0; max-width: 760px; font-size: 16px; line-height: 1.75; overflow-wrap: anywhere; }
.legal-article h1 { font-size: 36px; line-height: 1.2; margin: 0 0 12px; }
.legal-date { color: #596b72; font-size: 14px; margin: 0 0 24px; }
.legal-article h2 { font-size: 21px; line-height: 1.35; margin: 0 0 12px; }
.legal-article section { border-top: 1px solid #d9e4e7; padding-top: 28px; margin-top: 28px; scroll-margin-top: 24px; }
.legal-article p { margin: 0 0 16px; }
.legal-article ul { padding-left: 22px; }
.legal-article li { margin-bottom: 10px; }
.legal-footer { border-top: 1px solid #d9e4e7; border-bottom: 0; font-size: 14px; color: #596b72; }
.legal-skip { position: absolute; left: 16px; top: -100px; padding: 12px; background: #fff; z-index: 2; }
.legal-skip:focus { top: 12px; }
@media (max-width: 760px) {
  .legal-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 28px 20px 40px; }
  .legal-toc { position: static; }
  .legal-toc ol { columns: 2; column-gap: 26px; }
  .legal-toc li { break-inside: avoid; }
  .legal-article h1 { font-size: 30px; }
  .legal-header, .legal-footer { padding: 18px 20px; }
}
@media (max-width: 360px) { .legal-toc ol { columns: 1; } }
@media print { .legal-toc, .legal-header nav, .legal-footer, .legal-skip { display: none; } .legal-layout { display: block; padding: 24px; } }
