.event-intro { display:grid; grid-template-columns: .85fr 1.15fr; gap:56px; align-items:center; }
.event-intro h1 { font-size:clamp(3rem,6vw,6rem); line-height:1; margin:16px 0 24px; letter-spacing:-.05em; }
.event-intro p { max-width:50ch; }
.event-date { color:var(--bronze); font-weight:700; }
.event-lead-photo, .event-gallery figure { margin:0; }
.event-lead-photo img { width:100%; height:auto; display:block; }
.event-recap figcaption { color:var(--slate); font-size:.85rem; line-height:1.5; padding-top:12px; }
.event-photo-section { border-top:1px solid var(--line); }
.event-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 24px; }
.event-photo-link { display:block; position:relative; background:var(--charcoal); }
.event-photo-link img { display:block; width:100%; aspect-ratio:4/3; height:auto; object-fit:cover; }
.event-photo-link:hover img { opacity:.9; }
.event-photo-link:focus-visible { outline:3px solid var(--bronze); outline-offset:5px; }
.event-photo-number { position:absolute; bottom:0; left:0; right:0; padding:24px 14px 10px; color:white; background:linear-gradient(transparent,rgba(0,0,0,.75)); font-size:.75rem; letter-spacing:.1em; }
.event-photo-number span { float:right; font-size:1.1rem; }
.event-coverage { background:var(--charcoal); color:var(--paper); }
.event-coverage-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:64px; align-items:center; }
.event-coverage h2, .event-coverage h3, .event-coverage .eyebrow { color:var(--paper); }
.event-news-card { padding:32px; border:1px solid var(--dark-line); }
.event-news-card h3 { font-size:1.7rem; line-height:1.25; margin:16px 0; }
.event-source-note { font-size:.8rem; opacity:.8; }
.event-thanks > p { max-width:75ch; }
.event-highlight { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:48px; border-top:1px solid var(--line); }
.event-highlight img { display:block; width:100%; height:auto; }
.event-highlight p { max-width:48ch; }
.event-gallery-open { overflow:hidden; }
.event-lightbox { width:min(1100px,96vw); max-width:96vw; max-height:94dvh; padding:20px; background:var(--charcoal); color:white; border:1px solid var(--dark-line); }
.event-lightbox::backdrop { background:rgba(0,0,0,.88); }
.event-lightbox-toolbar, .event-lightbox-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.event-lightbox h2 { font-size:1rem; color:white; margin:0; }
.event-lightbox button { min-height:44px; padding:10px 14px; background:transparent; color:white; border:1px solid #888; cursor:pointer; font:inherit; }
.event-lightbox button:focus-visible { outline:3px solid white; outline-offset:3px; }
.event-lightbox-image { display:block; width:100%; height: min(60dvh,700px); object-fit:contain; margin:14px 0; touch-action:pan-y pinch-zoom; }
.event-lightbox-caption { margin:8px 0; font-size:.9rem; }
.event-lightbox-help { font-size:.75rem; opacity:.75; margin-bottom:0; }
@media(max-width:1000px) { .event-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); } .event-intro { gap:28px; } }
@media(max-width:760px) { .event-intro, .event-coverage-grid, .event-highlight { grid-template-columns:1fr; gap:28px; } .event-intro h1 { font-size:3.5rem; } .event-news-card { padding:24px; } .event-lightbox { padding:12px; } .event-lightbox-toolbar h2 { max-width:17ch; } .event-lightbox-bottom { font-size:.85rem; } }
@media(max-width:600px) { .event-gallery { grid-template-columns:1fr; } }
