/* Events: a readable programme, followed by the complete existing archive. */
.crg-events-page [id] { scroll-margin-top: 24px; }
.crg-events-page h2 { margin: 0; font-size: clamp(2rem, 3.4vw, 3.4rem); line-height: 1.16; letter-spacing: -.035em; text-wrap: balance; }
.crg-events-page .crg-section-hero, .crg-events-page .crg-section-hero__inner { min-height: 490px; }
.crg-events-page .crg-section-hero__inner { padding-block: 76px; }
.crg-events-page .crg-section-hero h1 { font-size: clamp(3rem, 6vw, 5.6rem); line-height: 1.08; letter-spacing: -.035em; font-weight: 800; }
.crg-events-page .crg-section-hero__lead { max-width: 55ch; font-size: 1.1rem; line-height: 1.65; }
.crg-events-page .crg-section-hero__eyebrow { padding: 0; border: 0; text-transform: none; letter-spacing: 0; font-size: .9rem; }
.crg-events-page .crg-section-hero__eyebrow::before { display: none; }
.crg-events-nav { background: var(--crg-paper); border-bottom: 1px solid var(--crg-line); }
.crg-events-nav .crg-wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 24px; padding-block: 12px; }
.crg-events-nav a { display: inline-flex; align-items: center; gap: 24px; min-height: 44px; font-size: .9rem; font-weight: 700; text-decoration: none; }
.crg-events-nav a:hover { text-decoration: underline; text-underline-offset: .3em; }
.crg-programme { background: var(--crg-mist-soft); padding-block: clamp(56px, 7vw, 100px); }
.crg-programme__layout { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: clamp(40px, 7vw, 100px); align-items: start; }
.crg-programme__intro header > p { margin: 20px 0 0; color: var(--crg-ink-soft); font-size: 1rem; line-height: 1.65; max-width: 32ch; }
.crg-programme__intro header .crg-programme__period { margin: 0 0 16px; color: var(--crg-brown-deep); font-size: .875rem; font-weight: 700; }
.crg-programme__months-nav { margin-top: 36px; }
.crg-programme__months-nav a { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-block: 18px; border-bottom: 1px solid var(--crg-line); text-decoration: none; font-weight: 700; }
.crg-programme__months-nav a:first-child { border-top: 1px solid var(--crg-line); }
.crg-programme__months-nav small { display: inline-block; margin-left: 8px; font-size: .8rem; font-weight: 400; color: var(--crg-ink-soft); }
.crg-programme__months-nav a:hover > span:first-child { text-decoration: underline; text-underline-offset: .3em; }
.crg-programme-month + .crg-programme-month { margin-top: 44px; }
.crg-programme-month > header { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding-bottom: 16px; border-bottom: 1px solid var(--crg-ink-soft); }
.crg-programme-month h3 { margin: 0; font-size: 1.6rem; line-height: 1.3; letter-spacing: -.025em; }
.crg-programme-month > header > span { font-size: .875rem; color: var(--crg-ink-soft); }
.crg-programme-month ol { list-style: none; margin: 0; padding: 0; }
.crg-programme-event { display: grid; grid-template-columns: minmax(100px, .32fr) minmax(0, 1fr); gap: 24px; align-items: center; padding: 28px 0; border-bottom: 1px solid var(--crg-line); }
.crg-programme-date__days { display: inline-flex; flex-wrap: nowrap; gap: 3px; align-items: baseline; white-space: nowrap; color: var(--crg-blue-deep); font-variant-numeric: tabular-nums; font-size: clamp(1.65rem, 2.8vw, 2.5rem); font-weight: 700; line-height: 1.2; letter-spacing: -.045em; }
.crg-programme-date__days time { flex-shrink: 0; white-space: nowrap; }
.crg-programme-date__days > span { font-size: .7em; font-weight: 400; }
.crg-programme-event h4 { margin: 0; font-size: clamp(1.125rem, 1.7vw, 1.4rem); letter-spacing: -.015em; line-height: 1.35; text-wrap: balance; }
.crg-programme-event .crg-programme-event__context { margin: 8px 0 0; color: var(--crg-ink-soft); font-size: .875rem; line-height: 1.5; }
.crg-programme-event .crg-programme-event__status { margin: 0 0 10px; font-size: .75rem; font-weight: 700; color: var(--crg-brown-deep); }
.crg-programme-event--next { background: var(--crg-paper); padding-inline: 20px; }
.crg-programme-event--pending { grid-template-columns: minmax(0, 1fr); }
.crg-events-archive { background: var(--crg-blue-deep); color: var(--crg-paper); padding-block: clamp(64px, 7vw, 100px); }
.crg-events-archive :is(h2, h3, a) { color: inherit; }
.crg-events-archive__head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 40px; align-items: end; padding-bottom: 44px; }
.crg-events-archive__head > div > p { margin: 0 0 16px; font-size: .875rem; color: var(--crg-mist); }
.crg-events-archive__head > p { margin: 0; max-width: 40ch; color: var(--crg-mist); font-size: 1rem; line-height: 1.65; }
.crg-event-feature { display: grid; grid-template-columns: minmax(0, .6fr) minmax(0, 1.4fr); align-items: center; gap: clamp(32px, 6vw, 80px); padding-block: 44px; border-top: 1px solid color-mix(in oklch, var(--crg-paper) 25%, transparent); }
.crg-event-feature:last-child { padding-bottom: 0; }
.crg-event-feature figure { margin: 0; padding: 20px; background: color-mix(in oklch, var(--crg-blue-deep) 85%, var(--crg-mist)); }
.crg-event-feature img { display: block; width: 100%; height: 310px; object-fit: contain; }
.crg-event-feature h3 { margin: 0; font-size: clamp(1.6rem, 2.8vw, 2.5rem); line-height: 1.2; letter-spacing: -.025em; text-wrap: balance; }
.crg-event-feature h3 a { text-decoration: none; }
.crg-event-feature h3 a:hover { text-decoration: underline; text-underline-offset: .15em; }
.crg-event-feature h3 a > span { display: inline-block; color: var(--crg-mist); transition: transform 220ms cubic-bezier(.16, 1, .3, 1); }
.crg-event-feature h3 a:hover > span { transform: translate(2px, -2px); }
.crg-event-feature p { margin: 20px 0 0; color: var(--crg-mist); font-size: .95rem; line-height: 1.65; max-width: 58ch; }
.crg-event-feature .crg-event-feature__date { margin: 0 0 16px; color: var(--crg-paper); font-size: .875rem; font-weight: 700; }
.crg-event-feature .crg-event-feature__location { font-size: .8rem; }
html[data-crg-contrast="inverse"] .crg-events-archive { background: var(--crg-surface); color: var(--crg-ink); }
html[data-crg-contrast="inverse"] .crg-events-archive :is(p, h3 a > span) { color: inherit; }
@media (max-width: 900px) {
  .crg-programme__layout { grid-template-columns: minmax(0, 1fr); }
  .crg-programme__intro header > p { max-width: 58ch; }
  .crg-programme__months-nav { display: flex; flex-wrap: wrap; gap: 0 28px; margin-top: 24px; }
  .crg-programme__months-nav a { flex: 1 1 170px; }
  .crg-programme__months-nav a:first-child { border-top: 0; }
  .crg-events-archive__head { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 600px) {
  .crg-events-page .crg-section-hero, .crg-events-page .crg-section-hero__inner { min-height: 400px; }
  .crg-events-page .crg-section-hero__inner { padding-block: 56px; }
  .crg-programme-event { grid-template-columns: minmax(0, 1fr); gap: 12px; padding-block: 24px; }
  .crg-programme-date__days { font-size: 1.8rem; }
  .crg-event-feature { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .crg-event-feature img { height: 280px; }
}
@media (prefers-reduced-motion: reduce) {
  .crg-event-feature h3 a > span { transition: none; }
}
