.service-page {
  width:min(1180px, calc(100% - 2rem));
  margin:0 auto;
  padding:clamp(2rem, 5vw, 4.5rem) 0 clamp(4rem, 7vw, 6rem);
}
.service-hero {
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(360px, .95fr);
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(135deg, var(--white), var(--blue-soft));
  box-shadow:0 20px 48px rgba(38, 57, 74, .08);
}
.service-hero-copy {
  padding:clamp(2rem, 5vw, 4.5rem);
  align-self:center;
}
.service-hero-copy .eyebrow {
  margin:0 0 .8rem;
  color:var(--gold-strong);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.service-hero-copy h1 {
  margin:0;
  font-size:clamp(2.2rem, 4.7vw, 4.5rem);
  line-height:1.04;
  letter-spacing:-.035em;
  text-wrap:balance;
  overflow-wrap:anywhere;
}
.service-hero-copy > p:not(.eyebrow) {
  max-width:660px;
  margin:1.25rem 0 1.75rem;
  color:var(--muted);
  font-size:clamp(1rem, 1.5vw, 1.16rem);
  line-height:1.75;
}
.service-hero-copy .primary-button {
  display:inline-block;
  padding:.8rem 1.1rem;
  border-radius:7px;
  color:var(--white);
  background:var(--gold-strong);
  font-weight:800;
  text-decoration:none;
}
.service-hero-media { min-height:460px; margin:0; background:var(--surface); }
.service-hero-media img { width:100%; height:100%; display:block; object-fit:cover; }
.service-detail-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1rem;
  margin-top:1.25rem;
}
.service-detail-card {
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  gap:.45rem 1rem;
  padding:clamp(1.5rem, 3vw, 2.25rem);
  border:1px solid rgba(185, 147, 80, .32);
  border-radius:16px;
  background:var(--white);
  box-shadow:0 14px 34px rgba(38, 57, 74, .05);
}
.service-detail-number {
  grid-row:1 / span 2;
  color:var(--gold-strong);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.12em;
}
.service-detail-card h2 { margin:0; font-size:clamp(1.2rem, 2vw, 1.55rem); }
.service-detail-card p { margin:.35rem 0 0; color:var(--muted); line-height:1.72; }
@media (max-width:760px) {
  .service-page { width:min(100% - 1.25rem, 1180px); padding-top:1rem; }
  .service-hero { grid-template-columns:1fr; }
  .service-hero-copy { padding:1.5rem; }
  .service-hero-copy h1 { font-size:clamp(2rem, 10vw, 2.75rem); }
  .service-hero-media { min-height:240px; order:-1; }
  .service-detail-grid { grid-template-columns:1fr; }
  .service-detail-card { padding:1.35rem; }
}
