html { scroll-behavior: auto; scroll-padding-top: 32px; }
.legal-page .site-header { gap: 24px; }
.legal-page .site-header nav { margin-left: auto; gap: 26px; }
.legal-page .site-header nav [aria-current="page"] { color: var(--green); text-decoration: underline; text-underline-offset: 6px; }
.legal-hero { padding-block: 76px 48px; max-width: 920px; }
.legal-hero .eyebrow { color: var(--green); margin-bottom: 25px; }
.legal-hero h1 { font-size: clamp(52px, 6.6vw, 88px); line-height: 1.08; }
.legal-hero .intro { max-width: 610px; font-size: 17px; line-height: 1.8; margin-top: 25px; }
.legal-meta { display: flex; flex-wrap: wrap; gap: 9px 22px; margin-top: 25px; font-size: 11px; color: var(--muted); }
.legal-summary { background: var(--sage); border: 1px solid #cdd6c1; border-radius: 4px; padding: 27px 30px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 30px; }
.legal-summary p { font-size: 13px; line-height: 1.8; }
.legal-summary strong { display: block; color: var(--green); font-weight: 600; margin-bottom: 3px; }
.legal-layout { display: grid; grid-template-columns: 235px minmax(0, 720px); justify-content: space-between; gap: 70px; padding-block: 66px 90px; }
.legal-toc { position: sticky; top: 32px; align-self: start; }
.legal-toc .eyebrow { margin-bottom: 15px; }
.legal-toc ol { list-style: none; padding: 0; margin: 0; counter-reset: contents; }
.legal-toc li { counter-increment: contents; }
.legal-toc a { display: flex; align-items: baseline; gap: 12px; padding-block: 9px; font-size: 12px; line-height: 1.5; color: var(--muted); }
.legal-toc a::before { content: counter(contents, decimal-leading-zero); font-size: 10px; color: var(--green); }
.legal-toc a:hover { color: var(--green); text-decoration: underline; text-underline-offset: 4px; }
.legal-toc .toc-note { border-top: 1px solid var(--line); margin-top: 20px; padding-top: 18px; font: 23px/1.3 Hand, cursive; color: var(--green); }
.legal-article { min-width: 0; }
.legal-section + .legal-section { margin-top: 39px; padding-top: 35px; border-top: 1px solid var(--line); }
.legal-section h2 { font-size: 32px; letter-spacing: -.035em; line-height: 1.25; margin-bottom: 19px; display: flex; align-items: baseline; gap: 15px; }
.legal-section h2 .section-number { font: 11px/1.5 DM, sans-serif; color: var(--green); flex-shrink: 0; }
.legal-section h3 { font-family: DM, sans-serif; font-size: 15px; font-weight: 600; line-height: 1.5; letter-spacing: 0; margin: 23px 0 8px; }
.legal-section p, .legal-section li { font-size: 14px; line-height: 1.9; color: #505449; }
.legal-section p + p { margin-top: 14px; }
.legal-section ul { padding-left: 21px; margin: 14px 0; }
.legal-section li + li { margin-top: 9px; }
.legal-section li::marker { color: #7b8c6c; }
.legal-section strong { font-weight: 600; color: var(--ink); }
.legal-section a { color: var(--green); text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.legal-callout { border-left: 2px solid #8b9b71; padding: 15px 20px; background: #eeeee4; margin-top: 20px; }
.legal-contact { margin-top: 45px; padding: 30px; border: 1px solid #cdd6c1; border-radius: 4px; background: #eef0e6; }
.legal-contact .eyebrow { color: var(--green); margin-bottom: 12px; }
.legal-contact p { font-size: 14px; line-height: 1.8; }
.legal-contact a { display: inline-block; margin-top: 13px; font-size: 16px; text-decoration: underline; text-underline-offset: 5px; color: var(--green); overflow-wrap: anywhere; }
.legal-next { border-top: 1px solid var(--line); margin-top: 38px; padding-top: 24px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; font-size: 12px; }
.legal-next a { min-height: 44px; display: inline-flex; align-items: center; gap: 15px; }
.legal-next a:hover { text-decoration: underline; text-underline-offset: 4px; }
.legal-page footer { border-top: 1px solid var(--line); }
@media (max-width: 1000px) {
  .legal-layout { grid-template-columns: 190px minmax(0, 1fr); gap: 40px; }
  .legal-summary { gap: 22px; padding: 24px; }
}
@media (max-width: 750px) {
  .legal-hero { padding-block: 48px 32px; }
  .legal-hero .intro { font-size: 15px; }
  .legal-summary { grid-template-columns: 1fr; gap: 17px; }
  .legal-summary strong { margin-bottom: 0; }
  .legal-layout { grid-template-columns: 1fr; gap: 35px; padding-block: 37px 55px; }
  .legal-toc { position: static; padding-bottom: 26px; border-bottom: 1px solid var(--line); }
  .legal-toc ol { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
  .legal-toc a { min-height: 44px; align-items: center; font-size: 11px; gap: 8px; }
  .legal-toc .toc-note { display: none; }
  .legal-section h2 { font-size: 28px; gap: 11px; }
  .legal-section p, .legal-section li { font-size: 14px; line-height: 1.85; }
  .legal-contact { padding: 24px; }
}
@media (max-width: 650px) {
  .legal-page .site-header nav { display: flex; font-size: 10px; gap: 17px; }
  .legal-page .site-header .wordmark { font-size: 31px; gap: 7px; }
  .legal-page .site-header .wordmark svg { width: 28px; }
  .legal-page .site-header { gap: 12px; }
  .legal-hero h1 { font-size: clamp(48px, 12vw, 66px); }
  .legal-hero .eyebrow { font-size: 8px; margin-bottom: 20px; }
  .legal-meta { font-size: 10px; gap: 7px 16px; }
}
@media print {
  @page { margin: 20mm; }
  body { background: white; color: black; }
  .wrap, .site-header { width: 100%; max-width: none; }
  .site-header { height: auto; padding-bottom: 15px; }
  .site-header nav, .legal-toc, .legal-next, footer, .skip-link { display: none !important; }
  .legal-hero { padding-block: 25px; }
  .legal-hero h1 { font-size: 40px; }
  .legal-hero .intro { font-size: 12px; }
  .legal-summary { display: block; background: none; padding: 15px; }
  .legal-summary p + p { margin-top: 8px; }
  .legal-layout { display: block; padding-block: 30px 0; }
  .legal-section h2 { font-size: 23px; break-after: avoid; }
  .legal-section h3 { break-after: avoid; }
  .legal-section p, .legal-section li { font-size: 11px; }
  .legal-section { orphans: 3; widows: 3; }
  .legal-contact { break-inside: avoid; background: none; }
}
