.service-page { background: #f5f1e8; }
.service-nav-wrap { position: absolute; z-index: 20; inset: 0 0 auto; border-bottom: 1px solid rgba(255,255,255,.22); }
.service-hero { min-height: 700px; position: relative; display: flex; align-items: flex-end; color: #fff; overflow: hidden; }
.service-hero > img, .service-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.service-hero-shade { background: linear-gradient(90deg,rgba(7,13,18,.9) 0%,rgba(7,13,18,.7) 47%,rgba(7,13,18,.12) 82%),linear-gradient(0deg,rgba(7,13,18,.58),transparent 58%); }
.service-hero-content { position: relative; z-index: 2; padding: 175px 0 70px; }
.service-hero h1 { max-width: 850px; font-size: clamp(3rem,6.3vw,6.2rem); }
.service-hero-copy { max-width: 650px; margin: 24px 0 30px; font-size: 1.12rem; color: rgba(255,255,255,.82); }
.breadcrumbs { margin-bottom: 28px; font-size: .78rem; color: rgba(255,255,255,.7); }
.breadcrumbs a { border-bottom: 1px solid rgba(255,255,255,.35); }
.service-proof { background: #fff; border-bottom: 1px solid var(--line); }
.service-proof .shell { display: grid; grid-template-columns: repeat(4,1fr); }
.service-proof div { padding: 24px 24px 24px 0; border-right: 1px solid var(--line); }
.service-proof div + div { padding-left: 24px; }
.service-proof strong, .service-proof span { display: block; }
.service-proof strong { font: 700 1.05rem "Playfair Display",serif; }
.service-proof span { color: var(--muted); font-size: .78rem; margin-top: 3px; }
.service-detail { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; padding: 115px 0; align-items: start; }
.service-detail h2 { font-size: clamp(2.4rem,4vw,4.4rem); }
.service-detail-copy > p { color: var(--muted); font-size: 1.05rem; margin: 0 0 22px; }
.service-checks { list-style: none; padding: 8px 0 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 22px; }
.service-checks li { padding: 14px 0; border-top: 1px solid var(--line); font-weight: 600; }
.service-checks li:before { content: "—"; color: #a87831; margin-right: 9px; }
.personal-section { background: #1b1a18; color: #fff; padding: 110px 0; }
.personal-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 80px; align-items: center; }
.personal-photo { margin: 0; height: 580px; position: relative; overflow: hidden; }
.personal-photo img { width: 100%; height: 100%; object-fit: cover; }
.personal-photo figcaption { position: absolute; left: 18px; bottom: 16px; padding: 8px 12px; background: rgba(15,15,15,.78); font-size: .76rem; }
.personal-copy h2 { font-size: clamp(2.35rem,4vw,4.2rem); }
.personal-copy > p:not(.eyebrow) { color: rgba(255,255,255,.68); margin: 24px 0; font-size: 1.05rem; }
.personal-quote { border-left: 2px solid var(--gold); padding-left: 22px; margin: 30px 0; font: 600 1.3rem/1.45 "Playfair Display",serif; color: #f1d49c; }
.related-services { padding: 110px 0; }
.related-heading { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 42px; }
.related-heading h2 { font-size: clamp(2.2rem,3.6vw,3.7rem); }
.related-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.related-card { min-height: 250px; padding: 30px; background: #fff; display: flex; flex-direction: column; border-top: 3px solid #ba8a41; }
.related-card span { color: #9a7136; text-transform: uppercase; letter-spacing: .13em; font-size: .68rem; font-weight: 700; }
.related-card h3 { margin: 18px 0 10px; font: 700 1.5rem/1.2 "Playfair Display",serif; }
.related-card p { color: var(--muted); margin: 0 0 24px; }
.related-card a { margin-top: auto; color: #8a632e; font-weight: 700; }
.service-cta { background: #294b5a; color: #fff; padding: 95px 0; text-align: center; }
.service-cta h2 { max-width: 850px; margin: 0 auto 20px; }
.service-cta p { color: rgba(255,255,255,.72); max-width: 650px; margin: 0 auto 30px; }
.service-footer-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2px 22px; }
@media (max-width: 800px) {
  .service-hero { min-height: 680px; }
  .service-hero-content { padding: 145px 0 48px; }
  .service-proof .shell { grid-template-columns: 1fr 1fr; }
  .service-proof div:nth-child(2) { border-right: 0; }
  .service-detail, .personal-grid { grid-template-columns: 1fr; gap: 46px; }
  .service-detail, .related-services { padding: 78px 0; }
  .personal-section { padding: 78px 0; }
  .personal-photo { height: 450px; }
  .service-checks, .related-grid { grid-template-columns: 1fr; }
  .related-heading { align-items: flex-start; flex-direction: column; }
}
