.cal-page{background:var(--cream-2);padding-block:var(--page-top) clamp(48px,7vw,88px)}.cal-page .cal-head{text-align:center;max-width:760px;margin:0 auto clamp(20px,3vw,32px)}.cal-page .cal-head h1{font-size:clamp(30px,5vw,48px);color:var(--navy);margin:8px 0 0}.cal-page .cal-sub{color:var(--muted);font-size:clamp(14px,1.5vw,17px);margin-top:10px}.cal-page .cal-shell{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--cream-2);padding:clamp(14px,2vw,24px)}.cal-page .cal-loading{text-align:center;color:var(--muted);padding:32px 0}.cal-page .cal-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.cal-page .cal-navwrap{display:flex;align-items:center;gap:10px}.cal-page .cal-label{font-family:var(--font-display);font-weight:900;color:var(--navy);font-size:clamp(20px,2.6vw,28px);min-width:8ch}.cal-page .cal-actions{display:flex;align-items:center;gap:8px}.cal-page .cal-today,.cal-page .cal-print{font:inherit;font-weight:700;font-size:13px;color:var(--navy);cursor:pointer;background:var(--white);border:1.5px solid var(--cream-2);border-radius:999px;padding:7px 16px}.cal-page .cal-today:hover,.cal-page .cal-print:hover{border-color:var(--marine);color:var(--marine)}.cal-page .cal-print{display:inline-flex;align-items:center;gap:6px}.cal-page .cal-print:before{content:"⎙";font-size:15px;line-height:1}.cal-page .cal-nav{width:38px;height:38px;border-radius:999px;border:1.5px solid var(--cream-2);background:var(--white);color:var(--navy);font-size:18px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.cal-page .cal-nav:hover{border-color:var(--marine);color:var(--marine)}.cal-page .cal-scroll{overflow-x:auto}.cal-page .cal-grid{display:grid;grid-template-columns:repeat(7,minmax(96px,1fr));min-width:700px;gap:1px;background:var(--cream-2);border:1px solid var(--cream-2);border-radius:10px;overflow:hidden}.cal-page .cal-dow{background:var(--navy);color:#fff;text-align:center;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:8px 4px}.cal-page .cal-cell{min-height:104px;padding:6px 6px 8px;display:flex;flex-direction:column;gap:3px;background:var(--white)}.cal-page .cal-empty{background:var(--cream)}.cal-page .cal-cell-today{background:color-mix(in srgb,var(--marine) 8%,var(--white))}.cal-page .cal-daynum{font-weight:700;font-size:12px;color:var(--muted);margin-bottom:2px}.cal-page .cal-cell-today .cal-daynum{color:var(--marine)}.cal-page .cal-ev{display:flex;align-items:baseline;gap:5px;font-size:11.5px;color:var(--ink);line-height:1.3}.cal-page a.cal-ev{text-decoration:none;cursor:pointer}.cal-page a.cal-ev:hover{color:var(--marine);text-decoration:underline}.cal-page .cal-dot{flex:none;width:8px;height:8px;border-radius:50%;transform:translateY(1px)}.cal-page .ev-youth{background:var(--green)}.cal-page .ev-members{background:var(--marine)}.cal-page .ev-other{background:var(--yellow)}.cal-page .ev-holiday{background:var(--red)}.cal-page .cal-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px}.cal-page .cal-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.cal-page .cal-back{text-align:center;margin-top:clamp(20px,3vw,30px)}.cal-page .cal-back a{color:var(--marine);font-weight:700;text-decoration:none}.cal-page .cal-back a:hover{text-decoration:underline}@media print{nav#nav,.footer,.cal-page .cal-back,.cal-page .cal-sub,.cal-page .eyebrow,.cal-page .cal-actions,.cal-page .cal-nav{display:none!important}html,body{background:#fff!important}.cal-page{padding:4px 0!important;background:#fff!important}.cal-page .container{max-width:none!important}.cal-page .cal-head{margin:0 0 4px!important}.cal-page .cal-head h1{font-size:24px!important;margin:0!important}.cal-page .cal-shell{box-shadow:none!important;border:none!important;padding:0!important}.cal-page .cal-bar{justify-content:center;margin:0 0 6px!important}.cal-page .cal-label{font-size:18px}.cal-page .cal-scroll{overflow:visible!important}.cal-page .cal-grid{min-width:0!important}.cal-page .cal-cell{min-height:92px}.cal-page .cal-legend{margin-top:8px}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}@page{size:landscape;margin:.35in}}
