.calendar-page{--calendar-line:rgba(255,255,255,.22);overflow:visible}.calendar-page .tool-bg{filter:brightness(.34) saturate(.82)}.calendar-page .tool-bg:after{background:linear-gradient(180deg,rgba(3,10,18,.48),rgba(3,10,18,.78))}.calendar-shell{width:min(1540px,calc(100% - 64px));margin:52px auto 0}.calendar-folio{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.34);font-size:.57rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.calendar-folio span:nth-child(2){color:var(--gold)}.calendar-folio span:last-child{text-align:right}.calendar-hero{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(310px,.55fr);gap:clamp(55px,8vw,130px);align-items:end;padding:70px 0 78px}.calendar-hero h1{max-width:960px;margin:14px 0 27px;font:600 clamp(4.6rem,7vw,8.4rem)/.78 var(--serif);letter-spacing:-.055em}.calendar-hero h1 em,.archive-section h2 em{color:var(--gold);font-style:italic}.calendar-hero>div>p:last-child{max-width:800px;margin:0;color:rgba(255,255,255,.8);font-size:clamp(1.04rem,1.3vw,1.3rem);line-height:1.65}.calendar-hero aside{padding:27px;border:1px solid rgba(247,183,59,.6);border-radius:22px;background:rgba(6,20,33,.8);backdrop-filter:blur(14px)}.calendar-hero aside span{color:var(--gold);font-size:.56rem;font-weight:600;letter-spacing:.16em}.calendar-hero aside p{color:rgba(255,255,255,.72);font-size:.83rem;line-height:1.7}.calendar-hero aside a{display:flex;justify-content:space-between;padding-top:14px;border-top:1px solid rgba(255,255,255,.24);font-size:.68rem;text-decoration:none;text-transform:uppercase}.calendar-hero aside b{color:var(--gold)}
.calendar-board{overflow:hidden;border:1px solid rgba(255,255,255,.5);border-top:3px solid var(--gold);border-radius:28px;background:rgba(5,18,31,.9);box-shadow:0 28px 75px rgba(0,0,0,.35);backdrop-filter:blur(16px)}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:26px 28px;border-bottom:1px solid var(--calendar-line)}.month-navigation{display:flex;align-items:center;gap:12px}.month-navigation h2{min-width:245px;margin:0 8px;font:600 clamp(2rem,3vw,3.1rem)/1 var(--serif)}.month-navigation button,.view-toggle button,.calendar-filters button{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.035);color:#fff;cursor:pointer}.month-navigation button{display:grid;place-items:center;width:42px;height:42px;border-radius:50%}.month-navigation .today-button{width:auto;padding:0 15px;border-radius:999px;color:var(--gold);font-size:.62rem;font-weight:600;text-transform:uppercase}.month-navigation button:hover,.month-navigation button:focus-visible,.view-toggle button:hover,.view-toggle button:focus-visible,.calendar-filters button:hover,.calendar-filters button:focus-visible{border-color:var(--gold);outline:0}.view-toggle{display:flex;padding:4px;border:1px solid rgba(255,255,255,.18);border-radius:999px}.view-toggle button{padding:9px 16px;border:0;border-radius:999px;font-size:.66rem}.view-toggle button.active{background:var(--gold);color:var(--ink)}
.calendar-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:18px 28px;border-bottom:1px solid var(--calendar-line)}.calendar-filters>span{margin-right:8px;color:var(--gold);font-size:.52rem;font-weight:600;letter-spacing:.16em}.calendar-filters button{padding:8px 13px;border-radius:999px;font-size:.61rem}.calendar-filters button.active{border-color:var(--gold);background:var(--gold);color:var(--ink)}.calendar-filters>b{margin-left:auto;color:rgba(255,255,255,.55);font-size:.58rem;font-weight:500}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{border-bottom:1px solid var(--calendar-line)}.calendar-weekdays span{padding:13px 12px;border-right:1px solid var(--calendar-line);color:rgba(255,255,255,.53);font-size:.52rem;letter-spacing:.1em;text-align:center;text-transform:uppercase}.calendar-weekdays span:last-child{border-right:0}.calendar-day{position:relative;min-height:180px;padding:13px 10px;border-right:1px solid var(--calendar-line);border-bottom:1px solid var(--calendar-line);background:rgba(255,255,255,.012)}.calendar-day:nth-child(7n){border-right:0}.calendar-day:nth-last-child(-n+7){border-bottom:0}.calendar-day.is-outside{background:rgba(0,0,0,.1);color:rgba(255,255,255,.24)}.calendar-day.is-past:not(.is-outside){background:rgba(0,0,0,.08)}.day-number{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font:600 1.04rem var(--serif)}.calendar-day.is-today .day-number{background:var(--gold);color:var(--ink)}.day-events{display:grid;gap:6px;margin-top:8px}.calendar-event{display:block;padding:8px 9px;border-left:2px solid var(--gold);border-radius:0 7px 7px 0;background:rgba(247,183,59,.1);text-decoration:none;transition:background .2s,transform .2s}.calendar-event:hover,.calendar-event:focus-visible{background:rgba(247,183,59,.2);outline:0;transform:translateX(2px)}.calendar-event time{display:block;color:var(--gold);font-size:.48rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.calendar-event b{display:block;margin-top:3px;font:600 .84rem/1.1 var(--serif)}.calendar-event small{display:block;margin-top:4px;overflow:hidden;color:rgba(255,255,255,.52);font-size:.48rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.list-view{display:grid}.list-event{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(220px,.5fr) auto;gap:28px;align-items:center;padding:24px 28px;border-bottom:1px solid var(--calendar-line);text-decoration:none}.list-event:last-child{border-bottom:0}.list-event-date{display:grid;color:var(--gold);font-size:.55rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase}.list-event-date b{font:600 3.1rem/.8 var(--serif)}.list-event h3{margin:0 0 7px;font:600 clamp(1.65rem,2.2vw,2.5rem)/.95 var(--serif)}.list-event p,.list-event-detail p{margin:3px 0;color:rgba(255,255,255,.62);font-size:.67rem}.list-event-detail span{display:block;color:var(--gold);font-size:.5rem;letter-spacing:.1em;text-transform:uppercase}.list-event>i{color:var(--gold);font-size:1.4rem;font-style:normal}.list-event:hover,.list-event:focus-visible{background:rgba(247,183,59,.075);outline:0}.calendar-empty{padding:70px 28px;text-align:center}.calendar-empty span{color:var(--gold);font-size:.58rem;letter-spacing:.16em}.calendar-empty h3{margin:12px 0 6px;font:600 2.2rem var(--serif)}.calendar-empty p{margin:0;color:rgba(255,255,255,.6)}
.archive-section{display:grid;grid-template-columns:.75fr .65fr;gap:clamp(50px,8vw,120px);padding:95px 0 75px;border-bottom:1px solid rgba(255,255,255,.24)}.archive-section h2{margin:10px 0 0;font:600 clamp(3.5rem,5vw,6rem)/.82 var(--serif);letter-spacing:-.04em}.archive-section>div:nth-child(2)>p{margin-top:0;color:rgba(255,255,255,.72);line-height:1.75}.archive-section>div:nth-child(2)>button{display:flex;justify-content:space-between;width:100%;margin-top:25px;padding:15px 0;border:0;border-top:1px solid rgba(255,255,255,.28);border-bottom:1px solid var(--gold);background:transparent;color:#fff;font:600 .68rem var(--sans);letter-spacing:.08em;text-align:left;text-transform:uppercase;cursor:pointer}.archive-section>div:nth-child(2)>button b{color:var(--gold)}.archive-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.archive-list[hidden]{display:none}.archive-card{display:grid;grid-template-columns:78px 1fr;gap:17px;padding:20px;border:1px solid rgba(255,255,255,.2);border-radius:16px;background:rgba(6,20,33,.65);text-decoration:none}.archive-card time{color:var(--gold);font-size:.58rem;text-transform:uppercase}.archive-card time b{display:block;font:600 2.15rem/.9 var(--serif)}.archive-card h3{margin:0 0 6px;font:600 1.35rem/1 var(--serif)}.archive-card p{margin:0;color:rgba(255,255,255,.5);font-size:.6rem}
@media(max-width:1100px){.calendar-hero{grid-template-columns:1fr}.calendar-hero aside{max-width:650px}.calendar-day{min-height:150px}.calendar-event small{display:none}.list-event{grid-template-columns:115px minmax(0,1fr) auto}.list-event-detail{grid-column:2}.list-event>i{grid-column:3;grid-row:1/3}.archive-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.calendar-shell{width:calc(100% - 24px);margin-top:34px}.calendar-folio{grid-template-columns:1fr auto}.calendar-folio span:last-child{display:none}.calendar-hero{padding:50px 4px 58px;gap:30px}.calendar-hero h1{font-size:clamp(3.6rem,17vw,5.4rem)}.calendar-board{border-radius:20px}.calendar-toolbar{align-items:flex-start;flex-direction:column;padding:21px 17px}.month-navigation{width:100%;flex-wrap:wrap}.month-navigation h2{flex:1;min-width:150px;font-size:2rem}.month-navigation .today-button{order:4;width:100%;height:36px}.view-toggle{align-self:flex-end}.calendar-filters{padding:15px 17px}.calendar-filters>b{width:100%;margin:4px 0 0}.calendar-weekdays span{padding:10px 2px;font-size:0}.calendar-weekdays span::first-letter{font-size:.6rem}.calendar-day{min-height:100px;padding:7px 4px}.day-number{width:25px;height:25px;font-size:.88rem}.calendar-event{padding:5px 4px}.calendar-event time{font-size:.4rem}.calendar-event b{font:600 .61rem/1.05 var(--sans)}.list-event{grid-template-columns:67px minmax(0,1fr) auto;gap:15px;padding:20px 16px}.list-event-date b{font-size:2.35rem}.list-event h3{font-size:1.55rem}.list-event-detail{grid-column:2}.archive-section{grid-template-columns:1fr;padding:70px 4px 55px}.archive-list{grid-template-columns:1fr}.tool-footer{padding-inline:4px}}
@media(max-width:430px){.calendar-day{min-height:86px}.calendar-event time{display:none}.calendar-event b{font-size:.54rem}.calendar-event small{display:none}.view-toggle{align-self:stretch}.view-toggle button{flex:1}.archive-card{grid-template-columns:62px 1fr}}

.calendar-sponsored-feature{display:grid;grid-template-columns:minmax(250px,38%) 1fr;min-height:245px;margin:0 0 28px;overflow:hidden;border:1px solid rgba(247,183,59,.72);border-radius:24px;background:linear-gradient(110deg,#091522,#1c1a1c);color:#fff;text-decoration:none;box-shadow:0 24px 65px rgba(0,0,0,.35)}
.calendar-sponsored-feature[hidden]{display:none}.calendar-sponsored-feature img{width:100%;height:100%;object-fit:cover}.calendar-sponsored-feature>span{display:flex;flex-direction:column;justify-content:center;gap:13px;padding:30px 40px}.calendar-sponsored-feature small,.sponsor-tag{color:#f7b73b;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.calendar-sponsored-feature strong{font:600 clamp(2.2rem,4vw,4.2rem)/.92 var(--serif)}.calendar-sponsored-feature em{font-style:normal;color:rgba(255,255,255,.76);font-size:.82rem}.calendar-sponsored-feature b{font-size:.65rem;letter-spacing:.09em;text-transform:uppercase}.calendar-sponsored-feature:hover,.calendar-sponsored-feature:focus-visible{border-color:#fff;outline:0}
.calendar-event.is-sponsored{border-left-width:4px;background:rgba(247,183,59,.2)}.calendar-event .sponsor-tag{display:block;margin-bottom:4px;font-size:.43rem}.list-event.is-sponsored{background:rgba(247,183,59,.075)}.list-event .sponsor-tag{display:block;margin-bottom:9px}
@media(max-width:760px){.calendar-sponsored-feature{grid-template-columns:1fr}.calendar-sponsored-feature img{height:190px}.calendar-sponsored-feature>span{padding:24px}.calendar-sponsored-feature strong{font-size:2.5rem}}
.day-heading{display:grid;justify-items:start;gap:5px}.holiday-label{color:var(--gold);font:600 .88rem/1.05 var(--serif);text-wrap:balance}.calendar-day.is-past .holiday-label{opacity:.82}.calendar-day.is-holiday .day-events{margin-top:10px}
@media(max-width:760px){.day-heading{gap:3px}.holiday-label{font:.58rem/1.05 var(--sans);font-weight:700;overflow-wrap:anywhere}.calendar-day.is-holiday .day-events{margin-top:6px}}
