/* SERVICE extends the existing BVS editorial system; shared Hero rules stay untouched. */
.service-page-body { background: var(--color-background-light); }
.service-eyebrow { margin: 0 0 1.6rem; color: var(--color-text-muted); font-size: .72rem; font-weight: 700; letter-spacing: .15em; line-height: 1.7; }
.service-hero .service-eyebrow { color: var(--color-brand); }
.service-hero .standard-page-hero__title { max-width: none; }
.service-hero .standard-page-hero__lead { max-width: none; }
.service-hero__title > span,
.service-hero__lead > span { display: inline; }
.service-no-break { white-space: nowrap; }
.service-section { padding-block: var(--section-space-lg); scroll-margin-top: 7rem; }
.service-editorial { display: grid; grid-template-columns: minmax(9rem,.34fr) minmax(0,1.66fr); gap: 2rem clamp(3rem,7vw,7.5rem); }
.service-copy { min-width: 0; max-width: 52rem; }
.service-copy > .display-heading { margin-bottom: 2.25rem; }
.service-copy p, .service-coverage p, .service-strengths p { font-size: var(--type-body); line-height: 1.95; line-break: strict; overflow-wrap: break-word; word-break: normal; text-wrap: pretty; }
.service-copy p + p { margin-top: 1.25rem; }
.service-page-body .sentence { display: block; }
.service-cg-intro__line { display: inline; }
@media (min-width: 769px) {
  .service-cg-intro__line { display: block; white-space: nowrap; }
}
.service-copy .service-process__title { max-width: none; }
.service-process__title > span { display: inline; }
.service-page-body .about-section--ai .about-section-label::after { display: none; }
.service-visual { margin: 3.5rem 0 0; }
.service-visual img { display: block; width: 100%; height: auto; max-height: 760px; object-fit: cover; }
.service-visual figcaption { margin-top: .9rem; color: var(--color-text-muted); font-size: .8rem; }
.service-visual--wide img { aspect-ratio: 16/9; object-position: 50% 52%; }
.service-coverage { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(1.5rem,3vw,3rem); margin-block: 3.5rem 2rem; }
.service-coverage section { padding-top: 1.5rem; border-top: 1px solid var(--color-border); }
.service-coverage h3, .service-format h3, .service-strengths h3, .service-process h3, .service-transfer h3 { margin: 0 0 .85rem; font-size: var(--type-h3); font-weight: 600; line-height: 1.6; }
.service-text-link { display: inline-flex; gap: .8rem; align-items: center; min-height: 44px; padding-block: .4rem; border-bottom: 1px solid currentColor; font-size: .9rem; font-weight: 600; }
.service-text-link:hover { opacity: .75; }
.service-link-row { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; margin-top: 1rem; }
.service-section--dark { color: var(--color-white); background: var(--color-dark); }
.service-section--dark .display-heading { color: var(--color-white); }
.service-section--dark .service-eyebrow { color: var(--color-brand); }
.service-section--dark p { color: rgba(255,255,255,.8); }
.service-section--dark .service-text-link { color: var(--color-brand); }
.service-format { margin-top: 2.8rem; padding-top: 2rem; border-top: 1px solid var(--color-border-light); }
.service-format .service-text-link { margin-top: 0; }
.service-strengths { margin: 3.5rem 0 0 auto; max-width: 66rem; }
.service-strengths section { display: grid; grid-template-columns: 2rem minmax(0,1fr); gap: 1.5rem; padding-block: 2rem; border-top: 1px solid var(--color-border); }
.service-strengths section > span { padding-top: .3rem; color: var(--color-text-muted); font-size: .8rem; }
.service-note { color: var(--color-text-muted); font-size: .85rem !important; line-height: 1.8 !important; }
.service-page-body .about-fee__scope-note { max-width: 52rem; margin-top: 1rem; color: var(--color-text-muted); font-size: .86rem; line-height: 1.8; }
.service-section--muted { background: var(--color-background); }
.service-process { margin: 2.5rem 0 0; padding-left: 1.6rem; list-style: decimal; }
.service-process li { padding: 0 0 2rem 1rem; }
.service-process li::marker { color: var(--color-text-muted); font-size: .85rem; }
.service-contact__content { display: grid; gap: clamp(1.5rem,2.5vw,2.25rem); }
.service-contact .display-heading { max-width: 24ch; }
.service-contact .contact__body { margin-top: 0; }
.service-contact .section-cta { margin-top: .25rem; }
.service-eyebrow--light { margin-bottom: 0; color: var(--color-brand); }
@media (max-width: 990px) {
  .service-editorial { grid-template-columns: 1fr; gap: 1rem; }
  .service-coverage { grid-template-columns: 1fr; gap: 1.5rem; }
  .service-visual img { aspect-ratio: auto; max-height: none; object-fit: contain; }
}
@media (max-width: 520px) {
  .service-hero__title { font-size: clamp(2rem, 8.4vw, 2.2rem); }
  .service-hero__title > span,
  .service-hero__lead > span,
  .service-process__title > span { display: block; }
  .service-hero__title > span { white-space: nowrap; }
  .service-desktop-break { display: none; }
  .service-copy > .display-heading { margin-bottom: 1.7rem; }
  .service-process__title { font-size: clamp(1.55rem, 6.8vw, 1.7rem); }
  .service-visual { margin-top: 2.25rem; }
  .service-strengths section { grid-template-columns: 1.5rem minmax(0,1fr); gap: .75rem; }
}
