
.u-section-1 {
  padding: 54px 0 72px;
}

.u-section-1 .u-sheet-1 {
  min-height: 0;
}

.service-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(360px, 0.96fr);
  min-height: 760px;
  overflow: hidden;
  border-radius: 2px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.10);
}

.service-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 72px 68px 68px;
}

.service-kicker {
  margin: 0 0 12px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 2.2px;
  line-height: 1.4;
  text-transform: uppercase;
  color: #011536;
}

.u-section-1 .u-text-1 {
  margin: 0;
  text-align: left;
  line-height: 1.08;
}

.service-lead {
  max-width: 610px;
  margin: 24px 0 0;
  font-size: 1.18rem;
  line-height: 1.75;
}

.service-content-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 34px;
}

.service-detail {
  padding: 22px 22px 20px;
  border-left: 3px solid #011536;
  background: rgba(1, 21, 54, 0.045);
}

.service-detail-wide {
  grid-column: 1 / -1;
}

.service-detail h3 {
  margin: 0 0 9px;
  font-size: 1.08rem;
  line-height: 1.35;
}

.service-detail p {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.72;
}

.u-section-1 .u-btn-1 {
  align-self: flex-start;
  --radius: 50px;
  margin: 34px 0 0;
  padding: 20px 42px 21px;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.service-visual {
  min-height: 760px;
  background-repeat: no-repeat;
  background-size: cover;
}

@media (max-width: 1199px) {
  .service-shell {
    grid-template-columns: minmax(0, 1fr) minmax(330px, 0.82fr);
  }

  .service-copy {
    padding: 60px 46px;
  }
}

@media (max-width: 991px) {
  .u-section-1 {
    padding: 36px 0 54px;
  }

  .service-shell {
    grid-template-columns: 1fr;
  }

  .service-copy {
    padding: 54px 48px;
  }

  .service-visual {
    min-height: 520px;
  }
}

@media (max-width: 767px) {
  .service-copy {
    padding: 46px 32px;
  }

  .service-content-grid {
    grid-template-columns: 1fr;
  }

  .service-detail-wide {
    grid-column: auto;
  }

  .service-lead {
    font-size: 1.08rem;
  }

  .service-visual {
    min-height: 430px;
  }
}

@media (max-width: 575px) {
  .u-section-1 {
    padding: 0 0 42px;
  }

  .service-copy {
    padding: 42px 24px;
  }

  .service-shell {
    box-shadow: none;
  }

  .service-visual {
    min-height: 350px;
  }

  .u-section-1 .u-btn-1 {
    width: 100%;
    text-align: center;
    padding-left: 20px;
    padding-right: 20px;
  }
}

.wedding-visual {
  background-image: url("images/6WeddingPage.jpg");
  background-position: 76% 50%;
}


/* Service pricing */
.pricing-section { padding: 76px 0 84px; background: rgba(1, 21, 54, 0.035); }
.pricing-heading { max-width: 760px; margin: 0 auto 42px; text-align: center; }
.pricing-heading .service-kicker { margin-bottom: 12px; }
.pricing-heading h2 { margin: 0; line-height: 1.15; }
.pricing-heading > p:last-child { margin: 18px auto 0; font-size: 1.08rem; line-height: 1.75; }
.pricing-grid { display: grid; gap: 22px; align-items: stretch; }
.pricing-grid-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pricing-grid-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pricing-card { position: relative; display: flex; flex-direction: column; min-height: 100%; padding: 32px 28px 28px; background: #fff; border: 1px solid rgba(1,21,54,.16); box-shadow: 0 12px 34px rgba(0,0,0,.07); }
.pricing-card-featured { border-top: 4px solid #011536; transform: translateY(-8px); box-shadow: 0 18px 42px rgba(0,0,0,.11); }
.featured-badge { align-self: flex-start; margin: -18px 0 18px; padding: 7px 11px; background: #011536; color: #fff; font-size: .72rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.tier-label { margin: 0 0 9px; color: #011536; font-size: .76rem; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; }
.pricing-card h3 { margin: 0; font-size: 1.35rem; line-height: 1.3; }
.price { margin: 17px 0 18px; color: #011536; font-size: 1.75rem; font-weight: 700; line-height: 1; }
.pricing-card > p:not(.tier-label):not(.price):not(.featured-badge):not(.package-meta) { margin: 0; line-height: 1.7; }
.package-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 22px 0 0; padding-top: 18px; border-top: 1px solid rgba(1,21,54,.13); font-size: .9rem; }
.package-link { display: inline-block; margin-top: auto; padding-top: 25px; color: #011536; font-size: .8rem; font-weight: 700; letter-spacing: .8px; text-decoration: none; text-transform: uppercase; }
.package-link:after { content: '  →'; }
.package-link:hover { text-decoration: underline; }
.package-notes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-top: 34px; }
.package-notes > div { padding: 27px 30px; background: #fff; border-left: 3px solid #011536; }
.package-notes h3 { margin: 0 0 10px; font-size: 1.1rem; }
.package-notes p { margin: 0; line-height: 1.72; }
.memorial-pricing .pricing-card { box-shadow: 0 10px 28px rgba(0,0,0,.055); }
@media (max-width: 1199px) { .pricing-grid-four { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 991px) { .pricing-section { padding: 62px 0 68px; } .pricing-grid-three { grid-template-columns: 1fr; } .pricing-card-featured { transform: none; } }
@media (max-width: 767px) { .pricing-grid-four, .package-notes { grid-template-columns: 1fr; } .pricing-heading { margin-bottom: 32px; } }
@media (max-width: 575px) { .pricing-section { padding: 50px 0 56px; } .pricing-card { padding: 28px 23px 24px; } .package-notes > div { padding: 24px; } }

/* Compact unified service layout */
.u-section-1{padding:34px 0 24px!important}.service-shell{grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr)!important;min-height:560px!important;box-shadow:0 14px 38px rgba(1,21,54,.10)!important}.service-copy{padding:44px 46px!important}.service-visual{min-height:560px!important}.service-lead{margin-top:16px!important;font-size:1.08rem!important;line-height:1.62!important}.service-content-grid{gap:12px!important;margin-top:22px!important}.service-detail{padding:16px 18px!important;border-left-color:var(--ds-gold)!important}.service-detail p{line-height:1.55!important;font-size:.94rem!important}.service-detail h3{margin-bottom:6px!important}.u-section-1 .u-btn-1{margin-top:22px!important;padding:15px 30px!important}.pricing-section{padding:38px 0 52px!important;background:var(--ds-ivory)!important}.pricing-heading{margin-bottom:24px!important}.pricing-heading>p:last-child{margin-top:10px!important;line-height:1.55!important}.pricing-grid{gap:14px!important}.pricing-card{padding:22px 20px 20px!important;box-shadow:0 8px 24px rgba(1,21,54,.07)!important}.pricing-card-featured{transform:none!important;border-top-color:var(--ds-gold)!important}.price{margin:11px 0 12px!important;font-size:1.55rem!important}.pricing-card>p:not(.tier-label):not(.price):not(.featured-badge):not(.package-meta){line-height:1.52!important;font-size:.92rem!important}.package-meta{margin-top:14px!important;padding-top:12px!important}.package-link{padding-top:17px!important}.package-notes{gap:14px!important;margin-top:18px!important}.package-notes>div{padding:20px 22px!important;border-left-color:var(--ds-gold)!important}.package-notes p{line-height:1.55!important;font-size:.92rem!important}@media(max-width:991px){.service-shell{min-height:0!important}.service-visual{min-height:390px!important}.service-copy{padding:38px!important}}@media(max-width:575px){.u-section-1{padding-top:0!important}.service-copy{padding:34px 22px!important}.service-visual{min-height:310px!important}.pricing-section{padding:32px 0 42px!important}}

/* Uniform pricing tier alignment */
.pricing-grid{align-items:stretch!important}
.pricing-card{display:grid!important;grid-template-rows:auto minmax(3.5rem,auto) auto minmax(6.6rem,1fr) auto auto;align-content:start;height:100%!important;border-top:1px solid rgba(1,21,54,.16)!important;transform:none!important}
.pricing-card .tier-label{align-self:start}
.pricing-card h3{align-self:start;margin-bottom:0!important}
.pricing-card .price{align-self:start}
.pricing-card .package-meta{align-self:end}
.pricing-card .package-link{align-self:end;margin-top:0!important}
@media(max-width:991px){.pricing-card{grid-template-rows:auto auto auto auto auto auto}}
