.main-nav a[aria-current="page"]{color:var(--blue);padding-bottom:12px;border-bottom:2px solid var(--blue)}
.calendar-hero{background:var(--ink);color:#fff}
.calendar-intro{display:flex;flex-wrap:wrap;gap:32px;align-items:end;justify-content:space-between;padding-block:clamp(40px,5vw,72px)}
.calendar-intro-copy{flex:1 1 560px;min-width:0}
.calendar-intro .eyebrow{margin-bottom:14px;color:var(--yellow)}
.calendar-intro h1{max-width:800px;font-size:clamp(38px,5.6vw,72px)}
.calendar-lede{margin-top:18px;max-width:620px;font-size:18px;line-height:1.55;color:#c9cdd4}
.calendar-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;overflow:hidden;border:1px solid #2e323a;border-radius:12px;background:#2e323a}
.calendar-stats>div{display:flex;flex-direction:column-reverse;justify-content:center;gap:0;padding:16px 20px;background:var(--ink)}
.calendar-stats dd{margin:0;font:600 32px/1.5 var(--mono)}
.calendar-stats dt{color:#a9aeb7;font-size:13px;white-space:nowrap}
.calendar-stats>div:first-child dd{color:var(--yellow)}
.calendar-toolbar{border-bottom:1px solid var(--line);background:white}
.calendar-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding-block:16px;min-width:0}
.event-filters{display:flex;gap:8px;overflow-x:auto;max-width:100%;padding:3px;scrollbar-width:thin;overscroll-behavior-inline:contain}
.event-filters button{flex-shrink:0;min-height:44px;padding:0 16px;border:1px solid #c6cad1;border-radius:24px;background:#fff;color:var(--ink);font-size:15px;font-weight:600;white-space:nowrap}
.event-filters button span{margin-left:3px;font:500 13px/1.5 var(--mono);opacity:.75}
.event-filters button[aria-pressed="true"]{background:var(--ink);color:white;border-color:var(--ink)}
.event-filters button:not([aria-pressed="true"]):hover{border-color:var(--ink);background:var(--gray)}
.event-filters button:disabled{cursor:default}
.month-jumps{display:flex;gap:6px;overflow-x:auto;max-width:100%;margin-left:auto;padding:3px;scrollbar-width:thin;overscroll-behavior-inline:contain;font:600 13px/1.5 var(--mono)}
.month-jumps a{padding:12px 10px;white-space:nowrap;color:#3d424a;text-decoration:none}
.month-jumps a:hover{color:var(--blue);background:#f1f3fc;border-radius:8px}
.calendar-search{display:flex;align-items:center;gap:16px;flex:1 1 100%;min-width:0}
.calendar-search input{flex:1;min-width:0;min-height:48px;padding:10px 16px;border:1px solid #c6cad1;border-radius:10px;background:#f7f8f9;font-size:16px}
.calendar-search .text-button{flex-shrink:0;font-size:14px}
.calendar-context{display:flex;flex:1 1 100%;flex-wrap:wrap;gap:8px;align-items:center}
.context-chip{display:flex;align-items:center;gap:10px;min-height:36px;padding:4px 12px;border:1px solid #c9d2f7;border-radius:18px;background:#f1f3fc;font-size:14px;color:var(--blue)}
.calendar-main{padding-top:16px;padding-bottom:clamp(48px,6vw,80px)}
.calendar-month{padding-top:40px;scroll-margin-top:24px}
.month-heading{display:flex;align-items:baseline;gap:12px;padding-bottom:12px;border-bottom:2px solid var(--ink)}
.month-heading h2{font-size:clamp(24px,2.4vw,30px);line-height:1.2}
.month-heading>span{color:var(--muted);font:600 13px/1.5 var(--mono);white-space:nowrap}
.calendar-event{display:flex;flex-wrap:wrap;align-items:start;gap:10px 28px;padding:22px 0;border-bottom:1px solid var(--line)}
.calendar-event-date{display:flex;flex:0 0 164px;flex-direction:column;gap:6px;font:600 15px/1.5 var(--mono)}
.event-type{align-self:start;padding:4px 8px;border-radius:6px;background:var(--gray);font:600 12px/1.5 Inter,system-ui,sans-serif}
.type-biennale{background:#e8ecfb;color:#1a33a8}
.type-art-fair{background:#fff3c4;color:#5c4600}
.type-museum-exhibition{background:#e4f3ec;color:#0b5c45}
.calendar-event-copy{display:flex;flex:1 1 360px;min-width:0;flex-direction:column;gap:6px}
.calendar-event-copy h3{font-size:21px;line-height:1.25;font-weight:600;letter-spacing:-.01em}
.calendar-event-copy h3 a{text-decoration:none}
.calendar-event-copy h3 a:hover{color:var(--blue);text-decoration:underline}
.event-venue{color:#3d424a;font-size:15px;line-height:1.5}
.event-tickets{color:var(--muted);font-size:14px;line-height:1.5}
.calendar-event-place{display:flex;flex:0 1 220px;flex-direction:column;align-items:start;gap:10px}
.calendar-event-place>span{font:600 14px/1.5 var(--mono);letter-spacing:.04em;text-transform:uppercase}
.visitor-guide{display:flex;align-items:center;gap:5px;min-height:40px;padding:0 14px;border-radius:8px;background:var(--blue);color:white;text-decoration:none;font-size:14px;font-weight:600}
.visitor-guide:hover{background:#1832aa}
.event-details{display:inline-flex;align-items:center;gap:5px;min-height:40px;font-size:14px;font-weight:600;color:var(--blue)}
.calendar-archive{margin-top:56px;border-top:2px solid var(--ink)}
.calendar-archive summary{justify-content:start;gap:12px;padding:20px 0;border:0;font:600 24px/1.2 var(--display)}
.calendar-archive summary #archive-count{transform:none;color:var(--muted);font:500 14px/1.5 var(--mono)}
.calendar-archive summary .archive-toggle{margin-left:auto;font:400 24px/1 Inter,sans-serif}
.calendar-archive[open] summary{margin-bottom:0}
.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.archive-event{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;text-decoration:none;min-width:0}
.archive-event>span:first-child{flex:0 0 132px;color:var(--muted);font:500 13px/1.5 var(--mono)}
.archive-event>span:nth-child(2){min-width:0;flex:1}
.archive-event:hover>span:nth-child(2){color:var(--blue);text-decoration:underline}
.archive-note{margin-top:20px;font-size:14px;color:var(--muted)}
.calendar-empty{padding:48px 24px;margin-top:40px;background:var(--gray);border-radius:16px;text-align:center}
.calendar-empty h2{font-size:28px}
.calendar-empty p{margin-block:12px 24px;color:var(--muted)}
.calendar-empty button{display:inline-flex;min-height:48px}
.calendar-noscript{margin-top:24px;color:var(--muted);font-size:14px}
@media(max-width:979px){.month-jumps{flex-basis:100%;margin-left:0}.calendar-event-copy{flex-basis:calc(100% - 192px)}.calendar-event-place{flex:1 1 100%;flex-direction:row;align-items:center;justify-content:space-between;padding-left:192px}.calendar-stats{flex:0 1 auto}.archive-grid{grid-template-columns:1fr}}
@media(max-width:599px){.calendar-intro-copy{flex-basis:100%}.calendar-stats{flex:1 1 100%}.calendar-stats>div{padding:16px}.calendar-stats dt{font-size:12px}.calendar-intro h1{font-size:38px}.calendar-lede{font-size:18px}.calendar-event-date{flex:1 1 100%;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.calendar-event-date>span:first-child{max-width:245px}.calendar-event-copy{flex-basis:100%}.calendar-event-place{padding-left:0;gap:8px}.calendar-event-place>span{font-size:13px}.calendar-event-copy h3{font-size:21px}.calendar-archive summary{font-size:22px}.archive-event{flex-wrap:wrap;gap:6px}.archive-event>span:first-child{flex-basis:100%}.event-filters,.month-jumps{margin-inline:-3px;padding-inline:3px}.calendar-search{gap:8px}}
@media(max-width:359px){.calendar-stats dt{white-space:normal;min-height:36px}}
