/* Editorial service imagery. All copy remains live CMS text. */
.service-grid{align-items:stretch}
.service-card.has-service-photo{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);padding:0;min-height:390px;isolation:isolate;border:1px solid var(--line);background:var(--cream);box-shadow:0 8px 28px #17372b08}
.has-service-photo .service-text{position:relative;min-width:0;width:100%;padding:32px 26px 30px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;z-index:1}
.has-service-photo .service-text h3{font-size:30px;line-height:1.16;max-width:none;margin-top:17px;letter-spacing:-.8px}
.has-service-photo .service-text p{font-size:17px;line-height:1.75;max-width:none;margin-bottom:0}
.has-service-photo .service-link{font-size:16px;line-height:1.5;gap:10px;margin-top:24px}
.has-service-photo .service-text>.eyebrow{font-size:12px;line-height:1.6;letter-spacing:1px}
.service-card.has-service-photo .service-managed-image{position:relative;inset:auto;display:block;width:100%;height:100%;min-height:100%;max-width:none;object-fit:cover;object-position:58% center;opacity:1;margin:0;border-radius:0;align-self:stretch;z-index:0;transition:transform .35s}
.service-card.intercom.has-service-photo .service-managed-image{object-position:72% center}
.service-card.has-service-photo:hover .service-managed-image{transform:scale(1.025)}
.s-hero.with-service-photo{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:38px;align-items:center}
.service-photo-media{position:relative;margin:0;min-width:0;width:100%;border-radius:20px;overflow:hidden;background:var(--cream);box-shadow:0 12px 32px #183c2912;line-height:0;align-self:center}
.service-photo-media img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}
.service-photo-media[data-service-art=intercom] img{object-position:65% center}
@media(max-width:1100px){.has-service-photo .service-text{padding:28px 24px}.has-service-photo .service-text h3{font-size:29px}.service-card.has-service-photo{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.s-hero.with-service-photo{gap:26px}}
@media(max-width:900px){.service-grid{grid-template-columns:1fr}.service-card.has-service-photo{min-height:340px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}
@media(max-width:760px){.s-hero.with-service-photo{grid-template-columns:1fr;gap:26px}.service-photo-media{max-width:none;border-radius:16px}.service-photo-media img{aspect-ratio:4/3}.service-card.has-service-photo{display:flex;flex-direction:column;min-height:0}.has-service-photo .service-text{padding:28px;display:block}.has-service-photo .service-text h3{font-size:31px;max-width:none}.has-service-photo .service-text p{font-size:17px}.service-card.has-service-photo .service-managed-image{width:100%;height:auto;aspect-ratio:3/2;min-height:0;margin:0;object-fit:cover;object-position:center}.service-card.intercom.has-service-photo .service-managed-image{object-position:center 45%}.has-service-photo .service-link{font-size:17px;margin-top:22px}}
@media(prefers-reduced-motion:reduce){.service-card.has-service-photo .service-managed-image{transition:none}.service-card.has-service-photo:hover .service-managed-image{transform:none}}
@media(min-width:761px) and (max-width:1050px){.service-grid{grid-template-columns:1fr}.service-card.has-service-photo{min-height:330px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}}
.s-hero.with-service-photo>div{min-width:0}.s-hero.with-service-photo .button{max-width:100%;white-space:normal;text-align:center}.service-original .content-body{max-width:100%;overflow-wrap:anywhere}.service-original .content-body a{overflow-wrap:anywhere}
@media(max-width:760px){.s-hero.with-service-photo{grid-template-columns:minmax(0,1fr)}}
.s-hero.with-service-photo h1{overflow-wrap:anywhere;hyphens:auto}
.service-card.has-service-photo:hover .service-managed-image{transform:none}.surveillance-option>div{min-width:0}.surveillance-option .button{min-width:0;max-width:100%;white-space:normal;text-align:center}
@media(max-width:760px){.surveillance-option{grid-template-columns:minmax(0,1fr)}}
