/* KD Roofers v3.0.23 services.css — Services listing page */
.kd-services-page-overview,
.kd-services-page-grid{
  background:var(--kd-white);
}
.kd-services-page-overview{
  padding-bottom:var(--kd-section-y);
}
.kd-services-page-grid--feature{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.kd-services-page-grid--feature .kd-shared-service-tile{
  min-height:clamp(285px,27vw,370px);
}
.kd-services-page-grid--feature .kd-shared-service-tile h3{
  max-width:520px;
}
.kd-services-page-grid--feature .kd-shared-service-tile p{
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.kd-services-page-grid .kd-service-row{
  display:grid;
  grid-template-columns:52px 1fr;
  gap:1rem;
  align-items:start;
}
.kd-service-row__icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  background:var(--kd-red);
  clip-path:var(--kd-roof-clip-sm);
}
.kd-service-row__icon img{
  width:24px;
  height:24px;
  filter:brightness(0) invert(1);
}
.kd-services-page-areas{
  background:var(--kd-cream);
}
.kd-services-area-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--kd-card-gap);
  align-items:stretch;
}
.kd-services-area-card{
  position:relative;
  min-height:100%;
  padding:clamp(1.15rem,2vw,1.65rem);
  background:#fff;
  border:1px solid rgba(17,17,17,.1);
  clip-path:var(--kd-roof-clip-sm);
  box-shadow:0 14px 30px rgba(17,24,39,.055);
  overflow:hidden;
}
.kd-services-area-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:var(--kd-red);
}
.kd-services-area-card__main{
  display:grid;
  grid-template-columns:1fr auto;
  gap:.35rem .75rem;
  align-items:start;
  color:var(--kd-ink);
}
.kd-services-area-card__main strong{
  font-size:clamp(1rem,1.2vw,1.16rem);
  line-height:1.2;
}
.kd-services-area-card__main span{
  grid-column:1;
  color:var(--kd-muted);
  line-height:1.52;
}
.kd-services-area-card__main .kd-inline-arrow{
  grid-column:2;
  grid-row:1 / span 2;
  width:18px;
  height:18px;
  color:var(--kd-red);
  align-self:center;
}
.kd-services-area-card__phone{
  display:inline-flex;
  width:max-content;
  margin-top:1rem;
  color:var(--kd-red);
  font-size:clamp(1.02rem,1.22vw,1.16rem);
  font-weight:800;
}

.kd-services-page-areas .kd-section-heading{
  margin-bottom:var(--kd-section-gap);
}
