.calendar-section{padding:20px 0 110px;background:radial-gradient(ellipse at 12% 18%,rgba(217,229,249,.62),transparent 38%),linear-gradient(145deg,#f7f8fc 0%,#eef2fa 52%,#f8f4e9 100%)}
.calendar-preview-note{margin:0 0 22px;padding:12px 18px;border:1px solid #d8e4f5;border-radius:14px;background:#f4f8ff;color:#31598f;font:600 .82rem var(--sans)}
.calendar-disclaimer{display:flex;align-items:center;gap:16px;max-width:1100px;margin:0 auto 24px;padding:17px 22px;border:1px solid rgba(38,83,150,.15);border-radius:16px;background:linear-gradient(110deg,rgba(233,241,255,.96),rgba(255,255,255,.9));box-shadow:0 10px 30px rgba(31,63,113,.06)}
.calendar-disclaimer-mark{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#2959a2;color:#fff;font:700 1rem var(--sans)}
.calendar-disclaimer p{margin:0;color:#536780;line-height:1.6;font-size:.92rem}.calendar-disclaimer strong{color:#18365e}
.calendar-shell{max-width:1100px;margin:auto;padding:28px;border:1px solid rgba(32,59,102,.09);border-radius:24px;background:rgba(255,255,255,.83);box-shadow:0 22px 70px rgba(29,55,101,.09);backdrop-filter:blur(15px)}
.calendar-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:23px;border-bottom:1px solid #e6eaf1}.calendar-month-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;flex:1}.calendar-month-heading .eyebrow{font-size:.65rem;letter-spacing:.16em}.calendar-month-heading h2{margin:7px 0 4px;color:#19395f;font:500 clamp(1.65rem,3vw,2.3rem)/1.1 var(--serif)}.calendar-month-heading p{margin:0;color:#8090a5;font-size:.78rem}.calendar-nav{display:flex;align-items:center;gap:8px}.calendar-nav button,.calendar-view-switch button{min-width:40px;height:40px;padding:0 13px;border:1px solid #dfe5ef;border-radius:12px;background:#fff;color:#385576;font:600 .82rem var(--sans);cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.calendar-nav button:hover,.calendar-view-switch button:hover{border-color:#8da8d0;background:#f2f6fc;transform:translateY(-1px)}.calendar-nav #calendar-today{min-width:62px}.calendar-view-switch{display:flex;gap:4px;padding:4px;border:1px solid #e6eaf0;border-radius:14px;background:#f5f7fb}.calendar-view-switch button{height:32px;min-width:64px;border:0;background:transparent}.calendar-view-switch button[aria-pressed=true]{background:#fff;color:#1c4b8d;box-shadow:0 2px 8px #18365e16}
.calendar-filters{display:flex;flex-wrap:wrap;gap:7px;padding:18px 0}.calendar-filters button{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid transparent;border-radius:999px;background:transparent;color:#687b94;font:600 .76rem var(--sans);cursor:pointer}.calendar-filters button:hover{background:#f3f6fa}.calendar-filters button[aria-pressed=true]{border-color:#dce5f4;background:#f1f5fb;color:#284f86}.event-key{width:8px;height:8px;border-radius:50%;background:#426eb1}.event-key-exam{background:#9c75bd}.event-key-holiday{background:#42a28c}.event-key-important{background:#d39846}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.8fr);gap:24px;align-items:stretch}.calendar-main{min-width:0}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{padding:0 0 8px;border-bottom:1px solid #e6eaf1}.calendar-weekdays span{text-align:center;color:#91a0b3;font:700 .65rem var(--sans);letter-spacing:.08em;text-transform:uppercase}.calendar-grid{border-left:1px solid #edf0f4;border-top:1px solid #edf0f4}.calendar-day{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:102px;padding:9px 7px 7px;border:0;border-right:1px solid #edf0f4;border-bottom:1px solid #edf0f4;background:rgba(255,255,255,.53);text-align:left;cursor:pointer;transition:background .18s,box-shadow .18s;overflow:hidden}.calendar-day:hover{z-index:1;background:#f5f8fd;box-shadow:inset 0 0 0 1px #abc0e0}.calendar-day-number{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;color:#4c607a;font:500 .8rem var(--sans)}.calendar-day.outside-month{background:rgba(244,246,249,.55)}.calendar-day.outside-month .calendar-day-number{color:#b1bbc8}.calendar-day.is-today .calendar-day-number{background:#eaf1fc;color:#245496;font-weight:700}.calendar-day.is-selected{background:#edf4ff;box-shadow:inset 0 0 0 2px #4674b5}.calendar-day.is-selected .calendar-day-number{background:#2859a1;color:#fff}.calendar-day-dots{position:absolute;top:17px;right:7px;display:flex;gap:3px}.calendar-day-dot{width:5px;height:5px;border-radius:50%;background:#426eb1}.event-dot-exam{background:#9c75bd}.event-dot-holiday{background:#42a28c}.event-dot-important{background:#d39846}.calendar-day-labels{display:flex;flex-direction:column;gap:3px;width:100%;margin-top:5px}.calendar-event-pill{display:block;max-width:100%;padding:3px 5px;border-radius:4px;overflow:hidden;color:#31588b;background:#edf3fb;font:600 .61rem/1.25 var(--sans);text-overflow:ellipsis;white-space:nowrap}.calendar-event-exam{background:#f3eef8;color:#75538d}.calendar-event-holiday{background:#eaf6f1;color:#347a68}.calendar-event-important{background:#fbf3e7;color:#9b6a2d}.calendar-more-events{padding-left:4px;color:#74859a;font:600 .58rem var(--sans)}
.calendar-day-panel{padding:23px;border:1px solid #e5eaf2;border-radius:18px;background:linear-gradient(155deg,#f5f8fc,#fff 62%);box-shadow:0 7px 25px rgba(30,61,106,.04)}.calendar-day-panel>.eyebrow{margin:0 0 8px;font-size:.62rem;letter-spacing:.15em}.calendar-day-panel h3{margin:0 0 20px;color:#19395f;font:500 1.45rem/1.2 var(--serif)}.calendar-day-events{display:grid;gap:12px}.calendar-select-hint{margin:0;padding:15px;border:1px dashed #d6dfeb;border-radius:12px;color:#77869a;font-size:.82rem;line-height:1.55}.calendar-day-event{position:relative;padding:14px 14px 14px 17px;border:1px solid #e6ebf2;border-radius:12px;background:#fff;overflow:hidden}.calendar-day-event:before{position:absolute;inset:0 auto 0 0;width:3px;background:#426eb1;content:""}.calendar-day-holiday:before{background:#42a28c}.calendar-day-exam:before{background:#9c75bd}.calendar-day-important:before{background:#d39846}.calendar-event-meta{margin:0 0 5px;color:#78899d;font:700 .62rem var(--sans);letter-spacing:.08em;text-transform:uppercase}.calendar-day-event h4{margin:0;color:#263f60;font:600 1rem/1.35 var(--serif)}.calendar-event-facts{margin:7px 0 0;color:#58708e;font:500 .72rem/1.45 var(--sans)}.calendar-event-description{margin:9px 0 0;color:#687b91;font-size:.78rem;line-height:1.55}.calendar-office-link{display:inline-block;margin-top:20px;color:#315c98;font:600 .73rem/1.5 var(--sans);text-decoration:none}.calendar-office-link:hover{text-decoration:underline}.calendar-list{display:grid;gap:10px}.calendar-list-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:13px;width:100%;padding:12px;border:1px solid #e6ebf2;border-radius:13px;background:#fff;text-align:left;cursor:pointer}.calendar-list-date{display:grid;place-items:center;align-content:center;width:44px;height:48px;border-radius:10px;background:#eef3fb;color:#315c98}.calendar-list-date strong{font:700 1.1rem var(--sans)}.calendar-list-date small{font:700 .6rem var(--sans);text-transform:uppercase}.calendar-list-content{display:grid;gap:3px}.calendar-list-content>strong{color:#2c4669;font:600 .94rem var(--serif)}.calendar-list-details{color:#75869a;font:500 .69rem var(--sans)}.calendar-empty{margin:16px 0;padding:20px;border:1px dashed #d6dfeb;border-radius:12px;color:#75869a;text-align:center;font-size:.83rem}.calendar-source-note{margin:19px 0 0;color:#96a1af;font-size:.68rem;text-align:right}
@media(max-width:900px){.calendar-shell{padding:21px}.calendar-layout{grid-template-columns:minmax(0,1.3fr) minmax(225px,.8fr);gap:16px}.calendar-day{min-height:87px;padding:7px 5px}.calendar-day-panel{padding:18px}.calendar-event-pill{font-size:.56rem}}
@media(max-width:700px){.calendar-section{padding:12px 0 70px}.calendar-shell{padding:17px 13px;border-radius:19px}.calendar-toolbar{align-items:stretch;flex-direction:column;gap:14px}.calendar-month-tools{align-items:center;gap:10px}.calendar-month-heading h2{font-size:1.65rem}.calendar-nav{gap:4px}.calendar-nav button{height:36px;min-width:36px;padding:0 9px}.calendar-view-switch{align-self:flex-start}.calendar-filters{gap:2px;padding:14px 0}.calendar-filters button{padding:7px 8px;font-size:.68rem}.calendar-layout{grid-template-columns:1fr}.calendar-weekdays span{font-size:.58rem}.calendar-grid{border-left:0;border-top:0;gap:4px}.calendar-day{min-height:58px;align-items:center;padding:5px 2px;border:1px solid #edf0f4;border-radius:10px;background:rgba(255,255,255,.78)}.calendar-day-number{width:26px;height:26px}.calendar-day-labels{display:none}.calendar-day-dots{position:static;height:5px;margin-top:3px}.calendar-day-dot{width:4px;height:4px}.calendar-day-panel{padding:17px}.calendar-source-note{text-align:left}.calendar-list-row{grid-template-columns:44px minmax(0,1fr);gap:10px}.calendar-list-details{grid-column:2}.calendar-disclaimer{align-items:flex-start;padding:14px}.calendar-disclaimer p{font-size:.81rem}}
@media(prefers-reduced-motion:reduce){.calendar-nav button,.calendar-view-switch button,.calendar-day{transition:none}}
.event-key-holiday,.event-dot-holiday{background:#d77a5e}
.calendar-day.is-holiday .calendar-day-number{background:#fff0ea;color:#b94f35;font-weight:700;box-shadow:inset 0 0 0 1px rgba(185,79,53,.12)}
.calendar-day.is-holiday.is-today .calendar-day-number{background:#ffe2d6;color:#a53c25;box-shadow:inset 0 0 0 1px rgba(165,60,37,.2)}
.calendar-day.is-selected.is-holiday .calendar-day-number{background:#ffe2d6;color:#a53c25;box-shadow:inset 0 0 0 1px rgba(165,60,37,.2)}
.calendar-day.is-sunday-holiday .calendar-day-number{background:#fff0ea;color:#b94f35;font-weight:700;box-shadow:inset 0 0 0 1px rgba(185,79,53,.12)}
.calendar-day.is-sunday-holiday.is-today .calendar-day-number,.calendar-day.is-selected.is-sunday-holiday .calendar-day-number{background:#ffe2d6;color:#a53c25;box-shadow:inset 0 0 0 1px rgba(165,60,37,.2)}

/* Soft category washes echo PES blue, with readable contrasting labels. */
.calendar-section{background:radial-gradient(ellipse at 8% 12%,#dce8ff 0%,transparent 42%),radial-gradient(ellipse at 96% 75%,#e6def488 0%,transparent 42%),linear-gradient(145deg,#f4f7fd,#eef4f5 55%,#fbf4ec)}
.calendar-shell{background:#ffffffed;border-color:#cfddf0;box-shadow:0 22px 65px #213d7112}
.calendar-toolbar{padding:20px 22px;border:1px solid #dbe4f4;border-radius:16px;background:linear-gradient(115deg,#e2ecff,#edf3ff 58%,#eae5f5)}
.calendar-month-heading .eyebrow{color:#315da0}
.calendar-month-heading h2{color:#234b86}
.calendar-nav #calendar-today{background:#2b58a0;border-color:#2b58a0;color:#fff}
.calendar-view-switch{background:#ffffff80;border-color:#cbd9ee}
.calendar-view-switch button[aria-pressed=true]{background:#2b58a0;color:#fff}
.calendar-weekdays{padding:10px 0;background:#ecf2fd;border-radius:10px 10px 0 0;border-color:#d9e4f5}
.calendar-weekdays span{color:#526e99}
.calendar-weekdays span:first-child{color:#b6533d}
.calendar-day.has-school{background:linear-gradient(140deg,#edf4ff,#e8f4f6)}
.calendar-day.has-important{background:linear-gradient(140deg,#fff8e9,#fff2da)}
.calendar-day.has-exam{background:linear-gradient(140deg,#f3edfc,#ede5f8)}
.calendar-day.is-holiday,.calendar-day.is-sunday-holiday{background:linear-gradient(145deg,#fff7f3,#ffede7)}
.calendar-day.outside-month{background:#f4f6fa}
.calendar-day.is-selected{background:linear-gradient(135deg,#dfebff,#e8eefd);box-shadow:inset 0 0 0 2px #325ea5}
.calendar-day.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px #809ecb}
.calendar-event-pill{background:#dce9fc;color:#244f8e;border-left:2px solid #4b78b5}
.calendar-event-exam{background:#e8dcf6;color:#654487;border-color:#9671b6}
.calendar-event-holiday{background:#ffe0d5;color:#9e4431;border-color:#d77a5e}
.calendar-event-important{background:#ffedc8;color:#855d25;border-color:#c58c36}
.calendar-filters button[aria-pressed=true]{background:#e6eefc;border-color:#bacce8;color:#284e85}
.calendar-filters button[data-calendar-filter="exam"][aria-pressed=true]{background:#f0e8fa;border-color:#d9c5ed;color:#6b4c8c}
.calendar-filters button[data-calendar-filter="holiday"][aria-pressed=true]{background:#fff0e9;border-color:#f1c4b6;color:#a24c37}
.calendar-filters button[data-calendar-filter="important"][aria-pressed=true]{background:#fff5de;border-color:#ecd7a8;color:#8a6129}
.calendar-day-panel{background:linear-gradient(155deg,#e9f0fc,#f6f3fb 54%,#fff);border-color:#d2def0}
.calendar-day-panel>.eyebrow{color:#496fa9}
.calendar-day-school,.calendar-list-row.calendar-day-school{background:#eff5ff;border-color:#d9e7fa}
.calendar-day-exam,.calendar-list-row.calendar-day-exam{background:#f4eefb;border-color:#e4d6f2}
.calendar-day-holiday,.calendar-list-row.calendar-day-holiday{background:#fff1eb;border-color:#f4d6cb}
.calendar-day-important,.calendar-list-row.calendar-day-important{background:#fff7e7;border-color:#efdfbc}
.calendar-day-holiday:before{background:#d77a5e}
.calendar-day-holiday .calendar-event-meta{color:#a9523d}
.calendar-day-exam .calendar-event-meta{color:#7d5a9e}
.calendar-day-important .calendar-event-meta{color:#916824}
@media(max-width:700px){.calendar-toolbar{padding:15px 12px}.calendar-day-panel{border-radius:14px}.calendar-weekdays{border-radius:9px;padding:10px 0;margin-bottom:7px}.calendar-day{border-color:#dbe4f2}}

/* Stronger editorial contrast: cobalt surround, warm paper dates, ink-blue
   toolbar. Category colours remain distinct from the selected-date outline. */
.calendar-section{background:radial-gradient(ellipse at 10% 5%,#446aa8,transparent 55%),linear-gradient(140deg,#243f70,#153254 75%,#183b61)}
.calendar-shell{background:#dce7f5;border:1px solid #a7bddb;border-radius:24px;box-shadow:0 24px 70px #071a3940;backdrop-filter:none}
.calendar-toolbar{background:linear-gradient(110deg,#193966,#305b98);border-color:#446da3;box-shadow:0 7px 22px #142f5726}
.calendar-month-heading .eyebrow{color:#d9e5ff}
.calendar-month-heading h2{color:#fff7e9}
.calendar-month-heading p{color:#c5d6ed}
.calendar-view-switch{background:#142f5970;border-color:#7795be66}
.calendar-view-switch button{color:#dce8fc}
.calendar-view-switch button[aria-pressed=true]{background:#f4ead8;color:#183c6c}
.calendar-nav button{background:#e9f0fb;border-color:#abc2e3;color:#203f6c}
.calendar-nav #calendar-today{background:#e9ce96;border-color:#e9ce96;color:#20375b}
.calendar-filters button{color:#3b5578}
.calendar-filters button[aria-pressed=true]{background:#2e568e;border-color:#2e568e;color:#fff}
.calendar-weekdays{background:#355e99;border-color:#355e99}
.calendar-weekdays span{color:#eef3ff}
.calendar-weekdays span:first-child{color:#ffd0ba}
.calendar-grid{border-color:#b8cbe2}
.calendar-day{background:#faf5eb;border-color:#c4d3e6}
.calendar-day:hover{background:#fff9ed;box-shadow:inset 0 0 0 2px #7798c9}
.calendar-day.outside-month{background:#ccd8e8}
.calendar-day.outside-month .calendar-day-number{color:#7588a1}
.calendar-day.has-school{background:#c5deef}
.calendar-day.has-exam{background:#decef0}
.calendar-day.has-important{background:#f5dfac}
.calendar-day.is-holiday,.calendar-day.is-sunday-holiday{background:#f8d7c8}
.calendar-day.is-selected{background:#aac8ef;box-shadow:inset 0 0 0 2px #234d8c}
.calendar-day-panel{background:linear-gradient(155deg,#c8d9f1,#d9d5ee);border-color:#a5bddc;box-shadow:0 8px 25px #203d7512}
.calendar-day-panel>.eyebrow{color:#3a5b8c}
.calendar-select-hint{background:#e8eef8;border-color:#9eb5d7;color:#4a6386}
.calendar-day-school,.calendar-list-row.calendar-day-school{background:#d5e7f7;border-color:#a7c4e3}
.calendar-day-exam,.calendar-list-row.calendar-day-exam{background:#e5d7f3;border-color:#bea4d9}
.calendar-day-holiday,.calendar-list-row.calendar-day-holiday{background:#f9dfd2;border-color:#e4b8a6}
.calendar-day-important,.calendar-list-row.calendar-day-important{background:#f7e6bd;border-color:#d9bc7d}
.calendar-list-date{background:#284f87;color:#fff}
.calendar-source-note{color:#416087}
.calendar-preview-note{background:#d9e7fb;border-color:#a7bfdf;color:#294c7c}
.calendar-disclaimer{background:#e3ecfb;border-color:#aac0df;box-shadow:none}
@media(max-width:700px){.calendar-day{background:#faf5eb}.calendar-day.outside-month{background:#ccd8e8}.calendar-day.has-school{background:#c5deef}.calendar-day.has-exam{background:#decef0}.calendar-day.has-important{background:#f5dfac}.calendar-day.is-holiday,.calendar-day.is-sunday-holiday{background:#f8d7c8}.calendar-day.is-selected{background:#aac8ef}}

/* Final palette: ink navy / warm parchment / sage / muted terracotta. */
.calendar-list[hidden],.calendar-grid[hidden]{display:none!important}
.calendar-section{background:radial-gradient(ellipse at 0 0,#cbdadf,transparent 60%),linear-gradient(135deg,#e4ecef,#dbe5e7 60%,#e7e5dd)}
.calendar-shell{background:#f7f3eb;border-color:#bdced3;box-shadow:0 18px 50px #233c4c15}
.calendar-toolbar{background:linear-gradient(115deg,#21394f,#344e67);border-color:#415b72;box-shadow:none}
.calendar-month-heading h2{color:#fcf3e2}.calendar-month-heading .eyebrow,.calendar-month-heading p{color:#c7d8e4}
.calendar-nav #calendar-today{background:#e2d4b5;border-color:#e2d4b5;color:#263c51}
.calendar-view-switch button[aria-pressed=true]{background:#f4ecdc;color:#263c51}
.calendar-weekdays{background:#e1e7e5;border-color:#c7d4d0}.calendar-weekdays span{color:#425b63}.calendar-weekdays span:first-child{color:#a2503e}
.calendar-filters button[aria-pressed=true]{background:#314d63;border-color:#314d63;color:#fff}
.calendar-day.is-working-day{background:#e1ece5;border-color:#bdcec5}
.calendar-day.is-working-day .calendar-day-number{color:#335e4a}
.calendar-day.is-senior-saturday{background:linear-gradient(135deg,#cee0d6,#dee9e1);box-shadow:inset 0 3px #638f79}
.calendar-day.has-exam:not(.is-student-holiday){background:#e5deed}
.calendar-day.has-important:not(.is-student-holiday){background:#eee1c2}
.calendar-day.is-student-holiday{background:#f1ddd2;border-color:#d9bfb2}
.calendar-day.is-student-holiday .calendar-day-number{background:#f8ece4;color:#a24d39;font-weight:700;box-shadow:none}
.calendar-day.outside-month{background:#e5e8e5;box-shadow:none}.calendar-day.outside-month .calendar-day-number{background:transparent;color:#8b9795}
.calendar-day.is-selected{background:#cedde5!important;box-shadow:inset 0 0 0 2px #324e66}
.calendar-day.is-selected .calendar-day-number{background:#314e65;color:#fff}
.calendar-day.is-selected.is-student-holiday .calendar-day-number{background:#f8e9de;color:#9f4734}
.calendar-day.is-today:not(.is-selected){box-shadow:inset 0 0 0 2px #78968a}
.calendar-event-pill{background:#d3e2ea;color:#34536b;border-color:#6f8fa4}
.calendar-event-exam{background:#ddd0e8;color:#664b7d;border-color:#9274a7}
.calendar-event-holiday{background:#ead0c3;color:#914b38;border-color:#b77862}
.calendar-event-important{background:#e9d8ae;color:#796031;border-color:#b29b61}
.calendar-day-panel{background:linear-gradient(145deg,#253d52,#344c61);border-color:#3c556d;box-shadow:none}
.calendar-day-panel h3{color:#faf0df}.calendar-day-panel>.eyebrow{color:#bdccd9}.calendar-office-link{color:#d3e0ec}
.calendar-select-hint{background:transparent;border-color:#718399;color:#d1dbe3}
.calendar-day-school,.calendar-list-row.calendar-day-school{background:#e0e9ee;border-color:#b8cdd8}
.calendar-day-exam,.calendar-list-row.calendar-day-exam{background:#e8e0ee;border-color:#c9b8d8}
.calendar-day-holiday,.calendar-list-row.calendar-day-holiday{background:#f0dfd4;border-color:#dcc2b1}
.calendar-day-important,.calendar-list-row.calendar-day-important{background:#efe4ca;border-color:#dac99b}
.calendar-schedule-card{padding:16px;border-radius:12px;background:#e0ece3;border:1px solid #b4cebb}
.calendar-schedule-card h4{margin:4px 0;color:#335442;font:500 1.15rem/1.3 var(--serif)}
.calendar-schedule-card .calendar-event-meta{color:#55725f}.calendar-schedule-card p{color:#4b6355}
.calendar-schedule-card.schedule-holiday{background:#f1dfd2;border-color:#d8b8a4}.calendar-schedule-card.schedule-holiday h4,.calendar-schedule-card.schedule-holiday p,.calendar-schedule-card.schedule-holiday .calendar-event-meta{color:#87543e}
.calendar-saturday-label{margin-top:3px;font:600 .53rem/1.2 var(--sans);color:#48705d}
.is-student-holiday .calendar-saturday-label{color:#99513f}
.calendar-schedule-legend{display:flex;flex-wrap:wrap;gap:12px 22px;margin:0 0 15px;color:#4d6468;font:500 .72rem/1.4 var(--sans)}
.calendar-schedule-legend span{display:flex;align-items:center;gap:7px}.calendar-schedule-legend i{width:12px;height:12px;border-radius:3px;border:1px solid #b2c3b8;background:#e1ece5}.calendar-schedule-legend .schedule-key-senior{background:#cee0d6;border-top:3px solid #638f79}.calendar-schedule-legend .schedule-key-holiday{background:#f1ddd2;border-color:#d9bfb2}
.calendar-week-policy{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:28px;max-width:1100px;margin:0 auto 24px;padding:24px 28px;border-left:4px solid #608677;border-radius:12px;background:#f6f3eb;color:#29485a}
.calendar-week-policy .eyebrow{margin:0;color:#628174;font-size:.61rem}.calendar-week-policy h2{margin:8px 0 0;color:#29485a;font-size:1.7rem;line-height:1.12}
.calendar-policy-copy p{margin:0 0 7px;color:#4c6266;font-size:.85rem;line-height:1.55}.calendar-policy-copy strong{color:#2e4e5d}.calendar-policy-copy .calendar-policy-small{margin:11px 0 0;font-size:.73rem;color:#738285}
.calendar-disclaimer,.calendar-preview-note{background:#e5ecee;border-color:#b9cbd0;color:#49636e}.calendar-source-note{color:#6d7d7d}
@media(max-width:700px){.calendar-week-policy{grid-template-columns:1fr;gap:16px;padding:21px 19px}.calendar-week-policy h2{font-size:1.55rem}.calendar-schedule-legend{gap:9px 13px;font-size:.64rem}.calendar-saturday-label{font-size:.46rem}.calendar-day.is-senior-saturday{min-height:65px}.calendar-day.is-student-holiday{background:#f1ddd2}.calendar-day.is-working-day{background:#e1ece5}.calendar-day.outside-month{background:#e5e8e5}}
