.event-page { color:var(--text); }
.event-page .event-back { margin-bottom:36px; font-size:.85rem; }
.event-hero { display:grid; grid-template-columns:1.2fr 1fr; gap:56px; align-items:center; }
.event-hero > *, .event-panel { min-width:0; }
.event-hero > .wp-block-image img { width:100%; height:420px; object-fit:cover; border-radius:2px; }
.event-page .event-archive-status { display:inline-block; padding:10px 16px; border:1px solid var(--gold); color:var(--gold); font-size:.8rem; font-weight:700; }
.event-page .event-meta { font-size:.95rem; font-weight:600; }
.event-note { margin-top:48px; padding:28px 32px; border-left:3px solid var(--gold); background:var(--surface); }
.event-page .event-note h2 { margin:0 0 12px; font-size:1.4rem; }
.event-page .event-note p { margin:0; color:var(--muted); }
.event-section { margin-top:80px; }
.event-page .event-section h2 { margin:0 0 24px; }
.event-program-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:32px; }
.event-partner-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin-top:32px; }
.event-panel { padding:28px; background:var(--surface); border:1px solid var(--line); }
.event-page .event-panel h3 { font-size:1.5rem; line-height:1.3; margin:0 0 16px; }
.event-page .event-panel p { margin-bottom:0; color:var(--muted); font-size:.93rem; }
.event-page .event-panel .event-kicker { margin-bottom:24px; color:var(--gold); font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; }
.event-next { margin-top:72px; padding:40px; border:1px solid var(--line); }
.event-page .event-next h2 { margin-top:0; }
.event-page .event-next p:last-child { margin-bottom:0; }
.event-next-link { color:var(--gold); font-weight:700; }
.select-site .event-card .event-archive-link a { display:inline-flex; align-items:center; min-height:44px; margin-top:12px; color:#e4c878; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.event-page a:focus-visible,.event-archive-link a:focus-visible { outline:2px solid var(--gold); outline-offset:5px; }
@media(max-width:960px){.event-hero{grid-template-columns:1fr;gap:28px}.event-hero>.wp-block-image img{height:340px}.event-partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.event-program-grid,.event-partner-grid{grid-template-columns:1fr}.event-hero>.wp-block-image img{height:260px}.event-note,.event-next,.event-panel{padding:24px}.event-section{margin-top:52px}.event-page .event-archive-status{line-height:1.6}.event-page .event-back{margin-bottom:28px}}

/* Two rows of editable native event cards; the photo and its overlay share one layer. */
.events-grid.events-grid-tiles {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
  grid-template-areas: "calendar summer" "meetings winter";
  grid-template-rows: repeat(2, minmax(390px, 1fr));
  gap: 18px;
  align-items: stretch;
}
.events-grid-tiles .event-card-calendar { grid-area: calendar; }
.events-grid-tiles .event-card-summer { grid-area: summer; }
.events-grid-tiles .event-card-main { grid-area: meetings; }
.events-grid-tiles .event-card-video { grid-area: winter; }
.events-grid-tiles .event-card {
  display: flex;
  align-items: flex-end;
  min-width: 0;
  min-height: 390px;
  grid-row-end: auto;
}
.events-grid-tiles .event-card > figure {
  position: absolute;
  inset: 0;
  height: 100%;
  margin: 0;
  overflow: clip;
  clip-path: inset(0);
}
.events-grid-tiles .event-card > figure img { object-position: center 45%; }
.events-grid-tiles .event-card-calendar > figure img { object-position: center 40%; }
.events-grid-tiles .event-card-main > figure img { object-position: center 10%; }
.events-grid-tiles .event-card-content {
  position: relative;
  inset: auto;
  width: 100%;
  padding: 38px;
}
.events-grid-tiles .event-card-content h3 { font-size: clamp(2rem, 3vw, 2.5rem); line-height: 1.15; }
.events-grid-tiles .event-card-content p:not(.event-type) { font-size: .97rem; }
.events-grid-tiles .event-card .event-card-link a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 14px;
  color: #e4c878;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.events-grid-tiles .event-card-plain:not(.event-card-video) {
  background: linear-gradient(145deg, #d9be7c, #b99a51);
  border-color: #9d7b36;
  color: #3d0712;
}
/* Summer reverses Winter's burgundy/gold treatment; both glows stay inside the card. */
.events-grid-tiles .event-card-plain:not(.event-card-video)::after {
  display: block;
  background: radial-gradient(circle at 80% 20%, rgba(129, 16, 38, .28), transparent 36%);
  pointer-events: none;
}
.events-grid-tiles .event-card-plain:not(.event-card-video) .event-card-content,
.events-grid-tiles .event-card-plain:not(.event-card-video) .event-card-content h3 { color: #3d0712; }
/* Dark ink keeps the archived-event label readable across the gold gradient. */
.events-grid-tiles .event-card-plain:not(.event-card-video) .event-type { color: #290710 !important; }
.events-grid-tiles .event-card-plain:not(.event-card-video) .event-card-content p:not(.event-type) { color: #290710; }
.events-grid-tiles .event-card-plain:not(.event-card-video) .event-card-content a { color: #290710; }
.event-calendar-page .event-calendar-placeholder { margin-top: 36px; padding: 28px 32px; border-left: 3px solid var(--gold); background: var(--surface); max-width: 770px; }
.event-calendar-page .event-calendar-placeholder p:last-child { margin-bottom: 0; }
@media (max-width: 960px) {
  .events-grid.events-grid-tiles { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .events-grid-tiles .event-card-content { padding: 28px; }
}
@media (max-width: 680px) {
  .events-grid.events-grid-tiles {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "calendar" "summer" "meetings" "winter";
    grid-template-rows: none;
    grid-auto-rows: auto;
  }
  .events-grid-tiles .event-card { min-height: 350px; }
  .events-grid-tiles .event-card-plain { min-height: 300px; }
  .events-grid-tiles .event-card-content { padding: 28px 24px; }
  .events-grid-tiles .event-card-content h3 { font-size: 2.15rem; }
  .event-calendar-page .event-calendar-placeholder { padding: 24px; }
}
