/* One footer layout across legacy utilities, editorial pages, and homepages. */
footer[data-shared-footer] {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 3rem 0 !important;
  background: var(--color-footer) !important;
  color: var(--color-footer-soft) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: left !important;
  font-family: var(--font-body) !important;
  font-size: .875rem !important;
  line-height: 1.5 !important;
}
footer[data-shared-footer] .footer-wrap {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: min(1160px, calc(100% - 3rem)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  gap: 2rem !important;
}
footer[data-shared-footer] :is(.footer-wrap, .footer-brand, .footer-nav-grid, .footer-column) { font: inherit !important; }
footer[data-shared-footer] .footer-brand { max-width: 60ch; }
footer[data-shared-footer] p {
  margin: 0 !important;
  max-width: none !important;
  color: var(--color-footer-soft) !important;
  font: inherit !important;
}
footer[data-shared-footer] .footer-nav-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)) !important;
  gap: 3rem !important;
}
footer[data-shared-footer] .footer-column { display: block; min-width: 0; }
footer[data-shared-footer] h3 {
  margin: 0 0 .75rem !important;
  color: var(--color-footer-ink) !important;
  font-family: var(--font-display) !important;
  font-size: 1rem !important;
  font-weight: 650 !important;
  line-height: 1.3 !important;
  letter-spacing: -.035em !important;
}
footer[data-shared-footer] .footer-links {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  font: inherit !important;
}
footer[data-shared-footer] .footer-column:first-child .footer-links {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 1.5rem !important;
}
footer[data-shared-footer] a {
  display: flex !important;
  align-items: center !important;
  min-height: 44px !important;
  padding: .5rem 0 !important;
  color: var(--color-footer-soft) !important;
  font: inherit !important;
  text-decoration: none;
  overflow-wrap: anywhere;
}
footer[data-shared-footer] a:hover { color: var(--color-footer-ink) !important; text-decoration: underline; }
footer[data-shared-footer] a:focus-visible { outline: 3px solid var(--color-footer-ink) !important; outline-offset: 3px; }
@media (max-width: 960px) {
  footer[data-shared-footer] .footer-nav-grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) !important; gap: 2rem !important; }
}
@media (max-width: 640px) {
  footer[data-shared-footer] .footer-nav-grid,
  footer[data-shared-footer] .footer-column:first-child .footer-links { grid-template-columns: minmax(0, 1fr) !important; }
}
/* App help keeps its existing copyright-only presentation. */
html[data-source="ios-app"] footer[data-shared-footer] { padding-block: 1.25rem !important; }
html[data-source="ios-app"] footer[data-shared-footer] .footer-nav-grid { display: none !important; }
html[data-source="ios-app"] footer[data-shared-footer] .footer-wrap { display: block !important; }
html[data-source="ios-app"] footer[data-shared-footer] .footer-brand { max-width: none; }
html[data-source="ios-app"] footer[data-shared-footer] p { text-align: center !important; }
