.home-services { max-width: 1200px; margin: 24px auto 0; font-family: "Poppins", "Hind Siliguri", sans-serif; }
.facility-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 28px; background: #faf2f2; padding: 42px 20px 30px; min-height: 202px; }
.facility-item { text-align: center; padding: 0 10px; }
.facility-art { display: inline-block; object-fit: contain; height: 76px; width: 90px; margin-bottom: 12px; }
.facility-item p { font-size: 14px; line-height: 22px; color: #111; max-width: 220px; margin: 0 auto; overflow-wrap: anywhere; }
.service-pages { display: grid; grid-auto-columns: minmax(0, 1fr); grid-auto-flow: column; background: #f8f8f8; margin-top: 15px; padding: 40px 20px 30px; min-height: 156px; }
.service-pages > a, .service-pages > button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; color: #626262; background: none; border: 0; padding: 0; font: inherit; font-size: 14px; text-transform: uppercase; text-align: center; }
.service-pages img { object-fit: contain; height: 55px; width: 68px; }
.service-pages i { color: #850c09; font-size: 44px; height: 55px; display: flex; align-items: center; }
.service-pages > :last-child i { color: #bcbcbc; }
.service-pages > a:hover, .service-pages > button:hover { color: #850c09; }
.service-brands { display: flex; align-items: center; gap: 20px; padding: 38px 0 44px; min-height: 140px; }
.service-brand-track { display: flex; flex: 1; min-width: 0; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; }
.service-brand-track::-webkit-scrollbar { display: none; }
.service-brand-track a { display: flex; align-items: center; justify-content: center; flex: 0 0 20%; min-width: 0; padding: 0 8px; height: 80px; overflow: hidden; scroll-snap-align: start; }
/* These logo assets include white margins: size by width, not canvas height. */
.service-brand-track img { display: block; flex-shrink: 0; width: 100%; max-width: 100%; height: auto; max-height: none; opacity: .55; transition: opacity .2s; }
.service-brand-track a:hover img, .service-brand-track a:focus-visible img { opacity: 1; }
.service-brands > button { width: 45px; height: 50px; flex-shrink: 0; border: 0; border-radius: 5px; background: #ddd; color: #222; }
.service-brands > button:disabled { opacity: .4; cursor: default; }
.service-brands-empty { width: 100%; text-align: center; color: #777; font-size: 14px; margin: 0; }
.home-services :focus-visible { outline: 2px solid #850c09; outline-offset: 3px; }
@media (min-width: 1320px) {
    .service-brands { margin-right: -50px; margin-left: -50px; }
}
@media (max-width: 767px) {
    .facility-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 8px; padding: 28px 8px; }
    .facility-art { font-size: 48px; height: 60px; width: 72px; }
    .facility-item p { font-size: 12px; line-height: 20px; }
    .service-pages { padding: 26px 8px; min-height: 132px; }
    .service-pages > a, .service-pages > button { font-size: 11px; gap: 8px; }
    .service-pages i { font-size: 36px; }
    .service-pages img { width: 52px; }
    .service-brands { gap: 8px; padding: 26px 0; min-height: 112px; }
    .service-brand-track a { flex-basis: 50%; padding: 0 5px; height: 70px; }
    .service-brands > button { width: 32px; height: 42px; }
}
