.calendar-intro{background:var(--navy);color:#fff;border-bottom:4px solid #d8a730;padding:28px 7vw}.calendar-intro h1{color:#fff;letter-spacing:-.03em;margin:0;font:700 clamp(1.75rem, 3vw, 2.5rem)/1.2 var(--font-sans)!important}.calendar-intro p{color:#d8e5ef;max-width:68ch;margin:12px 0 0;font-size:1.125rem;line-height:1.6}.calendar-section{background:#f7f6f2;padding:32px clamp(20px,4.5vw,72px) 48px}.calendar-shell{--calendar-tone:#2674a4;min-width:0;color:var(--navy);font:400 1.125rem/1.55 var(--font-sans);gap:18px;display:grid}.calendar-shell :is(button,select,summary){font:inherit;font-size:1.125rem}.calendar-shell :is(button,select){min-height:44px;color:var(--navy);background:#fff;border:1px solid #98aab8;border-radius:3px}.calendar-shell select{width:100%;padding:10px 32px 10px 12px}.calendar-shell button{cursor:pointer;padding:10px 14px}.calendar-shell button:hover{background:#eaf0f4}.calendar-shell :is(button,select,summary,a):focus-visible{outline-offset:3px;outline:3px solid #98701f}.calendar-shell label,.calendar-display{gap:8px;min-width:0;font-size:1.125rem;font-weight:700;display:grid}.calendar-shell a,.calendar-principles a{color:#175c8a;text-underline-offset:4px;text-decoration:underline}.calendar-controls{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);align-items:end;gap:20px;display:grid}.calendar-view-switch{display:flex}.calendar-view-switch button{white-space:nowrap;border-radius:0;flex:1;padding-inline:6px}.calendar-view-switch button+button{border-left:0}.calendar-view-switch button[aria-pressed=true]{background:var(--navy);color:#fff}.calendar-range h2{letter-spacing:-.02em;margin:0;font:700 1.4rem/1.3 var(--font-sans)!important}.calendar-range p{color:#354c5d;max-width:88ch;margin:10px 0;font-size:1.125rem;line-height:1.6}.calendar-range>span{color:#354c5d;font-size:1.125rem}.calendar-context{border-top:1px solid #bdc8cf;padding-top:12px}.calendar-context>summary,.calendar-event-details>summary{color:#175c8a;cursor:pointer;width:fit-content;min-height:44px;padding:12px 0}.calendar-context>summary:after,.calendar-event-details>summary:after{content:"+";font-size:1.125rem;font-weight:400}.calendar-context[open]>summary:after,.calendar-event-details[open]>summary:after{content:"−"}.calendar-context>div{grid-template-columns:1fr 1fr;gap:32px;padding:12px 0;display:grid}.calendar-context h3{font:700 1.25rem/1.5 var(--font-sans);margin:0}.calendar-context p{color:#354c5d;margin:8px 0;font-size:1.125rem;line-height:1.6}.calendar-context a{padding:12px 0;font-size:1.125rem;display:inline-block}.calendar-timeline{gap:32px;display:grid}.calendar-timeline>section>header{border-bottom:2px solid var(--navy);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:12px;display:flex}.calendar-timeline>section>header h3{font:700 1.5rem/1.4 var(--font-sans);margin:0}.calendar-timeline>section>header span{color:#354c5d;font-size:1.125rem}.calendar-events{display:grid}.calendar-event,.calendar-active-event{--calendar-tone:#2674a4;border-bottom:1px solid #cbd2d6;grid-template-columns:minmax(180px,24%) minmax(0,1fr);gap:28px;padding:24px 0;display:grid}.calendar-shell .navy{--calendar-tone:#102e46}.calendar-shell .red{--calendar-tone:#9b2538}.calendar-shell .green{--calendar-tone:#286447}.calendar-shell .gold{--calendar-tone:#8b6516}.calendar-shell .cream{--calendar-tone:#756747}.calendar-shell .purple{--calendar-tone:#694081}.calendar-event-date{border-left:3px solid var(--calendar-tone);flex-direction:column;align-self:start;gap:8px;padding-left:14px;display:flex}.calendar-event-date span{color:#354c5d;font-size:1.125rem}.calendar-event-date strong{font:700 1.25rem/1.5 var(--font-sans)}.calendar-event-date small{color:#354c5d;font-size:1.125rem;line-height:1.5}.calendar-event-copy{min-width:0}.calendar-event-copy>.calendar-category{color:#354c5d;margin:0 0 6px;font-size:1.125rem}.calendar-event-copy :is(h3,h4){font:700 1.5rem/1.35 var(--font-sans);color:var(--navy);margin:0}.calendar-event-copy>p{color:#354c5d;margin:8px 0 0;font-size:1.125rem;line-height:1.65}.calendar-event-details{border:0;margin-top:4px}.calendar-event-explanation{padding-top:12px}.calendar-event-explanation dl{gap:20px;margin:0;display:grid}.calendar-event-explanation dt{color:var(--navy);font-size:1.125rem;font-weight:700}.calendar-event-explanation dd{color:#354c5d;margin:6px 0 0;font-size:1.125rem;line-height:1.65}.calendar-event-explanation>a{margin-top:8px;padding:12px 0;font-size:1.125rem;display:inline-block}.calendar-note{color:#354c5d;border-top:1px solid #bdc8cf;padding-top:20px}.calendar-note strong{color:var(--navy);font-size:1.125rem}.calendar-note p{margin:8px 0 0;font-size:1.125rem;line-height:1.65}.calendar-principles{background:#e8edf0;padding:32px clamp(20px,4.5vw,72px);display:block}.calendar-principles h2{color:var(--navy);margin:0;font:700 1.5rem/1.4 var(--font-sans)!important}.calendar-principles p{color:#354c5d;max-width:88ch;margin:12px 0;font-size:1.125rem;line-height:1.7}.calendar-principles a{padding:12px 0;font-size:1.125rem;display:inline-block}.physical-calendar,.calendar-timeline{min-width:0}.physical-calendar{gap:16px;display:grid}.calendar-scroll-header{background:#e8f0f5;border-left:4px solid #2674a4;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;padding:16px 20px;display:flex}.calendar-jumps{flex-wrap:wrap;gap:8px;display:flex}.calendar-scroll{scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-color:#2674a4 #dce3e8;gap:20px;padding:0 0 16px;display:flex;position:relative;overflow-x:auto}.calendar-scroll:after{content:"";flex:0 0 max(0px,100% - 720px)}.calendar-card{scroll-snap-align:start;background:#fff;border:1px solid #bdc8cf;border-top:4px solid #d8a730;flex:0 0 min(100%,700px);min-width:0}.calendar-card>header{background:var(--navy);color:#fff;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:8px;padding:16px;display:flex}.calendar-card>header span{color:#c3d9e8;font-size:1.125rem}.calendar-card>header h3{color:#fff;font:700 1.5rem/1.4 var(--font-sans);margin:8px 0 0}.calendar-card>header b{color:#f0cd81;font-size:1.125rem}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays span{color:#354c5d;text-align:center;padding:10px 2px;font-size:1rem;font-weight:700}.calendar-day{border-top:1px solid #dce3e8;border-right:1px solid #dce3e8;min-width:0;min-height:120px;padding:8px 5px}.calendar-day:nth-child(7n){border-right:0}.calendar-day.empty{background:#f0f2f3}.calendar-day.has-event{box-shadow:inset 2px 0 var(--calendar-tone);background:#edf3f7}.calendar-day.activation-day{outline-offset:-2px;outline:2px solid #a71033}.day-number{color:#354c5d;font-size:1.125rem;display:block}.day-events{margin-top:6px}.calendar-shell .day-events button{background:var(--calendar-tone);color:#fff;overflow-wrap:normal;-webkit-hyphens:auto;hyphens:auto;border:0;width:100%;min-height:44px;padding:4px 2px;font-size:1rem;line-height:1.35}.calendar-shell .day-events button[aria-pressed=true]{outline:3px solid var(--navy);outline-offset:2px}.calendar-shell .day-events .calendar-more{color:#175c8a;background:0 0;min-height:30px;padding:2px;font-weight:700}.day-events button+button{margin-top:4px}.day-events small{color:#354c5d;font-size:1.125rem;display:block}.calendar-event-state{font-weight:700;display:block}.event-continuation{flex-wrap:wrap;gap:4px;padding-top:5px;display:flex}.calendar-shell .event-continuation button{width:44px;min-height:44px;margin:0;padding:4px;font-size:1.25rem}.calendar-month-agenda{scroll-margin-top:90px}.calendar-month-agenda>header{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.calendar-month-agenda>header span{color:#354c5d;font-size:1.125rem}.calendar-month-agenda>header strong{font-size:1.125rem}.calendar-month-agenda>div{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.calendar-shell .calendar-month-agenda button{text-align:left;background:0 0;border:0;border-bottom:1px solid #bdc8cf;border-radius:0;grid-template-columns:4px minmax(0,1fr);gap:6px 12px;padding:16px 12px;display:grid}.calendar-shell .calendar-month-agenda button.active{background:#e6eef3}.calendar-month-agenda button i{background:var(--calendar-tone,#2674a4);grid-row:span 2}.calendar-month-agenda button span{color:#354c5d;font-size:1.125rem}.calendar-month-agenda button strong{font-size:1.125rem;line-height:1.5}.calendar-active-event{border:1px solid #bdc8cf;border-left:4px solid var(--calendar-tone);background:#fff;padding:24px;scroll-margin-top:90px}.calendar-active-event:focus-visible{outline:3px solid var(--navy);outline-offset:3px}.calendar-empty{color:#354c5d;padding:24px 0;font-size:1.125rem}.calendar-event-marker{display:none}@media (max-width:900px){.calendar-controls{grid-template-columns:1fr 1fr}.calendar-display{grid-column:1/-1;max-width:360px}}@media (max-width:700px){.calendar-intro{padding:24px}.calendar-controls{grid-template-columns:1fr 1fr;gap:16px}.calendar-controls>label:first-child{grid-column:1/-1}.calendar-display{grid-column:auto;max-width:none}.calendar-event,.calendar-active-event,.calendar-context>div,.calendar-month-agenda>div{grid-template-columns:1fr;gap:16px}.calendar-event-short{display:none}.calendar-event-marker{font-size:1rem;font-weight:700;display:inline}.calendar-range h2{font-size:1.25rem!important}}@media (max-width:520px){.calendar-controls{grid-template-columns:1fr}.calendar-scroll-header{padding:14px}.calendar-scroll-header>label,.calendar-jumps{width:100%}.calendar-jumps button{flex:1}.calendar-day{min-height:84px;padding-inline:2px}.calendar-event-short{display:none}.calendar-event-marker{font-size:1.125rem;font-weight:700;display:inline}.calendar-active-event{padding:16px}}@media (max-width:380px){.calendar-controls{grid-template-columns:1fr}}
