/* Service illustrations complement the reviewed copy; no results or metrics. */
body.visual-refresh .service-hero-layout { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); gap:clamp(28px,4vw,58px); align-items:center; }
.service-hero-copy { min-width:0; }
body.visual-refresh .hero.service-detail-hero,
body.visual-refresh .hero.service-overview-hero { padding-block:clamp(52px,6vw,88px); overflow:visible; }
body.visual-refresh .hero.service-detail-hero h1,
body.visual-refresh .hero.service-overview-hero h1 { font-size:clamp(2rem,3.25vw,3.25rem)!important; line-height:1.2!important; letter-spacing:-.05em; }
body.visual-refresh .service-detail-hero .lead,
body.visual-refresh .service-overview-hero .lead { font-size:clamp(.95rem,1.1vw,1.05rem)!important; line-height:1.8!important; }
.service-detail-hero .breadcrumb { flex-wrap:wrap; font-size:.75rem; margin-bottom:24px; }
body.visual-refresh .service-detail-hero nav.breadcrumb { position:static!important; padding:0; border:0!important; background:transparent!important; box-shadow:none!important; backdrop-filter:none!important; }
.service-rich-art { position:relative; margin:0; min-width:0; border:1px solid #d6e1f2; border-radius:24px; overflow:hidden; box-shadow:0 24px 60px -36px #163d78; background:#eaf1fb; }
.service-rich-art img { display:block; width:100%; height:auto; aspect-ratio:600/460; }
.service-rich-art figcaption { position:absolute; right:16px; bottom:14px; padding:4px 9px; border-radius:5px; color:#61718a; background:#fff; font-size:10px; line-height:1.4; }
.service-overview-photo { position:relative; min-width:0; margin:0 0 38px; border-radius:24px; isolation:isolate; }
.service-overview-photo > img { display:block; width:100%; height:400px; border-radius:24px; object-fit:cover; object-position:center; box-shadow:0 25px 70px -35px #244577; }
.service-overview-photo::before { content:''; position:absolute; z-index:-1; width:60%; height:65%; right:-16px; top:-18px; border-radius:24px; background:#dce6ff; }
.service-photo-label { position:absolute; display:flex; align-items:center; gap:9px; left:18px; top:18px; padding:11px 14px; background:#122745; color:#fff; border:1px solid #355279; border-radius:8px; font-size:12px; font-weight:600; }
.service-photo-label > span { width:7px; height:7px; border-radius:50%; background:#6ee0ba; }
.service-photo-inset { position:absolute; right:-15px; bottom:-38px; width:44%; min-width:160px; overflow:hidden; border:6px solid #f5f7fc; border-radius:16px; background:#10213d; box-shadow:0 12px 32px -20px #10213d; }
.service-photo-inset img { display:block; width:100%; height:120px; object-fit:cover; }
.service-photo-inset > span { display:block; padding:9px 12px; color:#fff; font-size:11px; font-weight:600; }
.service-overview-page .service-offer-grid { gap:24px; margin-top:32px; }
body.visual-refresh.service-overview-page .service-rich-card { display:block; padding:0; overflow:hidden; background:#fff!important; border:1px solid #d9e2f0; border-radius:20px; box-shadow:none!important; }
.service-overview-page .service-rich-card::after { display:none; }
.service-offer-media { overflow:hidden; background:#eaf1fb; border-bottom:1px solid #d9e2f0; }
.service-offer-media img { display:block; width:100%; height:270px; object-fit:cover; transition:transform .45s cubic-bezier(.2,.7,.2,1); }
.service-offer-media--diagram img { object-fit:contain; }
.service-offer-copy { position:relative; padding:28px 62px 28px 28px; }
.service-overview-page .service-offer-copy b { margin:0 0 10px; font-size:1.35rem; line-height:1.4; color:#152944; }
.service-overview-page .service-offer-copy p { margin:0; color:#5b6b81!important; font-size:.9375rem; line-height:1.8; }
.service-offer-arrow { position:absolute; right:24px; top:30px; width:30px; height:30px; display:grid; place-items:center; border:1px solid #d6e1f2; border-radius:50%; color:#2457e5; font-size:20px; transition:transform .25s ease; }
.service-overview-page .service-rich-card:focus-visible { outline:3px solid #2457e5; outline-offset:5px; }
.service-overview-page .cobs-service-map { background:#f8faff; }
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .service-overview-page .service-rich-card:hover .service-offer-media img { transform:scale(1.035); }
  .service-overview-page .service-rich-card:hover .service-offer-arrow { transform:translate(2px,-2px); }
}
@media(prefers-reduced-motion:no-preference) {
  .service-rich-art,.service-overview-photo { animation:service-rich-enter .7s cubic-bezier(.2,.7,.2,1) both; }
  @keyframes service-rich-enter { from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)} }
}
@media(max-width:1000px) {
  body.visual-refresh .service-hero-layout { grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:28px; }
  .service-overview-photo > img { height:340px; }
  .service-photo-inset { right:-6px; }
  .service-offer-media img { height:230px; }
}
@media(max-width:800px) {
  body.visual-refresh .service-hero-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
  .service-rich-art { width:100%; max-width:620px; }
  .service-overview-photo { width:100%; max-width:680px; margin-right:12px; }
  .service-overview-photo > img { height:clamp(270px,54vw,420px); }
  .service-photo-inset { width:35%; }
  .service-overview-page .service-offer-grid { grid-template-columns:1fr; }
  .service-offer-media img { height:clamp(220px,50vw,330px); }
}
@media(max-width:480px) {
  body.visual-refresh .hero.service-detail-hero,
  body.visual-refresh .hero.service-overview-hero { padding:36px 20px 48px; }
  body.visual-refresh .hero.service-detail-hero h1,
  body.visual-refresh .hero.service-overview-hero h1 { font-size:clamp(1.75rem,7.4vw,2.15rem)!important; }
  .service-detail-hero .breadcrumb { font-size:11px; gap:6px; margin-bottom:18px; }
  .service-rich-art { border-radius:16px; }
  .service-overview-photo > img { height:280px; border-radius:18px; }
  .service-overview-photo::before { right:-8px; top:-10px; border-radius:18px; }
  .service-photo-label { left:12px; top:12px; font-size:11px; padding:8px 10px; }
  .service-photo-inset { min-width:135px; right:-5px; border-width:4px; }
  .service-photo-inset img { height:88px; }
  .service-offer-copy { padding:23px 58px 25px 22px; }
  .service-overview-page .service-offer-copy b { font-size:1.2rem; }
  .service-offer-arrow { right:20px; top:24px; }
}
@media(prefers-reduced-motion:reduce) {
  .service-rich-art,.service-overview-photo,.service-offer-media img,.service-offer-arrow { animation:none; transition:none; transform:none; }
}

/* Split reviewed long explanations at sentence boundaries. */
.service-hero-copy .lead,.detail-scope p,.detail-deliverable p,.detail-steps p {text-wrap:pretty;word-break:keep-all;overflow-wrap:break-word}
.copy-sentence{display:block}.copy-sentence+.copy-sentence{margin-top:.55em}
body.visual-refresh .detail-deliverable p{max-width:40em;line-height:1.9}
