.hst-overlay[hidden] { display: none; }
.hst-overlay { position: fixed; inset: 0; z-index: 999999; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(0,0,0,.45); }
.hst-dialog { position: relative; width: 1180px; max-width: 100%; max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); overflow-y: auto; background: #fff; padding: 6px; color: #111; box-shadow: 0 20px 50px #0004; font-family: 'Source Sans Pro', Arial, sans-serif; }
.hst-close { position: absolute; right: 10px; top: 8px; width: 40px; height: 40px; padding: 0; border: 0; background: transparent; color: #fff; font-size: 28px; cursor: pointer; z-index: 1; }
.hst-heading { background: #ed1940; color: white; text-align: center; padding: 32px 40px 36px; }
.hst-heading p { margin: 0; font-size: 23px; line-height: 1.4; font-weight: 600; }
.hst-heading h2, .hst-banner h2 { font-family: 'Source Sans Pro', Arial, sans-serif; font-weight: 300; line-height: 1.15; letter-spacing: -2px; color: #fff; text-transform: none; }
.hst-heading h2 { margin: 4px 0; font-size: clamp(28px, 3.5vw, 50px); }
.hst-heading sup, .hst-banner sup { font-size: .55em; top: -.55em; }
.hst-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; padding: 16px 5% 20px; }
.hst-card { display: flex; align-items: center; flex-direction: column; text-align: center; color: #111; text-decoration: none; }
.hst-card:hover { color: #111; text-decoration: none; }
.hst-photo { width: 100%; aspect-ratio: 335 / 247; object-fit: cover; }
.hst-logo { width: 65%; height: 44px; object-fit: contain; margin: 18px 0 14px; }
.hst-location { font-size: 15px; font-weight: 700; letter-spacing: 3px; margin-bottom: 8px; }
.hst-copy { font-size: 15px; line-height: 1.6; font-weight: 600; }
.hst-cta { color: #ed1940; font-size: 15px; font-weight: 600; margin-top: 8px; }
.hst-card:hover .hst-cta { text-decoration: underline; }
.hst-note { text-align: right; margin: 0; padding: 0 16px 6px; font-size: 11px; }
body.plaza-modal-open { overflow: hidden; }
body.plaza-modal-open #muteBtn, body.plaza-modal-open .scroll-btn { visibility: hidden; }
.hst-card:focus-visible { outline: 3px solid #111; outline-offset: 2px; }
.hst-banner { background: #ed1940; color: #fff; text-align: center; padding: 105px 24px 22px; font-family: 'Source Sans Pro', Arial, sans-serif; }
.hst-banner-eyebrow { font-size: 24px; font-weight: 600; margin: 0 0 16px; }
.hst-banner h2 { font-size: clamp(30px, 3vw, 52px); margin: 0 0 16px; }
.hst-banner-copy { font-size: 15px; line-height: 1.6; margin: 0; font-weight: 600; }
.hst-banner-note { font-size: 11px; margin: 75px 0 0; }
@media (max-width: 767px) {
 .hst-overlay { padding: 12px; }
 .hst-dialog { max-height: calc(100dvh - 24px); }
 .hst-heading { padding: 30px 18px 22px; }
 .hst-heading p { font-size: 16px; }
 .hst-heading h2 { font-size: 30px; letter-spacing: -1px; margin: 10px 0; }
 .hst-cards { grid-template-columns: 1fr; padding: 18px; gap: 28px; }
 .hst-photo { max-height: 250px; }
 .hst-logo { margin: 14px 0 10px; }
 .hst-note { text-align: center; }
 .hst-banner { padding: 44px 20px 20px; }
 .hst-banner-eyebrow { font-size: 19px; }
 .hst-banner h2 { letter-spacing: -1px; }
 .hst-banner-copy { font-size: 15px; }
 .hst-banner-note { margin-top: 36px; }
 .hst-desktop-break { display: none; }
}
.hst-heading p, .hst-banner p { color: #fff; }
.hst-overlay { width: 100vw; height: 100dvh; box-sizing: border-box; }
.hst-dialog, .hst-card { min-width: 0; }
.hst-heading { width: 100%; }

.hst-popup { width: 1180px; max-width: 100%; max-height: 100%; min-width: 0; display: flex; flex-direction: column; }
.hst-popup .hst-dialog { width: 100%; max-height: none; min-height: 0; flex: 0 1 auto; }
.hst-popup .hst-note { flex: 0 0 auto; color: #fff; padding: 0; margin: 10px 0 0; }
.hst-close, .hst-close:focus, .hst-close:focus-visible { outline: none; box-shadow: none; }
.hst-banner { width: 100vw; max-width: none; position: relative; left: 50%; margin-left: -50vw; box-sizing: border-box; }
@media (max-width: 767px) {
 .hst-overlay { padding: 64px 24px; }
}
