/* KD Roofers v3.0.75 projects.css — Projects page layout only */
.kd-project-feature{
  overflow:hidden;
  background:var(--kd-cream);
}
.kd-project-feature__intro{
  display:grid;
  grid-template-columns:minmax(245px,.82fr) minmax(0,1.18fr) minmax(245px,.82fr);
  gap:clamp(1.25rem,2.4vw,2.25rem);
  align-items:stretch;
  margin-bottom:clamp(2.4rem,4.6vw,4.4rem);
}
.kd-project-feature__summary,
.kd-project-feature__copy,
.kd-project-feature-list{
  min-width:0;
  min-height:100%;
  padding:clamp(1.35rem,2.25vw,2.1rem);
  border:1px solid rgba(17,17,17,.12);
  background:#fff;
  clip-path:var(--kd-roof-clip);
  box-shadow:0 16px 36px rgba(17,24,39,.065);
}
.kd-project-feature__summary{
  display:flex;
  flex-direction:column;
}
.kd-project-feature__summary h2{
  margin-bottom:clamp(1.35rem,2.2vw,2rem);
  font-size:clamp(2rem,3.3vw,3.35rem);
  line-height:1.02;
}
.kd-project-location-list,
.kd-project-feature-list{
  list-style:none;
  margin:0;
}
.kd-project-location-list{
  display:grid;
  gap:.72rem;
  margin-top:auto;
}
.kd-project-location-list li,
.kd-project-feature-list li{
  display:flex;
  align-items:flex-start;
  gap:.65rem;
  min-width:0;
}
.kd-project-location-list li{
  padding-top:.72rem;
  border-top:1px solid rgba(17,17,17,.1);
  color:var(--kd-ink);
  font-weight:650;
  line-height:1.42;
}
.kd-project-location-list .kd-list-svg,
.kd-project-feature-list .kd-list-svg{
  width:18px;
  height:18px;
  margin-top:.18rem;
  flex:0 0 18px;
}
.kd-project-feature__copy{
  display:flex;
  align-items:center;
}
.kd-project-feature__copy p{
  margin:0;
  color:var(--kd-muted);
  font-size:clamp(1rem,1.22vw,1.14rem);
  line-height:1.75;
}
.kd-project-feature-list{
  display:grid;
  align-content:center;
  gap:.9rem;
  background:var(--kd-dark);
  border-color:rgba(255,255,255,.12);
  color:#fff;
  box-shadow:var(--kd-shadow-dark);
}
.kd-project-feature-list li{
  padding:.8rem 0;
  border-bottom:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-weight:700;
}
.kd-project-feature-list li:last-child{
  border-bottom:0;
}
.kd-project-feature-list .kd-list-svg{
  filter:none;
}
.kd-project-feature__media-wrap{
  position:relative;
  overflow:visible;
  padding-bottom:clamp(4.7rem,7vw,7.2rem);
  clip-path:none;
  box-shadow:none;
}
.kd-project-feature__media{
  margin:0;
  overflow:hidden;
  background:var(--kd-dark);
  clip-path:var(--kd-roof-clip);
  box-shadow:var(--kd-shadow);
}
.kd-project-feature__media img{
  width:100%;
  height:clamp(390px,48vw,640px);
  object-fit:cover;
  object-position:center;
}
.kd-project-feature__quote{
  position:relative;
  z-index:2;
  width:min(920px,calc(100% - clamp(1.5rem,6vw,6rem)));
  margin:clamp(-6.2rem,-7vw,-4rem) auto 0;
  padding:clamp(1.45rem,2.5vw,2.45rem);
  border:1px solid rgba(17,17,17,.12);
  background:#fff;
  clip-path:var(--kd-roof-clip);
  box-shadow:0 24px 58px rgba(17,24,39,.14);
}
.kd-project-quote-icon{
  width:clamp(32px,3.5vw,48px);
  height:clamp(32px,3.5vw,48px);
  margin-bottom:1rem;
}
.kd-project-feature__quote p{
  margin:0;
  color:var(--kd-ink);
  font-size:clamp(1rem,1.32vw,1.18rem);
  line-height:1.7;
}
.kd-project-feature__quote-author{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.45rem .75rem;
  margin-top:1.2rem;
  padding-top:1rem;
  border-top:1px solid var(--kd-line);
}
.kd-project-feature__quote-author strong{
  color:var(--kd-ink);
  font-size:1rem;
}
.kd-project-feature__quote-author span{
  color:var(--kd-muted);
  font-size:.92rem;
}
.kd-project-filter{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-bottom:2rem;
}
.kd-project-filter button{
  min-height:44px;
  padding:.75rem 1rem;
  border:1px solid var(--kd-line);
  background:#fff;
  color:var(--kd-ink);
  clip-path:var(--kd-roof-clip-sm);
  font-weight:700;
}
.kd-project-filter button:hover,
.kd-project-filter button:focus-visible,
.kd-project-filter button.is-active{
  background:var(--kd-red);
  border-color:var(--kd-red);
  color:#fff;
}
.kd-project-story-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.kd-project-story-card figure{
  margin:0 0 1.15rem;
  overflow:hidden;
  clip-path:var(--kd-roof-clip-sm);
}
.kd-project-story-card figure > img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  margin:0;
  clip-path:none;
}
.kd-project-story-card .kd-inline-link__icon{
  width:1em;
  height:1em;
  aspect-ratio:auto;
  object-fit:contain;
  margin:0;
  flex:0 0 auto;
}
.kd-project-story-card>div{
  display:flex;
  flex:1;
  flex-direction:column;
}
.kd-project-story-card .kd-inline-link{
  width:fit-content;
  margin-top:auto;
}
.kd-project-type{
  display:inline-flex;
  width:fit-content;
  margin-bottom:.65rem;
  color:var(--kd-red);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}

@media (max-width:1080px){
  .kd-project-feature__intro{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .kd-project-feature-list{
    grid-column:1/-1;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .kd-project-feature-list li:nth-last-child(-n+2){
    border-bottom:0;
  }
}

@media (max-width:760px){
  .kd-project-feature__intro{
    grid-template-columns:1fr;
  }
  .kd-project-feature-list{
    grid-column:auto;
    grid-template-columns:1fr;
  }
  .kd-project-feature-list li{
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .kd-project-feature-list li:last-child{
    border-bottom:0;
  }
  .kd-project-feature__media-wrap{
    padding-bottom:3.25rem;
  }
  .kd-project-feature__media img{
    height:clamp(280px,72vw,430px);
  }
  .kd-project-feature__quote{
    width:calc(100% - 1.25rem);
    margin:-2.8rem auto 0;
  }
  .kd-project-feature__quote-author{
    display:grid;
    gap:.2rem;
  }
}
