/* Scoped service layouts; approved global/homepage/header styles stay unchanged. */
.service-grid { display: grid; grid-auto-rows: 1fr; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.service-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid #dce4dd; background: #fff; overflow-wrap: anywhere; }
.service-card:hover, .service-card:focus-within { border-color: #759c81; box-shadow: 0 8px 24px #073d1510; }
.service-card .card-media { position: relative; aspect-ratio: 1672 / 941; background: #0d1811; }
.service-card .card-media > * { position: absolute; inset: 0; width: 100%; height: 100%; }
.service-card .ecosafe-media { object-fit: contain; }
.service-placeholder { display: grid; place-items: center; color: #c5d4ca; background: #0d1811; }
.service-placeholder span { font-size: .85rem; letter-spacing: .08em; border-bottom: 2px solid #24b45a; padding: .5rem; }
.service-card .card-copy { display: flex; flex: 1; flex-direction: column; padding: 1.5rem; }
.service-card h3 { font-size: 1.2rem; }
.service-card .card-copy p { color: #536157; font-size: .95rem; }
.service-card .text-link { margin-top: auto; padding-top: .65rem; }
.service-page { overflow-wrap: anywhere; }
.service-page > section, .service-detail > section, .service-hero { margin-bottom: clamp(2rem, 5vw, 4rem); }
.service-hero h1 { max-width: 24ch; }
.service-hero > p, .service-detail > p, .service-detail > .entry-content, .service-detail > section > p { max-width: 76ch; }
.service-breadcrumbs { margin-bottom: 2rem; font-size: .9rem; }
.service-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; list-style: none; }
.service-breadcrumbs li + li::before { content: "/"; margin-right: .5rem; color: #536157; }
.service-property-list { columns: 2; padding-left: 1.25rem; }
.service-link-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: .5rem 2rem; padding-left: 1.25rem; color: #141815; }
.service-link-list li { min-width: 0; break-inside: avoid; }
.service-featured img { width: 100%; max-height: 28rem; object-fit: contain; }
.service-link-list a { display: inline-block; padding-block: .35rem; }
.service-link-list span { font-size: .85rem; }
.service-comparison { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.service-comparison > section { padding: 1.5rem; border: 1px solid #dce4dd; min-width: 0; }
.service-process ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; padding-left: 1.5rem; }
.service-process li { padding-left: .25rem; }
.service-contact { padding: clamp(1rem, 3vw, 2rem); background: #f0f4f1; }
.service-featured { display: block; width: 100%; max-height: 28rem; object-fit: contain; margin-block: 2rem; }
@media (max-width: 74.99rem) { .service-grid, .service-process ol { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 47.99rem) { .service-comparison { grid-template-columns: minmax(0, 1fr); } .service-property-list { columns: 1; } }
@media (max-width: 29.99rem) { .service-grid, .service-process ol { grid-template-columns: minmax(0, 1fr); } }
