/* Shared typography and readable controls; hero design remains in site.css. */
.library-page h1, .library-page h2, .library-page h3 {
  font-family: var(--deco); font-weight: 400;
}
.library-page button, .library-page input, .library-page select { font-family: var(--nav); }
.story-main, .marker-main, .library-main { min-width: 0; }
.library-page img { max-width: 100%; }
.library-header { flex-wrap: wrap; gap: 1rem; }
.library-header nav { display: flex; flex-wrap: wrap; gap: 1rem; }
.exhibit-plate { scroll-margin-top: 100px; }
.room-gallery .room-item { min-width: 0; }
.room-gallery .room-item span { overflow-wrap: anywhere; }
.atlas-place-label span { -webkit-text-stroke: 0 !important; text-shadow: 0 1px 3px #071921, 1px 0 2px #071921, -1px 0 2px #071921 !important; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid #dfbb71; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
