/* Events directory only. Medium landscape media, with clear provenance. */
.events-page .event-entry{
  grid-template-columns:288px minmax(0,1fr);gap:32px;padding-block:30px;align-items:start;
}
.events-page .event-media{margin:0;min-width:0}
.events-page .event-media .event-visual{
  display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;
  margin:0;border:1px solid #b8c3cc66;border-radius:4px;background:#e8edf0;
}
.events-page .event-media figcaption{
  font-size:11px;line-height:1.6;color:#586c7a;margin-top:9px;overflow-wrap:anywhere;
}
.events-page .event-image-context{display:block;margin-bottom:5px}
.events-page .event-media figcaption a{
  font:inherit;color:inherit;padding:0;border:0;text-decoration:underline;text-underline-offset:2px;
}
.events-page .event-media figcaption a:is(:hover,:focus-visible){color:#233f55}
.events-page .event-media figcaption a:focus-visible{outline:2px solid #405a6c;outline-offset:3px}
.events-page .event-date{
  display:flex;align-items:baseline;justify-content:flex-start;flex-wrap:wrap;gap:4px 14px;
  min-width:0;margin-bottom:10px;
}
.events-page .event-date time{font-size:13px;line-height:1.5;font-weight:450}
.events-page .event-date > span{font-size:12px;margin:0;text-align:left}
.events-page .event-entry-content h2{margin-top:0}
.events-page .event-art-note{max-width:90ch}
@media(max-width:900px){
  .events-page .event-entry{grid-template-columns:240px minmax(0,1fr);gap:26px}
}
/* Keep the photo beside the heading; let long descriptions use the full mobile width. */
@media(max-width:600px){
  .events-page .event-entry{grid-template-columns:144px minmax(0,1fr);gap:18px;padding-block:26px}
  .events-page .event-entry-content{display:contents}
  .events-page .event-heading{min-width:0}
  .events-page .event-body{grid-column:1/-1;min-width:0}
  .events-page .event-media figcaption{font-size:10px;line-height:1.55;margin-top:8px}
  .events-page .event-date{display:block;margin-bottom:8px}
  .events-page .event-date time{font-size:12px}
  .events-page .event-date > span{font-size:11px;margin-top:4px}
  .events-page .event-entry-content h2{font-size:20px;line-height:1.3;margin-bottom:10px}
  .events-page .event-heading .event-place{margin-bottom:0}
}
@media(max-width:359px){
  .events-page .event-entry{grid-template-columns:128px minmax(0,1fr);gap:16px}
  .events-page .event-entry-content h2{font-size:18px}
}
