.calendar-page{margin:0;background:#f5f7f8;color:var(--tm-ink);font-weight:300}.calendar-page *{box-sizing:border-box;font-weight:300!important}.calendar-page a{text-decoration:none}.calendar-nav-wrap{position:sticky;top:10px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(1440px,calc(100% - 32px));margin:12px auto;padding:13px 16px 13px 20px;border:1px solid var(--tm-line);border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 8px 30px rgba(8,35,49,.09);backdrop-filter:blur(18px)}.calendar-brand{color:var(--tm-ink);white-space:nowrap}.calendar-nav{display:flex;justify-content:flex-end;gap:3px}.calendar-nav a{padding:8px 10px;border-radius:10px;color:var(--tm-ink);font-size:.78rem;white-space:nowrap}.calendar-nav a:hover,.calendar-nav a[aria-current=page]{background:var(--tm-sky)}.calendar-page main{width:min(1440px,calc(100% - 32px));margin:0 auto 80px}.calendar-hero{padding:clamp(72px,8vw,128px) clamp(18px,4vw,62px);background:#fff}.calendar-eyebrow{margin:0 0 18px;font-size:.76rem;letter-spacing:.11em;color:var(--tm-green)}.calendar-hero h1,.calendar-archive h2,.events-list h3,.next-event h2{font-family:var(--tm-heading-font);font-weight:300}.calendar-hero h1{max-width:1100px;margin:0;font-size:clamp(3rem,7vw,7rem);line-height:.9}.calendar-hero>p:not(.calendar-eyebrow){max-width:820px;margin:18px 0 0;font-size:clamp(1.05rem,1.7vw,1.45rem);color:var(--tm-muted)}.next-event{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;margin-top:48px;padding:22px;border:1px solid var(--tm-line);border-radius:22px;background:var(--tm-sky)}.next-event time{display:flex;align-items:center;justify-content:center;width:86px;height:86px;border-radius:18px;background:var(--tm-orange);color:#fff;text-align:center;font-size:.78rem;line-height:1.2}.next-event h2{margin:0 0 4px;font-size:clamp(1.7rem,3vw,2.8rem);line-height:1}.next-event p{margin:0;color:var(--tm-muted)}.next-event a,.events-list>article>a{display:inline-flex;padding:12px 16px;border-radius:9px;background:var(--tm-orange);color:#fff;white-space:nowrap}.calendar-ticker{max-width:100%;overflow:hidden;border-bottom:6px solid var(--tm-orange);background:#061f2c}.calendar-ticker .ticker-track{gap:48px;padding:24px 30px;animation-duration:82s}.calendar-ticker .ticker-content{gap:48px}.calendar-ticker .ticker-item{gap:24px}.calendar-ticker .ticker-item img{width:144px;height:144px;border-radius:18px;object-fit:cover}.calendar-ticker a{font-size:1.55rem}.calendar-ticker .sep{font-size:2rem}.calendar-archive{padding:clamp(58px,7vw,100px) clamp(10px,3vw,42px);background:#fff}.calendar-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:38px}.calendar-archive h2{margin:0;font-size:clamp(2.7rem,5vw,5.4rem);line-height:.95}.calendar-filters{display:flex;flex-wrap:wrap;gap:8px}.calendar-filters button{padding:11px 17px;border:1px solid var(--tm-line);border-radius:999px;background:#fff;color:var(--tm-ink);font:400 .85rem var(--tm-font);cursor:pointer}.calendar-filters button.is-active,.calendar-filters button:hover{background:var(--tm-ink);color:#fff}.events-list{display:flex;flex-direction:column}.events-list article{display:grid;grid-template-columns:180px minmax(0,1fr) auto;align-items:center;gap:26px;padding:20px 0;border-top:1px solid var(--tm-line)}.events-list article:last-child{border-bottom:1px solid var(--tm-line)}.events-list article[hidden]{display:none}.events-list article.is-past{opacity:.42}.events-list article.is-next{margin:0 -18px;padding:20px 18px;border-radius:22px;background:var(--tm-sky);opacity:1}.events-list img{width:180px;height:125px;border-radius:18px;object-fit:cover}.events-list p{margin:0 0 8px;color:var(--tm-muted);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.events-list h3{margin:0 0 8px;font-size:clamp(1.6rem,2.7vw,2.8rem);line-height:.95}.events-list span{color:var(--tm-muted)}@media(max-width:900px){.calendar-nav-wrap{position:relative;top:0;align-items:flex-start;flex-direction:column}.calendar-nav{width:100%;justify-content:flex-start;overflow-x:auto}.events-list article{grid-template-columns:120px 1fr}.events-list img{width:120px;height:100px}.events-list article>a{grid-column:2;justify-self:start}.calendar-ticker .ticker-item img{width:96px;height:96px}.calendar-ticker a{font-size:1.05rem}}@media(max-width:650px){.calendar-page main,.calendar-nav-wrap{width:calc(100% - 16px)}.calendar-hero{padding:70px 18px}.next-event{grid-template-columns:1fr}.next-event time{width:74px;height:74px}.calendar-ticker .ticker-track{gap:24px;padding:16px 14px}.calendar-ticker .ticker-content{gap:24px}.calendar-ticker .ticker-item{gap:12px}.calendar-ticker .ticker-item img{width:82px;height:82px;border-radius:12px}.calendar-archive{padding:54px 8px}.calendar-head{align-items:flex-start;flex-direction:column}.events-list article{grid-template-columns:86px 1fr;gap:14px}.events-list img{width:86px;height:86px;border-radius:14px}.events-list article>a{grid-column:1/-1}.events-list article.is-next{margin:0 -4px;padding:16px 4px}}
.calendar-page .calendar-hero h1{font-size:var(--tm-page-heading-size);line-height:var(--tm-heading-line-height);letter-spacing:var(--tm-heading-spacing)}
.calendar-page .calendar-hero>p:not(.calendar-eyebrow){margin-top:var(--tm-heading-to-subheading);font-size:var(--tm-subheading-size);line-height:1.35}
.calendar-page .calendar-archive h2{font-size:var(--tm-section-heading-size);line-height:var(--tm-heading-line-height);letter-spacing:var(--tm-heading-spacing)}
.calendar-page .calendar-hero h1{font-size:var(--tm-page-heading-size);line-height:var(--tm-heading-line-height);letter-spacing:var(--tm-heading-spacing)}
.calendar-page .calendar-hero>p:not(.calendar-eyebrow){margin-top:var(--tm-heading-to-subheading);font-size:var(--tm-subheading-size);line-height:1.35}
.calendar-page .calendar-archive h2{font-size:var(--tm-section-heading-size);line-height:var(--tm-heading-line-height);letter-spacing:var(--tm-heading-spacing)}
.calendar-page .events-list h3{font-size:var(--tm-card-heading-size);line-height:.98;letter-spacing:var(--tm-heading-spacing)}
.calendar-page .events-list p{font-size:var(--tm-card-meta-size);line-height:1.25;letter-spacing:.045em}

/* Live capacity indicators sourced from the shared race-capacity sheet. */
.calendar-capacity{display:grid;grid-template-columns:auto minmax(80px,150px);align-items:center;gap:10px;margin-top:12px}.calendar-capacity>span{color:var(--tm-ink);font-size:.78rem}.calendar-capacity>i{display:block;height:7px;overflow:hidden;border-radius:999px;background:rgba(8,35,49,.12)}.calendar-capacity>i>b{display:block;height:100%;border-radius:inherit;background:var(--tm-orange)}.calendar-capacity-next{max-width:330px}.next-event .calendar-capacity-next>span{color:var(--tm-ink);font-size:.72rem}@media(max-width:650px){.calendar-capacity{grid-template-columns:auto minmax(70px,1fr)}}
.calendar-capacity.is-on-sale{display:block}.calendar-capacity.is-on-sale>span{color:var(--tm-green)}
