.promo-hero {
  background: linear-gradient(135deg, #fffaf0 0%, #f6e5bb 100%);
}

.promo-hero h1 {
  font-size: clamp(3.4rem, 6.7vw, 7rem);
}

.promo-subtitle {
  color: var(--green);
  font-family: Oswald, sans-serif;
  font-size: clamp(1.25rem, 2vw, 1.8rem);
  font-weight: 600;
  margin: 20px 0;
  text-transform: uppercase;
}

.promo-price {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-bottom: 20px;
}

.promo-price small {
  color: #a21d18;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.promo-price strong {
  color: #b51f18;
  font: 700 clamp(2.8rem, 5vw, 4.8rem)/1 Oswald, sans-serif;
}

.promo-price span {
  color: #6f6252;
  text-decoration: line-through;
}

.promo-benefits {
  display: grid;
  gap: 5px;
  list-style: none;
  margin: 0 0 25px;
  padding: 0;
}

.promo-benefits li::before {
  color: var(--green);
  content: "✓";
  font-weight: 700;
  margin-right: 9px;
}

.promo-terms {
  color: #746b5d;
  font-size: 0.78rem;
  margin: 18px 0 0;
}

.promo-poster {
  background: #0b285a;
}

.promo-poster img {
  object-fit: contain;
}

.promotion {
  background: #fff;
}

.signature-banner {
  width: 100%;
}

.promo-dishes {
  display: grid;
  gap: 24px;
  grid-template-columns: 1fr 1fr;
  margin-top: 26px;
}

.promo-dishes article {
  background: var(--cream);
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  min-height: 420px;
}

.promo-dishes article > img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.promo-dishes article > div {
  align-self: center;
  padding: 30px;
}

.promo-dishes h2 {
  font-size: clamp(2.3rem, 4vw, 4.3rem);
}

@media (max-width: 900px) {
  .promo-dishes { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .promo-hero .hero-copy { padding-top: 48px; }
  .promo-poster { min-height: 610px; }
  .promo-dishes article { grid-template-columns: 1fr; }
  .promo-dishes article > img { aspect-ratio: 4 / 3; }
}
