.cc-upcoming-events{background:var(--cc-cream);padding:92px 32px 100px;font-family:var(--cc-font-body);color:var(--cc-dark);scroll-margin-top:32px}
.cc-upcoming-events__header{max-width:760px;margin:0 auto 48px;text-align:center}
.cc-upcoming-events__eyebrow{color:var(--cc-taupe-dark);font-size:11px;letter-spacing:.22em;text-transform:uppercase;margin:0 0 16px}
.cc-upcoming-events h2{font-family:var(--cc-font-heading);font-size:clamp(38px,5vw,62px);font-weight:400;line-height:1.12;color:var(--cc-dark);margin:0 0 20px}
.cc-upcoming-events__description{font-size:16px;line-height:1.75;color:var(--cc-muted);margin:0}
.cc-upcoming-events__list{max-width:1100px;margin:auto;display:grid;gap:32px}
.cc-upcoming-events__empty{text-align:center;color:var(--cc-muted);font-size:16px}
.cc-event-card{display:grid;grid-template-columns:1fr 1fr;background:var(--cc-off-white);border:1px solid var(--cc-beige-border);min-width:0}
.cc-event-card__image{display:block;overflow:hidden;min-height:390px;min-width:0}
.cc-event-card__image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.cc-event-card__image:hover img{transform:scale(1.025)}
.cc-event-card__body{padding:44px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.cc-event-card__date{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--cc-taupe-dark);line-height:1.8;margin:0 0 20px}
.cc-event-card h3{font-family:var(--cc-font-heading);font-size:clamp(30px,3.3vw,44px);font-weight:400;line-height:1.12;margin:0 0 22px;overflow-wrap:anywhere}
.cc-event-card h3 a{color:var(--cc-dark)}
.cc-event-card__excerpt{font-size:16px;line-height:1.75;color:var(--cc-muted);margin:0 0 22px}
.cc-event-card__notice{font-size:12px;line-height:1.6;color:var(--cc-muted);border-top:1px solid var(--cc-beige-border);padding-top:16px;width:100%;margin:0 0 24px}
.cc-event-card .cc-btn{min-height:48px;line-height:1.6;text-align:center;justify-content:center;max-width:100%}
.cc-event-card--no-image{grid-template-columns:1fr}
.cc-event-card a:focus-visible{outline:2px solid var(--cc-dark);outline-offset:5px}
@media(max-width:768px){.cc-upcoming-events{padding:60px 20px}.cc-upcoming-events__header{margin-bottom:32px}.cc-event-card{grid-template-columns:1fr}.cc-event-card__image{min-height:0;aspect-ratio:3/2}.cc-event-card__body{padding:30px 24px}.cc-event-card h3{font-size:34px}.cc-event-card__date{font-size:11px;letter-spacing:.08em}}
@media(prefers-reduced-motion:reduce){.cc-event-card__image img{transition:none}}
