/* White and light-grey banner copy remains readable on the requested black overlay. */
.banner-one { background: #151515; }
.banner-one .chemion-banner { background-color: #151515; background-position: center; min-height: 600px; }
.banner-one .chemion-banner::before,
.banner-one .chemion-banner--industries::before {
    content: ''; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(90deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.75) 35%, rgba(0,0,0,.6) 52%, rgba(0,0,0,.22) 82%, rgba(0,0,0,.18) 100%);
}
.banner-one .chemion-banner__content,
.banner-one .chemion-banner--industries .chemion-banner__content { width: 55%; max-width: 680px; }
.banner-one h1, .banner-one .chemion-banner__title,
.banner-one h1 span, .banner-one .chemion-banner__title span { color: #fff; font-size: clamp(36px, 3.6vw, 60px); line-height: 1.12; }
.banner-one .chemion-banner__eyebrow { color: #dedede; }
.banner-one .chemion-banner__eyebrow > span { background: #fff; }
.banner-one .chemion-banner__content > h2:not(.chemion-banner__title),
.banner-one .chemion-banner__content > h3 { color: #e4e4e4; max-width: 620px; }
.banner-one .chemion-banner__content > p { color: #d3d3d3; max-width: 560px; }
.banner-one .chemion-banner--industries .chemion-banner__content > p { max-width: 560px; }
.banner-one .swiper-pagination-bullet { background: #fff; opacity: .45; }
.banner-one .swiper-pagination-bullet-active { background: #fff; opacity: 1; }
.banner-one .chemion-banner__cta:focus-visible { outline-color: #fff; }
@media (max-width: 767px) {
    .banner-one .chemion-banner { min-height: 590px; background-position: 65% center; }
    .banner-one .chemion-banner__content,
    .banner-one .chemion-banner--industries .chemion-banner__content { width: 100%; max-width: 620px; }
    .banner-one .chemion-banner::before,
    .banner-one .chemion-banner--industries::before { background: rgba(0,0,0,.76); }
    .banner-one .chemion-banner__eyebrow { font-size: 12px; letter-spacing: 1px; }
}
:root {
    --brand-red: #9b2028;
    --brand-green: #164b2c;
    --vs-theme-color1: var(--brand-red);
    --body: #606060;
    --heading-color: 0 0% 10%;
}
body { color: #606060; }
.top-header.bg-main-two { background: var(--brand-green); }
.top-header .bg-main { background: #123e25; }
.top-header .bg-neutral-600 { background: #789a82 !important; }
.header .nav-menu > li > a { color: #202020; }
.header .nav-menu > li > a:hover { color: var(--brand-red); }
.header .btn-main, .banner-one .btn-main { background: var(--brand-red) !important; color: #fff !important; }
.header .btn-main .button__flair::before,
.banner-one .btn-main .button__flair::before { background: #7b1920; }
.header .btn-main.button-shape::before, .header .btn-main.button-shape::after,
.banner-one .btn-main.button-shape::before, .banner-one .btn-main.button-shape::after { background: var(--brand-red); }
.home-section { background: #fff; color: #606060; }
.home-tint, .industriesweserver { background: #f5f7f5; }
.home-section h2, .home-section #about-heading, .home-section h3, #industries h2, #industries h3,
#clients h2, #clients h3, .home-contact h2, .location-card h3,
.chemion-literature-card > span { color: #1a1a1a; }
.home-section p, .profile-image > span, .dealer-form label,
.results-toolbar, .home-contact { color: #606060; }
.home-eyebrow, #industries .section-heading .text-main,
#clients .section-heading .text-main { color: #666 !important; }
.home-section .chemical-molecule, #industries .chemical-molecule,
#clients .chemical-molecule { filter: grayscale(1); opacity: .65; }
.home-button { background: var(--brand-green); color: #fff; }
.home-button:hover { background: #123e25; color: #fff; }
.profile-details summary, .dealer-copy a, .home-product-body a { color: var(--brand-green); }
.benefit-card, .home-product, .dealer-form { border-color: #e0e5e0; }
.benefit-card > i { color: var(--brand-green); }
.home-product-image > span { color: var(--brand-green); background: #e3eee6; }
.home-product-body a > i { color: var(--brand-green); }
.service-card, .service-card--cleaning, .service-card--guidance, .service-card--protection {
    --service-accent: #164b2c;
    --service-tint: #e3eee6;
    background: linear-gradient(145deg, #fff 25%, #edf5ef);
    border-color: #d5e4d8;
}
.service-card::before { opacity: .2; }
#services { background: linear-gradient(180deg, #fff, #f5f8f5); }
#services .services-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
#services .service-card { flex-direction: column; gap: 20px; padding: 28px 22px; box-shadow: 0 8px 24px #164b2c08; }
#services .service-card__icon { flex: 0 0 auto; width: 64px; height: 64px; font-size: 29px; }
#services .service-card__content { display: flex; flex-direction: column; width: 100%; }
#services .service-card h3, #services .service-card h2 { margin: 0 0 12px; font-size: 21px; line-height: 1.3; }
#services .service-card__content p { flex: 1; }
#services .service-card__tags { display: none; }
#services .service-card__step { opacity: .14; font-size: 58px; }
@media (max-width: 991px) {
    #services .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    #services .services-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    #services .service-card { min-width: 0; padding: 26px 24px; gap: 18px; }
    #services .service-card__icon { width: 56px; height: 56px; font-size: 24px; }
    #services .service-card h3, #services .service-card h2 { font-size: 20px; overflow-wrap: break-word; }
}
.service-card:hover { border-color: var(--brand-green); }
.industriesweserver::after { background: radial-gradient(circle, #164b2c0c, transparent 72%); }
.industry-serve-tile { border-color: #e0e5e0; box-shadow: 0 6px 18px #00000008; }
.industry-serve-tile__media { background: #e3eee6; border-radius: 12px; }
.industriesweserver .industry-serve-tile__icon { color: var(--brand-green); }
.industry-serve-tile__divider { background: #dce4de; }
.industry-serve-tile:hover { border-color: #8faa97; box-shadow: 0 10px 24px #00000010; }
.results-toolbar { background: #f0f4f0; }
.results-toolbar button, .results-solution > i { color: var(--brand-green); }
.results-solution > span { color: #666; }
.result-photo figcaption { background: #303030; }
.result-photo--after figcaption { background: var(--brand-green); }
#contact.footer > .bg-dark-light-three { background: linear-gradient(180deg, #f5f7f5, #edf2ee) !important; }
#contact.footer > .bg-main-two1 { background: #e4ece6 !important; }
#contact.footer .text-white { color: #606060 !important; }
#contact.footer h3.text-white { color: #1a1a1a !important; }
#contact.footer a.bg-dark-light { color: var(--brand-green) !important; background: #fff !important; }
#contact.footer a.bg-dark-light:hover { background: #e3eee6 !important; }

/* One logo-led palette: dark red and green, black headings and grey copy. */

/* Company introduction, certificate and paired treatment photographs. */
.company-intro { padding: 72px 0 0; background-color: #eaf3f7; background-image: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.94) 36%, rgba(255,255,255,.76) 53%, rgba(255,255,255,.12) 78%), url('../images/banner-industries-v3.jpg'); background-size: cover; background-position: center right; background-repeat: no-repeat; border-bottom: 1px solid #dce5de; }
.company-intro .home-eyebrow { justify-content: flex-start; color: var(--brand-green) !important; }
.company-intro h1 { max-width: 760px; margin: 22px 0; font-size: clamp(36px, 4.2vw, 62px); line-height: 1.12; letter-spacing: -1.5px; color: #1a1a1a; }
.company-intro h1 em { color: var(--brand-green); font-style: normal; }
.company-intro p { max-width: 690px; color: #454f49; font-size: 17px; line-height: 1.8; }
.company-intro .company-intro__lead { font-size: 21px; }
.company-intro__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin: 30px 0 44px; }
.company-intro__link { color: var(--brand-green); font-weight: 600; text-decoration: underline; text-underline-offset: 5px; }
.company-intro__footer { display: flex; flex-wrap: wrap; gap: 16px 40px; padding: 24px 0; border-top: 1px solid #37523e30; color: #24402c; font-size: 14px; font-weight: 600; }
.profile-image--certificate { padding: 20px; background: #f4f7f5; border: 1px solid #dce5de; border-radius: 14px; max-width: 450px; width: 100%; margin: auto; }
.profile-image--certificate img { display: block; width: 100%; height: auto; object-fit: contain; }
.certificate-link { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 18px 0 0; color: var(--brand-green); font-size: 14px; font-weight: 600; text-align: center; }
.company-highlights { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 24px 0; margin: 20px 0; border-top: 1px solid #dce5de; border-bottom: 1px solid #dce5de; }
.company-highlights strong, .company-highlights span { display: block; }
.company-highlights strong { font-size: clamp(22px, 2.4vw, 32px); line-height: 1.3; color: var(--brand-green); }
.company-highlights span { margin-top: 6px; font-size: 13px; color: #606060; }
.certificate-scope { font-size: 14px !important; }
.results-window { max-width: 1100px; }
.results-slider { overflow: hidden; touch-action: pan-y; padding: 20px; }
.results-slider .swiper-wrapper { align-items: stretch; }
.results-slider .swiper-slide { height: auto; border: 1px solid #dce5de; border-radius: 12px; background: #fff; overflow: hidden; }
.results-flow { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; gap: 12px; padding: 16px; height: 100%; }
.result-card-title { grid-column: 1 / -1; margin: 0; font-size: 17px; line-height: 1.4; color: #183c2c; }
.results-solution { grid-column: 1 / -1; padding: 8px 0; }
.results-solution h3 { margin: 8px 0; }
.results-pagination { display: flex; justify-content: center; gap: 10px; padding: 20px 0 0; }
.results-pagination .swiper-pagination-bullet { width: 12px; height: 12px; margin: 0 !important; }
.results-pagination .swiper-pagination-bullet-active { background: var(--brand-green); }
.result-photo figcaption { position: static; border-radius: 0; padding: 9px 4px; font-size: 10px; letter-spacing: .5px; text-align: center; }
.result-photo { align-self: center; }
.result-photo img { height: auto; aspect-ratio: 1 / 1; object-fit: contain; }
.results-toolbar > div { flex-shrink: 0; }
.results-toolbar #result-pause { width: auto; padding: 0 12px; font-size: 12px; }
@media (max-width: 767px) {
  .company-intro { padding-top: 48px; background-position: 70% center; background-image: linear-gradient(90deg, rgba(255,255,255,.96), rgba(255,255,255,.86)), url('../images/banner-industries-v3.jpg'); }
  .company-intro .company-intro__lead { font-size: 18px; }
  .results-slider { padding: 12px; }
  .results-flow { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; padding: 12px; }
  .results-solution { grid-column: 1 / -1; padding: 8px 0; }
  .results-solution > i { transform: rotate(90deg); }
  .result-photo figcaption { padding: 10px 4px; font-size: 10px; letter-spacing: .5px; }
  .results-toolbar { flex-wrap: wrap; gap: 12px; }
}

