.monthly-events{padding-top:48px;padding-bottom:32px}
.events-edition{max-width:1180px;margin:0 auto}
.edition-header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:0 0 26px;background:#fff;border-bottom:1px solid #d9dee3}
.edition-header h2{margin:0;font-size:clamp(28px,3vw,36px);line-height:1.2;font-weight:500;letter-spacing:-.03em}
.month-control{display:flex;flex-direction:column;gap:7px;flex-shrink:0}
.month-control label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.month-control select{max-width:100%;min-width:180px;border:0;border-bottom:1px solid #aab6bf;border-radius:0;background:#fff;color:#0b1220;padding:10px 24px 10px 0;font:inherit;font-size:13px;cursor:pointer}
.month-control select:focus-visible,.events-action:focus-visible,.event-links a:focus-visible{outline:3px solid #377a9c;outline-offset:4px}
.events-notice{padding:30px 0;color:#4d5661;font-size:15px;line-height:1.7}
.events-notice p{margin:0}
.events-action{border:1px solid #0b1220;border-radius:0;padding:10px 15px;margin-top:14px;color:#0b1220;background:#fff;font:inherit;font-size:13px;cursor:pointer}
.events-action:hover{background:#e4f4ff}
.events-notice[hidden],.events-action[hidden]{display:none}
.events-group{margin-top:38px}.events-group+.events-group{margin-top:52px}
.events-group-heading{margin:0;padding-bottom:18px;border-bottom:1px solid #d9dee3;font-size:28px;line-height:1.3;font-weight:500;letter-spacing:-.02em}
.event-entry{scroll-margin-top:96px;display:grid;grid-template-columns:78px minmax(0,1fr);column-gap:24px;row-gap:22px;padding:28px 0;border-bottom:1px solid #d9dee3}
.event-entry.has-artwork{grid-template-columns:78px minmax(0,1fr) minmax(220px,340px)}
.event-date{display:block;font-variant-numeric:tabular-nums}
.event-day{display:block;font-size:40px;line-height:1;font-weight:500;letter-spacing:-.03em}
.event-weekday{display:block;margin-top:9px;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.event-copy{padding-right:8px;min-width:0}
.event-title{margin:0 0 14px;font-size:clamp(22px,2.2vw,28px);font-weight:500;line-height:1.25;letter-spacing:-.025em;overflow-wrap:anywhere}
.event-details{display:flex;flex-wrap:wrap;gap:5px 16px;margin:0 0 14px;font-size:13px;line-height:1.6;font-weight:600}
.event-detail{overflow-wrap:anywhere}
.event-summary{margin:0;color:#38414e;font-size:15px;line-height:1.8;white-space:pre-line;overflow-wrap:anywhere}
.event-links{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:22px;align-items:center}
.event-links a{font-size:12px;line-height:1.6;font-weight:600;border-bottom:1px solid #8495a2;padding-bottom:3px}
.event-media{display:flex;align-items:center;justify-content:center;min-width:0;width:100%;max-width:340px;aspect-ratio:4/5;margin:0;background:#f5f5f5;overflow:hidden}
.event-poster{display:block;width:100%;height:100%;object-fit:contain}
.instagram-section{margin-top:56px;padding-top:30px;border-top:1px solid #d9dee3}
.instagram-heading{margin-bottom:24px}
.instagram-heading h2{margin:0;font-size:28px;line-height:1.3;letter-spacing:-.02em;font-weight:500}
.ig-card{width:min(1100px,100%);margin:0 auto;background:#ffffff;border:1px solid rgba(16,24,40,.16);border-radius:4px;overflow:hidden;box-shadow:0 10px 30px rgba(16,24,40,.06)}
.ig-frame{width:100%;height:clamp(520px,78vh,980px);border:0;display:block}
@media(max-width:980px){.ig-frame{height:clamp(520px,72vh,860px)}}
.events-noscript{font-size:15px;line-height:1.8}
.events-noscript a{text-decoration:underline}
@media(max-width:800px){
 .event-entry.has-artwork{grid-template-columns:60px minmax(0,1fr)}
 .event-media{grid-column:2;justify-content:flex-start}
 .event-entry{grid-template-columns:60px minmax(0,1fr);column-gap:20px}
 .event-title{font-size:25px}
}
@media(max-width:520px){
 .monthly-events{padding:36px 20px 12px}
 .edition-header{padding:0 0 22px;align-items:flex-start;flex-direction:column;gap:16px}
 .month-control{width:100%}
 .month-control select{min-width:0;width:100%}
 .event-entry,.event-entry.has-artwork{grid-template-columns:42px minmax(0,1fr);column-gap:16px;padding:28px 0}
 .event-day{font-size:31px}
 .event-weekday{font-size:10px}
 .event-title{font-size:23px}
 .event-copy{padding-right:0}
 .event-summary{font-size:14px;line-height:1.8}
 .event-media{grid-column:1/-1;justify-self:center}
 .ig-frame{height:clamp(440px,68vh,440px)}
}
