.mb-season { margin-top: var(--mb-band); padding: var(--mb-band) var(--mb-inset); background: var(--mb-bottle); color: var(--mb-on-bottle); }
.mb-season .mb-folio { border-color: var(--mb-on-bottle); }
.mb-season .mb-folio__no { color: var(--mb-clipping); }
.mb-season__head { display: grid; gap: 1rem 3rem; margin-bottom: clamp(2rem, 4vw, 3rem); }
.mb-season__head h2 { margin: 0; max-width: 12ch; }
.mb-season__head p { margin: 0; max-width: 34rem; color: var(--mb-on-bottle-muted); font-size: var(--mb-size-lede); }

.mb-almanac { margin: 0 0 clamp(3rem, 5vw, 4.5rem); padding: 0; list-style: none; border-top: 1px solid var(--mb-bottle-soft); }
.mb-almanac__row { display: grid; gap: .5rem; padding: .85rem 0; border-bottom: 1px solid var(--mb-bottle-soft); }
.mb-almanac__name { display: flex; align-items: center; gap: .6rem; margin: 0; font-weight: 600; }
.mb-almanac__name .mb-icon { color: var(--mb-clipping); }
.mb-almanac__months { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 3px; margin: 0; padding: 0; list-style: none; }
.mb-month { padding: .4rem 0; text-align: center; font-size: var(--mb-size-small); font-weight: 600; color: var(--mb-on-bottle-muted); background: var(--mb-bottle-soft); }
.mb-month--on { background: var(--mb-clipping); color: var(--mb-bottle); transition: transform .3s var(--mb-ease); }
.mb-almanac__row:hover .mb-month--on { transform: scaleY(1.25); }

.mb-season__programs { display: grid; gap: 2rem 1.5rem; margin: 0; padding: 0; list-style: none; }
.mb-program__photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.mb-program__name { display: flex; align-items: center; gap: .5rem; margin: 1rem 0 .4rem; }
.mb-program__name .mb-icon { color: var(--mb-clipping); }
.mb-program__price { margin: 0 0 .4rem; font-weight: 700; color: var(--mb-clipping); }
.mb-program__text { margin: 0; color: var(--mb-on-bottle-muted); font-size: .9375rem; }

@media (min-width: 48rem) {
  .mb-almanac__row { grid-template-columns: 12rem 1fr; align-items: center; }
  .mb-season__programs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 64rem) {
  .mb-season__head { grid-template-columns: 5fr 7fr; align-items: end; }
  .mb-season__head .mb-folio { grid-column: 1 / -1; }
  .mb-season__programs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .mb-season__programs > :nth-child(even) { margin-top: 3rem; }
}
