.availability{max-width:1320px}.availability header{max-width:760px;margin:36px 0 24px}.eyebrow{color:#905575;text-transform:uppercase;letter-spacing:.15em;font-size:.8rem;font-weight:700}.availability h1{margin:12px 0 16px}.availability-legend{display:flex;flex-wrap:wrap;gap:12px}.availability-legend span{padding:8px 15px;border-radius:99px;font-weight:600}.available-key,.date.available{background:#dcefe1;color:#225936}.taken-key,.date.taken{background:#f9dfe2;color:#8b2638}.totals{font-size:1.15rem}.explanation{max-width:900px;font-size:.9rem}.year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:28px 0 40px}.availability-month{margin:0;padding:22px;min-width:0;overflow-wrap:anywhere}.availability-month h2{margin:0 0 15px;font-size:1.6rem}.availability-month h2 span{font-family:system-ui,sans-serif;font-size:.9rem;color:var(--muted)}.calendar-name{margin:0 0 10px;color:var(--muted);font-size:.85rem}.month-theme{margin:0;min-height:82px;padding:12px 14px;border-radius:9px;background:#f7f0f5}.month-theme span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#77566e}.month-theme strong{display:block;margin-top:5px;font-size:1.08rem}.month-count{font-size:.8rem;color:var(--muted);margin:14px 0}.dates-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekday{font-size:.68rem;text-align:center;color:var(--muted);padding-bottom:5px}.date{aspect-ratio:1;min-height:36px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15;border:1px solid transparent;font-size:.94rem;font-weight:650}.date.taken{border-color:#edb9c2}.date small{font-size:.58rem;margin-top:2px}.availability footer{text-align:center;font-size:.85rem;color:var(--muted);padding:24px 0;border-top:1px solid var(--line)}@media(max-width:1020px){.year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.year-grid{grid-template-columns:1fr;gap:16px}.availability-month{padding:20px}.month-theme{min-height:0}.date{min-height:38px}.availability header{margin-top:24px}}@media print{.availability nav,.explanation{display:none}.year-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.availability-month{break-inside:avoid;padding:10px}.date{min-height:22px;print-color-adjust:exact}.month-theme{min-height:0}.date small{font-size:7px}}
