/* Complete service selection, using each service's own CMS banner. */
.visual-services:has(.home-service-banners){display:block;height:auto}
.home-service-banners{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);grid-auto-rows:minmax(116px,auto);gap:12px 24px}
.home-service-banner{position:relative;isolation:isolate;overflow:hidden;border-radius:7px;display:flex;align-items:center;min-width:0;transition:transform .25s,box-shadow .25s;background:#eef0eb;color:#202322}
.home-service-row{grid-column:2;border-bottom:1px solid #cbd0c7;min-height:116px}
.home-service-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s;z-index:-2}
.home-service-row img{left:auto;width:36%}
.home-service-row:after{content:'';position:absolute;inset:0 30% 0 auto;width:16%;background:linear-gradient(90deg,#eef0eb,transparent);z-index:-1}
.home-service-copy{display:flex;align-items:center;gap:18px;padding:18px 20px;width:69%}
.home-service-copy>span:last-child{min-width:0}
.home-service-copy strong{display:block;font:600 clamp(18px,1.5vw,25px)/1.25 Manrope,Arial,sans-serif;letter-spacing:-.5px}
.home-service-summary{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;line-height:1.55;margin-top:8px}
.home-service-featured{grid-column:1;grid-row:1/span var(--service-rows,6);align-items:flex-end;color:#fff;background:#1b2529;min-height:460px}
.home-service-featured:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#101c23f5,transparent 85%);z-index:-1}
.home-service-featured .home-service-copy{width:100%;padding:32px;display:block}
.home-service-featured .service-number{display:block;color:#fff;margin-bottom:22px}
.home-service-featured strong{font-size:clamp(25px,2.2vw,36px);text-transform:uppercase}
.home-service-featured .home-service-summary{font-size:16px;color:#e0e0e0;margin-bottom:22px}
.home-service-banner:hover,.home-service-banner:focus-visible{transform:translateY(-2px);box-shadow:0 8px 24px #0003}
.home-service-banner:hover img,.home-service-banner:focus-visible img{transform:scale(1.035)}
.home-service-banner:hover .service-select-icon,.home-service-banner:focus-visible .service-select-icon{opacity:1}
html[data-site-theme="dark"] .home-service-row{background:#353535;color:#fff;border-color:#666}
html[data-site-theme="dark"] .home-service-row:after{background:linear-gradient(90deg,#353535,transparent)}
.service-details-body{overflow-wrap:anywhere}
.service-details-body p,.service-details-body li{font-size:16px;line-height:1.9}
.service-details-body h2{font-size:28px;letter-spacing:-.5px;line-height:1.35;margin:32px 0 18px}
.service-details-body h2:first-child{margin-top:0}
.service-details-body li{margin-bottom:10px;color:#6d786d}
html[data-site-theme="dark"] .service-details-body li{color:#d0d0d0}
@media(max-width:900px){.home-service-banners{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:12px}.home-service-copy{padding:16px 12px;gap:10px}.home-service-copy strong{font-size:19px}.home-service-summary{font-size:13px}.home-service-featured .home-service-copy{padding:24px}.home-service-featured strong{font-size:26px}}
@media(max-width:760px){.home-service-banners{grid-template-columns:1fr;grid-auto-rows:auto;gap:14px}.home-service-featured{grid-row:auto;grid-column:1;min-height:420px}.home-service-row{grid-column:1;min-height:136px}.home-service-copy{padding:18px 14px}.home-service-featured .home-service-copy{padding:28px}.home-service-banner .service-select-icon{opacity:1}}
@media(prefers-reduced-motion:reduce){.home-service-banner,.home-service-banner img{transition:none}.home-service-banner:hover,.home-service-banner:hover img{transform:none}}
