.calendar-page{padding-top:calc(var(--site-header) + var(--spacing-page-before-base));padding-bottom:var(--spacing-page-after-base);color:var(--color-forest)}.calendar-intro{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:52px;display:flex}.calendar-intro h1{font-size:clamp(48px,4.4vw,110px)}.calendar-intro p{max-width:30ch;font-size:clamp(18px,1.1vw,26px)}.calendar-toolbar{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:24px;margin-bottom:16px;padding-bottom:20px;display:flex}.calendar-toolbar h2{text-transform:capitalize;font-size:clamp(32px,2.8vw,64px)}.calendar-controls{align-items:center;gap:8px;display:flex}.calendar-controls[hidden]{display:none}.calendar-controls button{font:500 15px/1.4 var(--site-sans);background:var(--color-forest);min-width:48px;min-height:48px;color:var(--color-text-inverse);border:1px solid var(--color-forest);cursor:pointer;place-items:center;padding:10px 14px;transition:background-color .15s;display:grid}.calendar-controls svg{stroke:currentColor;stroke-width:1.5px;fill:none;width:22px;height:22px}.calendar-controls button[data-current-month]{color:var(--color-copper);text-underline-offset:6px;background:0 0;border-color:#0000;text-decoration:underline}.calendar-controls button:hover{background:var(--color-accent-hover);color:var(--color-text-primary)}.calendar-message{min-height:1.6em;margin-bottom:24px;font-size:clamp(14px,.95vw,20px)}.calendar-grid{border-collapse:separate;border-spacing:6px;table-layout:fixed;width:100%}.calendar-grid th{text-align:left;font:500 clamp(13px,.9vw,19px)/1.5 var(--site-sans);padding:10px}.calendar-grid abbr{text-decoration:none}.calendar-grid td{vertical-align:top;padding:0}.calendar-grid button{text-align:left;border:1px solid #0000;border-top-color:var(--color-border);width:100%;min-height:clamp(88px,5vw,120px);color:var(--color-forest);font:400 clamp(14px,.9vw,20px)/1.4 var(--site-sans);cursor:pointer;background:0 0;flex-direction:column;gap:10px;padding:12px;transition:background-color .15s,border-color .15s,box-shadow .15s;display:flex}.calendar-grid button:hover{background:var(--color-surface);border-color:var(--color-border)}.calendar-grid td[data-has-events] button{background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-accent);box-shadow:0 4px 12px var(--color-calendar-shadow)}.calendar-grid td[data-temporal=past] button{border-left-color:var(--color-copper);box-shadow:none}.calendar-grid button[aria-pressed=true]{background:var(--color-calendar-selected)!important;border-color:var(--color-forest)!important;box-shadow:inset 0 0 0 1px var(--color-forest)!important}.calendar-grid button[aria-pressed=true] .day-category{color:var(--color-forest)}.calendar-grid button[aria-current=date] .day-number{text-underline-offset:5px;font-weight:750;text-decoration:underline}.calendar-grid button:focus-visible{outline-offset:3px;z-index:1;position:relative}.day-number{font:500 clamp(21px,1.6vw,36px)/1.15 var(--site-serif)}.day-titles{overflow-wrap:anywhere;gap:12px;display:grid}.day-event{gap:6px;display:grid}.day-category,.event-category{font:600 11px/1.4 var(--site-sans);letter-spacing:.08em;color:var(--color-copper)}.day-title{font-weight:550}.day-indicator{display:none}.outside-day{color:var(--color-copper);padding:12px;font-size:13px;display:block}.selected-exhibitions{border-top:3px solid var(--color-copper);background:var(--color-surface);box-shadow:0 12px 32px var(--color-calendar-shadow);grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:36px;margin-top:40px;padding:clamp(24px,3vw,56px);display:grid}.selected-exhibitions>h3{font:500 clamp(24px,2vw,42px)/1.2 var(--site-serif);margin:0}.exhibition-detail{overflow-wrap:anywhere;padding-block:0 24px}.exhibition-detail:last-child{padding-bottom:0}.exhibition-detail+.exhibition-detail{border-top:1px solid var(--color-border);padding-top:24px}.event-meta{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.event-category{border-right:1px solid var(--color-border);padding-right:20px}.exhibition-detail h3{font:500 clamp(25px,2.1vw,44px)/1.2 var(--site-serif);letter-spacing:-.025em;margin:14px 0 12px}.event-period{color:var(--color-copper);font-size:14px}.exhibition-detail[data-temporal=upcoming] .event-period{color:var(--color-forest);font-weight:600}.event-date{font-size:clamp(16px,1.1vw,24px)}.exhibition-detail dl{grid-template-columns:150px minmax(0,1fr);gap:8px 20px;margin:24px 0 0;font-size:clamp(15px,.95vw,21px);display:grid}.exhibition-detail dt{font-weight:600}.exhibition-detail dd{margin:0}.exhibition-detail>p:last-child,.exhibition-detail>a{margin-top:18px}.schedule-archive{border-top:1px solid var(--color-border);margin-top:32px;padding-block:20px}.schedule-archive summary{cursor:pointer;min-height:44px;padding-block:10px;font-size:clamp(16px,1vw,23px);display:list-item}.schedule-archive [data-schedule-list]{max-width:900px;padding-top:28px}.schedule-note,.calendar noscript p{max-width:75ch;margin-top:20px;font-size:14px}@media (width<=900px){.calendar-intro{margin-bottom:36px;display:block}.calendar-intro p{margin-top:24px;font-size:18px}.calendar-toolbar{flex-direction:column;align-items:flex-start;gap:18px}.calendar-grid{border-spacing:3px}.calendar-grid th{text-align:center;padding:10px 4px;font-size:12px}.calendar-grid button{align-items:center;gap:6px;min-height:64px;padding:10px 2px}.day-titles{display:none}.day-indicator{font:650 11px/18px var(--site-sans);background:var(--color-copper);min-width:18px;color:var(--color-text-inverse);text-align:center;border-radius:50%;display:block}.outside-day{text-align:center;padding:12px 2px;font-size:12px}.selected-exhibitions{grid-template-columns:minmax(0,1fr);gap:24px}}@media (width<=600px){.calendar-page{padding-top:calc(var(--site-header) + var(--spacing-calendar-before-compact));padding-inline:12px}.calendar-intro,.calendar-toolbar,.calendar-message,.selected-exhibitions,.schedule-archive,.schedule-note{margin-inline:8px}.calendar-intro h1{font-size:46px}.calendar-intro p{font-size:17px}.calendar-toolbar h2{font-size:34px}.calendar-controls button{padding-inline:12px}.calendar-grid{border-spacing:2px}.calendar-grid button{min-height:60px}.day-number{font-size:22px}.exhibition-detail dl{grid-template-columns:minmax(0,1fr);gap:4px}.exhibition-detail dd+dt{margin-top:10px}.selected-exhibitions>h3{font-size:26px}.exhibition-detail h3{font-size:28px}.calendar-message{font-size:14px}.event-category{padding-right:12px}}
