.promotions-page {
  background:
    radial-gradient(circle at 14% 3%, rgba(229, 218, 208, .34), transparent 32rem),
    var(--ivory);
}

.promotions-page .main-nav > a:not(.nav-men-button).is-current { color: var(--green-deep); }
.promotions-hero { padding-top: 64px; padding-bottom: 42px; }
.promotions-breadcrumbs { display: flex; align-items: center; gap: 10px; margin-bottom: 64px; color: var(--muted); font-size: 13px; }
.promotions-breadcrumbs a { color: var(--ink); }
.promotions-heading { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .55fr); align-items: end; gap: 48px; padding-bottom: 46px; border-bottom: 1px solid var(--line); }
.promotions-heading h1 { max-width: 850px; margin: 8px 0 0; color: var(--ink); font-size: clamp(54px, 8vw, 108px); font-weight: 400; line-height: .92; letter-spacing: -.07em; text-transform: uppercase; }
.promotions-heading > p { max-width: 440px; margin: 0 0 7px; color: var(--muted); font-size: 16px; line-height: 1.7; }

.promotions-content { padding-bottom: 78px; }
.promotions-page .promotions-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.promotions-page .promotion-tile:nth-child(3n + 1) { --promo-bg: #e5eee5; --promo-accent: #55745f; --promo-accent-soft: #ceddce; --promo-shadow: rgba(85,116,95,.18); }
.promotions-page .promotion-tile:nth-child(3n + 2) { --promo-bg: #f3e1db; --promo-accent: #91665b; --promo-accent-soft: #e8cbc2; --promo-shadow: rgba(145,102,91,.17); }
.promotions-page .promotion-tile:nth-child(3n) { --promo-bg: #ebe4f1; --promo-accent: #72617f; --promo-accent-soft: #d9cde2; --promo-shadow: rgba(114,97,127,.17); }
.promotions-page .promotion-tile { min-height: 610px; }
.promotions-page .promotion-media { height: 300px; }
.promotions-page .promotion-content { min-height: 310px; padding: 27px 28px 25px; }
.promotions-page .promotion-content strong { min-height: 58px; font-size: clamp(23px, 2vw, 30px); }
.promotions-page .promotion-description { font-size: 13px; }
.promotions-page .promotions-note { margin-top: 18px; font-size: 11px; }
.promotions-loading { grid-column: 1 / -1; padding: 70px 0; color: var(--muted); text-align: center; }

@media (min-width: 901px) {
  .promotions-page .promotion-media {
    height: auto;
    aspect-ratio: 1 / 1;
  }
}

.promotions-cta { margin-bottom: 96px; padding: 52px clamp(34px, 5vw, 68px); display: flex; align-items: flex-end; justify-content: space-between; gap: 36px; border-radius: 34px; background: linear-gradient(125deg, var(--green-pale), var(--rose)); }
.promotions-cta > div { min-width: 0; max-width: 760px; }
.promotions-cta h2 { margin: 0; font-size: clamp(32px, 4.5vw, 58px); font-weight: 400; line-height: 1.05; letter-spacing: -.055em; }
.promotions-cta p:not(.eyebrow) { max-width: 640px; margin: 19px 0 0; color: var(--muted); line-height: 1.7; }
.promotions-cta .button { flex: 0 0 auto; }

@media (max-width: 900px) {
  .promotions-heading { grid-template-columns: 1fr; gap: 24px; }
  .promotions-page .promotions-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; }
  .promotions-cta { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 640px) {
  .promotions-hero { padding-top: 34px; padding-bottom: 28px; }
  .promotions-breadcrumbs { margin-bottom: 40px; }
  .promotions-heading { padding-bottom: 30px; }
  .promotions-heading h1 { font-size: 52px; }
  .promotions-page .promotions-grid { grid-template-columns: 1fr; gap: 16px; padding-bottom: 0; }
  .promotions-page .promotion-tile { width: 100%; min-width: 0; min-height: 570px; scroll-snap-align: none; }
  .promotions-page .promotion-media { height: 270px; }
  .promotions-cta { margin-bottom: 54px; padding: 38px 24px; border-radius: 26px; }
}
