/* Versioned corporate identity / legal-page styles; existing immutable assets stay intact. */
.about-inner address,
.footer-brand address {
  margin-top: 24px;
  font-style: normal;
  font-size: 14px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.about-inner address { color: var(--muted); margin-bottom: 24px; }
.about-inner address a,
.footer-brand address a { text-decoration: underline; text-underline-offset: 3px; }
.footer-brand { flex: 1 1 320px; }
.footer-brand address { max-width: 44ch; color: var(--muted); }
.footer-links { flex: 1 1 420px; align-content: start; }
.legal-main {
  max-width: 1120px;
  margin: 0 auto;
  padding: 144px 32px 80px;
}
.legal-breadcrumbs { font-size: 14px; color: var(--muted); margin-bottom: 24px; }
.legal-breadcrumbs a { text-decoration: underline; text-underline-offset: 3px; }
.legal-heading { max-width: 72ch; margin-bottom: 40px; }
.legal-heading h1 { font-size: clamp(36px, 5vw, 56px); line-height: 1.15; margin: 12px 0 20px; }
.legal-heading p { line-height: 1.8; }
.legal-dates { color: var(--muted); font-size: 14px; margin-bottom: 16px; }
.legal-layout { display: grid; grid-template-columns: 224px minmax(0, 1fr); gap: 48px; align-items: start; }
.legal-toc { position: sticky; top: 112px; border-top: 1px solid var(--hairline); padding-top: 16px; }
.legal-toc h2 { font-size: 14px; margin-bottom: 16px; }
.legal-toc ol { margin: 0; padding-left: 20px; }
.legal-toc li { font-size: 13px; line-height: 1.6; margin-bottom: 10px; }
.legal-toc a { color: var(--muted); }
.legal-toc a:hover { color: var(--accent); text-decoration: underline; }
.legal-content { min-width: 0; max-width: 72ch; }
.legal-section { scroll-margin-top: 112px; margin-bottom: 36px; }
.legal-section h2 { font-size: 23px; line-height: 1.4; margin-bottom: 16px; }
.legal-section p,
.legal-section li,
.legal-section address { font-size: 16px; line-height: 1.85; overflow-wrap: anywhere; }
.legal-section p { margin: 12px 0; }
.legal-section ul { padding-left: 24px; }
.legal-section li { margin: 10px 0; }
.legal-section address { font-style: normal; }
.legal-section a { text-decoration: underline; text-underline-offset: 3px; }
.legal-main a:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 2px; }
.legal-related { border-top: 1px solid var(--hairline); padding-top: 24px; margin-top: 40px; }
@media (max-width: 760px) {
  .legal-main { padding: 112px 24px 56px; }
  .legal-heading { margin-bottom: 32px; }
  .legal-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .legal-toc { position: static; }
  .legal-toc ol { columns: 2; column-gap: 28px; }
  .legal-toc li { break-inside: avoid; }
  .legal-section h2 { font-size: 21px; }
}
@media (max-width: 380px) {
  .legal-main { padding-inline: 20px; }
  .legal-toc ol { columns: 1; }
}
@media print {
  .site-nav, .site-footer, .skip-link, .legal-toc, .legal-breadcrumbs { display: none; }
  .legal-main { padding: 0; max-width: none; }
  .legal-layout { display: block; }
  .legal-content { max-width: none; }
  .legal-section h2 { break-after: avoid; }
}
