.calendar-page{--sage:#b5c79d}.calendar-hero{max-width:1360px;margin:auto;padding:64px 5vw 54px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6vw;background:radial-gradient(ellipse at 20% 30%,#39352635,transparent 65%)}.calendar-hero h1{font-size:clamp(42px,5.2vw,72px)}.calendar-hero>div>p:last-child{font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:0}.calendar-hero img{width:100%;height:auto;border:1px solid #abb68c44}.calendar-shell{max-width:1360px;margin:auto;padding:0 5vw 55px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #cbb27e55;padding:28px 0}.calendar-toolbar .eyebrow{margin-bottom:8px}.calendar-toolbar h2{font-size:36px;margin:0}.calendar-toolbar h2 span{font-family:Arial,sans-serif;font-size:14px;color:var(--muted);margin-left:12px}.view-switch{display:flex;border:1px solid #b5c79d55;padding:4px;border-radius:40px;gap:4px}.view-switch button{border:0;border-radius:30px;padding:12px 20px;background:transparent;color:#deded5;font-size:12px}.view-switch button[aria-pressed=true]{background:#b5c79d;color:#121a10}.calendar-event{display:grid;grid-template-columns:105px 1fr 80px 175px;align-items:center;gap:28px;padding:28px 20px;border-top:1px solid #b5c79d30;scroll-margin-top:125px}.calendar-event:last-child{border-bottom:1px solid #b5c79d30}.highlight-event{background:linear-gradient(90deg,#94ab7620,transparent 75%)}.event-date-block time{display:flex;align-items:baseline;gap:8px}.event-date-block strong{font-size:43px;font-weight:400;line-height:1;color:#c2d0ae;font-variant-numeric:tabular-nums}.event-date-block time span{font-size:10px;color:#b5c79d;letter-spacing:.1em}.event-weekday{display:block;margin-top:9px;font-size:11px;color:var(--muted)}.event-name h2{font-family:Arial,Helvetica,sans-serif;font-size:24px;font-weight:500;letter-spacing:-.025em;margin:0 0 9px}.event-name p{color:var(--muted);font-size:12px;line-height:1.6;margin:0}.event-admission{display:flex;flex-direction:column;align-items:start;gap:10px;font-size:14px;white-space:nowrap}.age-badge{font-size:12px;padding:4px 8px;border:1px solid #b5c79d55;color:#c1d0ae;border-radius:4px}.event-links{display:flex;flex-direction:column;align-items:start;gap:17px;font-size:11px}.event-details-link{color:#ead5a7;border-bottom:1px solid #cbb27e77;padding-bottom:6px}.save-date{color:#b4b5ad;line-height:1.5}.event-links a:hover{color:#fff}.event-links span{margin-left:6px}.calendar-location{margin:25px 0 0;color:var(--muted);font-size:11px;line-height:1.7}.month-help{font-size:12px;color:var(--muted);margin:0 0 22px}.week-labels,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.week-labels{font-size:11px;color:var(--muted);text-align:center;padding-bottom:14px}.month-grid{gap:1px;background:#b5c79d30;border:1px solid #b5c79d30}.month-day,.empty-day{min-height:137px;background:#0b0e0c}.empty-day{background:#080a09}.day-number{display:block;color:#6f776d;font-size:13px;padding:13px}.has-event{background:linear-gradient(140deg,#283923,#11160f)}.day-link{display:flex;height:100%;flex-direction:column;padding-bottom:14px;min-height:137px}.day-link .day-number{color:#ccdab8}.day-link strong{font-size:12px;font-weight:500;padding:0 12px;line-height:1.4;color:#f0eedf}.day-info{font-size:10px;padding:10px 12px 0;color:#b8c6a6;margin-top:auto}.day-link:hover{background:#ffffff0c}.calendar-event:target{outline:1px solid #c9d7b5;outline-offset:-1px;background:#24302066}.calendar-contact{max-width:1224px;margin:0 auto 25px;padding:32px 5vw;display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(100deg,#1c291d,#101410)}.calendar-contact .eyebrow{margin-bottom:12px}.calendar-contact h2{font-size:28px;margin:0}.calendar-contact .button{font-size:12px}.calendar-home-link{margin:32px 5vw 0;display:flex;align-items:center;gap:25px}.calendar-home-link .button{display:inline-flex}.calendar-home-link>span{color:var(--muted);font-size:12px}
@media(max-width:950px){.calendar-event{grid-template-columns:85px 1fr 65px;gap:20px}.event-links{grid-column:2/-1;flex-direction:row;align-items:center}.calendar-event{padding:24px 15px}.event-details-link{padding-bottom:0;border-bottom:0}.calendar-hero h1{font-size:48px}.day-link strong{font-size:11px;padding:0 7px}.day-info{padding-left:7px;font-size:9px}.day-number{padding:10px}}
@media(max-width:640px){.calendar-hero{grid-template-columns:1fr;padding:35px 24px;gap:30px}.calendar-hero img{max-width:360px}.calendar-hero h1{font-size:49px;margin-bottom:22px}.calendar-shell{padding:0 18px 35px}.calendar-toolbar{align-items:start;flex-direction:column;gap:20px}.calendar-toolbar h2{font-size:32px}.view-switch button{font-size:11px;padding:11px 18px}.calendar-event{grid-template-columns:55px 1fr 50px;gap:13px;padding:23px 10px}.event-date-block time{flex-direction:column;gap:6px}.event-date-block strong{font-size:34px}.event-weekday{font-size:9px;overflow-wrap:anywhere}.event-name h2{font-size:19px;line-height:1.2}.event-name p{font-size:11px}.event-admission{font-size:12px;align-items:end}.event-links{gap:14px;font-size:10px;flex-wrap:wrap}.age-badge{font-size:11px}.month-day,.day-link{min-height:117px}.day-link strong{font-size:9px;padding:0 4px;overflow-wrap:anywhere}.day-number{padding:9px 5px;font-size:11px}.day-info{padding:7px 4px 0;font-size:8px}.calendar-contact{margin:0 18px 20px;padding:27px 20px;flex-direction:column;align-items:start}.calendar-contact h2{font-size:26px}.calendar-home-link{margin:28px 24px 0;align-items:start;flex-direction:column;gap:12px}}

/* Open Events directly on the calendar, without a separate poster showcase. */
.calendar-hero{display:block;padding:36px 5vw 30px}.calendar-hero h1{font-size:clamp(36px,4vw,54px);margin:12px 0 16px}.calendar-hero .eyebrow{margin:0}.calendar-event[hidden]{display:none!important}.month-day.is-past{opacity:.45;background:#0b0e0c}
