.service-page { background: #fff; }
.service-hero { min-height: 430px; padding: 65px max(8%, calc((100vw - 1170px) / 2)); position: relative; overflow: hidden; display: flex; align-items: center; color: #fff; background: var(--navy-deep); }
.service-hero::after { content: none; }
.service-hero-layout { width: 100%; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(250px, .8fr); gap: 48px; align-items: center; position: relative; z-index: 1; }
.service-hero-copy { max-width: 700px; }
.service-hero-photo { width: 100%; max-width: 300px; justify-self: end; overflow: hidden; background: transparent; border-radius: 12px; }
.service-hero-photo img { display: block; width: 100%; height: auto; object-fit: contain; border-radius: 12px 12px 0 0; box-shadow: 0 12px 30px rgba(0,0,0,.18); }
.service-hero-photo .photo-caption { margin-left: auto; }
.service-hero .eyebrow { color: #a9c6e2; }
.service-hero h1 { margin: 0; font-size: clamp(46px, 6vw, 76px); line-height: 1.02; letter-spacing: -.055em; }
.service-hero p:not(.eyebrow) { max-width: 640px; margin: 22px 0 28px; color: #d9e2ec; font-size: 16px; line-height: 1.8; }
.service-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; }
.service-actions .text-link { color: #fff; }
.service-back { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 28px; color: #d1dce8; font-size: 12px; font-weight: 650; }
.service-back:hover { color: #fff; }
.service-detail { padding: 82px max(8%, calc((100vw - 1170px) / 2)); }
.service-detail-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 68px; align-items: start; }
.service-detail h2, .service-contact h2 { margin: 0; color: var(--navy); font-size: clamp(34px, 4vw, 48px); line-height: 1.12; letter-spacing: -.04em; }
.service-detail .eyebrow, .service-contact .eyebrow { color: var(--blue); }
.service-detail-copy { color: var(--muted); font-size: 14px; line-height: 1.85; }
.service-detail-copy p { margin: 0 0 17px; }
.service-offer-list { margin: 26px 0 0; padding: 0; list-style: none; }
.service-offer-list li { padding: 17px 0; display: flex; align-items: baseline; gap: 15px; border-bottom: 1px solid var(--line); color: #33465c; font-size: 14px; font-weight: 650; }
.service-offer-list li::before { content: '↗'; color: var(--gold); font-weight: 800; }
.service-contact { padding: 62px max(8%, calc((100vw - 1170px) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 32px; background: var(--mist); }
.service-contact > div:first-child { max-width: 650px; }
.service-contact p:not(.eyebrow) { margin: 14px 0 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.service-contact-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.service-contact-actions .button { justify-content: center; }
.service-email-link { min-height: 51px; padding: 0 20px; display: inline-flex; align-items: center; border: 1px solid #cbd6e1; border-radius: 7px; color: var(--navy); background: #fff; font-size: 12px; font-weight: 750; }
.service-email-link:hover { border-color: var(--blue); color: var(--blue); }
@media(max-width:760px) {
  .service-hero { min-height: auto; padding: 52px 7%; }
  .service-hero-layout { grid-template-columns: 1fr; gap: 30px; }
  .service-hero-photo { max-width: min(100%, 250px); justify-self: start; }
  .service-detail { padding: 65px 7%; }
  .service-detail-grid { grid-template-columns: 1fr; gap: 25px; }
  .service-contact { padding: 48px 7%; align-items: flex-start; flex-direction: column; }
}
