/* Source: homepage-service-white-banners-v3.css */
/* Only homepage service banner artwork. Preserve card sizes and load/decode fade. */
html body .kv-home-service-section .service-grid > a.card > img.kv-home-color-banner {
  box-sizing:border-box !important;
  object-fit:contain !important;
  object-position:center !important;
  /* The existing rounded image box is the frame; keep outer card spacing. */
  padding:0 !important;
  border:1px solid #00e6e6 !important;
  background:#f8fafc !important;
  background-image:none !important;
}

/* Source: homepage-banner-loading-v2.css */
/* Whole-card entrance; independent of image loading and hover transforms. */
html body .kv-home-service-section,
html body .kv-home-service-section .service-grid > a.card,
html body .kv-home-service-section .service-grid > a.card > img.kv-home-color-banner {
  animation:none !important;
  animation-delay:0s !important;
}
html body .kv-home-service-section {opacity:1 !important;transform:none !important;}
html body .kv-home-service-section .service-grid > a.card > img.kv-home-color-banner {
  opacity:1 !important;transform:none !important;transition:none !important;
}
html body .kv-home-service-section .service-grid > a.card.kv-anim-ready {transform:none !important;}
html body .kv-home-service-section .service-grid > a.card {
  opacity:1 !important;
  translate:0 0;
  transition:opacity 300ms ease,translate 300ms ease,transform 260ms cubic-bezier(.2,.8,.2,1),box-shadow 260ms ease,border-color 260ms ease !important;
}
html body .kv-home-service-section .service-grid > a.card.kv-card-enter-pending {
  opacity:0 !important;translate:0 10px;
}
@media(prefers-reduced-motion:reduce){
  html body .kv-home-service-section .service-grid > a.card {
    opacity:1 !important;translate:0 0 !important;transition:none !important;
  }
}


/* 2026-10-13: align service text with the existing inset image frame.
   Preserve image geometry, outer card spacing, SEO and editor DOM structure. */
html body :is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot) .kv-home-service-section .service-grid > a.card > :is(h3,p){
  margin-inline:16px !important;
  min-width:0;
  overflow-wrap:break-word;
}
@media(max-width:620px){
  html body :is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot) .kv-home-service-section .service-grid > a.card > :is(h3,p){
    margin-inline:12px !important;
  }
}

/* 2026-10-13: responsive service cards. Desktop >1100px stays unchanged. */
@media(max-width:1100px){
 html body :is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot) .kv-home-service-section .service-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;align-items:stretch!important}
 html body :is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot) .kv-home-service-section .service-grid>a.card{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;padding:0 0 20px!important}
 html body :is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot) .kv-home-service-section .service-grid>a.card>img.kv-home-color-banner{display:block!important;box-sizing:border-box!important;width:calc(100% - 32px)!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:16/9!important;object-fit:contain!important;margin:16px 16px 16px!important;padding:0!important;border-radius:14px!important}
 html body :is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot) .kv-home-service-section .service-grid>a.card>:is(h3,p){box-sizing:border-box;min-width:0;max-width:calc(100% - 32px)!important;margin-inline:16px!important;overflow-wrap:break-word}
 html body :is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot) .kv-home-service-section .service-grid>a.card>h3{font-size:20px!important;line-height:1.35!important;margin-block:0 10px!important}
 html body :is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot) .kv-home-service-section .service-grid>a.card>p{font-size:16px!important;line-height:1.6!important;margin-block:0!important}
}
@media(max-width:620px){
 html body :is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot) .kv-home-service-section .service-grid{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
 html body :is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot) .kv-home-service-section .service-grid>a.card{padding:0 0 18px!important}
 html body :is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot) .kv-home-service-section .service-grid>a.card>img.kv-home-color-banner{width:calc(100% - 24px)!important;margin:12px 12px 14px!important;border-radius:12px!important}
 html body :is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot) .kv-home-service-section .service-grid>a.card>:is(h3,p){max-width:calc(100% - 24px)!important;margin-inline:12px!important}
 html body :is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot):is(#kv-main-content,#editableRoot) .kv-home-service-section .service-grid>a.card>h3{font-size:18px!important;margin-bottom:8px!important}
}
