.events-preview { background:#191916; border-bottom:1px solid var(--line) }
.events-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:40px }
.events-section-heading h2 { font-size:clamp(30px,4vw,56px); line-height:1.3; letter-spacing:-1.5px; word-break:keep-all }
.events-section-heading h2 em { color:var(--accent); font-style:normal }
.events-section-heading .text-link { font-size:15px; flex-shrink:0 }
.events-home-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px }
.event-card { border:1px solid #4a4a40; background:#111110; min-width:0; overflow:hidden }
.event-card-featured { grid-column:1 / -1 }
.event-card-link { display:flex; flex-direction:column; height:100% }
.event-card-featured .event-card-link { display:grid; grid-template-columns:1.35fr 1fr }
.event-card-copy { display:flex; flex-direction:column; min-width:0; padding:34px }
.event-card-featured .event-card-copy { padding:44px }
.event-meta { display:flex; align-items:center; gap:14px; flex-wrap:wrap; color:var(--muted); font-size:14px }
.event-status { display:inline-flex; align-items:center; padding:5px 11px; border:1px solid currentColor; line-height:1.5; font-size:14px; color:#d7d8cc }
.event-status-open { color:#a8dfb0 }
.event-status-preparing { color:#E43522 }
.event-status-closed,.event-status-ended { color:#b2b2a6 }
.event-kicker { color:var(--muted); font-size:13px; letter-spacing:1px; margin:28px 0 12px; overflow-wrap:anywhere }
.event-card h3 { font-size:clamp(26px,3vw,39px); line-height:1.3; letter-spacing:-1px; word-break:keep-all; overflow-wrap:anywhere }
.event-summary { margin:20px 0 32px; color:#c6c6ba; font-size:16px; line-height:1.8; word-break:keep-all; overflow-wrap:anywhere }
.event-card-bottom { display:flex; justify-content:space-between; gap:18px; align-items:center; margin-top:auto; padding-top:24px; border-top:1px solid var(--line); font-size:14px }
.event-card-action { white-space:nowrap; color:var(--ink) }
.event-card-action b { color:var(--accent); margin-left:9px; font-size:22px; font-weight:400 }
.event-card-link:hover h3 { color:var(--accent) }
.event-card-link:hover .event-card-action { text-decoration:underline; text-underline-offset:5px }
.event-card-link:focus-visible { outline-offset:-4px }
.event-card-image { aspect-ratio:16/9; order:-1; overflow:hidden }
.event-card-image img { display:block; width:100%; height:100%; object-fit:cover }
.event-card-featured .event-card-image { order:0; aspect-ratio:auto; min-height:360px }
.event-type-art { background:var(--accent); color:#171713; padding:34px 36px; display:flex; flex-direction:column; justify-content:space-between; gap:30px; min-width:0 }
.event-type-art>span:first-child { font:600 19px/.95 var(--display); letter-spacing:.2px }
.event-type-art strong { font:700 clamp(65px,7vw,108px)/.86 var(--display); letter-spacing:-1.5px }
.event-type-art>span:last-child { font-size:12px; letter-spacing:1px }
.events-list-section { padding-top:62px; padding-bottom:65px }
.events-list-title { font-size:27px; margin-bottom:30px; letter-spacing:-.8px }
.events-list-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px }
.events-empty { color:var(--muted) }
.past-events { border-top:1px solid var(--line) }
.event-detail { padding-top:138px; max-width:1440px; margin:0 auto; min-height:75vh }
.event-detail article { max-width:960px; margin:0 auto }
.event-detail h1 { font-size:clamp(34px,5vw,64px); line-height:1.3; letter-spacing:-1.5px; word-break:keep-all; overflow-wrap:anywhere }
.event-detail-facts { border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-wrap:wrap; gap:35px 70px; padding:25px 0; margin:35px 0 }
.event-detail-facts dt { color:var(--muted); font-size:14px; margin-bottom:10px }
.event-detail-facts dd { font-size:18px; margin:0 }
.event-detail-image { margin:36px 0; background:#1e1e19 }
.event-detail-image img { width:100%; height:auto; display:block }
.event-detail-body { margin:36px 0; overflow-wrap:anywhere; word-break:keep-all }
.event-detail-actions { display:flex; flex-wrap:wrap; gap:22px 32px; align-items:center; border-top:1px solid var(--line); padding-top:30px }
.event-inquiry { background:var(--accent); color:#111110; padding:15px 23px; font-size:16px; display:flex; gap:40px; align-items:center }
.event-inquiry span { font-size:23px }
.event-state-message { padding:18px; border-left:3px solid var(--muted); background:#20201b; margin:28px 0 0; font-size:16px; color:var(--muted) }
.visit-map-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:42px }
.visit-map-heading .display { font-size:clamp(56px,7vw,100px) }
.visit-map-heading .visit-lead { margin:0; padding-bottom:4px }
.visit-map-layout { display:grid; grid-template-columns:1.5fr 1fr; gap:50px; align-items:start }
.visit-map { min-width:0; background:#20201b }
.visit-map iframe { width:100%; height:480px; display:block; border:0; background:#e5e5e0 }
.visit-map>p { padding:15px 20px; font-size:14px; color:#c5c5ba }
.visit-map>p strong { color:var(--ink); font-weight:500 }
.visit-map-layout .info-row:first-child { padding-top:0; border-top:0 }
.visit-map-layout .info-row h3 { font-size:13px }
.visit-map-layout .info-row p { font-size:16px }
.visit-map-layout #gym-hours { white-space:pre-line }
.visit-map-layout .location-detail { font-size:14px; color:var(--muted) }
.map-actions { display:flex; flex-direction:column; align-items:start; gap:12px; margin-top:22px }
.map-actions .text-link { font-size:14px; margin-top:0 }
.visit-no-embed { grid-template-columns:1fr }
.visit-no-embed .visit-details { max-width:700px }
@media(max-width:1100px) {
 .desktop-nav { display:none }
 .menu-toggle { display:block }
 .header-contact { margin-left:auto }
 .visit-map-layout { gap:30px; grid-template-columns:1.2fr 1fr }
 .visit-map-heading { align-items:start; flex-direction:column; gap:20px }
 .event-card-featured .event-card-copy { padding:30px }
}
@media(min-width:1101px) and (max-width:1250px) { .desktop-nav { gap:17px; font-size:13px }.wordmark { width:180px } }
@media(max-width:900px) {
 .visit-map-layout { grid-template-columns:1fr; gap:32px }
 .visit-map iframe { height:400px }
}
@media(max-width:700px) {
 .events-section-heading { align-items:start; flex-direction:column; gap:24px; margin-bottom:28px }
 .events-section-heading h2 { font-size:35px }
 .events-home-grid,.events-list-grid { grid-template-columns:1fr; gap:18px }
 .event-card-featured .event-card-link { grid-template-columns:1fr }
 .event-card-copy,.event-card-featured .event-card-copy { padding:25px 22px }
 .event-card h3 { font-size:28px }
 .event-summary { font-size:16px; margin-bottom:24px }
 .event-kicker { font-size:12px; margin-top:25px }
 .event-card-bottom { flex-wrap:wrap; padding-top:19px; font-size:14px }
 .event-type-art { min-height:240px; padding:25px 22px; gap:20px }
 .event-type-art strong { font-size:75px }
 .event-type-art>span:first-child { font-size:16px }
 .event-card-featured .event-card-image { min-height:0; aspect-ratio:16/9 }
 .events-list-section { padding-top:38px; padding-bottom:42px }
 .event-detail { padding-top:108px }
 .event-detail h1 { font-size:36px }
 .event-detail .intro-breadcrumb { margin-bottom:36px }
 .event-detail-facts { margin:26px 0; gap:24px; flex-direction:column }
 .event-detail-facts dd { font-size:17px }
 .event-detail-body { font-size:16px }
 .event-detail-actions { align-items:stretch; flex-direction:column }
 .event-inquiry { justify-content:space-between }
 .visit-map-layout { grid-template-columns:1fr; gap:32px }
 .visit-map-heading .display { font-size:clamp(50px,12vw,78px) }
 .visit-map iframe { height:340px }
 .visit-map>p { padding:14px 16px }
 .visit-map-layout .info-row p { font-size:16px }
}
