:root {
  --cpl-cream: #f7f5ee;
  --cpl-white: #fffef9;
  --cpl-green: #203b33;
  --cpl-green-2: #315448;
  --cpl-red: #ab432c;
  --cpl-red-dark: #853523;
  --cpl-sage: #e9ecdf;
  --cpl-muted: #57625b;
  --cpl-line: #d9ddd2;
  --cpl-gold: #e8c787;
}

html { scroll-behavior: smooth; }
body {
  background: var(--cpl-cream);
  color: var(--cpl-green);
  font-family: Inter, Arial, sans-serif;
}
body :focus-visible { outline: 3px solid var(--cpl-gold); outline-offset: 3px; }
.site-header {
  background: rgba(255,254,249,.96);
  border-bottom: 1px solid var(--cpl-line);
  box-shadow: 0 2px 18px rgba(32,59,51,.06);
  min-height: 78px;
  position: sticky;
  top: 0;
  z-index: 20;
}
.brand-logo { max-height: 43px; width: auto; }
.site-nav .menu { gap: 26px; }
.site-nav .menu a { color: var(--cpl-green); font-size: .9rem; font-weight: 700; }
.site-nav .menu a:hover, .site-nav .menu a:focus { color: var(--cpl-red); }
.header-cta, .button, .project-form .form-submit {
  background: var(--cpl-red);
  border: 1px solid var(--cpl-red);
  border-radius: 5px;
  color: #fff;
  font-weight: 800;
  letter-spacing: .01em;
  min-height: 46px;
  padding: 13px 20px;
}
.professional-home .button.primary, .professional-home .form-submit { background: var(--cpl-red) !important; border-color: var(--cpl-red) !important; color: #fff !important; }
.professional-home .button.primary:hover, .professional-home .form-submit:hover { background: var(--cpl-red-dark) !important; border-color: var(--cpl-red-dark) !important; }
.header-cta:hover, .button:hover, .project-form .form-submit:hover { background: var(--cpl-red-dark); border-color: var(--cpl-red-dark); color: #fff; transform: translateY(-1px); }
.button.secondary { background: transparent; border-color: var(--cpl-green); color: var(--cpl-green); }
.button.secondary:hover { background: var(--cpl-green); color: #fff; }
.professional-home { background: var(--cpl-cream); }
.professional-hero {
  align-items: center;
  background: var(--cpl-cream);
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  min-height: 635px;
  padding: 44px max(5vw, 24px) 72px;
  gap: clamp(32px, 5vw, 84px);
  max-width: 1440px;
  margin: 0 auto;
}
.professional-hero-copy { grid-column: 1; grid-row: 1; max-width: 590px; }
.professional-hero-copy > .cpl-hero-eyebrow { color: var(--cpl-red); display: block; font-size: .74rem; font-weight: 900; letter-spacing: .16em; margin-bottom: 22px; }
.professional-hero h1 { color: var(--cpl-green); font-family: Manrope, Inter, sans-serif; font-size: clamp(3rem, 6vw, 5.2rem); line-height: .98; letter-spacing: -.06em; margin: 0; max-width: 570px; }
.professional-hero h1::first-line { }
.professional-hero-copy > p:not(.cpl-hero-condition):not(.cpl-hero-eyebrow) { color: var(--cpl-muted) !important; font-size: 1.2rem; line-height: 1.7; margin: 25px 0 28px; max-width: 540px; }
.professional-hero-copy > .cpl-hero-condition { color: var(--cpl-green); font-size: .95rem; font-weight: 800; margin: 11px 0 24px; }
.professional-hero-copy .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.professional-hero-copy .hero-actions a { text-decoration: none; }
.professional-hero-copy .button.secondary { color: var(--cpl-green) !important; }
.professional-hero-media { grid-column: 2; grid-row: 1; min-height: 470px; overflow: hidden; position: relative; }
.professional-hero-media::after { background: linear-gradient(90deg, rgba(247,245,238,.08), transparent 30%); content: ''; inset: 0; pointer-events: none; position: absolute; }
.professional-hero-media img { border-radius: 9px; display: block; height: 100%; min-height: 470px; object-fit: cover; width: 100%; }
.professional-hero-media video { border-radius: 9px; height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; }
.professional-hero-mobile-media { display: none; }
.professional-categories, .buyer-guides, .professional-home-quote { max-width: 1280px; margin: 0 auto; padding: 94px max(5vw, 24px); }
.professional-section-heading, .section-heading { margin-bottom: 32px; max-width: 760px; }
.professional-section-heading h2, .buyer-guides h2, .professional-home-quote h2 { color: var(--cpl-green); font-family: Manrope, Inter, sans-serif; font-size: clamp(2rem, 4vw, 3.35rem); letter-spacing: -.045em; line-height: 1.04; margin: 8px 0 16px; }
.professional-section-heading > p:last-child, .buyer-guides header > p:last-child { color: var(--cpl-muted); font-size: 1.05rem; line-height: 1.65; }
.eyebrow { color: var(--cpl-red); font-size: .72rem; font-weight: 900; letter-spacing: .16em; }
.professional-category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.professional-category-card { background: var(--cpl-white); border: 1px solid var(--cpl-line); border-radius: 8px; color: var(--cpl-green); display: flex; flex-direction: column; min-height: 100%; overflow: hidden; text-decoration: none; transition: border-color .2s, transform .2s, box-shadow .2s; }
.professional-category-card:hover, .professional-category-card:focus { border-color: var(--cpl-red); box-shadow: 0 14px 30px rgba(32,59,51,.1); color: var(--cpl-green); transform: translateY(-4px); }
.professional-category-card img { aspect-ratio: 1.12; display: block; object-fit: cover; width: 100%; }
.professional-category-card > span { display: flex; flex: 1; flex-direction: column; padding: 19px 20px 22px; }
.professional-category-card small { color: var(--cpl-red); font-weight: 900; letter-spacing: .12em; }
.professional-category-card strong { font-family: Manrope, Inter, sans-serif; font-size: 1.1rem; line-height: 1.2; margin: 11px 0; }
.professional-category-card em { color: var(--cpl-muted); font-size: .92rem; font-style: normal; line-height: 1.5; margin-top: auto; }
.professional-category-card em::after { color: var(--cpl-red); content: '  →'; font-weight: 900; }
.cpl-fact-strip { background: var(--cpl-green-2); color: #fff; display: grid; grid-template-columns: repeat(4,1fr); margin: 0 auto; max-width: 1280px; }
.cpl-fact-strip div { border-right: 1px solid rgba(255,255,255,.16); display: flex; flex-direction: column; gap: 7px; padding: 24px 22px; }
.cpl-fact-strip div:last-child { border-right: 0; }
.cpl-fact-strip strong { font-family: Manrope, Inter, sans-serif; font-size: 1.05rem; }
.cpl-fact-strip span { color: rgba(255,255,255,.72); font-size: .82rem; line-height: 1.4; }
.cpl-inline-cta { color: var(--cpl-muted); margin: 28px 0 0; }
.cpl-inline-cta a { color: var(--cpl-red); font-weight: 800; text-decoration: none; }
.cpl-value-section { align-items: center; background: var(--cpl-sage); display: grid; gap: clamp(30px,7vw,100px); grid-template-columns: minmax(0,1fr) minmax(0,1fr); padding-left: max(5vw,24px); padding-right: max(5vw,24px); }
.cpl-value-media img { border-radius: 8px; display: block; max-height: 560px; object-fit: cover; width: 100%; }
.cpl-value-copy { max-width: 590px; }
.cpl-value-copy h2, .cpl-process-section h2, .cpl-faq-section h2 { color: var(--cpl-green); font-family: Manrope, Inter, sans-serif; font-size: clamp(2rem,4vw,3.25rem); letter-spacing: -.045em; line-height: 1.05; margin: 8px 0 26px; }
.cpl-value-points { display: grid; gap: 20px; margin-bottom: 28px; }
.cpl-value-points article { border-top: 1px solid rgba(32,59,51,.18); padding-top: 17px; }
.cpl-value-points strong { font-size: 1.05rem; }
.cpl-value-points p, .cpl-process-grid p, .cpl-manufacturing-link em { color: var(--cpl-muted); line-height: 1.6; margin: 7px 0 0; }
.cpl-process-section { background: var(--cpl-white); padding-left: max(5vw,24px); padding-right: max(5vw,24px); }
.cpl-process-section > * { margin-left: auto; margin-right: auto; max-width: 1280px; }
.cpl-process-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; }
.cpl-process-grid article { border-top: 1px solid var(--cpl-line); padding: 24px 24px 18px 0; }
.cpl-process-grid article + article { border-left: 1px solid var(--cpl-line); padding-left: 24px; }
.cpl-process-grid b { color: var(--cpl-red); letter-spacing: .12em; }
.cpl-process-grid h3 { font-family: Manrope, Inter, sans-serif; margin: 17px 0 0; }
.cpl-manufacturing-link { background: var(--cpl-green); border-radius: 7px; color: #fff; display: grid; grid-template-columns: .45fr .9fr 1fr; gap: 20px; margin-top: 42px !important; padding: 25px 28px; text-decoration: none; }
.cpl-manufacturing-link span { color: var(--cpl-gold); font-size: .7rem; font-weight: 900; letter-spacing: .14em; }
.cpl-manufacturing-link strong { font-family: Manrope, Inter, sans-serif; font-size: 1.2rem; }
.cpl-manufacturing-link em { color: rgba(255,255,255,.72); font-style: normal; margin: 0; }
.cpl-faq-section { background: var(--cpl-cream); padding-left: max(5vw,24px); padding-right: max(5vw,24px); }
.cpl-faq-section > * { margin-left: auto; margin-right: auto; max-width: 1280px; }
.cpl-faq-grid { border-top: 1px solid var(--cpl-line); display: grid; grid-template-columns: repeat(2,1fr); column-gap: 42px; }
.cpl-faq-grid details { border-bottom: 1px solid var(--cpl-line); padding: 20px 0; }
.cpl-faq-grid summary { cursor: pointer; font-family: Manrope, Inter, sans-serif; font-size: 1.05rem; font-weight: 800; padding-right: 24px; }
.cpl-faq-grid summary::marker { color: var(--cpl-red); }

/* v1.18.0 site-wide buyer-facing visual system */
.header-cta,
.button.primary,
.project-form .form-submit {
  background: var(--cpl-red) !important;
  border-color: var(--cpl-red) !important;
  color: #fff !important;
}
.header-cta:hover,
.button.primary:hover,
.project-form .form-submit:hover {
  background: var(--cpl-red-dark) !important;
  border-color: var(--cpl-red-dark) !important;
  color: #fff !important;
}
.application-product-section .section-heading h2,
.application-brief-section .section-heading h2,
.product-detail-page .product-overview h2,
.product-detail-page .product-document-heading h2,
.product-detail-page .product-facts-section h2,
.product-detail-page .product-confirm-section h2,
.product-detail-page .product-contact-final h2 {
  color: var(--cpl-green) !important;
}
.application-detail-page .application-hero .eyebrow {
  color: #f7dfb4 !important;
  text-shadow: 0 1px 3px rgba(0,0,0,.55);
}

/* v1.18.0 homepage hero regression guard */
.professional-hero-copy > .cpl-hero-eyebrow {
  color: var(--cpl-red) !important;
  display: block;
  font-size: .74rem !important;
  line-height: 1.35;
  margin: 0 0 14px !important;
}
.professional-hero-copy > .cpl-hero-condition {
  color: var(--cpl-green) !important;
  font-size: .95rem !important;
  line-height: 1.45;
  margin: 12px 0 18px !important;
}
@media (min-width: 821px) {
  .professional-hero {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 44px;
    min-height: 0;
    padding-bottom: 36px;
    padding-top: 24px;
  }
  .professional-hero-copy {
    padding: 42px max(4vw, 32px);
  }
  .professional-hero h1 {
    font-size: clamp(3.6rem, 4.5vw, 4.5rem);
    line-height: .98;
    margin: 14px 0 16px;
    max-width: 640px;
  }
  .professional-hero-copy > p:not(.cpl-hero-condition):not(.cpl-hero-eyebrow) {
    font-size: 1.05rem;
    line-height: 1.5;
    margin: 16px 0 20px;
  }
  .professional-hero-copy .hero-actions {
    margin-top: 18px;
  }
}

@media (max-width: 520px) {
  .floating-whatsapp {
    display: none;
  }
}
.cpl-faq-grid details p { color: var(--cpl-muted); line-height: 1.6; margin: 13px 0 0; }
.buyer-guides { background: var(--cpl-white); max-width: none; padding-left: max(5vw, 24px); padding-right: max(5vw, 24px); }
.buyer-guides > * { margin-left: auto; margin-right: auto; max-width: 1280px; }
.buyer-guide-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.buyer-guide-grid article { border-bottom: 1px solid var(--cpl-line); }
.buyer-guide-grid article a { color: var(--cpl-green); text-decoration: none; }
.buyer-guide-grid img { aspect-ratio: 1.65; border-radius: 7px; display: block; object-fit: cover; width: 100%; }
.buyer-guide-grid h3 { font-family: Manrope, Inter, sans-serif; font-size: 1.35rem; margin: 18px 0 7px; }
.buyer-guide-grid p { color: var(--cpl-muted); line-height: 1.6; margin: 0 0 22px; }
.blog-read-link { color: var(--cpl-red); display: inline-block; font-weight: 800; margin-top: 27px; text-decoration: none; }
.professional-home-quote { background: var(--cpl-green); color: #fff; display: grid; grid-template-columns: .78fr 1.22fr; gap: 52px; max-width: none; padding-left: max(5vw, 24px); padding-right: max(5vw, 24px); }
.professional-home-quote > * { max-width: 600px; width: 100%; }
.professional-home-quote-copy { justify-self: end; padding-top: 18px; }
.professional-home-quote h2 { color: #fff; }
.professional-home-quote-copy > p:not(.eyebrow), .professional-home-quote-copy li { color: rgba(255,255,255,.78); line-height: 1.65; }
.professional-home-quote-copy ul { padding-left: 20px; }
.project-form { background: var(--cpl-white); border: 1px solid var(--cpl-line); border-radius: 8px; color: var(--cpl-green); padding: clamp(22px, 4vw, 40px); }
.project-form-heading { border-bottom: 1px solid var(--cpl-line); margin-bottom: 22px; padding-bottom: 17px; }
.project-form-heading p { color: var(--cpl-red); font-size: .72rem; font-weight: 900; letter-spacing: .14em; margin: 0 0 8px; text-transform: uppercase; }
.project-form-heading h2 { color: var(--cpl-green); font-size: 1.7rem; margin: 0 0 5px; }
.project-form-heading span, .form-contact-note, .form-privacy { color: var(--cpl-muted); font-size: .87rem; }
.form-grid { gap: 16px; }
.project-form label > span, .project-form legend { color: var(--cpl-green); font-size: .83rem; font-weight: 800; }
.project-form input:not([type=checkbox]):not([type=radio]), .project-form select, .project-form textarea { background: #fff; border: 1px solid #c4cec4; border-radius: 4px; color: var(--cpl-green); font-size: 16px; min-height: 48px; padding: 11px 13px; }
.project-form textarea { min-height: 110px; }
.project-form input:focus, .project-form select:focus, .project-form textarea:focus { border-color: var(--cpl-red); box-shadow: 0 0 0 3px rgba(171,67,44,.14); outline: none; }
.privacy-consent { align-items: flex-start; display: flex; gap: 9px; line-height: 1.5; margin: 18px 0; }
.privacy-consent input { margin-top: 4px; }
.privacy-consent a { color: var(--cpl-red); }
.inner-page { background: var(--cpl-cream); }
.page-hero { background: var(--cpl-green); color: #fff; }
.page-hero h1 { color: #fff; font-family: Manrope, Inter, sans-serif; font-size: clamp(2.4rem, 5vw, 4.4rem); letter-spacing: -.05em; line-height: 1.02; }
.page-hero p:not(.eyebrow) { color: rgba(255,255,255,.8); font-size: 1.08rem; line-height: 1.65; }
.page-hero .eyebrow { color: var(--cpl-gold); }
.page-hero .button.secondary { border-color: rgba(255,255,255,.7); color: #fff; }
.page-hero .button.secondary:hover { background: #fff; color: var(--cpl-green); }
.page-breadcrumb-band { background: var(--cpl-white); border-bottom: 1px solid var(--cpl-line); color: var(--cpl-muted); }
.page-breadcrumb-band a { color: var(--cpl-red); }
.directory-categories, .application-product-section { background: var(--cpl-cream); }
.cpl-selection-help { align-items: center; background: var(--cpl-sage); border-radius: 7px; display: grid; gap: 10px 24px; grid-template-columns: auto 1fr auto; margin-top: 28px; padding: 20px 22px; }
.cpl-selection-help span { color: var(--cpl-muted); font-size: .9rem; line-height: 1.5; }
.application-product-grid { gap: 18px; }
.application-product-grid article { background: var(--cpl-white); border: 1px solid var(--cpl-line); border-radius: 7px; overflow: hidden; }
.application-product-grid article:hover { border-color: var(--cpl-red); }
.application-product-grid article a { color: var(--cpl-green); }
.application-product-grid article img { aspect-ratio: 1.18; object-fit: cover; }
.application-product-grid article span { padding: 17px 18px 21px; }
.application-product-grid article em { color: var(--cpl-muted); line-height: 1.5; }
.application-product-grid article b { color: var(--cpl-red); margin-top: 14px; }

@media (min-width: 821px) {
  .application-product-grid.is-two-products {
    grid-template-columns: repeat(2, minmax(0, 360px));
    justify-content: center;
  }
}

.page-hero-guides {
  display: block;
  min-height: 0;
  background: var(--cpl-green);
}

.page-hero-guides::after,
.page-hero-guides > img {
  display: none;
}

.page-hero-guides > div {
  max-width: 1100px;
  padding: clamp(42px, 6vw, 72px) clamp(20px, 6vw, 80px);
}

.page-hero-guides h1 {
  max-width: 950px;
}

.page-hero-guides p:not(.eyebrow) {
  max-width: 850px;
}

@media (min-width: 821px) {
  .page-hero-guides > div {
    padding: 24px 64px;
  }

  .page-hero-guides h1 {
    font-size: clamp(3.2rem, 5vw, 4rem);
    line-height: 1.02;
  }

  .page-hero-guides p:not(.eyebrow) {
    font-size: 17px;
    line-height: 1.5;
  }
}

.manufacturing-process-grid figcaption {
  align-items: flex-start;
  flex-wrap: wrap;
}

.manufacturing-process-grid figcaption small {
  flex: 1 1 100%;
  margin-left: 25px;
  color: var(--professional-muted);
  line-height: 1.55;
}

.manufacturing-process-grid .finished-output {
  border-color: var(--professional-accent);
}

.buyer-resource-entry {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
  gap: 28px;
  align-items: stretch;
  margin: 30px auto 0;
  padding: 28px;
  max-width: 1180px;
  border: 1px solid var(--cpl-line);
  background: var(--cpl-white);
}

.buyer-resource-entry h2 { margin: 7px 0 10px; color: var(--cpl-green); font-size: clamp(1.6rem, 3vw, 2.35rem); line-height: 1.08; }
.buyer-resource-entry p:not(.eyebrow) { margin: 0; color: var(--cpl-muted); line-height: 1.6; }
.buyer-resource-entry-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.buyer-resource-entry-grid a { display: grid; gap: 5px; padding: 17px; border: 1px solid var(--cpl-line); color: var(--cpl-green); text-decoration: none; transition: border-color 160ms ease, transform 160ms ease; }
.buyer-resource-entry-grid a:hover { border-color: var(--cpl-red); transform: translateY(-2px); }
.buyer-resource-entry-grid span { color: var(--cpl-muted); font-size: .92rem; line-height: 1.45; }

@media (max-width: 720px) {
  .buyer-resource-entry { grid-template-columns: 1fr; padding: 20px; }
}
.cpl-category-guidance { background: var(--cpl-white); }
.cpl-guidance-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); margin: auto; max-width: 1280px; }
.cpl-guidance-grid article { background: var(--cpl-sage); border-top: 3px solid var(--cpl-red); padding: 24px; }
.cpl-guidance-grid span { color: var(--cpl-red); font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.cpl-guidance-grid h3 { color: var(--cpl-green); font-family: Manrope, Inter, sans-serif; margin: 13px 0 8px; }
.cpl-guidance-grid p { color: var(--cpl-muted); line-height: 1.6; margin: 0; }
.cpl-guidance-grid a { color: var(--cpl-red); display: inline-block; font-weight: 800; margin-top: 16px; text-decoration: none; }
.application-brief-section { background: var(--cpl-sage); }
.application-project-form { margin: auto; max-width: 1100px; }
.application-step { border: 1px solid var(--cpl-line); margin: 0 0 18px; padding: 22px; }
.application-step legend { padding: 0 10px 0 0; }
.application-step legend b { color: var(--cpl-red); margin-right: 9px; }
.sku-choice input, .choice-grid input { accent-color: var(--cpl-red); }
.sku-choice span, .choice-grid label span { border-color: var(--cpl-line); }
.sku-choice input:checked + span, .choice-grid input:checked + span { border-color: var(--cpl-red); box-shadow: inset 0 0 0 1px var(--cpl-red); }
.quote-page { background: var(--cpl-cream); }
.quote-experience { background: var(--cpl-green); }
.quote-background { opacity: .18; }
.quote-pitch h1 { color: #fff; font-family: Manrope, Inter, sans-serif; font-size: clamp(2.4rem, 5vw, 4.3rem); letter-spacing: -.05em; line-height: 1.03; }
.quote-pitch > p:not(.eyebrow), .quote-benefits li { color: rgba(255,255,255,.8); line-height: 1.65; }
.quote-pitch .eyebrow { color: var(--cpl-gold); }
.quote-layout { position: relative; z-index: 1; }
.quote-layout .project-form { box-shadow: 0 18px 55px rgba(0,0,0,.2); }
.product-detail-hero { background: var(--cpl-green); }
.product-overview, .product-document-specification, .product-facts-section, .product-confirm-section, .product-contact-strip { background: var(--cpl-white); }
.product-overview { border-bottom: 1px solid var(--cpl-line); }
.product-intro, .product-overview p:not(.eyebrow), .product-confirm-section p { color: var(--cpl-muted); font-size: 1.06rem; line-height: 1.7; }
.product-hero-actions, .product-contact-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.product-spec-panel { background: var(--cpl-sage); border: 0; }
.product-spec-panel > p { color: var(--cpl-red); font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.product-spec-panel dt { color: var(--cpl-muted); }
.product-spec-panel dd { color: var(--cpl-green); font-weight: 800; }
.product-considerations article { background: var(--cpl-cream); border-color: var(--cpl-line); }
.product-sample-band { background: var(--cpl-green); color: #fff; }
.product-sample-band h2, .product-sample-band p { color: #fff; }
.product-contact-final { align-items: center; }
.product-contact-final h2 { color: var(--cpl-green); }
.product-contact-actions { margin-top: 0; }
.product-inline-quote { background: var(--cpl-sage); }
.product-inline-quote .project-form { margin: auto; max-width: 1080px; }
.application-advanced-details { border: 1px solid var(--cpl-line); margin: 22px 0; padding: 18px 20px; }
.application-advanced-details summary { cursor: pointer; font-weight: 800; }
.application-advanced-details .form-grid { margin-top: 20px; }
.cpl-technical-note { border-left: 3px solid var(--cpl-red); color: var(--cpl-muted); padding-left: 14px; }
.site-footer { background: var(--cpl-green); color: rgba(255,255,255,.78); }
.site-footer a, .site-footer p, .site-footer small { color: rgba(255,255,255,.78); }
.site-footer a:hover, .site-footer a:focus { color: var(--cpl-gold); }
.footer-legal { background: #182f29; color: rgba(255,255,255,.65); }
.footer-legal a { color: rgba(255,255,255,.8); }
.floating-whatsapp { background: var(--cpl-red); border-radius: 5px; }

/* v1.19.0 acceptance closeout: current-state, directory, legal, and palette rules */
.site-nav .menu a[aria-current="page"] {
  color: var(--cpl-red) !important;
  box-shadow: inset 0 -3px 0 var(--cpl-red);
}
.site-nav .menu > li.is-parent-current > a[aria-current="location"],
.site-nav .menu > li > a.is-parent-current[aria-current="location"],
.site-nav .menu a[aria-current="location"] {
  color: var(--cpl-green) !important;
  box-shadow: inset 0 -3px 0 var(--cpl-gold);
}
.site-nav .sub-menu a[aria-current="page"] {
  background: var(--cpl-sage);
  box-shadow: inset 3px 0 0 var(--cpl-red);
}
.footer-legal a[aria-current="page"] { color: var(--cpl-gold); font-weight: 800; }

.coffee-directory-page .directory-hero {
  display: block;
  min-height: 0;
  background: var(--cpl-green);
}
.coffee-directory-page .directory-hero::after,
.coffee-directory-page .directory-hero > img { display: none; }
.coffee-directory-page .directory-hero > div {
  max-width: 1100px;
  padding: 42px clamp(20px, 6vw, 80px);
}
.coffee-directory-page .directory-hero h1 { max-width: 820px; }
.coffee-directory-page .directory-hero p:not(.eyebrow) { max-width: 760px; }

.about-manufacturing-page,
.about-manufacturing-page .verified-company-overview,
.about-manufacturing-page .manufacturing-process-gallery,
.about-manufacturing-page .supplied-certification-records { background: var(--cpl-cream) !important; }
.about-manufacturing-page .page-hero-about { background: var(--cpl-green) !important; }
.about-manufacturing-page .section-heading.wide h2,
.about-manufacturing-page .verified-company-facts strong,
.about-manufacturing-page .manufacturing-process-grid figcaption strong { color: var(--cpl-green) !important; }
.about-manufacturing-page .section-heading.wide > p:last-child,
.about-manufacturing-page .verified-company-facts span,
.about-manufacturing-page .manufacturing-process-grid figcaption small { color: var(--cpl-muted) !important; }

.blog-search button { background: var(--cpl-red) !important; border-color: var(--cpl-red) !important; }
.blog-search button:hover { background: var(--cpl-red-dark) !important; border-color: var(--cpl-red-dark) !important; }
.application-product-grid article strong,
.professional-category-card strong { color: var(--cpl-green) !important; }
.catalog-media-label { color: var(--cpl-red); font-size: .68rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.product-detail-page .product-detail-hero .button.secondary {
  color: var(--cpl-green) !important;
  background: var(--cpl-white) !important;
  border-color: var(--cpl-green) !important;
}
.product-detail-page .product-detail-hero .button.secondary:hover,
.product-detail-page .product-detail-hero .button.secondary:focus-visible {
  color: var(--cpl-green) !important;
  background: var(--cpl-cream) !important;
  border-color: var(--cpl-green) !important;
}
.product-detail-page .product-detail-hero .eyebrow { color: var(--cpl-green) !important; }

.legal-page { background: var(--cpl-white) !important; color: var(--cpl-green); }
.legal-page > header { border-color: var(--cpl-green) !important; }
.legal-page h1, .legal-page h2 { color: var(--cpl-green) !important; }
.legal-page > header > p:last-child, .legal-content p, .legal-content li { color: var(--cpl-muted); }

@media (min-width: 821px) {
  .coffee-directory-page .directory-hero > div { padding: 30px 64px; }
  .coffee-directory-page .directory-hero h1 { font-size: clamp(3.2rem, 5vw, 4rem); line-height: 1.02; }
  .coffee-directory-page .directory-hero p:not(.eyebrow) { font-size: 17px; line-height: 1.5; }
}
@media (max-width: 1080px) {
  .site-nav .menu { gap: 15px; }
  .professional-hero { gap: 34px; }
  .professional-category-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 820px) {
  .site-header { min-height: 68px; }
  .brand-logo { max-height: 35px; }
  .professional-hero { display: flex; flex-direction: column; min-height: auto; padding-bottom: 45px; padding-top: 46px; }
  .professional-hero-copy { order: 1; }
  .professional-hero-media { min-height: 300px; order: 2; width: 100%; }
  .professional-hero-media img { min-height: 300px; }
  .professional-hero h1 { font-size: clamp(2.7rem, 12vw, 4rem); }
  .professional-hero-copy > p { font-size: 1.05rem; }
  .professional-categories, .buyer-guides, .professional-home-quote { padding-bottom: 62px; padding-top: 62px; }
  .professional-home-quote { display: block; }
  .cpl-fact-strip { grid-template-columns: repeat(2,1fr); }
  .cpl-fact-strip div:nth-child(2) { border-right: 0; }
  .cpl-fact-strip div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.16); }
  .cpl-value-section { grid-template-columns: 1fr; }
  .cpl-value-copy { max-width: none; }
  .cpl-guidance-grid { grid-template-columns: 1fr; }
  .cpl-process-grid { grid-template-columns: repeat(2,1fr); }
  .cpl-process-grid article:nth-child(3) { border-left: 0; }
  .cpl-process-grid article:nth-child(n+3) { border-top: 1px solid var(--cpl-line); }
  .cpl-manufacturing-link { grid-template-columns: 1fr; gap: 9px; }
  .cpl-faq-grid { grid-template-columns: 1fr; }
  .professional-home-quote-copy { margin-bottom: 32px; }
  .buyer-guide-grid { grid-template-columns: 1fr; gap: 30px; }
  .professional-category-grid { gap: 14px; }
  .professional-category-card strong { font-size: 1rem; }
  .professional-category-card > span { padding: 14px; }
  .application-step { padding: 17px; }
  .cpl-selection-help { align-items: flex-start; grid-template-columns: 1fr; }
  .quote-layout { padding-left: 18px; padding-right: 18px; }
}
@media (max-width: 520px) {
  .professional-category-grid { grid-template-columns: 1fr; }
  .professional-category-card img { aspect-ratio: 1.5; }
  .professional-hero-copy .hero-actions { align-items: stretch; flex-direction: column; }
  .professional-hero-copy .hero-actions a { text-align: center; }
  .page-hero h1 { font-size: 2.6rem; }
  .floating-whatsapp { bottom: 14px; right: 14px; }
  .cpl-fact-strip div { padding: 18px 14px; }
  .product-hero-actions, .product-contact-actions { flex-direction: column; }
  .product-hero-actions .button, .product-contact-actions .button { text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .professional-hero-media video { display: none; }
}

/* v1.19.0: resource index category and result area */
.blog-index-page .buyer-resource-entry,
.blog-index-page .blog-results-section {
  box-sizing: border-box;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.blog-index-page .buyer-resource-entry {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin-top: 32px;
  padding: 0 clamp(20px, 4vw, 64px);
  border: 0;
  background: transparent;
}
.blog-index-page .buyer-resource-entry h2 {
  margin: 4px 0 0;
  font-size: clamp(1.55rem, 2.5vw, 2rem);
  line-height: 1.12;
}
.blog-index-page .buyer-resource-entry-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.blog-index-page .buyer-resource-entry-grid a {
  min-height: 106px;
  padding: 15px;
  border: 1px solid var(--cpl-line);
  border-radius: 6px;
  background: var(--cpl-cream);
  box-shadow: none;
}
.blog-index-page .buyer-resource-entry-grid a:hover {
  border-color: var(--cpl-green);
  transform: translateY(-1px);
}
.blog-index-page .buyer-resource-entry-grid span {
  font-size: .84rem;
}
.blog-index-page .blog-results-section {
  padding: 34px clamp(20px, 4vw, 64px) 64px;
}
.blog-index-page .blog-results-heading {
  align-items: end;
  margin-bottom: 16px;
  padding-bottom: 0;
  border-bottom: 0;
}
.blog-index-page .blog-results-heading h2 {
  margin: 4px 0 0;
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.1;
}
.blog-index-page .blog-results-count {
  color: var(--cpl-muted);
  font-size: 12px;
  white-space: nowrap;
}
.blog-index-page .blog-filter-tools {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.blog-index-page .blog-category-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  overflow: visible;
  padding: 0;
  border: 0;
  background: transparent;
}
.blog-index-page .blog-category-filter a {
  flex: 0 1 auto;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid var(--cpl-line);
  border-radius: 6px;
  color: var(--cpl-green);
  background: var(--cpl-cream);
  font-size: 14px;
  font-weight: 700;
  line-height: 22px;
  box-shadow: none;
}
.blog-index-page .blog-category-filter a:hover {
  color: var(--cpl-green);
  background: var(--cpl-sage);
}
.blog-index-page .blog-category-filter a.is-active {
  color: #fff;
  border-color: var(--cpl-green);
  background: var(--cpl-green);
}
.blog-index-page .blog-category-filter span {
  color: var(--cpl-muted);
  font-size: 12px;
}
.blog-index-page .blog-category-filter a.is-active span {
  color: #fff;
  opacity: .85;
}
.blog-index-page .blog-category-filter a:focus-visible,
.blog-index-page .blog-category-select-wrap select:focus-visible,
.blog-index-page .blog-filter-actions a:focus-visible {
  outline: 3px solid var(--cpl-gold);
  outline-offset: 2px;
}
.blog-index-page .blog-category-select-wrap {
  display: none;
}
.blog-index-page .blog-category-form {
  display: grid;
  gap: 6px;
}
.blog-index-page .blog-filter-actions {
  display: flex;
  gap: 16px;
  min-height: 20px;
  margin-top: 12px;
}
.blog-index-page .blog-filter-actions a {
  color: var(--cpl-red);
  font-weight: 800;
}
.blog-index-page .blog-query-note {
  margin: 12px 0 0;
  color: var(--cpl-muted);
}
.blog-index-page .blog-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 28px;
}
.blog-index-page .blog-card-media.is-illustration img {
  padding: 18px;
  background: var(--cpl-cream);
  object-fit: contain;
}
.blog-index-page .blog-empty-state {
  padding: 40px 0;
  color: var(--cpl-muted);
}
.blog-index-page .blog-empty-state h2 {
  color: var(--cpl-green);
}
@media (max-width: 1023px) {
  .blog-index-page .buyer-resource-entry-grid,
  .blog-index-page .blog-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .blog-index-page .buyer-resource-entry-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .blog-index-page .buyer-resource-entry-grid a {
    min-height: 84px;
  }
  .blog-index-page .buyer-resource-entry-grid span {
    display: none;
  }
  .blog-index-page .blog-results-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
  .blog-index-page .blog-category-filter {
    display: none;
  }
  .blog-index-page .blog-category-select-wrap {
    display: grid;
    gap: 6px;
    width: 100%;
  }
  .blog-index-page .blog-category-form {
    width: 100%;
  }
  .blog-index-page .blog-category-select-wrap label {
    color: var(--cpl-muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  .blog-index-page .blog-category-select-wrap select {
    width: 100%;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid var(--cpl-line);
    border-radius: 6px;
    color: var(--cpl-green);
    background: var(--cpl-cream);
    font: inherit;
  }
  .blog-index-page .blog-category-form .button {
    justify-self: start;
    min-height: 44px;
    margin-top: 2px;
  }
  .blog-index-page .blog-card-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}
@media (max-width: 339px) {
  .blog-index-page .buyer-resource-entry-grid {
    grid-template-columns: 1fr;
  }
}

/* v1.19.0: restrained buyer-answer and product-brief layer */
.product-detail-page .product-detail-hero > div:first-child { min-width: 0; }
.product-hero-summary { max-width: 620px; margin: 14px 0 0; color: #59636b; font-size: clamp(16px, 1.5vw, 19px); line-height: 1.6; }
.product-hero-size { max-width: 620px; margin: 12px 0 0; color: #59636b; font-size: 14px; line-height: 1.55; }
.product-detail-page .product-detail-hero .product-hero-summary,
.product-detail-page .product-detail-hero .product-hero-size { color: #24332f !important; }
.product-detail-page .product-detail-hero .product-hero-size strong { color: #145247; }
.cpl-product-buyer-section, .cpl-direct-answer { background: var(--cpl-cream); }
.cpl-product-buyer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; max-width: 1280px; margin: auto; }
.cpl-product-buyer-grid article { min-width: 0; padding: 24px; border: 1px solid var(--cpl-line); border-top: 3px solid var(--cpl-red); background: var(--cpl-white); }
.cpl-product-buyer-grid h3 { margin: 0 0 10px; color: var(--cpl-green); font-size: 1.15rem; line-height: 1.25; }
.cpl-product-buyer-grid p { margin: 0; color: var(--cpl-muted); line-height: 1.65; }
.cpl-buyer-checks { display: grid; gap: 7px; margin: 14px 0 0; padding: 0 0 0 18px; color: var(--cpl-muted); font-size: .92rem; line-height: 1.5; }
.cpl-related-guides { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 18px; max-width: 1280px; margin: 24px auto 0; padding-top: 18px; border-top: 1px solid var(--cpl-line); }
.cpl-related-guides strong { color: var(--cpl-green); }
.cpl-related-guides a { color: var(--cpl-red); font-weight: 800; text-decoration: none; }
.cpl-direct-answer { border-top: 1px solid var(--cpl-line); }
.cpl-direct-answer-points { display: grid; grid-template-columns: 1fr; gap: 0; max-width: none; margin: 0; padding: 0; list-style: none; }
.cpl-direct-answer-points li { border-top: 1px solid var(--cpl-line); color: var(--cpl-muted); line-height: 1.6; padding: 16px 0; }
.cpl-direct-answer-points li::before { content: none; }
@media (max-width: 820px) {
  .cpl-product-buyer-grid, .cpl-direct-answer-points { grid-template-columns: 1fr; }
  .cpl-product-buyer-grid article { padding: 20px; }
  .cpl-related-guides { align-items: flex-start; flex-direction: column; gap: 8px; }
}

/* v1.19.3: compact editorial application guidance layout */
.professional-hero-media { align-self: center; min-height: 0; }
.professional-hero-media { margin: 0; }
.professional-hero-media::after { display: none; }
.professional-hero-media img { background: var(--cpl-white); height: auto; min-height: 0; max-height: 560px; object-fit: contain; }
.professional-hero-media figcaption { color: var(--cpl-muted); font-size: 14px; line-height: 1.4; margin-top: 9px; }
.professional-hero-copy .button.secondary { background: var(--cpl-white); border-color: var(--cpl-green); color: var(--cpl-green) !important; }
.professional-hero-copy .button.secondary:hover,
.professional-hero-copy .button.secondary:focus-visible { background: var(--cpl-green); color: #fff !important; }
.professional-category-card { min-height: 0; }
.professional-category-card img { aspect-ratio: auto; background: var(--cpl-white); height: 220px; object-fit: contain; padding: 12px; }
.professional-category-card > span { display: flex; flex: none; min-height: 0; padding: 15px 18px 18px; }
.professional-category-card strong { margin: 7px 0 5px; }
.professional-category-card em { margin-top: 0; }
.professional-category-card > span > span.screen-reader-text { display: block; height: 0; overflow: hidden; width: 0; }
.buyer-guide-feature { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); gap: 28px; }
.buyer-guide-lead { border: 1px solid var(--cpl-line); background: var(--cpl-cream); }
.buyer-guide-lead a { align-items: stretch; color: var(--cpl-green); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(220px, .9fr); text-decoration: none; }
.buyer-guide-lead img { aspect-ratio: 1.55; border-radius: 0; object-fit: cover; width: 100%; }
.buyer-guide-lead a > span { display: flex; flex-direction: column; justify-content: center; padding: 28px; }
.buyer-guide-lead small, .buyer-guide-secondary small { color: var(--cpl-red); font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.buyer-guide-lead h3, .buyer-guide-secondary h3 { font-family: Manrope, Inter, sans-serif; font-size: 1.35rem; margin: 10px 0 7px; }
.buyer-guide-lead p, .buyer-guide-secondary p { color: var(--cpl-muted); line-height: 1.55; margin: 0; }
.buyer-guide-lead b { color: var(--cpl-red); margin-top: 18px; }
.buyer-guide-secondary { display: grid; gap: 0; }
.buyer-guide-secondary article { border-top: 1px solid var(--cpl-line); padding: 22px 0; }
.buyer-guide-secondary article:last-child { border-bottom: 1px solid var(--cpl-line); }
.buyer-guide-secondary a { color: var(--cpl-green); text-decoration: none; }
.cpl-category-guidance { background: var(--cpl-cream); }
.cpl-category-guidance .section-heading { margin-bottom: 24px; }
.cpl-category-guidance .cpl-direct-answer-points { margin-top: 0; }
.cpl-guidance-editorial { align-items: start; display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 76px); margin: 0 auto; max-width: 1180px; }
.cpl-guidance-lead { max-width: 520px; }
.cpl-guidance-lead h2 { color: var(--cpl-green); font-family: Manrope, Inter, sans-serif; font-size: clamp(1.875rem, 3vw, 2.125rem); letter-spacing: -.035em; line-height: 1.1; margin: 8px 0 14px; }
.cpl-guidance-lead > p:last-child { color: var(--cpl-muted); font-size: 1rem; line-height: 1.65; margin: 0; }
.cpl-guidance-points { min-width: 0; }
.cpl-guidance-inline { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 28px auto 0; max-width: 1280px; }
.cpl-guidance-inline article { border-top: 1px solid var(--cpl-line); padding-top: 16px; }
.cpl-guidance-inline article > span { color: var(--cpl-red); font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.cpl-guidance-inline h3 { font-family: Manrope, Inter, sans-serif; font-size: 1.05rem; margin: 9px 0 6px; }
.cpl-guidance-inline p { color: var(--cpl-muted); line-height: 1.55; margin: 0 0 9px; }
.cpl-guidance-inline a { color: var(--cpl-red); font-weight: 800; text-decoration: none; }
.cpl-guidance-resource { align-items: baseline; border-top: 1px solid var(--cpl-line); display: grid; grid-template-columns: max-content max-content minmax(0, 1fr) max-content; gap: 6px 18px; margin: 36px auto 0; max-width: 1180px; padding-top: 16px; }
.cpl-guidance-resource > span { color: var(--cpl-red); font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.cpl-guidance-resource h3 { font-family: Manrope, Inter, sans-serif; font-size: 1.05rem; margin: 0; }
.cpl-guidance-resource p { color: var(--cpl-muted); display: block; line-height: 1.55; margin: 0; }
.cpl-guidance-resource a { color: var(--cpl-red); font-weight: 800; text-decoration: none; white-space: nowrap; }
.product-planning-section { background: var(--cpl-white); }
.product-planning-section .section-heading { margin-bottom: 24px; }
.product-planning-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 0 auto; max-width: 1180px; }
.product-planning-grid article { border-top: 1px solid var(--cpl-line); padding-top: 16px; }
.product-planning-grid h3 { font-family: Manrope, Inter, sans-serif; font-size: 1.05rem; margin: 0 0 10px; }
.product-planning-grid ul { margin: 0; padding-left: 18px; }
.product-planning-grid li { color: var(--cpl-muted); line-height: 1.55; margin: 5px 0; }
.product-decision-note { grid-column: 1 / -1; }
.product-decision-note p { color: var(--cpl-muted); line-height: 1.6; margin: 0 0 10px; max-width: 900px; }
.product-decision-note p:last-child { margin-bottom: 0; }
.cpl-home-compare { background: var(--cpl-cream); }
.cpl-home-compare .section-heading h2, .cpl-sample-routes .section-heading h2, .cpl-spec-communication .section-heading h2 { font-size: clamp(28px, 3vw, 34px); line-height: 1.12; }
.about-manufacturing-page .cpl-spec-communication .section-heading.wide h2 { font-size: clamp(28px, 3vw, 34px); line-height: 1.12; }
.cpl-home-compare .section-heading > p:not(.eyebrow) { color: var(--cpl-muted); line-height: 1.65; max-width: 900px; }
.cpl-home-compare-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 28px auto 0; max-width: 1180px; }
.cpl-home-compare-grid a { display: grid; align-content: start; gap: 8px; border-top: 2px solid var(--cpl-red); padding: 18px 2px 0; color: var(--cpl-green); text-decoration: none; }
.cpl-home-compare-grid strong { font-family: Manrope, Inter, sans-serif; font-size: 1.02rem; }
.cpl-home-compare-grid span { color: var(--cpl-muted); font-size: .92rem; line-height: 1.5; }
.cpl-home-compare-grid b { color: var(--cpl-red); font-size: .85rem; }
.cpl-sample-routes { background: var(--cpl-cream); }
.cpl-sample-route-grid, .cpl-spec-communication-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0 auto; max-width: 1180px; }
.cpl-sample-route-grid article, .cpl-spec-communication-grid article { border-top: 2px solid var(--cpl-red); padding-top: 16px; }
.cpl-sample-route-grid span { color: var(--cpl-red); font-size: .72rem; font-weight: 900; letter-spacing: .12em; }
.cpl-sample-route-grid h3, .cpl-spec-communication-grid strong { color: var(--cpl-green); font-family: Manrope, Inter, sans-serif; font-size: 1.05rem; margin: 10px 0 8px; }
.cpl-sample-route-grid p, .cpl-spec-communication-grid p { color: var(--cpl-muted); line-height: 1.6; margin: 0; }
.cpl-sample-handoff { border-top: 1px solid var(--cpl-line); display: grid; gap: 10px 30px; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); margin: 36px auto 0; max-width: 1180px; padding-top: 20px; }
.cpl-sample-handoff h3 { color: var(--cpl-green); font-family: Manrope, Inter, sans-serif; font-size: 1rem; margin: 0; }
.cpl-sample-handoff h3:nth-of-type(2) { grid-column: 1; }
.cpl-sample-handoff ul { color: var(--cpl-muted); line-height: 1.6; margin: 0; padding-left: 18px; }
.cpl-sample-handoff p { color: var(--cpl-muted); line-height: 1.6; margin: 0; }
.cpl-spec-communication { background: var(--cpl-white); }
.cpl-spec-communication .section-heading > p:not(.eyebrow) { color: var(--cpl-muted); line-height: 1.65; max-width: 900px; }
.cpl-spec-communication-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 28px; }
#application-answer-comparison { margin-top: 14px !important; }
.product-facts-simple { align-items: start; display: grid; gap: 0 28px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.product-facts-simple details { border-top: 1px solid var(--cpl-line); padding: 17px 0; }
.product-facts-simple summary { cursor: pointer; font-family: Manrope, Inter, sans-serif; font-size: 1.05rem; font-weight: 800; }
.product-facts-simple details ul { color: var(--cpl-muted); line-height: 1.55; margin: 14px 0 0; padding-left: 18px; }
.cpl-product-buyer-list { margin: 0 auto; max-width: 1180px; }
.cpl-product-buyer-list details { border-top: 1px solid var(--cpl-line); padding: 17px 0; }
.cpl-product-buyer-list details:last-child { border-bottom: 1px solid var(--cpl-line); }
.cpl-product-buyer-list summary { color: var(--cpl-green); cursor: pointer; font-family: Manrope, Inter, sans-serif; font-size: 1.08rem; font-weight: 800; padding-right: 24px; }
.cpl-product-buyer-list details p { color: var(--cpl-muted); line-height: 1.6; margin: 13px 0 0; max-width: 920px; }
.cpl-product-buyer-list .cpl-buyer-checks { margin-top: 10px; }
.product-detail-page .product-overview h2 { font-size: clamp(1.7rem, 3vw, 2.55rem); max-width: 740px; }
.product-commercial-note { font-size: .92rem; font-weight: 700; }
.product-detail-page > .product-contact-strip.product-contact-final h2 { color: #fff !important; }
.product-detail-page > .product-contact-strip.product-contact-final p:not(.eyebrow) { color: #d9e4ea !important; }
.product-detail-page > .product-contact-strip.product-contact-final .product-commercial-note { color: #fff !important; }
.professional-categories, .buyer-guides, .cpl-category-guidance, .product-planning-section, .cpl-product-buyer-section, .product-contact-final { contain-intrinsic-size: auto 480px; }
.about-manufacturing-page .page-hero-about h1 { font-size: clamp(2.75rem, 4vw, 3.25rem); line-height: 1.04; }
.product-explore-section { background: #f7f8f5; }
.product-explore-heading, .product-explore-section > .section-heading, .product-explore-layout, .product-explore-followup, .product-fill-use { margin-left: auto; margin-right: auto; max-width: 1180px; }
.product-explore-heading h2, .product-explore-section > .section-heading h2, .application-format-section .section-heading h2 { font-size: clamp(28px, 3vw, 34px); line-height: 1.14; }
.product-explore-layout { align-items: center; display: grid; gap: clamp(24px, 4vw, 56px); grid-template-columns: minmax(0, .82fr) minmax(0, 1fr); margin-top: 28px; }
.product-explore-layout figure { background: #fff; border: 1px solid var(--cpl-line); border-radius: 8px; margin: 0; overflow: hidden; }
.product-explore-layout img { aspect-ratio: 4 / 3; display: block; height: auto; object-fit: contain; width: 100%; }
.product-explore-layout figcaption, .application-context-layout figcaption { color: var(--cpl-muted); font-size: .85rem; padding: 9px 13px; }
.product-explore-copy, .product-explore-followup { color: var(--cpl-muted); font-size: 1.05rem; line-height: 1.7; }
.product-explore-copy > p { margin-top: 0; }
.product-explore-copy ul { padding-left: 21px; }
.product-explore-copy li + li { margin-top: 10px; }
.product-explore-copy ol { list-style-type: decimal-leading-zero; padding-left: 30px; }
.product-explore-copy ol li::marker { color: var(--cpl-red); font-weight: 800; }
.product-explore-followup { display: grid; gap: 26px; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); margin-top: 34px; }
.product-explore-followup h3, .application-context-layout h3 { color: var(--cpl-green); font-size: 1.15rem; margin: 0 0 12px; }
.product-explore-followup ol { display: grid; gap: 12px; list-style: none; margin: 0; padding: 0; }
.product-explore-followup ol li { border-left: 3px solid var(--cpl-red); display: grid; gap: 3px; padding: 4px 0 4px 14px; }
.product-explore-followup ol strong { color: var(--cpl-green); }
.product-explore-checks { display: grid; gap: 14px; }
.product-explore-checks article { background: #fff; border: 1px solid var(--cpl-line); border-radius: 7px; padding: 17px 19px; }
.product-explore-checks p { margin: 0; }
.product-fill-use { display: grid; gap: 16px; margin-top: 34px; }
.product-fill-use-heading .eyebrow { margin-bottom: 6px; }
.product-fill-use-heading h3 { color: var(--cpl-green); font-size: 1.2rem; line-height: 1.25; margin: 0; }
.product-fill-steps { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.product-fill-steps article { background: #fff; border: 1px solid var(--cpl-line); border-radius: 7px; display: grid; gap: 6px 11px; grid-template-columns: auto 1fr; padding: 16px; }
.product-fill-steps article > span { align-items: center; background: var(--cpl-red); border-radius: 50%; color: #fff; display: inline-flex; font-size: .78rem; font-weight: 800; height: 30px; justify-content: center; width: 30px; }
.product-fill-steps h4 { align-self: center; color: var(--cpl-green); font-size: 1rem; line-height: 1.3; margin: 0; }
.product-fill-steps p { color: var(--cpl-muted); grid-column: 2; line-height: 1.55; margin: 0; }
.product-configuration-row { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.product-configuration-row > div { background: #fff; border: 1px solid var(--cpl-line); border-radius: 7px; padding: 16px 18px; }
.product-configuration-row strong { color: var(--cpl-green); display: block; margin-bottom: 5px; }
.product-configuration-row p { color: var(--cpl-muted); line-height: 1.55; margin: 0; }
.application-format-section { background: #f7f8f5; }
.application-context-layout { align-items: center; display: grid; gap: clamp(24px, 4vw, 54px); grid-template-columns: minmax(0, 1fr); margin: 0 auto 32px; max-width: 1180px; }
.application-context-layout.has-context-image { grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); }
.application-context-layout figure { background: #fff; border: 1px solid var(--cpl-line); border-radius: 8px; margin: 0; overflow: hidden; }
.application-context-layout figure[hidden] { display: none; }
.application-context-layout img { aspect-ratio: 3 / 2; display: block; height: auto; object-fit: contain; width: 100%; }
.application-context-layout p { color: var(--cpl-muted); font-size: 1.04rem; line-height: 1.7; }
.application-context-links { display: flex; flex-wrap: wrap; gap: 9px 16px; margin-top: 18px; }
.application-context-links a { color: var(--cpl-red); font-size: .92rem; font-weight: 800; line-height: 1.45; text-decoration: none; }
.application-context-links a:hover, .application-context-links a:focus { text-decoration: underline; }
.application-format-table-wrap { margin: 0 auto; max-width: 1180px; overflow-x: auto; }
.application-format-table { background: #fff; border-collapse: collapse; min-width: 680px; width: 100%; }
.application-format-table th, .application-format-table td { border: 1px solid var(--cpl-line); padding: 14px 16px; text-align: left; vertical-align: top; }
.application-format-table thead th { background: var(--cpl-green); color: #fff; font-size: .9rem; }
.application-format-table tbody th { color: var(--cpl-green); min-width: 150px; }
.application-format-table td { color: var(--cpl-muted); line-height: 1.55; }
.directory-format-table-wrap { margin: 0 auto; max-width: 1180px; overflow-x: auto; }
.directory-format-table { background: #fff; border-collapse: collapse; min-width: 720px; width: 100%; }
.directory-format-table th, .directory-format-table td { border: 1px solid var(--cpl-line); padding: 12px 15px; text-align: left; vertical-align: top; }
.directory-format-table thead th { background: var(--cpl-green); color: #fff; font-size: .9rem; }
.directory-format-table tbody th[scope="rowgroup"] { background: #f1f4ef; color: var(--cpl-green); font-size: .9rem; font-weight: 800; }
.directory-format-table td { color: var(--cpl-muted); line-height: 1.5; }
.directory-format-table td:first-child { font-weight: 750; min-width: 220px; }
.directory-format-table a { color: var(--cpl-green); text-decoration: underline; text-underline-offset: 2px; }
.directory-format-table a:hover, .directory-format-table a:focus { color: var(--cpl-red); }
@media (max-width: 820px) {
  .product-explore-heading h2, .product-explore-section > .section-heading h2, .application-format-section .section-heading h2 { font-size: clamp(24px, 7vw, 28px); }
  .product-explore-layout, .product-explore-followup, .application-context-layout.has-context-image { grid-template-columns: 1fr; }
  .product-explore-layout { margin-top: 20px; }
  .product-explore-followup { margin-top: 24px; }
  .product-fill-use { gap: 12px; margin-top: 24px; }
  .product-fill-steps, .product-configuration-row { grid-template-columns: 1fr; }
  .product-fill-steps article { padding: 14px; }
  .application-context-layout figure { order: 0; }
  .application-context-layout > div { order: 1; }
  .application-format-table th, .application-format-table td { padding: 12px; }
  .directory-format-table th, .directory-format-table td { padding: 11px 12px; }
}
@media (min-width: 821px) {
  .professional-categories, .buyer-guides, .professional-home-quote { padding-bottom: 64px; padding-top: 64px; }
  .cpl-value-section, .cpl-process-section, .cpl-faq-section { padding-bottom: 64px; padding-top: 64px; }
}
@media (max-width: 820px) {
  .professional-hero { padding: 32px 20px 40px; }
  .professional-hero-copy { padding: 0; width: 100%; }
  .professional-hero h1 { font-size: clamp(2.25rem, 10vw, 2.45rem); line-height: 1.02; }
  .professional-hero-copy > p:not(.cpl-hero-condition):not(.cpl-hero-eyebrow) { font-size: 1rem; line-height: 1.5; }
  .professional-hero-media { display: block !important; height: auto; margin: 20px 0 0; min-height: 0; overflow: visible; position: relative; width: 100%; }
  .professional-hero-media img { display: block; height: auto; max-height: none; min-height: 0; object-fit: contain; width: 100%; }
  .professional-hero-media { min-height: 0; }
  .professional-hero-media img { min-height: 0; }
  .professional-category-card img { height: 170px; }
  .professional-category-card > span { padding: 13px 14px 16px; }
  .professional-hero h1 { font-size: clamp(2.25rem, 10vw, 2.625rem); line-height: 1; }
  .buyer-guide-feature, .buyer-guide-lead a, .cpl-guidance-inline, .product-planning-grid { grid-template-columns: 1fr; }
  .buyer-guide-lead a > span { padding: 22px; }
  .cpl-guidance-editorial { grid-template-columns: 1fr; gap: 24px; }
  .cpl-guidance-lead h2 { font-size: clamp(1.5rem, 6vw, 1.75rem); }
  .cpl-guidance-resource { grid-template-columns: 1fr; gap: 6px; margin-top: 28px; }
  .product-facts-simple { grid-template-columns: 1fr; }
  .about-manufacturing-page .page-hero-about h1 { font-size: clamp(2.125rem, 10vw, 2.375rem); }
}

@media (max-width: 820px) {
  .cpl-home-compare-grid, .cpl-sample-route-grid, .cpl-spec-communication-grid { grid-template-columns: 1fr; }
  .cpl-home-compare .section-heading h2, .cpl-sample-routes .section-heading h2, .cpl-spec-communication .section-heading h2 { font-size: clamp(24px, 7vw, 28px); }
  .about-manufacturing-page .cpl-spec-communication .section-heading.wide h2 { font-size: clamp(24px, 7vw, 28px); }
  .cpl-sample-handoff { display: block; }
  .cpl-sample-handoff h3 { margin-top: 20px; }
  .cpl-sample-handoff h3:first-child { margin-top: 0; }
  .cpl-sample-handoff ul, .cpl-sample-handoff p { margin-top: 10px; }
}

/* v1.24.0: keep generated concept images contained and give captions a stable place. */
.professional-hero-media { min-height: 0; overflow: visible; }
.professional-hero-media picture { display: block; width: 100%; }
.professional-hero-media img { aspect-ratio: 3 / 2; background: var(--cpl-white); height: auto; max-height: none; min-height: 0; object-fit: contain; width: 100%; }
.professional-hero-media figcaption { color: var(--cpl-muted); font-size: .85rem; line-height: 1.45; margin-top: 8px; position: static; }
.professional-hero-media video { max-height: 100%; object-fit: contain; }
.cpl-home-journey { margin: 0 auto; max-width: 1180px; padding: 70px max(5vw, 24px); }
.cpl-home-journey ol { border-top: 1px solid var(--cpl-line); display: grid; gap: 28px; grid-template-columns: repeat(3,minmax(0,1fr)); list-style: none; margin: 0; padding: 26px 0 0; }
.cpl-home-journey li { align-items: start; display: flex; gap: 16px; }
.cpl-home-journey li > b { color: var(--cpl-red); font-size: .9rem; letter-spacing: .08em; }
.cpl-home-journey h3 { color: var(--cpl-green); font-size: 1.1rem; margin: 0 0 8px; }
.cpl-home-journey li p, .cpl-home-journey-link { color: var(--cpl-muted); line-height: 1.65; margin: 0; }
.cpl-home-journey-link { margin-top: 20px; }
.cpl-home-journey-link a { color: var(--cpl-green); font-weight: 700; }
.application-detail-page .application-hero { align-items: center; background: var(--cpl-cream); border: 0; display: grid; gap: clamp(28px,5vw,72px); grid-template-columns: minmax(0,1fr) minmax(0,1fr); min-height: 0; padding: clamp(32px,6vw,72px) max(5vw,24px); }
.application-detail-page .application-hero > div { max-width: 680px; padding: 0; position: static; width: auto; }
.application-detail-page .application-hero-media { background: var(--cpl-white); border: 1px solid var(--cpl-line); border-radius: 10px; margin: 0; min-width: 0; overflow: hidden; }
.application-detail-page .application-hero-media picture { display:block; }
.application-detail-page .application-hero-media img { aspect-ratio: 3 / 2; background: var(--cpl-white); display:block; height:auto; object-fit:contain; padding:0; position:static; width:100%; }
.application-detail-page .application-hero-media figcaption { color: var(--cpl-muted); font-size:.85rem; line-height:1.5; padding:10px 14px 13px; }
.application-detail-page .application-hero-media figcaption[hidden] { display:none; }
.product-gallery-main img { aspect-ratio: 3 / 2; height:auto; object-fit:contain; width:100%; }
.product-gallery-main figcaption[hidden] { display:none; }
@media (max-width:760px) {
  .cpl-home-journey { padding: 50px 20px; }
  .cpl-home-journey ol { gap: 22px; grid-template-columns: 1fr; }
  .application-detail-page .application-hero { grid-template-columns: 1fr; padding: 34px 20px; }
  .application-detail-page .application-hero-media { grid-row: 2; }
  .application-detail-page .application-hero > div { grid-row: 1; }
}

/* v1.24.0 product gallery: keep all gallery choices visible without pushing down hero copy. */
.product-detail-page .product-hero-media .product-gallery-thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  justify-content: stretch;
  margin: 0 auto;
  max-width: 560px;
  padding: 8px 12px 12px;
  width: 100%;
}
.product-detail-page .product-hero-media .product-gallery-thumb { padding: 0 0 4px; }
.product-detail-page .product-hero-media .product-gallery-thumb img { aspect-ratio: 4 / 3; }
.product-detail-page .product-hero-media .product-gallery-thumb span { font-size: 10px; line-height: 1.2; padding: 4px 4px 0; text-align: center; }
@media (max-width: 430px) {
  .product-detail-page .product-hero-media .product-gallery-thumbs { gap: 6px; padding-right: 8px; padding-left: 8px; }
  .product-detail-page .product-hero-media .product-gallery-thumb span { font-size: 9px; }
}

/* Reset legacy full-bleed page-hero rules on application pages. */
.inner-page.application-detail-page .application-hero::before,
.inner-page.application-detail-page .application-hero::after { content: none !important; display: none !important; }
.inner-page.application-detail-page .application-hero > figure.application-hero-media {
  background: var(--cpl-white) !important;
  border: 1px solid var(--cpl-line) !important;
  border-radius: 10px !important;
  height: auto !important;
  inset: auto !important;
  margin: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: static !important;
  transform: none !important;
  width: 100% !important;
  z-index: auto !important;
}
.inner-page.application-detail-page .application-hero > figure.application-hero-media picture { display: block !important; position: static !important; width: 100% !important; }
.inner-page.application-detail-page .application-hero > figure.application-hero-media img {
  aspect-ratio: 3 / 2 !important;
  height: auto !important;
  inset: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  object-fit: contain !important;
  padding: 0 !important;
  position: static !important;
  width: 100% !important;
}
.inner-page.application-detail-page .application-hero > figure.application-hero-media figcaption {
  background: transparent !important;
  bottom: auto !important;
  color: var(--cpl-muted) !important;
  font-size: .85rem !important;
  font-weight: 400 !important;
  inset: auto !important;
  left: auto !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  padding: 10px 14px 13px !important;
  position: static !important;
  right: auto !important;
  text-align: left !important;
  text-transform: none !important;
  top: auto !important;
  transform: none !important;
  width: auto !important;
}
.inner-page.application-detail-page .application-hero > div { color: var(--cpl-green) !important; }
.inner-page.application-detail-page .application-hero > div > p:not(.eyebrow) { color: var(--cpl-muted) !important; }
.inner-page.application-detail-page .application-hero h1 { color: var(--cpl-green) !important; }
.inner-page.application-detail-page .application-hero .eyebrow { color: var(--cpl-red) !important; text-shadow: none !important; }
.inner-page.application-detail-page .application-hero h1,
.inner-page.application-detail-page .application-hero p,
.inner-page.application-detail-page .application-hero .button { text-shadow: none !important; }
.inner-page.application-detail-page .application-hero .button.secondary { background: transparent !important; border-color: var(--cpl-green) !important; color: var(--cpl-green) !important; }

/* Keep the product summary aligned with the compact gallery row. */
.product-detail-page .product-detail-hero > div { align-self: start; }
.product-detail-page .product-detail-hero > .product-hero-media { align-self: start; }
