.calendar-page main{max-width:1120px;padding:0 28px}.calendar-page section{margin:65px 0}.calendar-intro{max-width:800px;padding:65px 0 25px}.calendar-intro p:not(.season-label){max-width:630px}.calendar-page h1{font-size:clamp(2.8rem,6vw,5.4rem)}.calendar-page h2{font-size:clamp(2rem,4vw,3rem)}.calendar-page h3{margin-top:32px;font-size:2rem}.calendar-page h4{font-size:1.6rem}.table-scroll{border:1px solid var(--line);background:var(--white);border-radius:6px;overflow:auto}.calendar-page table{border-collapse:collapse;width:100%;min-width:590px;font-size:14px}.calendar-page th,.calendar-page td{text-align:left;border-bottom:1px solid var(--line);padding:15px}.calendar-page thead{background:var(--sage)}.calendar-page caption{text-align:left;padding:14px;font-size:13px}.calendar-page .small{color:var(--muted);margin-top:16px;font-size:13px}.calendar-image{text-align:center;margin:50px 0}.calendar-image img{object-fit:contain;mix-blend-mode:multiply;width:100%;height:300px}.calendar-image figcaption{font:italic 20px var(--serif);margin-top:15px}.date-fields{flex-wrap:wrap;gap:24px;margin:25px 0;display:flex}.date-fields label{flex:1;gap:6px;min-width:180px;max-width:300px;display:grid}.date-fields input{background:var(--white);color:var(--ink);border:1px solid #9ba58f;min-width:0;padding:12px}.timeline-scroll{padding:20px 0;overflow:auto}.timeline{min-width:640px}.timeline-row{grid-template-columns:190px 1fr;align-items:center;gap:15px;margin:10px 0;font-size:13px;display:grid}.day-strip{border:1px solid #b8c2ac;border-radius:3px;height:35px;display:flex;overflow:hidden}.day-strip span{flex:1;min-width:0}.date-scale{justify-content:space-between;display:flex}.event-track{height:30px;position:relative}.event-track a{color:#946e31;font-size:23px;position:absolute;top:0}.calendar-page details{border:1px solid var(--line);background:#eeeee2;margin:20px 0;padding:18px}.calendar-page summary{cursor:pointer;font-weight:600}.calendar-event{border-top:1px solid var(--line);padding:25px 0;scroll-margin-top:25px}.calendar-event .season-label{margin-bottom:12px}.calendar-next{background:var(--sage);padding:30px}.calendar-page footer{border-top:1px solid var(--line);max-width:1120px;margin:auto;padding:30px 28px;font-size:14px}@media (max-width:650px){.calendar-page .site-header{flex-wrap:wrap;padding:20px}.calendar-page main{padding:0 20px}.calendar-page .brand{font-size:23px}.calendar-page section{margin:40px 0}.calendar-intro{padding-top:40px}.calendar-image img{height:220px}}@media (prefers-reduced-motion:reduce){.calendar-page *{scroll-behavior:auto!important;transition:none!important}}
