.events-experience{padding:92px 0}.events-toolbar{margin-bottom:36px}.events-toolbar h2{font-size:clamp(2.8rem,5vw,5rem);margin:0}.event-categories{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.event-category{border:1px solid color-mix(in srgb,var(--dark) 24%,transparent);background:transparent;color:var(--dark);padding:10px 14px;font:700 .66rem 'DM Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;transition:.2s}.event-category:hover,.event-category.active{background:var(--dark);border-color:var(--dark);color:var(--light)}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.72fr);gap:25px;align-items:start}.calendar-shell,.event-day-panel{background:var(--paper);border:1px solid color-mix(in srgb,var(--dark) 16%,transparent);padding:25px}.calendar-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid color-mix(in srgb,var(--dark) 14%,transparent);padding-bottom:18px}.calendar-top h3{font:600 2rem 'Playfair Display',serif;margin:0}.calendar-nav{display:flex;gap:7px}.calendar-nav button{width:34px;height:34px;border:1px solid color-mix(in srgb,var(--dark) 25%,transparent);background:transparent;color:var(--dark);font-size:1.1rem}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays{padding:16px 0 8px}.calendar-weekdays span{font-size:.6rem;font-weight:700;letter-spacing:.09em;text-align:center;color:var(--accent)}.calendar-day{position:relative;min-height:70px;display:flex;align-items:flex-start;justify-content:center;padding:11px 4px;border:0;border-top:1px solid color-mix(in srgb,var(--dark) 9%,transparent);background:transparent;color:var(--dark);font:600 .78rem 'DM Sans',sans-serif}.calendar-day.empty{pointer-events:none}.calendar-day.has-event{cursor:pointer}.calendar-day.has-event:hover,.calendar-day.selected{background:color-mix(in srgb,var(--beige) 28%,var(--light))}.calendar-day.has-event:after{content:'';position:absolute;bottom:12px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.calendar-day.today{outline:1px solid var(--accent);outline-offset:-5px}.event-day-panel{min-height:330px}.event-day-panel h3{font:600 1.85rem 'Playfair Display',serif;margin:0 0 8px}.event-day-label{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:700}.day-event{width:100%;text-align:left;padding:17px 0;border:0;border-top:1px solid color-mix(in srgb,var(--dark) 14%,transparent);background:transparent;color:var(--dark);cursor:pointer}.day-event h4{font:600 1.35rem 'Playfair Display',serif;margin:0 0 4px}.day-event p{font-size:.78rem;line-height:1.55;margin:5px 0;color:color-mix(in srgb,var(--dark) 68%,var(--light))}.day-event-meta{font-size:.68rem;font-weight:700;margin-top:10px}.event-list{margin-top:52px}.event-list-head{display:flex;justify-content:space-between;gap:18px;align-items:end;border-bottom:1px solid color-mix(in srgb,var(--dark) 18%,transparent);padding-bottom:17px}.event-list-head h3{font:600 2.35rem 'Playfair Display',serif;margin:0}.event-list-count{font-size:.7rem;font-weight:700;letter-spacing:.08em;color:var(--accent);text-transform:uppercase}.event-list-row{display:grid;grid-template-columns:80px minmax(0,1fr) auto;width:100%;gap:20px;align-items:center;padding:21px 0;border:0;border-bottom:1px solid color-mix(in srgb,var(--dark) 14%,transparent);background:transparent;color:var(--dark);text-align:left;cursor:pointer}.event-list-row:hover h4,.day-event:hover h4{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px}.event-list-date{font:600 1.5rem 'Playfair Display',serif;line-height:.9}.event-list-date small{display:block;margin-top:7px;font:700 .58rem 'DM Sans',sans-serif;letter-spacing:.1em}.event-list-row h4{font:600 1.52rem 'Playfair Display',serif;margin:0}.event-list-row p{font-size:.78rem;margin:5px 0 0;color:color-mix(in srgb,var(--dark) 68%,var(--light))}.event-list-meta{text-align:right;font-size:.68rem;font-weight:700;white-space:pre-line}.event-modal{position:fixed;z-index:40;inset:0;display:grid;place-items:center;padding:24px;background:rgba(24,22,19,.68);opacity:0;visibility:hidden;transition:.2s}.event-modal.open{opacity:1;visibility:visible}.event-modal-card{position:relative;width:min(680px,100%);max-height:calc(100dvh - 48px);overflow:auto;background:var(--paper);color:var(--dark);box-shadow:0 22px 70px rgba(0,0,0,.32)}.event-modal-image{aspect-ratio:16/8;overflow:hidden;background:var(--dark2)}.event-modal-image img{width:100%;height:100%;display:block;object-fit:cover}.event-modal-content{padding:28px}.event-modal-close{position:absolute;z-index:1;right:12px;top:12px;width:38px;height:38px;border:0;background:var(--light);color:var(--dark);font-size:1.4rem}.event-modal-title{font:600 clamp(2.1rem,5vw,3.3rem) 'Playfair Display',serif;line-height:1.03;margin:8px 0 12px}.event-modal-text{max-width:560px;font-size:.94rem;line-height:1.7}.event-modal-info{display:flex;flex-wrap:wrap;gap:9px 19px;padding:16px 0;border-top:1px solid color-mix(in srgb,var(--dark) 14%,transparent);border-bottom:1px solid color-mix(in srgb,var(--dark) 14%,transparent);font-size:.72rem;font-weight:700}.event-modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:23px}.event-modal-actions a,.event-modal-actions button{border:1px solid var(--dark);padding:12px 15px;background:var(--dark);color:var(--light);font:700 .68rem 'DM Sans',sans-serif;letter-spacing:.07em;text-transform:uppercase}.event-modal-actions button{background:transparent;color:var(--dark)}@media(max-width:700px){.events-experience{padding:66px 0}.event-categories{margin-top:18px}.event-category{padding:9px 11px}.calendar-layout{grid-template-columns:1fr}.calendar-shell,.event-day-panel{padding:18px}.calendar-day{min-height:50px;padding-top:8px;font-size:.7rem}.calendar-day.has-event:after{bottom:7px}.event-list-row{grid-template-columns:58px minmax(0,1fr)}.event-list-meta{grid-column:2;text-align:left}.event-list-row h4{font-size:1.3rem}.event-modal{padding:12px}.event-modal-content{padding:22px}.event-modal-image{aspect-ratio:16/10}}

/* Full-width public agenda: categories remain directly above the calendar. */
.events-experience .event-categories{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:14px 16px;margin:0 0 24px;border:1px solid color-mix(in srgb,var(--dark) 16%,transparent);background:color-mix(in srgb,var(--light) 76%,var(--paper));}
.events-experience .event-category{cursor:pointer}
.events-experience .calendar-layout{display:block!important}
.events-experience .calendar-shell{width:100%;padding:28px}
.events-experience .calendar-day{min-height:88px}
@media(max-width:700px){.events-experience .calendar-shell{padding:18px}.events-experience .calendar-day{min-height:54px}}

/* Visual category calendar: every event day is a compact card. */
.events-experience .agenda-filter-strip{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:15px 18px;margin:0 0 24px;border:1px solid rgba(47,58,44,.23);background:#fffdf8}
.events-experience .agenda-filter-label{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#66754d;white-space:nowrap}
.events-experience .event-categories{display:flex;flex:1;gap:9px;flex-wrap:wrap;margin:0;padding:0}
.events-experience .event-category{--category-color:#6e7d57;cursor:pointer;border:1px solid var(--category-color);background:#fff;color:#273025;border-radius:0;padding:9px 13px;font:700 .73rem/1 inherit;letter-spacing:.06em;text-transform:uppercase}
.events-experience .event-category[aria-pressed="true"]{background:var(--category-color);color:#fff}
.events-experience .calendar-layout{display:block!important}
.events-experience .calendar-shell{width:100%;padding:28px}
.events-experience .calendar-days{align-items:stretch}
.events-experience .calendar-day{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:7px;min-height:156px;padding:10px;border:1px solid rgba(47,58,44,.15);border-top:1px solid rgba(47,58,44,.15);background:#fffdf8;text-align:left}
.events-experience .calendar-day.empty{background:transparent;cursor:default}
.events-experience .calendar-day.has-event{border:2px solid var(--event-color);background:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.75)}
.events-experience .calendar-day.has-event:hover,.events-experience .calendar-day.has-event:focus-visible{transform:translateY(-2px);box-shadow:0 9px 20px rgba(33,38,29,.12);z-index:1}
.events-experience .calendar-day:after{display:none}
.events-experience .calendar-day-number{align-self:flex-start;font-weight:800}
.events-experience .calendar-event-visual{display:block;width:100%;height:84px;min-height:84px;object-fit:cover;background:#e9e6de;color:#273025;line-height:84px;text-align:center;font-size:1.8rem}
.events-experience .calendar-event-category{display:block;margin-top:auto;color:var(--event-color);font-size:.68rem;font-weight:800;letter-spacing:.09em;line-height:1.2;text-transform:uppercase;overflow-wrap:anywhere}
@media(max-width:700px){.events-experience .agenda-filter-strip{padding:13px}.events-experience .calendar-shell{padding:14px}.events-experience .calendar-day{min-height:104px;padding:6px;gap:4px}.events-experience .calendar-event-visual{height:52px;min-height:52px;line-height:52px}.events-experience .calendar-event-category{font-size:.54rem;letter-spacing:.04em}.events-experience .event-category{font-size:.65rem;padding:8px 10px}}