.calendar-page{background:#fffaf6;color:var(--navy)}.calendar-page .shell{width:min(1180px,calc(100% - 64px));max-width:none;margin-inline:auto}
.calendar-hero{padding:148px 0 88px;background:#f5eee5;overflow:hidden}.calendar-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(40px,6vw,100px);align-items:center}.calendar-hero__copy,.calendar-hero__media{min-width:0}.calendar-hero .breadcrumbs{position:static;width:auto;transform:none;margin-bottom:62px;color:#526173}.calendar-hero .breadcrumbs a{color:inherit}.calendar-hero h1{max-width:690px;margin:15px 0 25px;font-size:clamp(3rem,5vw,5rem);line-height:1.02;letter-spacing:-.045em}.calendar-hero h1 em{font-style:normal;color:var(--red)}.calendar-hero__copy>p:not(.eyebrow){max-width:560px;color:#4d5968;font-size:1.08rem}.calendar-hero .button{margin-top:20px}.calendar-hero__media{position:relative;margin:0;min-height:500px}.calendar-hero__media img{width:100%;height:500px;object-fit:cover;object-position:center}.calendar-hero__media figcaption{position:absolute;right:0;bottom:0;left:0;padding:24px 28px;background:linear-gradient(0deg,#071a33df,transparent);color:#fff;font:500 1.05rem var(--serif)}
.calendar-section{padding:clamp(70px,7vw,110px) 0}.calendar-section--upcoming{background:#fff}.calendar-section--tint{background:#eaf0f3}.calendar-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.6fr);align-items:end;gap:35px;margin-bottom:38px}.calendar-heading h2{margin:8px 0 0;font-size:clamp(2.35rem,4vw,4rem);line-height:1.08}.calendar-heading>p{max-width:390px;margin:0 0 5px;color:var(--muted)}.calendar-list{border-top:1px solid #bcc8d0}.calendar-row{display:grid;grid-template-columns:minmax(150px,.28fr) minmax(0,1fr) minmax(130px,.22fr);gap:30px;align-items:start;padding:24px 0;border-bottom:1px solid #cbd4db}.calendar-row__date{color:var(--red);font-size:.82rem;font-weight:800;letter-spacing:.03em}.calendar-row__body{min-width:0}.calendar-row h3{margin:0;font:600 clamp(1.2rem,2vw,1.55rem)/1.25 var(--serif);color:var(--navy)}.calendar-row p{margin:7px 0 0;color:#596675;font-size:.88rem}.calendar-row__type{justify-self:end;color:#6a7481;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-align:right;text-transform:uppercase}.calendar-row--past{opacity:.62}.calendar-empty{padding:30px 0;color:var(--muted)}.calendar-footnote{margin:24px 0 0;color:#5a6675;font-size:.85rem}.calendar-notice{padding:34px 0;background:#102944;color:#fff}.calendar-notice .shell{display:grid;grid-template-columns:160px 1fr;gap:30px;align-items:center}.calendar-notice strong{color:#e4bd70;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}.calendar-notice p{margin:0;color:#e2e8ed}
@media(max-width:900px){.calendar-hero{padding-top:120px}.calendar-hero__grid{gap:32px}.calendar-hero__media,.calendar-hero__media img{min-height:440px;height:440px}.calendar-row{grid-template-columns:145px minmax(0,1fr) 120px;gap:20px}}
@media(max-width:768px){.calendar-page .shell{width:calc(100% - 40px)}.calendar-hero{padding:112px 0 58px}.calendar-hero__grid,.calendar-heading{grid-template-columns:1fr}.calendar-hero .breadcrumbs{margin-bottom:36px}.calendar-hero h1{font-size:clamp(2.7rem,9vw,4.2rem)}.calendar-hero__media,.calendar-hero__media img{min-height:0;height:360px}.calendar-heading{gap:15px}.calendar-heading>p{max-width:620px}.calendar-row{grid-template-columns:125px minmax(0,1fr)}.calendar-row__type{grid-column:2;justify-self:start;text-align:left}.calendar-notice .shell{grid-template-columns:1fr;gap:8px}}
@media(max-width:430px){.calendar-page .shell{width:calc(100% - 32px)}.calendar-hero h1{font-size:clamp(2.45rem,11.5vw,3.3rem)}.calendar-hero__media,.calendar-hero__media img{height:280px}.calendar-heading h2{font-size:2.4rem}.calendar-row{grid-template-columns:1fr;gap:7px;padding:22px 0}.calendar-row__type{grid-column:1}.calendar-row__date{font-size:.78rem}}
.calendar-row__date{font-size:.875rem}.calendar-row__type{font-size:.75rem;color:#526173}.calendar-row p,.calendar-footnote{font-size:.9375rem}
