.page-hero--sage{background:var(--na-sage);color:var(--na-white);padding:96px 0!important}.page-hero h1{font-family:var(--na-font-serif);text-align:center;color:var(--na-white);letter-spacing:-1px;margin-bottom:12px;font-size:clamp(48px,6vw,76px);font-weight:700;line-height:1.05}.page-hero-sub{text-align:center;color:#ffffffe6;max-width:640px;margin:0 auto;font-size:17px}.calendar-section{background:var(--na-white);padding:80px 0 120px!important}.container--cal{max-width:1100px}.cal-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}#calMonthLabel{font-family:var(--na-font-serif);color:var(--na-near-black);letter-spacing:-.5px;font-size:clamp(36px,4.5vw,52px);font-weight:400;line-height:1}.cal-meta{gap:18px;display:flex}.cal-legend{color:#4a4a45;align-items:center;gap:7px;font-size:13px;display:flex}.dot{border-radius:50%;width:9px;height:9px;display:inline-block}.dot--event{background:var(--na-tan)}.dot--today{background:var(--na-sage)}.cal-grid-wrap{background:var(--na-white);box-shadow:var(--na-shadow-md);border:1px solid #0000000f;border-radius:14px;overflow:hidden}.cal-weekdays{background:var(--na-gray-light);grid-template-columns:repeat(7,1fr);display:grid}.cal-weekdays>div{text-align:center;letter-spacing:1.5px;text-transform:uppercase;color:#6a6a60;border-right:1px solid #0000000d;padding:12px 8px;font-size:12px;font-weight:700}.cal-weekdays>div:last-child{border-right:none}.cal-grid{grid-template-columns:repeat(7,1fr);display:grid}.cal-cell{background:var(--na-white);border-top:1px solid #0000000d;border-right:1px solid #0000000d;flex-direction:column;gap:4px;min-height:120px;padding:8px 10px;transition:background .15s;display:flex}.cal-cell:nth-child(7n){border-right:none}.cal-cell--pad{background:var(--na-gray-light);opacity:.4}.cal-cell.has-events{background:#fbf8f1}.cal-cell.is-today,.cal-cell.is-today.has-events{background:#e9eee2}.cal-num{font-family:var(--na-font-sans);color:var(--na-near-black);font-size:14px;font-weight:600}.cal-cell.is-today .cal-num{color:var(--na-sage-dark);font-weight:700}.cal-pill{background:var(--na-tan);color:var(--na-near-black);font-family:var(--na-font-sans);text-align:left;cursor:pointer;border:none;border-radius:4px;padding:4px 8px;font-size:11.5px;font-weight:600;line-height:1.25;transition:background .15s,transform .1s;overflow:hidden}.cal-pill:hover,.cal-pill:focus-visible{background:var(--na-tan-dark);outline:none;transform:translateY(-1px)}.cal-pill-title{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.cal-cell.is-today .cal-pill{color:var(--na-near-black);background:#fffffff0}.cal-list{flex-direction:column;gap:10px;margin-top:8px;display:none}.cal-list-item{background:var(--na-white);border:1px solid #00000014;border-left:4px solid var(--na-tan);text-align:left;cursor:pointer;font-family:var(--na-font-sans);border-radius:10px;padding:14px 16px;transition:background .15s,transform .1s}.cal-list-item:hover,.cal-list-item:focus-visible{background:var(--na-cream);outline:none}.cal-list-item.is-today{border-left-color:var(--na-sage);background:#f3f5ed}.cal-list-date{letter-spacing:1px;text-transform:uppercase;color:var(--na-tan-dark);margin-bottom:4px;font-size:12px;font-weight:700}.cal-list-item.is-today .cal-list-date{color:var(--na-sage-dark)}.cal-list-title{color:var(--na-near-black);font-size:16px;font-weight:600;line-height:1.3}.cal-list-time,.cal-list-loc{color:#6a6a60;margin-top:4px;font-size:13px}.cal-empty{text-align:center;color:#6a6a60;padding:40px 20px;font-size:15px}.cal-footnote{text-align:center;color:#8a8a85;margin-top:28px;font-size:13px;line-height:1.5}.cal-modal{z-index:1000;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.cal-modal.is-open{display:flex}.cal-modal-backdrop{background:#0000008c;animation:.2s calFadeIn;position:absolute;inset:0}.cal-modal-card{background:var(--na-white);width:100%;max-width:600px;max-height:88vh;box-shadow:var(--na-shadow-lg);border-radius:16px;animation:.25s calSlideUp;position:relative;overflow-y:auto}.cal-modal-close{color:#2e2e29;cursor:pointer;z-index:2;background:#ffffffeb;border:none;border-radius:999px;padding:4px 12px 6px;font-size:26px;line-height:1;transition:background .15s;position:absolute;top:12px;right:12px;box-shadow:0 2px 8px #00000026}.cal-modal-close:hover{background:var(--na-white)}.cal-modal-image{background:var(--na-gray-light);border-top-left-radius:16px;border-top-right-radius:16px;position:relative;overflow:hidden}.cal-modal-image img{object-fit:cover;width:100%;height:auto;max-height:360px;display:block}.cal-modal-image-expand{color:var(--na-white);font-family:var(--na-font-sans);letter-spacing:.3px;-webkit-backdrop-filter:blur(4px);background:#1a1b18d9;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:600;text-decoration:none;transition:background .2s,transform .15s;display:inline-flex;position:absolute;bottom:12px;right:12px}.cal-modal-image-expand:hover{background:#1a1b18f2;transform:translateY(-1px)}.cal-modal-image-expand svg{display:block}.cal-modal-meta{padding:28px 32px 32px}.cal-modal-eyebrow{letter-spacing:1.5px;text-transform:uppercase;color:var(--na-tan-dark);margin-bottom:10px;font-size:12px;font-weight:700}#calModalTitle{font-family:var(--na-font-serif);color:var(--na-near-black);letter-spacing:-.3px;margin-bottom:14px;font-size:30px;font-weight:400;line-height:1.15}.cal-modal-pills{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.cal-modal-pill{background:var(--na-cream);color:var(--na-near-black);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;line-height:1.2;display:inline-block}.cal-modal-pill--time{background:var(--na-sage);color:var(--na-white)}.cal-modal-pill--loc{background:var(--na-cream);color:var(--na-tan-dark)}.cal-modal-body{color:#2e2e29;font-size:15px;line-height:1.7}.cal-modal-body p{margin-bottom:12px}.cal-modal-body p:last-child{margin-bottom:0}.cal-modal-body img{border-radius:8px;max-width:100%;height:auto}@keyframes calFadeIn{0%{opacity:0}to{opacity:1}}@keyframes calSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=700px){.cal-grid-wrap,.cal-weekdays{display:none}.cal-list{display:flex}.calendar-section{padding:56px 0 80px!important}#calMonthLabel{font-size:32px}.cal-toolbar{text-align:center;justify-content:center}.cal-meta{justify-content:center}.cal-modal-meta{padding:22px 22px 26px}#calModalTitle{font-size:24px}.cal-modal-image img{max-height:240px}}
