.choir-events{background:var(--paper)}
.choir-events h2{max-width:1000px}
.choir-roster{display:grid;grid-template-columns:1fr 2fr;gap:2rem;margin:3rem 0;border-top:1px solid var(--line);padding-top:2rem}
.choir-roster h3{font-family:Georgia,serif;font-size:1.5rem;margin:0 0 .75rem}
.choir-roster p{margin:0;font-size:1.1rem}
.choir-roster ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1.5rem;list-style:none;padding:0;margin:0}
.choir-events-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;align-items:start}
.choir-events-gallery figure{margin:0;background:var(--cream);min-width:0}
.choir-events-gallery img{width:100%;height:340px;object-fit:contain;background:var(--navy2)}
.choir-events-gallery figcaption{padding:1rem;font-size:.95rem}
@media(max-width:650px){.choir-roster,.choir-roster ul,.choir-events-gallery{grid-template-columns:1fr}.choir-events-gallery img{height:auto;max-height:540px;object-fit:contain}}

.upcoming-events{background:var(--cream)}
.events-heading{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end;margin-bottom:2.5rem}.events-heading h2{margin-bottom:0}.events-heading>p{margin:0;font-size:1.08rem;line-height:1.65}
.events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;align-items:stretch}.event-card{background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column;min-width:0}.event-card img{display:block;width:100%;height:220px;object-fit:cover;object-position:center}.event-card-body{padding:1.4rem;display:flex;flex-direction:column;flex:1}.event-card time{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-weight:700}.event-card h3{font-family:Georgia,serif;font-size:1.65rem;line-height:1.12;margin:.65rem 0 .8rem}.event-card p{margin:0 0 1.25rem;line-height:1.55}.event-link{display:inline-flex;align-items:center;margin-top:auto;font-weight:700;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--accent);width:max-content;max-width:100%;padding-bottom:.15rem}.event-link:hover,.event-link:focus-visible{color:var(--accent)}
.events-grid.single-event{grid-template-columns:minmax(0,420px)}
@media(max-width:760px){.events-heading,.events-grid{grid-template-columns:1fr}.events-heading{gap:.7rem}.event-card img{height:auto;max-height:520px;object-fit:contain;background:var(--navy2)}}
