/* Homepage only: keep the eight service cards balanced at each breakpoint. */
#service-grid.homepage-services-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
#service-grid.homepage-services-grid .offering { padding:24px 20px; min-width:0; }
#service-grid.homepage-services-grid .offering h3 { font-size:clamp(21px,1.6vw,26px); overflow-wrap:break-word; }
#service-grid.homepage-services-grid .offering > p { font-size:14px; line-height:1.65; }
#service-grid.homepage-services-grid .offering-tags { gap:6px; }
#service-grid.homepage-services-grid .offering-tags li { padding:7px 9px; font-size:11px; white-space:normal; overflow-wrap:anywhere; }
#service-grid.homepage-services-grid .offering-link { font-size:15px; gap:8px; min-height:44px; }
#service-grid.homepage-services-grid .offering-link > span:first-child { gap:8px; }
#service-grid.homepage-services-grid .offering-circle { flex:0 0 34px; width:34px; height:34px; }
@media (max-width:1100px) {
  #service-grid.homepage-services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  #service-grid.homepage-services-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
  #service-grid.homepage-services-grid .offering { padding:23px; }
  #service-grid.homepage-services-grid .offering h3 { font-size:23px; }
  #service-grid.homepage-services-grid .offering > p { font-size:16px; }
}
