/* Continuous graphite texture for all dark surfaces, without tiling. */
.site-header {
  background-color: #3a3b3b;
  background-image: linear-gradient(rgba(20, 21, 21, .48), rgba(20, 21, 21, .48)), url('../images/graphite-texture-continuous.webp');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.dark,
.company-principles {
  background-color: #363838;
  background-image: linear-gradient(112deg, rgba(18, 18, 17, .68), rgba(24, 24, 23, .52) 58%, rgba(20, 20, 19, .60)), url('../images/graphite-texture-continuous.webp');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

/* Keep the homepage CTA on the site's graphite texture explicitly. */
.cta.cta-graphite {
  background-color: #363838 !important;
  background-image: linear-gradient(112deg, rgba(18,18,17,.68), rgba(24,24,23,.52) 58%, rgba(20,20,19,.60)), url('../images/graphite-texture-continuous.webp') !important;
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

.site-footer {
  background-color: #2d2f2f;
  background-image: linear-gradient(rgba(16, 17, 17, .68), rgba(16, 17, 17, .68)), url('../images/graphite-texture-continuous.webp');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.nav-submenu {
  background-color: #2d2f2f;
  background-image: linear-gradient(rgba(18, 19, 19, .64), rgba(18, 19, 19, .64)), url('../images/graphite-texture-continuous.webp');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

/* Keep installation sections on the shared graphite texture. */
#km-installation-v2 .work,
#km-installation-v2 .conversion {
  background-color: #363838 !important;
  background-image: linear-gradient(112deg, rgba(18,18,17,.68), rgba(24,24,23,.52) 58%, rgba(20,20,19,.60)), url('../images/graphite-texture-continuous.webp') !important;
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

/* Enforce the approved graphite texture on page-builder dark sections.
   Several page-level style blocks still reference older PNG/WebP assets. */
.km-materials-section.is-dark,
.design-process,
.design-final-cta,
.closing,
.delivery-content .delivery-section--dark,
.delivery-content .delivery-faq-section,
.condition-card--accent,
.msh-compare,
#km-installation-v2 .faq {
  background-color: #363838 !important;
  background-image: linear-gradient(112deg, rgba(18,18,17,.68), rgba(24,24,23,.52) 58%, rgba(20,20,19,.60)), url('../images/graphite-texture-continuous.webp') !important;
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

/* Delivery page layout lives in the theme so WordPress cannot insert paragraphs into its CSS. */
.delivery-content .delivery-section { padding: 78px 0; border-top: 1px solid rgba(70,52,38,.13); }
.delivery-content .delivery-section--dark { padding: 78px clamp(24px,7vw,120px); border-top: 0; }
.delivery-content h2,.delivery-content h3 { font-family: Georgia,serif; font-weight: 400; }
.delivery-content h2 { margin: 0 0 18px; font-size: clamp(38px,4vw,62px); line-height: 1.05; }
.delivery-content .delivery-kicker { margin: 0 0 12px; color: #a56530; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.delivery-content .delivery-section--dark .delivery-kicker { color: #dca466; }
.delivery-content .delivery-intro { max-width: 760px; margin: 0; color: #675d53; font-size: 18px; line-height: 1.7; }
.delivery-content .delivery-section--dark .delivery-intro { color: rgba(255,255,255,.76); }
.delivery-content .delivery-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; margin-top: 38px; counter-reset: delivery-step; }
.delivery-content .delivery-step { counter-increment: delivery-step; padding: 25px 24px 30px; border-top: 1px solid #b8753b; border-right: 1px solid rgba(70,52,38,.13); }
.delivery-content .delivery-step:last-child { border-right: 0; }
.delivery-content .delivery-step::before { content: counter(delivery-step, decimal-leading-zero); display: block; margin-bottom: 28px; color: #b8753b; font: 23px Georgia,serif; }
.delivery-content .delivery-step strong { display: block; margin-bottom: 8px; }
.delivery-content .delivery-step p { margin: 0; color: #756a60; font-size: 14px; line-height: 1.55; }
.delivery-content .conditions-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; align-items: stretch; }
.delivery-content .condition-card { padding: clamp(30px,4vw,54px); background: #fff; }
.delivery-content .condition-card--accent { background: #efe0cf; }
.delivery-content .condition-card h2 { font-size: clamp(34px,3vw,48px); }
.delivery-content .check-list { margin: 26px 0 0; padding: 0; list-style: none; }
.delivery-content .check-list li { position: relative; padding: 14px 0 14px 32px; border-top: 1px solid rgba(70,52,38,.12); line-height: 1.5; }
.delivery-content .check-list li::before { content: "✓"; position: absolute; left: 0; color: #ae6b34; font-weight: 700; }
.delivery-content .delivery-alert { margin-top: 28px; padding: 22px 24px; border-left: 3px solid #b8753b; background: rgba(255,255,255,.58); color: #5d5248; line-height: 1.65; }
.delivery-content .faq-list { max-width: 980px; margin-top: 30px; }
.delivery-content .faq-list details { border-top: 1px solid rgba(70,52,38,.18); }
.delivery-content .faq-list details:last-child { border-bottom: 1px solid rgba(70,52,38,.18); }
.delivery-content .faq-list summary { position: relative; padding: 22px 50px 22px 0; cursor: pointer; font-size: 18px; font-weight: 700; list-style: none; }
.delivery-content .faq-list summary::-webkit-details-marker { display: none; }
.delivery-content .faq-list summary::after { content: "+"; position: absolute; right: 8px; top: 17px; color: #b8753b; font: 28px Georgia,serif; }
.delivery-content .faq-list details[open] summary::after { content: "−"; }
.delivery-content .faq-list details p { margin: 0; padding: 0 60px 22px 0; color: #6b6056; line-height: 1.65; }
body .delivery-cta { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding: clamp(48px,6vw,86px) clamp(24px,7vw,120px); color: #fff; }
body .delivery-cta h2 { max-width: 700px; margin: 0 0 10px; color: #fff; font: 400 clamp(34px,3.6vw,56px)/1.08 Georgia,serif; }
body .delivery-cta p { margin: 0; color: rgba(255,255,255,.68); }
body .delivery-cta .copper { opacity: 1; transform: none; filter: none; animation: none; white-space: nowrap; }
@media(max-width:880px) {
  .delivery-content .delivery-section { padding: 52px 0; }
  .delivery-content .delivery-section--dark { padding: 52px 18px; }
  .delivery-content .delivery-steps,.delivery-content .conditions-grid { grid-template-columns: 1fr; }
  .delivery-content .delivery-step { border-right: 0; padding-inline: 4px; }
  body .delivery-cta { align-items: flex-start; flex-direction: column; padding-inline: 22px; }
  body .delivery-cta .copper { width: 100%; justify-content: center; }
}

/* Shared graphite grain, based on the delivery-day section. Section height must not enlarge the texture. */
html body :is(.dark,.company-principles,.cta.cta-graphite,.km-materials-section.is-dark,.fx-result.is-profile,.km-suppliers__principles,.design-considerations,.design-process,.design-final-cta,.closing,.delivery-section--dark,.delivery-faq-section,.delivery-cta,.condition-card--accent,.msh-compare,.msh-service-area,.msh-contact-panel,#km-installation-v2 .work,#km-installation-v2 .conversion,#km-installation-v2 .faq,.km-warranty-hero,.km-warranty-scope,.km-warranty-assembly,.km-warranty-after,.km-warranty-final,.km-info-page:not(.km-info-page--facade-replacement) .km-info-cta,.km-info-page--facade-replacement .km-info-steps,.km-about-responsibility,.km-about-contract,.km-about-closing,#production.km-production,.km-article__cta){background-color:#363838!important;background-image:linear-gradient(112deg,rgba(18,18,17,.68),rgba(24,24,23,.52) 58%,rgba(20,20,19,.6)),url('../images/graphite-texture-continuous.webp')!important;background-size:100% 100%,max(100vw,1800px) auto!important;background-position:center,center top!important;background-repeat:no-repeat,repeat-y!important}
@media(max-width:767px){html body :is(.dark,.company-principles,.cta.cta-graphite,.km-materials-section.is-dark,.fx-result.is-profile,.km-suppliers__principles,.design-considerations,.design-process,.design-final-cta,.closing,.delivery-section--dark,.delivery-faq-section,.delivery-cta,.condition-card--accent,.msh-compare,.msh-service-area,.msh-contact-panel,#km-installation-v2 .work,#km-installation-v2 .conversion,#km-installation-v2 .faq,.km-warranty-hero,.km-warranty-scope,.km-warranty-assembly,.km-warranty-after,.km-warranty-final,.km-info-page:not(.km-info-page--facade-replacement) .km-info-cta,.km-info-page--facade-replacement .km-info-steps,.km-about-responsibility,.km-about-contract,.km-about-closing,#production.km-production,.km-article__cta){background-image:linear-gradient(112deg,rgba(18,18,17,.68),rgba(24,24,23,.52) 58%,rgba(20,20,19,.6)),url('../images/graphite-texture-mobile-faq-20260930.jpg')!important;background-size:100% 100%,auto 470px!important;background-position:center,center top!important;background-repeat:no-repeat,repeat-y!important}}

/* The facade callback form uses dark text on light wood. */
html body .km-info-page--facade-replacement .km-info-cta{background-color:#f3ede4;background-image:linear-gradient(rgba(243,237,228,.16),rgba(243,237,228,.16)),url('../images/texture-light-wood-20260922.jpg');background-position:center;background-size:cover;background-repeat:no-repeat;color:#242320}
