.calendar-section{background:#fff}.next-meeting{display:grid;grid-template-columns:10rem 1fr;gap:clamp(1.5rem,5vw,4rem);align-items:center;padding:clamp(2rem,6vw,4rem);border-radius:2rem;background:var(--forest);color:#fff;box-shadow:var(--shadow)}.next-date{display:grid;min-height:10rem;align-content:center;justify-items:center;border:1px solid rgba(255,255,255,.2);border-radius:1.4rem;background:#ffffff0f}.next-date strong{font:400 4.5rem/.85 var(--serif);color:var(--sage)}.next-date span{text-transform:capitalize;color:#ffffffb3}.next-copy .eyebrow{color:var(--sage)}.next-copy h2,.next-copy h3{margin:.25rem 0 .7rem;font:400 clamp(2.4rem,6vw,5rem)/.95 var(--serif)}.next-when{margin:.5rem 0;font-weight:700}.next-location{display:flex;flex-direction:column;margin:1.4rem 0 0;color:#ffffffb3}.next-location strong{color:#fff}.next-meeting:not([data-next-ready]) .next-when,.next-meeting:not([data-next-ready]) .next-location{visibility:hidden}.calendar-action{margin:1.5rem 0 0;text-align:right}.home-special-events{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem}.agenda-hero{padding:clamp(8rem,16vw,12rem) 0 5rem;background:radial-gradient(circle at 78% 28%,rgba(157,175,146,.35),transparent 30%),var(--forest);color:#fff}.agenda-hero h1{margin:.4rem 0 1rem;font:400 clamp(4rem,10vw,8rem)/.84 var(--serif);letter-spacing:-.04em}.agenda-hero>div>p:last-child{max-width:40rem;color:#d8e2d7;font-size:1.15rem}.agenda-next-section{padding-block:clamp(3rem,8vw,6rem)}.agenda-special{padding-top:0}.agenda-section-heading{max-width:50rem;margin-bottom:2.5rem}.agenda-section-heading h2{margin:.3rem 0 0;font:400 clamp(2.7rem,6vw,5rem)/.98 var(--serif)}.agenda-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.agenda-event-card{overflow:hidden;border:1px solid var(--line);border-radius:1.3rem;background:#fff}.agenda-event-card>img{width:100%;aspect-ratio:16/8;object-fit:cover}.agenda-event-card>div{padding:1.5rem}.agenda-event-date{color:var(--forest-2);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.agenda-event-card h3{margin:.5rem 0;font:400 2rem/1.05 var(--serif)}.agenda-event-card>div>p:not(.agenda-event-date,.agenda-event-location){color:var(--muted)}.agenda-event-location{display:flex;flex-direction:column;margin-top:1.5rem;font-size:.88rem}.agenda-event-location span{color:var(--muted)}.agenda-empty{padding:2rem;border-left:4px solid var(--sage);background:var(--cream)}.agenda-empty p{margin:.2rem 0}.agenda-empty p:last-child{color:var(--muted)}.weekly-schedule{background:var(--cream)}.weekly-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.weekly-group{padding:clamp(1.4rem,4vw,2.2rem);border:1px solid var(--line);border-radius:1.3rem;background:var(--paper)}.weekly-group h3{margin:0 0 1rem;font:400 2.2rem/1 var(--serif)}.weekly-group ul{margin:0;padding:0;list-style:none}.weekly-group li{display:grid;grid-template-columns:4rem 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}.weekly-group time{font-weight:700;color:var(--forest-2)}.weekly-group li div{display:flex;flex-direction:column}.weekly-group li span{color:var(--muted);font-size:.82rem}.weekly-location{display:flex;flex-direction:column;margin:2rem 0 0;color:var(--muted)}.weekly-location strong{color:var(--ink)}@media(max-width:700px){.next-meeting{grid-template-columns:5.5rem 1fr;padding:1.25rem;border-radius:1.4rem}.next-date{min-height:7rem}.next-date strong{font-size:3rem}.next-date span{font-size:.78rem}.next-copy h2,.next-copy h3{font-size:clamp(2rem,9vw,3rem)}.next-location span{font-size:.82rem}.home-special-events,.agenda-event-grid,.weekly-groups{grid-template-columns:1fr}.calendar-action{text-align:stretch}.calendar-action .button{width:100%}.agenda-hero{padding-top:7rem}.agenda-next-section{width:100%;padding:0}.agenda-next-section .next-meeting{border-radius:0}.agenda-special{padding-top:4rem}.weekly-group li{grid-template-columns:3.5rem 1fr}}@media(max-width:390px){.next-meeting{grid-template-columns:1fr}.next-date{grid-template-columns:auto auto;gap:.5rem;justify-content:start;min-height:auto;padding:.8rem 1rem}.next-date strong{font-size:2rem}.next-date span{align-self:end;margin-bottom:.15rem}.next-copy h2,.next-copy h3{font-size:2.2rem}}
