/* KD Roofers v3 pages.css — shared page-specific patterns */
.kd-page-hero,
.kd-about-hero,
.kd-services-page-hero,
.kd-contact-hero,
.kd-projects-hero,
.kd-location-hero,
.kd-archive-hero,
.kd-blog-hero,
.kd-single-post-hero,
.kd-service-single-hero,
.kd-hero-section{
  min-height:min(var(--kd-hero-max-block),calc(100svh - var(--kd-header-height)));
  padding-block:var(--kd-hero-y);
  display:grid;
  align-items:center;
  background:var(--kd-dark);
  color:#fff;
  overflow:hidden;
}
@supports (height:100dvh){
  .kd-page-hero,
  .kd-about-hero,
  .kd-services-page-hero,
  .kd-contact-hero,
  .kd-projects-hero,
  .kd-location-hero,
  .kd-archive-hero,
  .kd-blog-hero,
  .kd-single-post-hero,
  .kd-service-single-hero,
  .kd-hero-section{
    min-height:min(var(--kd-hero-max-block),calc(100dvh - var(--kd-header-height)));
  }
}
.kd-page-hero h1,
.kd-about-hero h1,
.kd-services-page-hero h1,
.kd-contact-hero h1,
.kd-projects-hero h1,
.kd-location-hero h1,
.kd-archive-hero h1,
.kd-blog-hero h1,
.kd-single-post-hero h1,
.kd-service-single-hero h1,
.kd-hero-section h1{
  color:#fff;
}
.kd-page-hero h1,
.kd-about-hero h1,
.kd-services-page-hero h1,
.kd-contact-hero h1,
.kd-projects-hero h1,
.kd-location-hero h1,
.kd-archive-hero h1,
.kd-blog-hero h1,
.kd-single-post-hero h1,
.kd-service-single-hero h1,
.kd-hero-section h1{
  max-width:920px;
}
.kd-page-hero p,
.kd-about-hero p,
.kd-services-page-hero p,
.kd-contact-hero p,
.kd-projects-hero p,
.kd-location-hero p,
.kd-archive-hero p,
.kd-blog-hero p,
.kd-single-post-hero p,
.kd-service-single-hero p,
.kd-hero-section p{
  color:rgba(255,255,255,.78);
}
.kd-page-hero p,
.kd-about-hero p,
.kd-services-page-hero p,
.kd-contact-hero p,
.kd-projects-hero p,
.kd-location-hero p,
.kd-archive-hero p,
.kd-blog-hero p,
.kd-single-post-hero p,
.kd-service-single-hero p,
.kd-hero-section p{
  max-width:760px;
}
.kd-page-hero__grid,
.kd-about-hero__grid,
.kd-services-page-hero__grid,
.kd-contact-hero__grid,
.kd-projects-hero__grid,
.kd-service-single-hero__grid,
.kd-single-post-hero__grid,
.kd-hero-section__inner{
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:clamp(2.5rem,5.6vw,6rem);
  align-items:center;
}
.kd-page-hero__grid > div,
.kd-about-hero__grid > div,
.kd-services-page-hero__grid > div,
.kd-contact-hero__content,
.kd-projects-hero__grid > div,
.kd-service-single-hero__content,
.kd-single-post-hero__content,
.kd-hero-section__content{
  max-width:900px;
}
.kd-page-hero__media,
.kd-about-hero__media,
.kd-contact-hero__media,
.kd-projects-hero__media,
.kd-service-single-hero__media,
.kd-single-post-hero__media,
.kd-hero-section .kd-image-mask{
  clip-path:var(--kd-roof-clip);
  overflow:hidden;
  box-shadow:var(--kd-shadow-dark);
}
.kd-page-hero__media img,
.kd-about-hero__media img,
.kd-contact-hero__media img,
.kd-projects-hero__media img,
.kd-service-single-hero__media img,
.kd-single-post-hero__media img,
.kd-hero-section .kd-image-mask img{
  width:100%;
  height:var(--kd-hero-media-block);
  object-fit:cover;
}
.kd-breadcrumb{
  margin-bottom:.7rem;
  color:rgba(255,255,255,.72);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.kd-breadcrumb ol{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.4rem;
  list-style:none;
  margin:0;
  padding:0;
}
.kd-breadcrumb li,
.kd-breadcrumb a,
.kd-breadcrumb span{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
}
.kd-breadcrumb a{
  color:rgba(255,255,255,.78);
}
.kd-breadcrumb a:hover{
  color:#fff;
}
.kd-breadcrumb li:last-child span{
  color:#fff;
}
.kd-breadcrumb__home{
  width:15px;
  height:15px;
  opacity:.9;
}
.kd-breadcrumb__separator{
  width:12px;
  height:12px;
  opacity:.78;
}
.kd-page-hero .kd-btn--dark,
.kd-about-hero .kd-btn--dark,
.kd-services-page-hero .kd-btn--dark,
.kd-contact-hero .kd-btn--dark,
.kd-projects-hero .kd-btn--dark,
.kd-location-hero .kd-btn--dark,
.kd-archive-hero .kd-btn--dark,
.kd-blog-hero .kd-btn--dark,
.kd-single-post-hero .kd-btn--dark,
.kd-service-single-hero .kd-btn--dark,
.kd-hero-section .kd-btn--dark{
  background:#fff;
  color:var(--kd-ink);
  border-color:#fff;
  box-shadow:0 12px 28px rgba(255,255,255,.08);
}
.kd-page-hero .kd-btn--dark:hover,
.kd-about-hero .kd-btn--dark:hover,
.kd-services-page-hero .kd-btn--dark:hover,
.kd-contact-hero .kd-btn--dark:hover,
.kd-projects-hero .kd-btn--dark:hover,
.kd-location-hero .kd-btn--dark:hover,
.kd-archive-hero .kd-btn--dark:hover,
.kd-blog-hero .kd-btn--dark:hover,
.kd-single-post-hero .kd-btn--dark:hover,
.kd-service-single-hero .kd-btn--dark:hover,
.kd-hero-section .kd-btn--dark:hover{
  background:var(--kd-cream);
  border-color:var(--kd-cream);
  color:var(--kd-ink);
}
.kd-legal-page__content,
.kd-single-post-content{
  max-width:860px;
  margin-inline:auto;
}
.kd-legal-page__content h2,
.kd-single-post-content h2{
  margin-top:2rem;
}
.kd-editor-content>*:first-child{
  margin-top:0;
}
.kd-editor-content>*:last-child{
  margin-bottom:0;
}
.kd-empty-state{
  padding:2rem;
  border:1px solid var(--kd-line);
  clip-path:var(--kd-roof-clip-sm);
  background:var(--kd-soft);
}
