/* The hero uses the shared Television layout and its 200px photo fade. */
.events-hero .text-button { max-width: 100%; font-size: .875rem; }
.speaking-opportunities { padding-block: clamp(2.5rem, 4vw, 3.75rem); }
.speaking-opportunities .section-heading { margin-bottom: 1.5rem; }
.speaking-opportunities .section-heading h2 { font-size: clamp(2rem, 3.5vw, 3.4rem); }
.speaking-opportunities .talk-grid article { padding: clamp(1.25rem, 2vw, 1.75rem); }
.speaking-opportunities .talk-grid h3 { margin: 1rem 0 .75rem; }
.events-gallery-section { padding-block: clamp(3rem, 5vw, 4.5rem) 0; }
.events-masonry { columns: 5; column-gap: 1rem; }
.event-photo { display: block; width: 100%; margin: 0 0 1rem; padding: 0; overflow: hidden; break-inside: avoid; border: 0; border-radius: 12px; background: var(--soft); }
.event-photo[hidden] { display: none; }
.event-photo img { display: block; width: 100%; height: auto; }
.event-photo:focus-visible { outline-offset: 3px; }
.events-gallery-actions { display: flex; justify-content: center; margin-top: 1.5rem; }
.events-show-more { padding: .8rem 1.75rem; border: 1px solid var(--gold); border-radius: 999px; color: var(--gold); background: transparent; }
.events-show-more:hover { color: var(--white); background: var(--gold); }
.events-viewer-open { overflow: hidden; }
.events-lightbox { width: min(1280px, calc(100% - 2rem)); max-width: none; max-height: calc(100dvh - 2rem); padding: 1rem; overflow: auto; border: 1px solid var(--line); border-radius: 20px; color: var(--black); background: var(--white); box-shadow: 0 24px 100px #0005; }
.events-lightbox::backdrop { background: #171510df; }
.events-lightbox-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.events-lightbox-header h2 { margin: 0; font: 400 clamp(1.2rem, 2vw, 1.65rem)/1.3 var(--serif); }
.events-lightbox button { display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; padding: 0; border: 1px solid var(--line); border-radius: 50%; color: var(--black); background: transparent; font-size: 1.4rem; }
.events-lightbox button:hover { color: var(--white); background: var(--gold); }
.events-lightbox-stage { display: grid; place-items: center; height: min(72svh, calc(100dvh - 200px)); min-height: 180px; margin: 0; }
.events-lightbox-stage img { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.events-lightbox-controls { display: flex; align-items: center; justify-content: center; gap: 1.5rem; margin-top: 1rem; }
.events-lightbox-count { min-width: 5rem; margin: 0; color: var(--muted); text-align: center; font-size: .875rem; font-variant-numeric: tabular-nums; }
@media (max-width: 1100px) {
  .events-masonry { columns: 4; }
}
@media (max-width: 700px) {
  .events-masonry { columns: 3; column-gap: .6rem; }
  .event-photo { margin-bottom: .6rem; border-radius: 8px; }
  .events-lightbox { width: calc(100% - 1rem); padding: .75rem; border-radius: 14px; }
}
