/* ScanPeek visitor typography - editorial rather than decorative.
   Admin styles and homepage wordmark are intentionally not affected. */

/* Type hierarchy: one upright serif display face, clear sans for everything else. */
.public-guide .public-hero > h1,
.public-guide .public-exhibit-header > h1,
.public-guide .history-page-header > h1,
.route-page .route-hero > h1,
.location-page .location-hero-copy > h1 {
  font-family: "Source Serif 4", Georgia, serif;
  font-style: normal;
  font-weight: 500;
  color: #292b29;
  letter-spacing: -0.035em;
  line-height: 1.11;
  overflow-wrap: break-word;
}
.public-guide .public-hero > h1,
.public-guide .public-exhibit-header > h1,
.public-guide .history-page-header > h1 {
  font-size: clamp(2.55rem, 5vw, 4.9rem);
}
.route-page .route-hero > h1 {
  font-size: clamp(2.5rem, 5vw, 4.65rem);
}
.public-guide .public-section-heading h2,
.public-guide .object-guide-gate h2,
.public-guide .public-audio-copy h2,
.location-page .location-section-heading h2,
.location-page .location-place-card h3,
.location-page .location-route-copy h3,
.route-page .route-stops-heading h2 {
  font-family: "DM Sans", Arial, sans-serif;
  font-style: normal;
  font-weight: 650;
  color: #2c302e;
  letter-spacing: -0.035em;
  line-height: 1.24;
}
.public-guide,
.location-page,
.route-page {
  color: #292b29;
}
.public-guide .lead,
.public-guide .public-description > p,
.public-guide .history-page-content > p,
.public-guide .object-guide-gate p,
.location-page .location-hero-copy > p,
.location-page .location-place-card p,
.location-page .location-route-copy p,
.route-page .route-hero > .lead,
.route-page .route-qr-copy p {
  font-family: "DM Sans", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #565a57;
  line-height: 1.72;
  letter-spacing: 0;
}
.public-guide .eyebrow,
.public-guide .section-label,
.location-page .eyebrow,
.location-page .section-label,
.route-page .eyebrow,
.route-page .section-label {
  font-family: "DM Sans", Arial, sans-serif;
  color: #756955;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.095em;
}
.public-guide .secondary-button,
.location-page .secondary-button,
.route-page .secondary-button,
.public-guide .primary-button,
.location-page .primary-button,
.route-page .primary-button {
  font-family: "DM Sans", Arial, sans-serif;
  font-weight: 650;
  letter-spacing: 0;
}
@media (max-width: 560px) {
  .public-guide .public-hero > h1,
  .public-guide .public-exhibit-header > h1,
  .public-guide .history-page-header > h1,
  .route-page .route-hero > h1,
  .location-page .location-hero-copy > h1 {
    font-size: clamp(2.15rem, 9vw, 3rem);
    line-height: 1.14;
  }
}

/* Editorial source and license links for externally sourced demo photographs. */
.public-guide .public-photo-credits {
  margin: 12px 0 30px;
  color: #77736e;
  font-size: 0.76rem;
  line-height: 1.6;
}
.public-guide .public-photo-credits summary {
  width: fit-content;
  cursor: pointer;
  font-weight: 400;
  list-style-position: inside;
}
.public-guide .public-photo-credits summary:hover,
.public-guide .public-photo-credits summary:focus-visible {
  color: #4f4a43;
}
.public-guide .public-photo-credits-source {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.public-guide .public-photo-credits ul {
  margin: 12px 0 0;
  padding-left: 18px;
}
.public-guide .public-photo-credits li + li {
  margin-top: 7px;
}
.public-guide .public-photo-credits a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.public-guide .public-photo-credits a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}
