/* Shared header and footer refinements; preserve the original brand artwork. */
.header .header-inner { min-height: 122px; padding-block: 14px; }
.header .brand { display: flex; flex-direction: column; align-items: center; gap: 7px; width: 194px; flex-basis: 194px; }
.header .brand img { width: 100%; height: auto; object-fit: contain; }
.header .brand span { margin: 0; font-size: .875rem; line-height: 1.4; letter-spacing: .035em; white-space: nowrap; }
footer .social-links { gap: 12px; margin-top: 20px; }
footer .social-links a { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin: 0; border: 1px solid #8b9db6; border-radius: 50%; background: transparent; color: white; }
footer .social-links svg { display: block; width: 22px; height: 22px; fill: currentColor; }
footer .social-links a:hover { color: var(--teal); background: white; border-color: white; }
footer .social-links a:focus-visible { outline: 3px solid #cfdef6; outline-offset: 4px; }
[data-back-to-top] { min-height: 44px; display: inline-flex; align-items: center; }
.overview-story figure { min-width: 0; }
.overview-story img { height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
@media (max-width: 1200px) and (min-width: 1101px) {
  .header .brand { width: 175px; flex-basis: 175px; }
}
@media (max-width: 640px) {
  .header .header-inner { min-height: 110px; padding-block: 12px; }
  .header .brand { width: 172px; flex-basis: 172px; }
  .header .brand span { letter-spacing: .01em; }
}
@media print {
  footer .social-links, [data-back-to-top] { display: none; }
}
