.events-index-hero { background: #fff; padding: 0; }
.events-index-hero__layout { align-items: center; display: grid; gap: clamp(2rem, 5vw, 5rem); grid-template-columns: minmax(0, .95fr) minmax(18rem, 1.05fr); }
.events-index-hero__copy { max-width: 42rem; position: relative; z-index: 1; }
.events-index-hero__copy h1 { color: #326d94; font-family: var(--font-display); font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.08; margin: 0 0 1rem; }
.events-index-hero__intro { color: #667985; font-size: clamp(1.05rem, 1.45vw, 1.2rem); line-height: 1.7; margin: 0; max-width: 54ch; white-space: pre-line; }
.events-index-hero__visual { align-items: center; display: flex; justify-content: flex-end; min-width: 0; }
.events-index-hero__visual img { display: block; height: auto; max-height: 27rem; max-width: 100%; object-fit: contain; object-position: right center; width: 100%; }
.events-index-hero > .container:last-child { margin-top: clamp(1.5rem, 3vw, 2.5rem); }
.events-index { background: #fff; }
.events-index__section { margin: 0 auto; max-width: 1320px; padding: clamp(2rem, 4vw, 3rem) 0; }
.events-index__featured { border-bottom: 1px solid #dce7ec; }
.events-index__eyebrow { color: #63849a; font-size: .76rem; font-weight: 700; letter-spacing: .13em; line-height: 1.4; margin: 0 0 .65rem; text-transform: uppercase; }
.events-index-featured { background: #fff; border: 1px solid #dce7ec; border-radius: .65rem; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 1fr); min-width: 0; overflow: hidden; }
.events-index-featured__image { background: #f0f6f9; display: block; min-height: 15rem; overflow: hidden; }
.events-index-featured__image img { display: block; height: 100%; min-height: 15rem; object-fit: cover; width: 100%; }
.events-index-featured__copy { align-self: center; min-width: 0; padding: clamp(1.4rem, 3vw, 2.4rem); }
.events-index__meta { align-items: center; color: #63849a; display: flex; flex-wrap: wrap; font-size: .78rem; gap: .45rem .8rem; line-height: 1.4; margin: 0 0 .65rem; }
.events-index__meta time { color: #71828b; }
.events-index__type { background: #eaf4f8; border-radius: 999px; color: #326d94; font-size: .72rem; font-weight: 700; padding: .28rem .62rem; }
.events-index-featured h2,.events-index__section-heading h2 { color: #326d94; font-family: var(--font-display); font-size: clamp(1.45rem, 2.2vw, 1.9rem); font-weight: 600; letter-spacing: -.02em; line-height: 1.25; margin: 0; }
.events-index__section-heading h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); }
.events-index__section-heading { align-items: end; display: flex; flex-wrap: wrap; gap: 1.25rem 2rem; justify-content: space-between; margin: 0 0 1.4rem; }
.events-index__intro { color: #667985; font-size: .98rem; line-height: 1.65; margin: .35rem 0 0; max-width: 76ch; white-space: pre-line; }
.events-index-featured h2 a,.events-index-card h3 a,.events-index-past-card h3 a { color: inherit; }
.events-index-featured p,.events-index-card p { color: #667985; font-size: .92rem; line-height: 1.65; margin: .7rem 0 .9rem; }
.events-index__cta { align-items: center; color: #326d94; display: inline-flex; font-size: .9rem; font-weight: 600; gap: .55rem; line-height: 1.4; text-decoration: underline; text-decoration-color: #b9d0de; text-underline-offset: .25em; }
.events-index__cta:hover { color: #174b70; text-decoration-color: currentColor; }
.events-index__filters { align-items: center; display: flex; flex-wrap: wrap; gap: .55rem; }
.events-index__filters button { background: #fff; border: 1px solid #dce7ec; border-radius: 999px; color: #326d94; cursor: pointer; font: inherit; font-size: .82rem; line-height: 1.3; padding: .55rem .95rem; }
.events-index__filters button:hover,.events-index__filters button.is-active { background: #326d94; border-color: #326d94; color: #fff; }
.events-index__grid { display: grid; gap: 1.15rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.events-index-card { background: #fff; border: 1px solid #dce7ec; border-radius: .65rem; display: flex; flex-direction: column; min-width: 0; overflow: hidden; }
.events-index-card[hidden],.events-index-past-card[hidden] { display: none; }
.events-index-card__image { aspect-ratio: 1.8; background: #f0f6f9; display: block; overflow: hidden; }
.events-index-card__image img,.events-index-past-card__image img { display: block; height: 100%; object-fit: cover; width: 100%; }
.events-index-card__copy { display: flex; flex: 1; flex-direction: column; padding: 1rem 1.1rem 1.15rem; }
.events-index-card h3,.events-index-past-card h3 { color: #326d94; font-family: var(--font-display); font-size: 1.12rem; font-weight: 600; line-height: 1.35; margin: 0; }
.events-index-card .events-index__cta { align-self: flex-start; margin-top: auto; }
.events-index__pagination { align-items: center; display: flex; gap: .35rem; justify-content: center; margin: 1.75rem 0 0; }
.events-index__pagination[hidden] { display: none; }
.events-index__pagination button { align-items: center; background: #fff; border: 0; border-radius: 50%; color: #326d94; cursor: pointer; display: inline-flex; font: inherit; height: 2.35rem; justify-content: center; min-width: 2.35rem; padding: 0 .55rem; }
.events-index__pagination button:hover,.events-index__pagination button.is-active { background: #326d94; color: #fff; }
.events-index__empty { color: #667985; }
.events-index__past { border-top: 1px solid #dce7ec; }
.events-index__past-grid { display: grid; gap: 1.15rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.events-index-past-card { align-items: center; display: flex; gap: 1rem; min-width: 0; }
.events-index-past-card__image { aspect-ratio: 1.3; background: #f0f6f9; border-radius: .4rem; flex: 0 0 7rem; overflow: hidden; }
.events-index-past-card__copy { min-width: 0; }
.events-index-past-card time,.events-index-past-card p { color: #71828b; display: block; font-size: .82rem; line-height: 1.5; margin: 0 0 .25rem; }
.events-index-past-card h3 { font-size: 1rem; }
@media (max-width: 991.98px) { .events-index-hero__layout { grid-template-columns: minmax(0, 1fr) minmax(15rem, .9fr); } .events-index__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .events-index__past-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767.98px) { .events-index-hero { padding-top: 0; } .events-index-hero__layout { gap: 1rem; grid-template-columns: 1fr; } .events-index-hero__visual { justify-content: center; max-height: 15rem; } .events-index-hero__visual img { max-height: 15rem; object-position: center; } .events-index-featured { grid-template-columns: 1fr; } .events-index-featured__image,.events-index-featured__image img { aspect-ratio: 1.7; min-height: 0; } .events-index__grid,.events-index__past-grid { grid-template-columns: 1fr; } .events-index__section-heading { align-items: flex-start; } }
@media (prefers-reduced-motion: reduce) { .events-index__filters button { transition: none; } }
