.cmu-event-page { color: #27272c; }
.cmu-event-page :where(.cmu-event-page__hero,.cmu-event-page__hero *,.cmu-event-page__gallery,.cmu-event-page__gallery *) { box-sizing: border-box; }
.cmu-event-page .cmu-event-page__hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.05fr); gap: clamp(28px,4vw,64px); align-items: center; padding: 20px 0 38px; scroll-margin-top: calc(var(--cmu-nav-row-height, 116px) + 24px + var(--drupal-displace-offset-top, 0px)); }
.cmu-event-page .cmu-event-page__hero--text { grid-template-columns: minmax(0,1fr); max-width: 980px; }
.cmu-event-page .cmu-event-page__copy { min-width: 0; }
.cmu-event-page .cmu-event-page__eyebrow { margin: 0 0 14px; padding: 0; color: #681631; font-size: .75rem; font-weight: 700; line-height: 1.5; letter-spacing: .075em; }
.cmu-event-page h1.cmu-event-page__title { margin: 0 0 18px; padding: 0; color: #681631; font: inherit; font-weight: 600; font-size: clamp(2.2rem,3.5vw,4rem); line-height: 1.1; letter-spacing: -.035em; overflow-wrap: anywhere; }
.cmu-event-page .cmu-event-page__intro { margin: 0 0 22px; padding: 0; max-width: 60ch; color: #484b52; font-size: 1.05rem; line-height: 1.6; }
.cmu-event-page .cmu-event-page__facts { display: grid; gap: 13px; margin: 0 0 18px; padding: 0; }
.cmu-event-page .cmu-event-page__facts dt { margin: 0 0 4px; padding: 0; color: #681631; font-size: .75rem; line-height: 1.4; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.cmu-event-page .cmu-event-page__facts dd { margin: 0; padding: 0; font-weight: 600; line-height: 1.55; font-size: 1rem; }
.cmu-event-page .cmu-event-page__facts dd span { display: block; color: #484b52; font-weight: 400; }
.cmu-event-page .cmu-event-page__admission { margin: 0 0 18px; padding: 0; color: #484b52; font-size: .88rem; line-height: 1.55; }
.cmu-event-page .cmu-event-page__actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.cmu-event-page a.cmu-event-page__button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 12px; padding: 12px 18px; border: 1px solid #681631; color: #681631; background: #fff; font-size: .91rem; line-height: 1.3; font-weight: 700; text-align: center; text-decoration: none; }
.cmu-event-page a.cmu-event-page__button:hover { background: #f5f0e8; }
.cmu-event-page a.cmu-event-page__button--primary { color: #fff; background: #681631; }
.cmu-event-page a.cmu-event-page__button--primary:hover { color: #fff; background: #511025; }
.cmu-event-page a.cmu-event-page__directions { display: inline-flex; gap: 8px; min-height: 44px; align-items: center; padding: 0 5px; color: #681631; font-size: .91rem; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.cmu-event-page .cmu-event-page__actions a:focus-visible { outline: 3px solid #9b5600; outline-offset: 4px; }
.cmu-event-page .cmu-event-page__image { min-width: 0; }
.cmu-event-page .cmu-event-page__image img { display: block; width: 100%; height: auto; max-height: 540px; object-fit: contain; border-radius: 0; }
.cmu-event-page .cmu-event-page__body > .field--name-body { width: 100%; max-width: none; padding: 0; margin: 0; }
.cmu-event-page .cmu-event-page__gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; padding-top: 32px; }
.cmu-event-page .cmu-event-page__gallery img { width: 100%; height: auto; }
@media(max-width:800px) {
  .cmu-event-page .cmu-event-page__hero { grid-template-columns: minmax(0,1fr); gap: 25px; padding: 10px 0 28px; }
  .cmu-event-page .cmu-event-page__image { max-width: 640px; }
  .cmu-event-page .cmu-event-page__gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:560px) {
  .cmu-event-page h1.cmu-event-page__title { font-size: clamp(2.1rem,9vw,2.8rem); }
  .cmu-event-page .cmu-event-page__gallery { grid-template-columns: 1fr; }
}
@media(max-width:360px) {
  .cmu-event-page .cmu-event-page__actions { align-items: stretch; }
  .cmu-event-page a.cmu-event-page__button { width: 100%; }
}
