.events-page{letter-spacing:0}.events-page .events-opening{isolation:isolate;background:var(--ink-2);align-items:flex-end;min-height:180px;display:flex;position:relative;overflow:hidden}.events-page .events-opening:after{content:"";z-index:1;background:color-mix(in oklab, var(--accent-deep) 58%, transparent);position:absolute;inset:0}.events-page .events-opening__words{z-index:2;width:100%;color:var(--on-ground);padding-block:40px;position:relative}.events-page .events-opening h1{font-family:var(--font-display);margin-top:12px;font-size:48px;line-height:1.1}.events-page .events-opening__words p{font-size:14px}.events-page .events-programme{padding-block:28px 48px}.events-page .events-programme__heading{border-bottom:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:24px;display:flex}.events-page .events-programme h2,.events-page .events-introduction h2{font-family:var(--font-display);font-size:28px;line-height:1.2}.events-page .events-programme__layout{min-width:0;display:grid}.events-page .events-calendar{border-bottom:1px solid var(--hairline);min-width:0;padding-block:16px}.events-page .events-calendar__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.events-page .events-calendar__month{font-family:var(--font-display);font-size:20px}.events-page .events-calendar__controls{gap:2px;display:flex}.events-page .events-calendar__control{min-width:44px;height:auto;min-height:44px}.events-page .events-calendar__weekdays,.events-page .events-calendar__grid{display:none}.events-page .events-calendar__dates{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.events-page .events-calendar__date{border:1px solid var(--hairline);background:var(--surface-raised);min-width:64px;height:auto;min-height:76px;color:var(--ink);border-radius:6px;flex-direction:column;gap:4px;display:flex}.events-page .events-calendar__date span:first-child{font-size:12px}.events-page .events-calendar__date span:last-child{font-family:var(--font-display);font-size:24px}.events-page .events-calendar__date[aria-pressed=true]{background:var(--accent-deep);color:var(--on-ground);border-color:var(--accent-deep)}.events-page .events-calendar__empty{color:var(--ink-soft);padding-top:20px;font-size:14px}.events-page .events-programme__events{min-width:0;padding-top:28px}.events-page .ev-feature{color:var(--ink);box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:1fr;gap:20px;padding:0;display:grid}.events-page .ev-feature__date{border:0;align-items:baseline;gap:12px;display:flex}.events-page .ev-feature__day{color:var(--accent-deep);font-size:60px}.events-page .ev-feature__date .eyebrow{color:var(--accent-ink);font-size:16px;font-family:var(--font-display);text-transform:none;letter-spacing:0}.events-page .ev-feature__body>p:first-child{color:var(--ink-soft);text-transform:none;letter-spacing:0;font-size:14px;line-height:1.5}.events-page .ev-feature__title{text-wrap:pretty;margin-top:12px;font-size:28px;line-height:1.25}.events-page .ev-feature__text{color:var(--ink-soft);margin-top:20px;font-size:16px}.events-page .ev-feature__foot{gap:20px;margin-top:28px}.events-page .ev-left{color:var(--accent-ink)}.events-page .ev-feature__foot .btn-secondary{color:var(--accent-deep)}.events-page .ev-feature__foot .btn-primary,.events-page .ev-feature__foot .btn-secondary{white-space:normal;text-align:center;max-width:100%}.events-page .events-price{border-top:1px solid var(--hairline);color:var(--ink-soft);margin-top:32px;padding-top:20px;font-size:15px;line-height:1.6}.events-page .events-introduction{background:var(--linen);border-top:1px solid var(--hairline);padding-block:40px}.events-page .events-introduction p{max-width:66ch;color:var(--ink-soft);font-size:16px;line-height:1.75}.events-page button:focus-visible,.events-page a:focus-visible,.events-page input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}@media (width>=768px){.events-page .events-opening{min-height:250px}.events-page .events-opening h1{font-size:60px}.events-page .events-programme{padding-block:48px 64px}.events-page .events-calendar__dates{gap:12px}.events-page .ev-feature{grid-template-columns:90px minmax(0,1fr);gap:28px}.events-page .ev-feature__date{display:block}.events-page .ev-feature__date .eyebrow{margin-top:12px;display:block}.events-page .ev-feature__title{font-size:32px}}@media (width>=1280px){.events-page .events-opening{min-height:270px}.events-page .events-programme__layout{grid-template-columns:minmax(0,1fr) 360px;gap:40px}.events-page .events-calendar{border-bottom:0;border-left:1px solid var(--hairline);grid-area:1/2;padding-top:32px;padding-left:28px}.events-page .events-calendar__head{align-items:flex-start}.events-page .events-calendar__month{font-size:18px}.events-page .events-calendar__controls{margin-left:-10px}.events-page .events-calendar__dates{display:none}.events-page .events-calendar__weekdays,.events-page .events-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.events-page .events-calendar__weekdays{text-align:center;color:var(--ink-soft);margin-top:24px;font-size:12px}.events-page .events-calendar__grid{margin-top:12px}.events-page .events-calendar__cell{width:100%;min-height:44px;color:var(--ink-soft);border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:14px;display:flex;position:relative}.events-page .events-calendar__cell[data-outside=true]{visibility:hidden}.events-page button.events-calendar__cell{color:var(--accent-deep);background:var(--accent-soft);font-weight:600}.events-page button.events-calendar__cell[aria-pressed=true]{background:var(--accent-deep);color:var(--on-ground)}.events-page .events-programme__events{grid-area:1/1;padding-top:40px}.events-page .ev-feature{grid-template-columns:100px minmax(0,1fr)}.events-page .ev-feature__day{font-size:72px}.events-page .ev-feature__title{font-size:34px}.events-page .events-introduction{padding-block:48px}}@media (prefers-reduced-motion:no-preference){.events-page .events-programme__events{animation:.28s ease-out both events-settle}@keyframes events-settle{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
