/* Shared by the service page and its full-page CMS preview. */
.service-view .page-hero .container { text-align:center; max-width:1100px; }
.service-view .page-hero h1 { margin-inline:auto; max-width:100%; text-wrap:balance; }
.service-view .page-section { padding-top:32px; }
.service-view .service-page { width:100%; max-width:1100px; margin-inline:auto; }
.service-view .service-page--compact { max-width:860px; }
.service-view .service-page--wide { max-width:none; }
.service-description { display:grid; grid-template-columns:minmax(0,1fr); gap:28px; padding:clamp(20px,3vw,40px); border:1px solid #dce6df; border-radius:24px; background:rgba(255,255,255,.93); box-shadow:0 8px 28px rgba(20,60,34,.05); }
.service-description--right { grid-template-columns:minmax(0,1fr) minmax(0,var(--service-image-width)); }
.service-description--left { grid-template-columns:minmax(0,var(--service-image-width)) minmax(0,1fr); }
.service-description--left .service-description__photo { order:-1; }
.service-description--top .service-description__photo { order:-1; }
.service-description__text { min-width:0; overflow-wrap:anywhere; align-self:center; }
.service-description .article-body { max-width:none; margin:0; }
.service-description .article-body > :first-child { margin-top:0; }
.service-description .article-body > :last-child { margin-bottom:0; }
.service-description--align-left .service-description__text { text-align:left; }
.service-description--align-center .service-description__text { text-align:center; }
.service-description--align-justify .service-description__text { text-align:justify; }
.service-description__photo { margin:0; min-width:0; align-self:start; overflow:hidden; border-radius:16px; background:#eef3ef; }
.service-description__photo img { display:block; width:100%; height:100%; aspect-ratio:4/3; }
.service-description--top .service-description__photo img { max-height:440px; aspect-ratio:16/7; }
.service-description .article-body img { max-width:100%; height:auto; }
.service-description .article-body table { display:block; max-width:100%; overflow-x:auto; }
.service-view .service-order { margin-top:32px; padding:clamp(20px,3vw,32px); border-radius:20px; background:#edf4ee; }
.service-view .service-order h2 { margin-top:0; }
.service-view .service-other { margin-top:40px; }
.service-view .service-other .link-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:760px) {
  .service-description--right,.service-description--left { grid-template-columns:minmax(0,1fr); }
  .service-description .service-description__photo { order:-1; }
  .service-description { gap:20px; border-radius:18px; }
  .service-description--top .service-description__photo img { aspect-ratio:4/3; }
  .service-view .service-other .link-cards { grid-template-columns:minmax(0,1fr); }
  .service-view .service-page__actions .button { flex:1 1 180px; text-align:center; }
}
