.wedding-services-section {
  background: linear-gradient(180deg, #fffdf9 0%, #faf7f2 100%);
}

.wedding-feature-grid {
  gap: clamp(18px, 2.2vw, 30px);
  align-items: stretch;
}

.wedding-feature-card {
  position: relative;
  padding: 0;
  display: flex;
  min-height: 650px;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(38, 51, 47, .14);
  background: #fffdf9;
  box-shadow: 0 22px 55px rgba(38, 51, 47, .08);
  transition: transform .35s ease, box-shadow .35s ease;
}

.wedding-feature-card::after {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  z-index: 2;
  height: 3px;
  background: var(--rose);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s ease;
}

.wedding-feature-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 30px 70px rgba(38, 51, 47, .14);
}

.wedding-feature-card:hover::after { transform: scaleX(1); }

.wedding-feature-card__image {
  position: relative;
  height: 420px;
  flex: 0 0 420px;
  overflow: hidden;
  background: #e8e4dd;
}

.wedding-feature-card__image::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 24%;
  background: linear-gradient(transparent, rgba(25, 34, 30, .12));
  pointer-events: none;
}

.wedding-feature-card__image img,
.feature-card--image .wedding-feature-card__image img {
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  object-position: center;
  transition: transform .7s cubic-bezier(.2,.7,.2,1);
}

.wedding-feature-card:first-child .wedding-feature-card__image img { object-position: center 45%; }
.wedding-feature-card:last-child .wedding-feature-card__image img { object-position: center 52%; }
.wedding-feature-card:hover .wedding-feature-card__image img { transform: scale(1.025); }

.wedding-feature-card:nth-child(2) .wedding-feature-card__image img { object-position: center 48%; }
.wedding-feature-card:nth-child(3) .wedding-feature-card__image img { object-position: center 56%; }

.wedding-feature-card__content,
.feature-card--image .wedding-feature-card__content {
  position: relative;
  padding: 31px 32px 34px;
  display: flex;
  flex: 1;
  flex-direction: column;
  margin: 0;
}

.wedding-feature-card .feature-card__number {
  display: flex;
  align-items: center;
  gap: 11px;
  color: var(--rose);
  font-size: 10px;
  font-style: normal;
  font-weight: 600;
  letter-spacing: .16em;
}

.wedding-feature-card .feature-card__number::after {
  content: '';
  width: 30px;
  height: 1px;
  order: 1;
  background: #d8cbc5;
}

.wedding-feature-card .feature-card__number i {
  order: 2;
  color: #7b8580;
  font-style: normal;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.wedding-feature-card h3 {
  margin: 16px 0 12px;
  font-size: clamp(31px, 2.5vw, 39px);
  letter-spacing: -.015em;
}

.wedding-feature-card p {
  max-width: 34ch;
  color: #59645f;
  font-size: 15px;
  line-height: 1.75;
}

@media (max-width: 1000px) {
  .wedding-feature-card { min-height: 620px; }
  .wedding-feature-card__image { height: 390px; flex-basis: 390px; }
}

@media (max-width: 620px) {
  .wedding-feature-grid { gap: 22px; }
  .wedding-feature-card { min-height: 0; }
  .wedding-feature-card__image { height: 430px; flex-basis: 430px; }
  .wedding-feature-card__content, .feature-card--image .wedding-feature-card__content { padding: 28px 26px 31px; }
}

@media (prefers-reduced-motion: reduce) {
  .wedding-feature-card, .wedding-feature-card__image img { transition: none; }
}
