.calendar-heading{padding:3rem 0 2rem;max-width:760px}.calendar-heading h1{font-family:var(--display);font-size:clamp(2.6rem,6vw,5rem);font-weight:400;line-height:1.06;margin:.5rem 0 1rem}.calendar-filters{display:grid;grid-template-columns:2fr 1.4fr 1fr 1fr;gap:1rem;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:1.5rem 0}.calendar-filters label{display:flex;flex-direction:column;gap:.45rem;font-size:14px}.calendar-filters input,.calendar-filters select{min-width:0;width:100%;padding:.8rem;background:transparent;color:var(--ink);border:1px solid #8a8273;border-radius:0;font:inherit;min-height:46px;box-sizing:border-box}.calendar-filters button{align-self:end;min-height:46px}.calendar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.5rem}.calendar-card{padding:1.8rem 0;border-top:1px solid #c8c0b2}.calendar-card h2{font-family:var(--display);font-weight:400;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.12;margin:.6rem 0}.calendar-card p{line-height:1.6}.calendar-date{font-size:16px;font-weight:600}.calendar-access{font-size:14px;color:#595348}.calendar-card a{display:inline-block;padding:.6rem 0;color:var(--ink);text-underline-offset:4px}.calendar-card[hidden],[hidden]{display:none!important}.calendar-note{padding:3rem 0;max-width:760px}.calendar-note h2{font-family:var(--display);font-size:2rem;font-weight:400}.circuit-intro{padding:2rem 0;border-bottom:1px solid #c8c0b2;margin-bottom:2rem}.circuit-intro h1{font-family:var(--display);font-size:clamp(2rem,5vw,3.5rem);font-weight:400;margin:.4rem 0}.circuit-intro p{max-width:65ch}.dest a{color:inherit}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid #6f5428;outline-offset:3px}@media(max-width:760px){.calendar-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-filters label:first-child{grid-column:1/-1}.calendar-grid{grid-template-columns:1fr}.calendar-heading{padding-top:2rem}}@media(max-width:380px){.calendar-filters{grid-template-columns:1fr}}
/* Date-first calendar: one location selector, a full-width month and daily listings. */
.calendar-wrap{max-width:1440px}.calendar-heading{padding:2rem 0 1rem;max-width:none}.calendar-heading h1{font-size:clamp(2.4rem,5vw,4.2rem)}.calendar-heading .standfirst{margin-bottom:1rem}.calendar-location{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.calendar-location label{font-size:13px;text-transform:uppercase;letter-spacing:.12em;font-weight:600}.calendar-location select{min-height:48px;min-width:230px;padding:.7rem 2.5rem .7rem 1rem;background:var(--paper,#f4f0e7);color:var(--ink);border:1px solid #b5ac9b;font:inherit}.calendar-location p{font-size:14px;color:#595348;margin:0}.calendar-browser{border:1px solid #b5ac9b;background:#fffdf8}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.3rem 1.5rem;border-bottom:1px solid #d8d0c2}.calendar-month-nav,.calendar-month-tools{display:flex;align-items:center;gap:1rem}.calendar-month-nav h2{font-family:var(--display);font-size:clamp(1.6rem,3vw,2.6rem);font-weight:400;margin:0;min-width:13ch;text-align:center}.calendar-toolbar button,.calendar-legacy button{border:1px solid #b5ac9b;background:transparent;color:var(--ink);font:inherit;min-height:44px;padding:.5rem 1rem;cursor:pointer}.calendar-month-tools input{color:var(--ink);font:inherit;border:1px solid #b5ac9b;background:transparent;min-height:44px;padding:.4rem;box-sizing:border-box;max-width:180px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays span{text-align:center;font-size:12px;text-transform:uppercase;letter-spacing:.12em;padding:.9rem .1rem;color:#595348}.calendar-day{border:0;border-top:1px solid #ded7cb;border-right:1px solid #ded7cb;min-height:108px;padding:1rem;text-align:left;display:flex;flex-direction:column;justify-content:space-between;gap:.5rem;background:transparent;color:var(--ink);font:inherit;cursor:pointer;position:relative}.calendar-day:nth-child(7n){border-right:0}.calendar-day:hover{background:#eee4d1}.calendar-number{font-family:var(--display);font-size:clamp(1.3rem,2.5vw,2rem);line-height:1}.calendar-day-count{font-size:12px;color:#715726;min-height:1.2em}.calendar-day.outside-month{background:#f5f1e9;color:#776f64}.calendar-day.is-today .calendar-number{text-decoration:underline;text-underline-offset:6px;text-decoration-color:#997841}.calendar-day.is-selected{background:#1b292b;color:#fffdf8;box-shadow:inset 0 0 0 2px #ad9057}.calendar-day.is-selected .calendar-day-count{color:#ecd4a1}.calendar-hint{padding:1rem 1.5rem;margin:0;font-size:13px;color:#595348;border-top:1px solid #d8d0c2}.calendar-day-results{padding-top:2.5rem;scroll-margin-top:1rem}.calendar-day-results>h2{font-family:var(--display);font-size:clamp(1.7rem,4vw,3rem);font-weight:400;margin:0}.calendar-day-results #calendar-count{margin:.6rem 0 1.5rem;color:#595348}.calendar-legacy{padding:1rem;border-bottom:1px solid #b5ac9b;font-size:14px}.calendar-legacy button{margin:.5rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.calendar-toolbar{flex-direction:column;align-items:stretch;padding:1rem}.calendar-month-nav{justify-content:space-between;gap:.5rem}.calendar-month-tools{justify-content:space-between}.calendar-month-nav h2{min-width:0}.calendar-day{min-height:78px;padding:.7rem .35rem}.calendar-day-count{font-size:10px}.calendar-location{gap:.65rem}.calendar-location select{flex:1;min-width:0}.calendar-location p{width:100%}.calendar-hint{padding:.8rem 1rem}.calendar-weekdays span{font-size:10px;letter-spacing:.04em}.calendar-heading{padding-top:1.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.calendar-selected-label{font-size:14px;line-height:1.7;color:#706a60;max-width:85ch}.calendar-month-tools{flex-wrap:wrap}.calendar-toolbar{flex-wrap:wrap}.calendar-month-tools button:disabled{opacity:.45;cursor:default}

.calendar-card:has(.gala-actions) p{margin:.5rem 0;line-height:1.45}.calendar-card:has(.gala-actions) h2{margin:.4rem 0}.calendar-card:has(.gala-actions) .meta{font-size:.75rem}.calendar-card:has(.gala-actions) .calendar-access{font-size:.8rem}

/* Shared listing geometry. Full article artwork and the animated masthead are separate. */
:root{--listing-frame-height:185px;--listing-logo-width:280px;--listing-logo-height:88px;--listing-frame-padding:24px}
.listing-visual{display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;height:var(--listing-frame-height)!important;min-height:var(--listing-frame-height)!important;padding:var(--listing-frame-padding)!important;margin:0 0 18px!important;border:1px solid #ddd7cc!important;background:#fffdf8!important;overflow:hidden;text-decoration:none;flex-shrink:0}
.listing-visual img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;aspect-ratio:auto!important;margin:0!important;padding:0!important;border:0!important}
.listing-visual-logo img{max-width:min(100%,var(--listing-logo-width))!important;max-height:var(--listing-logo-height)!important}
.listing-visual-dark{background:#18241f!important;border-color:#18241f!important}
.listing-visual-poster{padding:12px!important}
.listing-visual-photo{padding:0!important}
.listing-visual-photo img{width:100%!important;height:100%!important;object-fit:cover!important}
.calendar-card-identity,.section-event-list .calendar-card-identity,.guide-tile-media{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0;height:var(--listing-frame-height)!important;min-height:var(--listing-frame-height)!important;margin:0 0 18px!important;padding:0!important;flex-shrink:0}
.calendar-card-identity>.listing-visual,.guide-tile-media>.listing-visual{margin:0!important}
.calendar-grid>.calendar-card{min-width:0;box-sizing:border-box}
.calendar-grid>.calendar-card:not(.compact-event-card){display:flex;flex-direction:column}
.calendar-card>.gala-actions{margin-top:auto!important}
.guide-tile-media:empty{display:flex!important}
.guide-tile .listing-visual{max-width:100%!important}
.club-card .club-logo-frame{height:var(--listing-frame-height)!important;padding:var(--listing-frame-padding)!important;display:flex;align-items:center;justify-content:center}
.club-card .club-logo-frame:not(.club-logo-cover) img{max-width:min(100%,var(--listing-logo-width))!important;max-height:var(--listing-logo-height)!important;width:auto!important;height:auto!important;object-fit:contain}
.mag-story-small{--listing-frame-height:95px;--listing-logo-height:46px;--listing-frame-padding:10px}
.magazine-home .cr-card-art{height:var(--listing-frame-height)!important;box-sizing:border-box;display:flex;align-items:center;justify-content:center}
.magazine-home .cr-card-art img[src*="/organizers/"],.magazine-home .cr-card-art img[src*="/event-logos/"],.magazine-home .cr-card-art img[src*="/club-logos/"]{max-width:min(100%,var(--listing-logo-width))!important;max-height:var(--listing-logo-height)!important}
.circuit-rail-card .listing-visual{margin-bottom:12px!important}

.article-logo-identity{margin:24px 0}.article-logo-identity figcaption{font:12px/1.6 Arial,sans-serif;color:#666;margin-top:8px}.guide-article>.organizer-identity-panel{margin-inline:auto!important}
.guide-article .event-brand,.club-profile .club-logo-frame:not(.club-logo-cover){display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;width:100%!important;height:var(--listing-frame-height)!important;min-height:var(--listing-frame-height)!important;max-height:none!important;padding:var(--listing-frame-padding)!important}
.guide-article .event-brand img,.club-profile .club-logo-frame:not(.club-logo-cover) img{display:block!important;width:auto!important;height:auto!important;max-width:min(100%,var(--listing-logo-width))!important;max-height:var(--listing-logo-height)!important;object-fit:contain!important}
