/* Upcoming and past event listings. Past cards stay readable without book links. */
.events-page { padding-block:72px 20px; }
.events-heading { max-width:860px; margin-bottom:72px; }
.events-heading h1 { font-size:clamp(50px,7vw,90px); }
.events-heading .intro { max-width:720px; color:var(--muted); font-size:19px; }
.events-timezone { margin:20px 0 0; }
.event-list-section { scroll-margin-top:30px; }
.event-list-section + .event-list-section { margin-top:90px; padding-top:64px; border-top:1px solid var(--line); }
.event-list-section h2 { font-size:clamp(34px,4vw,52px); margin-bottom:0; }
.event-list-section .eyebrow { margin-bottom:16px; }
.events-page .event-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.events-page .event-card { display:flex; flex-direction:column; padding:30px; overflow-wrap:anywhere; }
.events-page .event-card > .status { align-self:flex-start; font-size:11px; }
.events-page .event-card h3 { margin:24px 0 18px; font-size:28px; }
.events-page .event-card .date { line-height:1.7; }
.events-page .event-description { color:var(--muted); font-size:15px; }
.events-page .event-price { margin-top:auto; padding-top:12px; margin-bottom:16px; }
.events-page .event-card .button { border-radius:12px; font-size:13px; padding:14px 16px; }
.events-empty { margin-top:30px; max-width:760px; }
.events-empty h3 { font-size:30px; }
.events-empty p { max-width:600px; color:var(--muted); }
.events-page .event-card--past,
.events-empty--past { background:#edf0ed; border-color:#cbd3cc; box-shadow:none; color:#4b554e; }
.events-page .event-card--past::before,
.events-empty--past::before { background:#bac4bc; }
.events-page .event-card--past .status { background:#dfe5df; border-color:#c0cbc2; color:#465349; }
.events-page .event-card--past .event-description,
.events-page .event-card--past .date { color:#536057; }
.past-event-note { margin-top:auto; margin-bottom:0; padding-top:12px; font-size:13px; font-weight:700; color:#536057; }
.events-pagination { align-items:center; margin-top:32px; }
.events-pagination span { font-size:13px; color:var(--muted); }
.events-updates { padding:42px; margin-top:80px; border-radius:22px; background:var(--deep); color:white; }
.events-updates h2 { max-width:720px; font-size:clamp(32px,4vw,48px); }
.events-updates p { max-width:620px; color:#d3e1d5; }
@media(max-width:1080px) {
  .events-page .event-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:680px) {
  .events-page { padding-top:44px; }
  .events-heading { margin-bottom:50px; }
  .events-heading .intro { font-size:17px; }
  .events-heading .actions { gap:10px; }
  .events-heading .actions .button { flex:0 1 auto; }
  .events-page .event-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
  .events-page .event-card { padding:28px 24px; }
  .events-page .event-card h3 { font-size:27px; }
  .event-list-section + .event-list-section { margin-top:58px; padding-top:44px; }
  .events-updates { margin-top:56px; padding:30px 24px; }
  .events-empty { padding:28px 24px; }
}

.about-hero { padding-block:80px 90px; }
.about-hero h1 { max-width:1080px; font-size:clamp(48px,6.5vw,92px); }
.about-hero .intro { max-width:780px; color:var(--muted); font-size:20px; }
.about-details { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:64px; align-items:start; }
.about-details h2 { font-size:clamp(38px,4vw,60px); }
.about-details p { color:var(--muted); }
.about-details .panel h3 { font-size:30px; }
.about-details ul { padding-left:22px; color:var(--muted); }
.about-details li { padding-left:4px; margin-bottom:14px; }
.about-organiser { padding-top:0; }
@media(max-width:900px) { .about-details { grid-template-columns:minmax(0,1fr); gap:32px; } }
@media(max-width:760px) { .about-hero { padding-block:48px 60px; } .about-hero .intro { font-size:17px; } }
