/* Hamilton-only adjustments; keep the shared tour styles intact. */
.hamilton-page .hero { gap: clamp(2rem, 5vw, 4rem); padding-top: 2rem; }
.hamilton-page .show-date { margin: 0 0 1rem; font-size: .85rem; letter-spacing: .03em; }
.event-lineup { font-family: var(--display); font-weight: 400; font-size: clamp(2.4rem, 4.5vw, 3.8rem); line-height: 1.05; }
.event-lineup span { display: block; margin-top: .35rem; font-family: var(--type); font-size: clamp(1.05rem, 2vw, 1.3rem); line-height: 1.4; }
.hamilton-page .tour-subtitle { margin: 1.1rem 0 .8rem; font-size: clamp(2rem, 4vw, 3rem); }
.hamilton-page .event-city { display: block; margin-top: .25rem; font-family: var(--display); font-size: 1.3rem; color: var(--bone); }
.event-sound { font-size: 1.2rem; line-height: 1.35; }
.event-fans { margin-top: .5rem; font-size: 1rem; line-height: 1.4; color: var(--muted); }
.hamilton-page .show-admission { margin-top: 1rem; gap: .65rem; font-size: .9rem; }
.hamilton-page .ticket-callout { margin-top: 1rem; padding: .9rem 0; }
.hamilton-page .ticket-callout .buttons { margin: 0 0 .5rem; }
.hamilton-page .ticket-status { min-height: 1.55em; }
.hamilton-page .checkout-fallback { margin-top: .35rem; font-size: .8rem; color: var(--muted); line-height: 1.5; }
.hamilton-page .checkout-fallback a { display: inline-flex; align-items: center; min-height: 44px; padding: .4rem 0; color: var(--bone); }
.hamilton-page .checkout-fallback a[hidden] { display: none; }
.hamilton-page .show-details { margin-top: 1.5rem; }
.hamilton-page .event-live { margin-top: 1.5rem; }
.event-live .video-container { max-width: 760px; }
.hamilton-page .event-video-caption { margin-top: .7rem; font-family: var(--type); font-size: .85rem; color: var(--muted); }
.event-video-caption a { display: inline-flex; align-items: center; min-height: 44px; color: var(--bone); }
.hamilton-page .show-details-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hamilton-page .section h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); }
.hamilton-page .event-music { margin-top: 2.5rem; }
.music-preview summary { padding: .75rem 0; cursor: pointer; font-family: var(--type); font-size: .9rem; }
.hamilton-page .mobile-ticket-bar .ticket-button { letter-spacing: .02em; }
.hamilton-page .ticket-button[aria-disabled="true"] { cursor: wait; }
@media (max-width: 760px) {
    .hamilton-page .site-nav { align-items: center; gap: .5rem; padding: .7rem 0; }
    .hamilton-page .site-nav a { display: inline-flex; align-items: center; min-height: 44px; }
    .hamilton-page .hero { padding-top: 1rem; gap: 1.75rem; }
    .hamilton-page .show-date { margin-bottom: .7rem; font-size: .8rem; }
    .event-lineup { font-size: 2.35rem; }
    .event-lineup span { margin-top: .25rem; font-size: 1.05rem; }
    .hamilton-page .tour-subtitle { margin: .8rem 0 .65rem; font-size: 2rem; }
    .hamilton-page .event-city { display: inline; margin-left: .4rem; font-size: 1.1rem; }
    .event-sound { font-size: 1.1rem; }
    .event-fans { font-size: .95rem; }
    .hamilton-page .show-admission { margin-top: .8rem; font-size: .85rem; }
    .hamilton-page .ticket-callout { margin-top: .8rem; }
    .hamilton-page .show-details-grid { grid-template-columns: 1fr; }
    .hamilton-page .mobile-ticket-bar { gap: .5rem; padding: .6rem .8rem calc(.6rem + env(safe-area-inset-bottom)); }
    .hamilton-page .mobile-ticket-bar > p:first-child { font-size: 1rem; }
    .hamilton-page .mobile-ticket-bar span { font-size: .7rem; }
    .hamilton-page .mobile-ticket-bar .ticket-button { padding: .7rem .65rem; font-size: .8rem; }
    .hamilton-page .hero-poster::before { left: -10px; }
    .hamilton-page .hero-poster::after { right: -10px; }
}
