/* Legal links and legal pages only; existing site sections retain their styles. */
.footer-legal {
  flex-basis: 100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 24px;
  color: var(--muted-text, #526074);
  font-size: .75rem;
  line-height: 1.7;
}
.footer-legal a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding-block: 4px;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.footer-legal a:hover,
.footer-legal a[aria-current="page"] { color: var(--navy); }
.legal-page .utility-bar { border-bottom: 1px solid #ffffff1f; }
.legal-page .service-title h1 { font-size: clamp(1.8rem, 4.5vw, 3.75rem); }
.legal-page .legal-main { padding-block: 56px 64px; }
.legal-page .legal-layout {
  display: grid;
  grid-template-columns: minmax(180px, 230px) minmax(0, 760px);
  gap: clamp(32px, 6vw, 88px);
  align-items: start;
}
.legal-page .legal-toc { position: sticky; top: 28px; }
.legal-page .legal-toc .eyebrow { color: var(--muted-text, #526074); }
.legal-page .legal-toc ol { margin: 16px 0 0; padding-left: 20px; font-size: .875rem; line-height: 1.65; }
.legal-page .legal-toc li + li { margin-top: 10px; }
.legal-page .legal-toc a,
.legal-page .legal-document a { text-decoration: underline; text-underline-offset: 4px; }
.legal-page .legal-document { min-width: 0; color: var(--body-text, #28384a); }
.legal-page .legal-date { margin: 0 0 24px; color: var(--muted-text, #526074); font-size: .875rem; }
.legal-page .legal-document section + section { margin-top: 36px; }
.legal-page .legal-document h2 { margin: 0 0 16px; color: var(--navy); font-size: clamp(1.25rem, 2vw, 1.6rem); line-height: 1.35; letter-spacing: -.025em; }
.legal-page .legal-document p,
.legal-page .legal-document li,
.legal-page .legal-document address { font-size: 1rem; line-height: 1.85; }
.legal-page .legal-document p { margin: 0 0 16px; }
.legal-page .legal-document ul { margin: 0 0 16px; padding-left: 24px; }
.legal-page .legal-document li + li { margin-top: 8px; }
.legal-page .legal-document address { font-style: normal; }
.legal-page .legal-contact { border-top: 2px solid var(--orange); padding-top: 24px; }
.legal-page footer { border-top: 1px solid var(--border); }
@media (max-width: 900px) {
  .legal-page .legal-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .legal-page .legal-toc { position: static; border-bottom: 1px solid var(--border); padding-bottom: 24px; }
}
@media (max-width: 650px) {
  .legal-page .legal-main { padding-block: 36px 44px; }
}
@media print {
  .legal-page .legal-layout { display: block; }
  .legal-page .legal-toc { display: none; }
}
