/* Shared Happenings and Press layouts. */
body[data-page="happenings"] #main-content > .wrapper { max-width: none; width: 100%; padding: 0; }
.hd-happenings { --hd-gutter: clamp(20px, 3.82vw, 80px); font-size: 12px; line-height: 1.59; }
.hd-happenings [hidden] { display: none !important; }
.hd-happenings h1, .hd-happenings h2 { font-family: var(--heading-font-family); font-weight: normal; text-transform: uppercase; line-height: 1.05; letter-spacing: .01em; }
.hd-happenings h1 { color: var(--primary-color); font-size: clamp(32px, 3.06vw, 54px); margin: 0 0 36px; }
.hd-happenings p { font-size: inherit; line-height: inherit; }
.hd-happenings .hd-link { font-family: 'Sporting Grotesque_Bold'; font-size: 10px; text-transform: uppercase; letter-spacing: .05em; text-decoration: underline; text-underline-offset: 3px; }
.hd-happenings .hd-more { cursor: pointer; border: 0; background: transparent; color: var(--primary-color); }
.hd-happenings :focus-visible { outline: 2px solid var(--primary-color); outline-offset: 5px; }
.hd-happenings .hd-intro { max-width: 1440px; margin: 0 auto; }
.hd-happenings .hd-intro .intro-text-section { padding: 60px var(--hd-gutter) 90px; margin: 0; }
.hd-happenings .hd-intro .section-wrap-inner { max-width: 1105px; margin: auto; align-items: center; gap: clamp(30px, 5.2vw, 75px); flex-wrap: nowrap; }
.hd-happenings .hd-intro .content-block { margin: 0; padding: 0; min-width: 0; }
.hd-happenings .hd-intro .col-3 { width: 34%; }
.hd-happenings .hd-intro .col-2-3 { width: 59%; }
.hd-happenings .hd-intro h2 { font-size: clamp(32px, 3.06vw, 44px); margin: 0 0 40px; }
.hd-happenings .hd-intro p { font-size: 12px; line-height: 1.59; }
.hd-happenings .hd-intro img { max-width: 100%; height: auto !important; }
/* Reuse the homepage gallery; only the featured content and design dimensions differ. */
.section-wrap.around-the-block-gallery.hd-featured { margin: 40px 0 60px; }
.section-wrap.around-the-block-gallery.hd-featured .section-wrap-inner { max-width: calc(100% - 2 * var(--hd-gutter)); margin: 0 auto; }
.section-wrap.around-the-block-gallery.hd-featured .content-block { padding: 0; border-bottom: 1px solid #000; }
.section-wrap.around-the-block-gallery.hd-featured .slide .image { aspect-ratio: 675 / 486; }
.section-wrap.around-the-block-gallery.hd-featured .slide .image img { opacity: 1; width: 100%; max-height: none; object-fit: cover; }
.section-wrap.around-the-block-gallery.hd-featured .slide .caption { padding: clamp(28px, 3.82vw, 55px) clamp(60px, 5.56vw, 80px); text-align: left; }
/* Reserve side gutters for the homepage-style navigation beside the copy. */
.section-wrap.around-the-block-gallery.hd-featured .slick-prev { left: calc(50% + 15px); }
.section-wrap.around-the-block-gallery.hd-featured .slick-next { right: 15px; }
.hd-featured .caption-inner-wrap { align-items: flex-start; }
.hd-featured .hd-eyebrow { font-family: 'Sporting Grotesque_Bold'; font-size: 12px !important; letter-spacing: .06em; margin: 0 0 25px; }
.section-wrap.around-the-block-gallery.hd-featured .slide .caption h2 { color: var(--primary-color); font-size: clamp(32px, 3.06vw, 44px); line-height: 1.05; text-align: left; margin: 0 0 25px; }
.section-wrap.around-the-block-gallery.hd-featured .slide .caption p:not(.hd-eyebrow) { font-size: 16px; margin: 0 0 25px; }
.section-wrap.around-the-block-gallery.hd-featured .slide .caption .hd-link { color: var(--primary-color); font-size: 12px; margin-bottom: 40px; }
.hd-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; width: 100%; margin: 0; }
.hd-facts div { min-width: 0; }
.hd-facts dt { font-family: 'Sporting Grotesque_Bold'; font-size: 10px; letter-spacing: .07em; margin-bottom: 10px; }
.hd-facts dd { font-size: 12px; line-height: 1.59; margin: 0; white-space: normal; overflow-wrap: anywhere; }
.hd-featured .hd-facts { margin-top: auto; padding-bottom: 20px; }
.hd-featured .hd-facts dt { color: var(--primary-color); font-size: 16px; }
.hd-featured .hd-facts > div + div { border-left: 1px solid #000; padding-left: 30px; }
.hd-tabs { display: flex; justify-content: center; gap: 25px; padding: 10px 20px 60px; }
.hd-happenings .hd-tabs .hd-link { color: #000; opacity: .5; text-decoration: none; font-size: 12px; }
.hd-happenings .hd-tabs [aria-current] { opacity: 1; text-decoration: underline; }
.hd-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hd-card { min-width: 0; padding: 20px; border-top: 1px solid #000; border-right: 1px solid #000; display: flex; flex-direction: column; }
.hd-card:nth-child(3n) { border-right: 0; }
.hd-card-image { display: block; aspect-ratio: 11 / 6; overflow: hidden; }
.hd-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hd-card-copy { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 25px; padding: 25px 0; }
.hd-happenings .hd-card h2 { color: #000; font-size: clamp(28px, 2.22vw, 38px); margin: 0; }
.hd-card .hd-summary { margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.hd-card .hd-facts { margin-top: auto; }
.hd-view-all { padding: 65px 20px; text-align: center; margin: 0; }
.hd-view-all .hd-link { font-size: 12px; }
.hd-back { padding: 50px var(--hd-gutter) 25px; }
.hd-hero { border-top: 1px solid #000; border-bottom: 1px solid #000; }
.hd-hero > img, .hd-hero > video { display: block; width: 100%; height: clamp(288px, 37.5vw, 720px); object-fit: cover; }
.hd-hero iframe { width: 100%; aspect-ratio: 16 / 9; display: block; border: 0; }
.hd-credit { margin: 8px var(--hd-gutter) 0; font-size: 11px !important; }
.hd-detail { display: grid; grid-template-columns: 37% 1fr; gap: clamp(30px, 5vw, 72px); padding: 60px var(--hd-gutter) 100px; }
.hd-detail aside { padding-right: clamp(30px, 4vw, 60px); border-right: 1px solid #000; min-width: 0; }
.hd-body { min-width: 0; max-width: 850px; font-size: 16px; line-height: 1.59; }
.hd-body h2, .hd-body h3 { font-family: var(--heading-font-family); color: var(--primary-color); font-size: 32px; line-height: 1.08; margin: 0 0 35px; }
.hd-body p { margin: 0 0 30px; }
.hd-body img, .hd-body iframe { max-width: 100%; }
.hd-body img { height: auto; }
.hd-related > h2 { margin: 0; padding: 0 20px 25px; color: #000; font-size: clamp(32px, 3.06vw, 44px); }
.hd-related .hd-grid { border-bottom: 1px solid #000; }
body[data-page="happenings"] #footer .copyright, body[data-page="happenings"] #footer .disclaimer { font-size: max(11px, .8rem); }
@media (max-width: 890px) {
    .hd-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hd-card:nth-child(3n) { border-right: 1px solid #000; }
    .hd-card:nth-child(2n) { border-right: 0; }
    .hd-detail { grid-template-columns: 35% 1fr; gap: 30px; }
}
@media (max-width: 600px) {
    .hd-happenings .hd-intro .intro-text-section { padding: 40px 20px; }
    .hd-happenings .hd-intro .section-wrap-inner { flex-direction: column; gap: 30px; }
    .hd-happenings .hd-intro .col-3, .hd-happenings .hd-intro .col-2-3 { width: 100%; }
    .hd-happenings .hd-intro .col-3 img { width: 200px !important; }
    .hd-happenings .hd-intro h2 { margin-bottom: 25px; }
    .section-wrap.around-the-block-gallery.hd-featured { margin: 0 0 40px; }
    .section-wrap.around-the-block-gallery.hd-featured .section-wrap-inner { max-width: 100%; }
    .section-wrap.around-the-block-gallery.hd-featured .content-block { border-left: 0; border-right: 0; }
    .section-wrap.around-the-block-gallery.hd-featured .slide .caption { padding: 30px 20px 40px; }
    .hd-featured .hd-facts { margin-top: 0; }
    .hd-tabs { padding-bottom: 40px; }
    .hd-grid { grid-template-columns: minmax(0, 1fr); }
    .hd-card, .hd-card:nth-child(3n) { padding: 0; border-right: 0; }
    .hd-card-image { aspect-ratio: 5 / 3; }
    .hd-card-copy { padding: 40px 30px; }
    .hd-happenings .hd-card h2 { font-size: 32px; }
    .hd-back { padding: 20px 20px 25px; }
    .hd-hero > img, .hd-hero > video { height: auto; aspect-ratio: 25 / 18; }
    .hd-detail { grid-template-columns: 1fr; padding: 30px 20px 60px; gap: 30px; }
    .hd-detail aside { border-right: 0; border-bottom: 1px solid #000; padding: 0 0 30px; }
    .hd-detail h1 { line-height: 1.07; margin-bottom: 30px; }
    .hd-body h2, .hd-body h3 { font-size: 25px; }
    .hd-related > h2 { padding-bottom: 40px; }
    .hd-view-all { padding: 50px 20px; }
}
@media (prefers-reduced-motion: reduce) {
    body[data-page="happenings"] *, body[data-page="happenings"] *::before, body[data-page="happenings"] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
