/* Shared tour announcement bar: in normal flow to support zoom and compact screens. */
body .site-header { position: relative; background: #171315; }
body .site-header nav { font-size: .875rem; }
.tour-ticker { display: flex; align-items: stretch; width: 100%; min-height: 54px; background: #e9d8b8; color: #302117; border-bottom: 1px solid #b99a65; }
.tour-ticker-label { flex: 0 0 auto; align-content: center; padding: .6rem 1.5rem .6rem 5vw; border-right: 1px solid #bba581; font-size: .875rem; font-weight: 700; line-height: 1.3; }
.tour-ticker-label span { display: block; font-size: .875rem; font-weight: 400; }
.tour-ticker-window { display: flex; align-items: center; flex: 1; min-width: 0; overflow: hidden; }
.tour-ticker-track { display: flex; width: max-content; flex: 0 0 auto; animation: tour-scroll 110s linear infinite; }
.tour-ticker-group { display: flex; flex: 0 0 auto; align-items: center; }
.tour-ticker-item { display: inline-flex; align-items: center; gap: 2rem; padding-left: 2rem; white-space: nowrap; font-size: .9375rem; }
.tour-ticker-star { color: #80602e; }
.tour-ticker-toggle { flex: 0 0 70px; border: 0; border-left: 1px solid #bba581; background: #e9d8b8; color: #302117; font-size: .875rem; cursor: pointer; }
.tour-ticker-toggle[hidden] { display: none; }
.tour-ticker.is-paused .tour-ticker-track { animation-play-state: paused; }
.tour-ticker-window:focus-visible { outline-offset: -4px; }
@media (hover: hover) { .tour-ticker-window:hover .tour-ticker-track { animation-play-state: paused; } }
.tour-ticker-window:focus .tour-ticker-track { animation-play-state: paused; }
@keyframes tour-scroll { to { transform: translateX(-50%); } }
body .hero { padding-top: 3rem; }
body .biography-hero { padding-top: 5rem; }
.tour-banner { margin: 0; padding: 0; background: #f4f2ee; }
.tour-banner-art { width: 100%; max-width: 1600px; aspect-ratio: 1122 / 665; overflow: hidden; margin: 0 auto; }
.tour-banner-art > img { display: block; width: 100%; max-width: none; height: auto; }
@media (prefers-reduced-motion: reduce) {
 .tour-ticker-track { animation-play-state: paused; }
 .tour-ticker:not(.is-paused):has(.tour-ticker-toggle[aria-pressed="false"]) .tour-ticker-track { animation-play-state: running; }
}
