.calendar-hero{background:var(--navy);color:#fff;padding:72px 0 84px}.calendar-back{display:inline-block;margin-bottom:48px;color:#a9bfd2;text-decoration:none;font-size:14px}.calendar-hero h1{max-width:980px;margin:28px 0 24px;font:500 clamp(44px,5vw,76px)/1.06 Manrope,sans-serif;letter-spacing:-4px}.calendar-hero>div>p:last-child{max-width:720px;margin:0;color:#c3d1df;font-size:19px;line-height:1.7}.calendar-page{padding:72px 0 120px}.upcoming{display:grid;grid-template-columns:minmax(260px,.8fr) 1.5fr;gap:64px;padding:0 0 52px;border-bottom:1px solid var(--line)}.upcoming h2{margin:22px 0 0;font:500 34px/1.1 Manrope,sans-serif;letter-spacing:-1.5px}.upcoming ol{list-style:none;margin:0;padding:0}.upcoming li{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:13px 0;border-bottom:1px solid var(--line)}.upcoming li:last-child{border-bottom:0}.upcoming time{color:#1679d3;font-weight:700}.upcoming .empty{display:block;color:var(--muted)}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:38px 0 26px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 17px;font:600 14px 'DM Sans',sans-serif;cursor:pointer}.filters button:hover,.filters button:focus-visible,.filters button.active{background:var(--navy);border-color:var(--navy);color:#fff}.legend{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:13px}.legend span{display:flex;align-items:center;gap:7px}.legend i{display:inline-block;width:14px;height:14px;border:1px solid #b8c9d8}.legend .standard{background:#e3f3e9;border-color:#b6d9c2}.legend .extended{background:#fff0c7;border-color:#e6c971}.legend .today{background:transparent;border:2px solid #275c89}.calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.month-card{border:1px solid var(--line);background:#fff;padding:24px 20px 20px}.month-card h2{margin:0 0 22px;font:600 24px/1.2 Manrope,sans-serif}.month-card h2 span{color:#6b88a2;font-weight:500}.weekdays,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekdays{margin-bottom:8px}.weekdays span{text-align:center;color:#71869a;font-size:12px;font-weight:700}.day,.blank{aspect-ratio:1;min-width:0}.day{position:relative;border:1px solid transparent;background:transparent;color:var(--ink);font:600 14px 'DM Sans',sans-serif}.day:disabled{opacity:1}.day.has-standard{background:#e3f3e9;border-color:#c6e4d0;cursor:pointer}.day.has-extended{background:#fff0c7;border-color:#e9cf87;cursor:pointer}.day.was-extended{background:#f2f4f6;border:1px dashed #d1ab43;cursor:pointer}.day.is-today{outline:2px solid #275c89;outline-offset:-2px}.day.past{color:#91a0ad}.day small{position:absolute;right:3px;bottom:2px;color:#476983;font-size:9px}.day:not(:disabled):hover,.day:not(:disabled):focus-visible{outline:2px solid #1679d3;outline-offset:-2px}.day-detail{margin-top:28px;border-top:3px solid var(--navy);background:#fff;padding:32px;outline:none}.detail-placeholder{margin:0;color:var(--muted)}.day-detail>h2{margin:0 0 26px;font:600 30px/1.2 Manrope,sans-serif}.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.detail-list article{padding:24px;border:1px solid var(--line)}.detail-category{margin:0 0 10px;color:#66819a;font-size:13px;font-weight:700;letter-spacing:.5px}.detail-list h3{margin:0 0 20px;font-size:21px;line-height:1.35}.detail-list dl{margin:0}.detail-list dl div{display:grid;grid-template-columns:145px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid #e3ebf1}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;font-weight:600}.detail-note{margin:18px 0 0;color:var(--muted);font-size:14px}.calendar-note{max-width:900px;margin:28px 0 0;color:var(--muted);font-size:14px;line-height:1.7}@media(max-width:1050px){.calendar-grid{grid-template-columns:1fr}.month-card{max-width:620px;width:100%;margin:auto}.calendar-toolbar{align-items:flex-start;flex-direction:column}.detail-list{grid-template-columns:1fr}}@media(max-width:700px){.calendar-hero{padding:54px 0 64px}.calendar-hero h1{font-size:40px;letter-spacing:-2px}.calendar-page{padding:54px 0 80px}.upcoming{grid-template-columns:1fr;gap:28px;padding-bottom:38px}.upcoming li{grid-template-columns:120px 1fr;gap:14px;font-size:14px}.calendar-toolbar{padding-top:28px}.legend{gap:10px 16px}.month-card{padding:20px 12px 14px}.day-detail{padding:24px 18px}.detail-list article{padding:20px 16px}.detail-list dl div{grid-template-columns:1fr;gap:2px}.calendar-hero br{display:none}}
.calendar-add{margin:24px 0 30px;padding:26px;border:1px solid rgba(13,50,76,.16);border-radius:18px;background:#f7fafc;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);gap:18px 32px}.calendar-add h2{margin:4px 0 8px}.calendar-add p{margin:0;color:#526476;line-height:1.65}.calendar-subscribe-controls{display:grid;grid-template-columns:1fr auto;gap:8px 10px;align-content:start}.calendar-subscribe-controls label{grid-column:1/-1;font-size:.82rem;font-weight:700;color:#17354d}.calendar-subscribe-controls select,.subscribe-button,.single-event button{min-height:42px;border-radius:10px;border:1px solid #bfd0dc;background:#fff;color:#0b2941;padding:0 13px;font:inherit}.subscribe-button,.single-event>button{background:#0b2941;color:#fff;border-color:#0b2941;font-weight:700;cursor:pointer}.calendar-options{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.calendar-options[hidden]{display:none}.calendar-options a,.calendar-options button{display:flex;align-items:center;justify-content:center;min-height:38px;border:1px solid #c8d7e1;border-radius:9px;background:#fff;color:#17354d;text-decoration:none;font:inherit;font-size:.86rem;cursor:pointer}.subscription-note,.privacy-note{grid-column:1/-1;font-size:.82rem;border-top:1px solid #dbe5eb;padding-top:12px!important}.privacy-note{margin-top:-8px!important;border-top:0}.copy-status{grid-column:1/-1;min-height:1.2em;font-size:.8rem!important;color:#20634b!important}.single-event{margin-top:16px;padding-top:14px;border-top:1px solid #e0e7ec}.single-event>button{padding:0 14px}.single-event .calendar-options{margin-top:8px;max-width:520px}.single-event p{font-size:.78rem;color:#697b89;margin:9px 0 0}.single-event .calendar-options button{color:#17354d;background:#fff;border-color:#c8d7e1;font-weight:400}@media(max-width:760px){.calendar-add{grid-template-columns:1fr;padding:20px}.calendar-subscribe-controls{grid-template-columns:1fr}.calendar-options{grid-template-columns:1fr}}
