.calendar-promos{padding:clamp(28px,5vw,64px) 0}.promo-heading{font-size:clamp(1.6rem,3vw,2.4rem);margin:0 0 22px;color:#153652}.calendar-promo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.calendar-promo{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:clamp(24px,4vw,40px);border-radius:24px;text-decoration:none!important;min-width:0;box-shadow:0 8px 24px #123b6510;transition:transform .18s ease}.calendar-promo:hover{transform:translateY(-3px)}.calendar-promo:focus-visible{outline:4px solid #e5ad2d;outline-offset:5px}.calendar-promo small{font-weight:750;letter-spacing:.05em;text-transform:uppercase}.calendar-promo h3{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.2;margin:0;color:inherit}.calendar-promo p{margin:0;line-height:1.6;max-width:34em;color:inherit}.promo-action{margin-top:auto;padding-top:12px;font-weight:750;text-decoration:underline;text-underline-offset:5px}.calendar-promo.xmas{background:#174c43;color:#fff8e6}.calendar-promo.xmas:after{content:'✦';position:absolute;right:-8px;top:-54px;font-size:220px;line-height:1;color:#e9c88422;z-index:-1}.calendar-promo.xmas small{color:#f5d591}.calendar-promo.year{background:#e6f1f0;color:#123f7c;border:1px solid #c6dfdc}.calendar-promo.year:after{content:'2027';position:absolute;right:8px;bottom:-12px;font-size:110px;font-weight:850;line-height:1;color:#123f7c08;z-index:-1}.calendar-promo.year small{color:#255f58}@media(max-width:680px){.calendar-promo-grid{grid-template-columns:1fr}.calendar-promo{padding:26px}}@media(prefers-reduced-motion:reduce){.calendar-promo{transition:none}.calendar-promo:hover{transform:none}}

.availability-note {
  position: relative;
  max-width: 35rem;
  margin: 1.5rem 0 0;
  padding: 1.1rem 1.25rem;
  border: 1px solid #ebcd76;
  border-left: 5px solid #d7a331;
  border-radius: 6px 14px 14px 6px;
  background: #fff4ce;
  color: #222b3b;
  box-shadow: 0 6px 18px #001d4526;
}
.availability-note .availability-link {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  color: #103d75;
  text-underline-offset: .2em;
}
.availability-link strong { font-size: clamp(1.1rem, 2vw, 1.3rem); line-height: 1.25; }
.availability-link:focus-visible { outline: 3px solid #103d75; outline-offset: 4px; }
.availability-note p { margin: .65rem 0 0; font-size: .93rem; line-height: 1.45; }
