.events-page{max-width:1180px}.events-heading{max-width:780px}.event-explorer{display:grid;gap:36px}.event-calendar-toolbar{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.event-calendar-toolbar label{display:grid;gap:5px;min-width:210px;font-size:13px;font-weight:600}.event-calendar-toolbar select{min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:white}.calendar-navigation{display:flex;align-items:center;gap:10px}.calendar-mobile-secondary button,.calendar-navigation>button{min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--forest);display:inline-flex;align-items:center;justify-content:center;gap:6px}.calendar-navigation strong{min-width:190px;text-align:center;font-family:var(--font-display);font-size:22px}.calendar-navigation .today-button{padding-inline:14px}.calendar-desktop-layout{display:grid;gap:24px}.calendar-month{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 12px 35px rgb(23 60 48/5%)}.calendar-month h2{text-align:center;margin-bottom:22px}.calendar-grid,.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays span{padding:8px;text-align:center;color:var(--muted);font-size:13px;font-weight:700}.calendar-day-cell{display:grid}.calendar-day{position:relative;min-height:72px;border:1px solid #e7e7df;background:transparent;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.calendar-day:hover{background:#f0f2e9}.calendar-day.is-outside{color:#92998f;background:#faf9f4}.calendar-day.is-today{box-shadow:inset 0 0 0 2px var(--gold)}.calendar-day.is-selected{background:var(--forest);color:white;box-shadow:inset 0 0 0 2px var(--forest)}.calendar-day small{min-width:18px;height:18px;padding-inline:4px;border-radius:10px;background:var(--gold-light);color:var(--forest-deep);font-size:11px;display:grid;place-content:center}.calendar-secondary-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.calendar-month.is-secondary{padding:18px}.calendar-month.is-secondary .calendar-day{min-height:48px;font-size:14px}.calendar-secondary-title{display:block;margin:0 auto 14px;border:0;background:transparent;color:var(--forest);font:600 17px var(--font-body)}.calendar-secondary-title:hover{color:var(--gold)}.calendar-mobile-secondary,.mobile-upcoming{display:none}.calendar-status{text-align:center;color:var(--muted)}.event-results{border-top:1px solid var(--line);padding-top:34px}.event-list{display:grid;gap:22px}.event-card{display:grid;grid-template-columns:280px 1fr;min-height:250px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.event-card-image{position:relative;min-height:250px}.event-card-image img{object-fit:cover}.event-card-copy{padding:24px}.event-card-copy h3{margin:8px 0;font:400 25px/1.2 var(--font-display)}.event-card-copy>p{color:var(--muted)}.event-category{display:inline-flex;padding:4px 9px;border-radius:999px;background:#ecebdc;color:var(--forest);font-size:12px;font-weight:700}.event-facts{display:grid;gap:5px;margin:14px 0 20px;padding:0;list-style:none;color:var(--muted);font-size:14px}.event-facts li{display:flex;align-items:center;gap:8px}.event-empty{padding:28px;border:1px dashed var(--line);border-radius:var(--radius);text-align:center;color:var(--muted)}.event-detail-page{max-width:1180px}.event-cancelled{padding:12px 18px;border:1px solid #b74f43;border-radius:8px;background:#fff0ed;color:#7b251c;font-weight:700}.event-detail-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:44px;align-items:center}.event-detail-image{position:relative;min-height:560px;overflow:hidden;border-radius:var(--radius)}.event-detail-copy h1{margin:14px 0}.event-lead{font-size:20px;color:var(--muted)}.detail-facts{font-size:16px}.detail-facts svg{width:20px}.event-contact{display:flex;flex-wrap:wrap;gap:14px;margin-block:18px}.event-contact a{display:inline-flex;align-items:center;gap:7px}.event-detail-section{max-width:850px;margin-top:54px}.event-participants{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.event-participant{display:flex;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.event-participant img{border-radius:50%;object-fit:cover}.event-participant span{display:grid}.event-participant small{color:var(--muted)}.event-participation-cta{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:60px;padding:32px;border-radius:var(--radius);background:#ecebdc}.event-participation-cta textarea{min-height:100px}@media (max-width:760px){.event-explorer{gap:24px}.mobile-upcoming{display:grid;gap:14px;order:-1}.mobile-upcoming .event-card{display:grid;grid-template-columns:92px 1fr;min-height:110px}.mobile-upcoming .event-card-image{min-height:110px}.mobile-upcoming .event-card-copy{padding:12px}.mobile-upcoming .event-card-copy h3{font-size:17px}.mobile-upcoming .button,.mobile-upcoming .event-card-copy>p,.mobile-upcoming .event-category,.mobile-upcoming .event-facts{display:none}.event-calendar-toolbar{align-items:stretch;flex-direction:column;padding:14px}.calendar-navigation{display:grid;grid-template-columns:44px 1fr 44px}.calendar-navigation strong{min-width:0;font-size:18px}.calendar-navigation .today-button{grid-column:1/-1}.event-calendar-toolbar label{min-width:0}.calendar-month{padding:10px}.calendar-month h2{font-size:24px}.calendar-day{min-height:48px;padding:2px;font-size:14px}.calendar-secondary-grid{display:none}.calendar-mobile-secondary{display:flex;justify-content:space-between;gap:12px}.calendar-mobile-secondary button{flex:1;padding-inline:8px;font-size:13px}.event-results>h2{font-size:27px}.event-card{grid-template-columns:1fr}.event-card-image{min-height:210px}.event-detail-hero{grid-template-columns:1fr;gap:24px}.event-detail-image{min-height:320px}.event-participants,.event-participation-cta{grid-template-columns:1fr}}@media (prefers-reduced-motion:no-preference){.calendar-month{animation:calendar-enter .2s ease-out}@keyframes calendar-enter{0%{opacity:.65;transform:translateY(5px)}}}