/* Policy pages: shared brand, quiet reading layout. */
.legal-hero { background: var(--forest); color: white; padding: 30px 0 48px; border-bottom: 4px solid var(--lime); }
.legal-breadcrumb { display: flex; flex-wrap: wrap; gap: 12px; font-size: 13px; color: #cedccc; margin-bottom: 34px; }
.legal-breadcrumb a:hover { color: var(--lime); text-decoration: underline; }
.legal-hero h1 { font-size: clamp(54px, 6.5vw, 84px); letter-spacing: -.02em; }
.legal-intro { max-width: 630px; color: #e1eadd; margin-top: 18px; font-size: 18px; line-height: 1.75; }
.legal-updated { font-size: 13px; color: #c0d0bb; margin-top: 23px; }
.legal-updated time { color: white; margin-left: 8px; }
.legal-layout { display: grid; grid-template-columns: 260px minmax(0, 760px); justify-content: space-between; gap: 64px; padding-block: 60px 76px; }
.legal-sidebar { position: sticky; top: calc(var(--header-height) + 30px); align-self: start; }
.legal-sidebar .eyebrow { font-size: 12px; letter-spacing: 1.4px; }
.legal-sidebar ol { list-style: none; counter-reset: sections; padding: 0; margin: 0; }
.legal-sidebar li { counter-increment: sections; border-bottom: 1px solid var(--line); }
.legal-sidebar li a { display: flex; gap: 12px; align-items: baseline; padding: 11px 0; font-size: 14px; line-height: 1.6; }
.legal-sidebar li a::before { content: counter(sections, decimal-leading-zero); color: #697764; font-size: 11px; }
.legal-sidebar a:hover { color: var(--green); text-decoration: underline; text-underline-offset: 4px; }
.legal-related { display: flex; justify-content: space-between; gap: 15px; font-weight: 700; font-size: 14px; padding: 20px 0; }
.legal-copy { min-width: 0; }
.legal-copy section { padding-bottom: 30px; margin-bottom: 32px; border-bottom: 1px solid var(--line); scroll-margin-top: calc(var(--header-height) + 24px); }
.legal-copy section h2 { display: flex; align-items: baseline; gap: 14px; font-size: 32px; line-height: 1.15; color: var(--forest); margin-bottom: 18px; }
.legal-number { color: #50752b; font: 700 12px/1.5 var(--body); flex: none; }
.legal-copy section p { font-size: 16px; line-height: 1.9; color: #465348; }
.legal-copy p a { color: var(--forest); text-decoration: underline; text-underline-offset: 3px; }
.legal-copy p a:hover { color: var(--green); }
.legal-contact { padding: 30px 34px; background: var(--pale); border-left: 4px solid var(--lime); border-radius: 0 8px 8px 0; }
.legal-contact .eyebrow { font-size: 12px; }
.legal-contact h2 { font-size: 38px; }
.legal-contact p:not(.eyebrow) { margin-top: 13px; color: var(--muted); }
.legal-contact .button { margin-top: 22px; }
.legal-page .site-footer { padding-bottom: 24px; }
.legal-page .footer-main { justify-content: space-between; }
.legal-page .footer-main nav { margin: 0; }
.legal-page .footer-bottom { flex-wrap: wrap; }
.legal-page .directory-hours { width: 100%; }
@media (max-width: 1020px) { .legal-layout { grid-template-columns: 220px minmax(0, 1fr); gap: 38px; } }
@media (max-width: 800px) {
  .legal-layout { grid-template-columns: 1fr; gap: 36px; padding-block: 34px 48px; }
  .legal-sidebar { position: static; padding: 22px; background: var(--pale); border-radius: 8px; }
  .legal-sidebar ol { columns: 2; column-gap: 30px; }
  .legal-sidebar li { break-inside: avoid; }
  .legal-related { padding-bottom: 0; }
  .legal-copy section h2 { font-size: 30px; }
  .legal-page .footer-main { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 600px) {
  .legal-hero { padding-block: 23px 34px; }
  .legal-breadcrumb { margin-bottom: 27px; }
  .legal-hero h1 { font-size: 53px; }
  .legal-intro { font-size: 16px; }
  .legal-sidebar ol { columns: 1; }
  .legal-sidebar li a { min-height: 44px; padding-block: 9px; }
  .legal-copy section { padding-bottom: 24px; margin-bottom: 25px; }
  .legal-copy section h2 { gap: 10px; }
  .legal-contact { padding: 25px 22px; }
  .legal-contact .button { width: 100%; padding-inline: 12px; }
}
@media (prefers-reduced-motion: reduce) { .legal-page { scroll-behavior: auto; } html:has(.legal-page) { scroll-behavior: auto; } }
