.wrapping-page {
  position: relative;
  min-height: 100vh;
  padding: 150px 0 70px;
  overflow: clip;
}

.wrapping-heading {
  position: relative;
  z-index: 2;
  max-width: 920px;
  margin: 0 auto 54px;
  text-align: center;
}

.wrapping-heading h1 {
  margin: 22px 0 24px;
  color: var(--brown);
  font-size: clamp(3.2rem, 8vw, 7rem);
  line-height: 0.88;
  letter-spacing: -0.075em;
}

.wrapping-heading h1 span {
  display: block;
  color: var(--orange-dark);
}

.wrapping-heading p:not(.eyebrow) {
  max-width: 760px;
  margin: 0 auto;
  color: #70411f;
  line-height: 1.8;
  font-size: clamp(1rem, 1.15vw, 1.16rem);
}

.wrapping-gallery {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 240px;
  gap: 18px;
  padding: 20px;
  border-radius: 38px;
  background:
    linear-gradient(145deg, rgba(255, 238, 218, 0.72), rgba(255, 200, 145, 0.38));
  border: 1px solid rgba(244, 123, 32, 0.2);
  box-shadow: var(--shadow);
}

.wrapping-item {
  min-height: 240px;
  border-radius: 28px;
  border: 1px solid rgba(244, 123, 32, 0.2);
}

.wrapping-large {
  grid-column: span 2;
  grid-row: span 2;
}

.wrapping-wide {
  grid-column: span 2;
}

.wrapping-info {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 34px;
}

.wrapping-card {
  padding: 28px;
  border-radius: 28px;
}

.wrapping-card span {
  display: inline-flex;
  margin-bottom: 28px;
  color: var(--orange);
  font-weight: 900;
  font-size: 0.86rem;
  letter-spacing: 0.16em;
}

.wrapping-card h3 {
  margin: 0 0 12px;
  color: var(--orange-dark);
  font-size: 1.35rem;
  letter-spacing: -0.04em;
}

.wrapping-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
  font-size: 0.96rem;
}

.wrapping-cta-section {
  padding-top: 50px;
}

@media (max-width: 1050px) {
  .wrapping-gallery {
    grid-template-columns: repeat(2, 1fr);
  }

  .wrapping-large,
  .wrapping-wide {
    grid-column: span 1;
    grid-row: span 1;
  }

  .wrapping-info {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .wrapping-page {
    padding: 120px 0 50px;
  }

  .wrapping-heading {
    margin-bottom: 34px;
  }

  .wrapping-heading h1 {
    font-size: clamp(3rem, 15vw, 4.8rem);
  }

  .wrapping-gallery {
    grid-template-columns: 1fr;
    grid-auto-rows: 260px;
    padding: 12px;
    border-radius: 28px;
  }

  .wrapping-item {
    min-height: 260px;
    border-radius: 22px;
  }

  .wrapping-card {
    padding: 24px;
  }
}