.desktop-nav a[aria-current="page"] { color: var(--red); }
.desktop-nav a[aria-current="page"]::after { transform: scaleX(1); }

.promotions-hero {
  padding: 96px 0 88px;
  background: var(--support);
  border-bottom: 1px solid var(--line);
}

.promotions-hero-inner { max-width: 920px; }
.eyebrow,
.promotion-label {
  margin: 0;
  color: var(--red);
  font-size: 12px;
  font-weight: 780;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.promotions-hero h1 {
  margin: 12px 0 0;
  font-family: var(--serif);
  font-size: clamp(54px, 7vw, 88px);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: .98;
}

.promotions-hero-inner > p:last-child {
  max-width: 610px;
  margin: 25px 0 0;
  color: var(--muted);
  font-size: 19px;
}

.promotions-list { padding: 88px 0 96px; }
.promotion-item {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
  align-items: stretch;
  border: 1px solid var(--line);
  background: var(--white);
}
.promotion-item + .promotion-item { margin-top: 42px; }
.promotion-item figure { min-height: 470px; margin: 0; overflow: hidden; background: var(--support); }
.promotion-item figure img { width: 100%; height: 100%; object-fit: cover; }
.promotion-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(38px, 5vw, 72px); }
.promotion-copy h2 {
  margin: 14px 0 0;
  font-family: var(--serif);
  font-size: clamp(37px, 4.2vw, 54px);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.04;
}
.promotion-copy > p:not(.promotion-label) { margin: 20px 0 0; color: var(--muted); font-size: 17px; }
.promotion-copy .button { align-self: flex-start; margin-top: 30px; }
.promotion-item-reverse figure { order: 2; }
.promotion-item-reverse .promotion-copy { order: 1; }
.promotion-note { margin-top: 24px; color: var(--muted); font-size: 13px; }

.site-footer .footer-cta .button-light {
  color: var(--white);
  background: var(--red);
  border-color: var(--red);
}

.site-footer .footer-cta .button-light:hover {
  color: var(--white);
  background: var(--red-dark);
  border-color: var(--red-dark);
}

@media (max-width: 860px) {
  .promotions-hero { padding: 68px 0 58px; }
  .promotion-item { grid-template-columns: 1fr; }
  .promotion-item figure { min-height: 0; aspect-ratio: 4 / 3; }
  .promotion-item-reverse figure { order: 1; }
  .promotion-item-reverse .promotion-copy { order: 2; }
  .promotion-copy { padding: 34px 26px 38px; }
}

@media (max-width: 560px) {
  .promotions-list { padding: 56px 0 70px; }
  .promotion-item + .promotion-item { margin-top: 24px; }
  .promotion-copy .button { width: 100%; }
}
