/* Consolidated from historical spacing layer . Rule order preserved. */
/* ==========================================================
 Click Mappers spacing-only refinement
 ----------------------------------------------------------
 Preserve section visuals/backgrounds/dividers exactly.
 Only tighten oversized gaps in the Services CTA -> Why Us ->
 Special Assurance -> Our Approach flow and Contact transition.
 ========================================================== */

/* Services CTA -> Why Us */
.cm-service-cta-section{
  padding-top:30px!important;
  padding-bottom:38px!important;
}
.cm-service-cta-section .cm-services-cta{
  margin-top:0!important;
}
.cm-service-cta-section + .cm-why-section{
  padding-top:42px!important;
}

/* Why Us -> Special Assurance */
.cm-why-section{
  padding-bottom:42px!important;
}
.cm-assurance-section{
  padding-top:34px!important;
  padding-bottom:38px!important;
}
.cm-assurance-section .cm-why-assurance{
  margin-top:0!important;
}

/* Special Assurance -> Our Approach */
.cm-assurance-section + .cm-process-section,
.cm-why-section + .cm-process-section{
  margin-top:0!important;
}
.cm-process-section{
  padding-top:40px!important;
  padding-bottom:52px!important;
}

/* Contact transition: keep existing divider/background styling,
 only remove oversized vertical separation. */
.cm-contact-section{
  margin-top:0!important;
  padding-top:42px!important;
}

@media(max-width:980px){
  .cm-service-cta-section{padding-top:28px!important;padding-bottom:34px!important}
  .cm-service-cta-section + .cm-why-section{padding-top:38px!important}
  .cm-why-section{padding-bottom:38px!important}
  .cm-assurance-section{padding-top:30px!important;padding-bottom:34px!important}
  .cm-process-section{padding-top:36px!important;padding-bottom:46px!important}
  .cm-contact-section{padding-top:38px!important}
}

@media(max-width:680px){
  .cm-service-cta-section{padding-top:24px!important;padding-bottom:28px!important}
  .cm-service-cta-section + .cm-why-section{padding-top:34px!important}
  .cm-why-section{padding-bottom:32px!important}
  .cm-assurance-section{padding-top:28px!important;padding-bottom:30px!important}
  .cm-process-section{padding-top:32px!important;padding-bottom:40px!important}
  .cm-contact-section{padding-top:34px!important}
}


/* Consolidated from historical spacing layer . Rule order preserved. */
/* ==========================================================
 Click Mappers targeted divider + spacing cleanup
 ----------------------------------------------------------
 Keeps visuals. Only:
 tightens oversized gaps around Assurance Approach Feedback
 contains the white divider before Testimonials to content width
 gives Contact the same contained divider language as Assurance
 moves the Mission/Vision divider from between the two blocks to
 below Vision.
 ========================================================== */

/* 1) Why Us -> Special Assurance: keep the existing contained rule,
 but remove the oversized empty band above it. */
.cm-assurance-section{
  padding-top:18px!important;
  padding-bottom:22px!important;
}
.cm-assurance-section .cm-why-assurance{
  margin-top:0!important;
  padding-top:24px!important;
  padding-bottom:4px!important;
}

/* 2) Special Assurance -> Our Approach: preserve visuals, tighten rhythm. */
.cm-process-section{
  padding-top:24px!important;
  padding-bottom:30px!important;
}
.cm-assurance-section + .cm-process-section,
.cm-why-section + .cm-process-section{
  margin-top:0!important;
}

/* 3) Our Approach -> Client Feedback: the existing white major divider
 stays white, but is contained to the same content width instead of
 running edge-to-edge. */
.cm-reuse-testimonials.is-navigator{
  border-top:0!important;
  padding-top:14px!important;
}
.cm-reuse-testimonials.is-navigator::before{
  content:"";
  display:block;
  width:min(var(--cm-site-max-width),calc(100% - var(--cm-site-gutter-desktop)));
  margin:0 auto 12px;
  border-top:1px solid rgba(255,255,255,.95);
  box-sizing:border-box;
}

/* 4) Contact Form transition: use the exact restrained divider family
 already used by the reusable Special Assurance container. The current
 section gap/background stays intact; the line simply sits inside it. */
.cm-contact-section{
  position:relative;
  border-top:0!important;
}
.cm-contact-section::before{
  content:"";
  position:absolute;
  top:18px;
  left:50%;
  width:min(var(--cm-site-max-width),calc(100% - var(--cm-site-gutter-desktop)));
  transform:translateX(-50%);
  border-top:1px solid rgba(95,111,130,.18);
  pointer-events:none;
  box-sizing:border-box;
}

/* 5) About Mission + Vision are one combined story. Remove the divider
 between them and place the same restrained structural rule after Vision. */
.cm-mission-vision__block--vision{
  border-top:0!important;
}
.cm-mission-vision__inner::after{
  content:"";
  display:block;
  width:100%;
  margin:46px auto 0;
  border-top:1px solid rgba(95,111,130,.18);
  box-sizing:border-box;
}

@media(max-width:980px){
  .cm-assurance-section{padding-top:16px!important;padding-bottom:20px!important}
  .cm-assurance-section .cm-why-assurance{padding-top:22px!important}
  .cm-process-section{padding-top:22px!important;padding-bottom:28px!important}
  .cm-reuse-testimonials.is-navigator{padding-top:12px!important}
  .cm-contact-section::before{top:16px}
  .cm-mission-vision__inner::after{margin-top:40px}
}

@media(max-width:680px){
  .cm-assurance-section{padding-top:14px!important;padding-bottom:18px!important}
  .cm-assurance-section .cm-why-assurance{padding-top:20px!important}
  .cm-process-section{padding-top:20px!important;padding-bottom:26px!important}
  .cm-reuse-testimonials.is-navigator::before,
  .cm-contact-section::before{width:calc(100% - 28px)}
  .cm-contact-section::before{top:14px}
  .cm-mission-vision__inner::after{margin-top:34px}
}


/* Consolidated from historical spacing layer . Rule order preserved. */
/* ==========================================================
 Click Mappers reusable panel + page-context cleanup
 ----------------------------------------------------------
 Targeted follow-up to only:
 keep Contact transition divider on Home/Services, not Contact page
 preserve reusable glass/panel feel with Assurance + Client Feedback
 reduce Vision -> Who We Help empty gap
 keep all spacing/divider decisions otherwise unchanged
 ========================================================== */

/* 1) Contact divider is a page transition, not part of the reusable form.
 created the correct line, so disable it by default and restore only
 on page contexts that intentionally use the transition. */
.cm-contact-section::before{display:none!important}
body.home .cm-contact-section::before,
body.cm-services-page .cm-contact-section::before{
  display:block!important;
}

/* 2) Special Assurance owns its subtle glass/content panel so the visual
 treatment travels with the reusable module without carrying a page divider. */
.cm-assurance-section .cm-why-assurance{
  box-sizing:border-box;
  width:min(900px,calc(100% - var(--cm-site-gutter-desktop)));
  margin-left:auto!important;
  margin-right:auto!important;
  padding:20px 24px 16px!important;
  border:1px solid rgba(255,255,255,.92)!important;
  border-radius:12px;
  background:rgba(255,255,255,.28)!important;
  box-shadow:0 10px 28px rgba(23,33,43,.035);
  -webkit-backdrop-filter:blur(3px);
  backdrop-filter:blur(3px);
}

/* 3) Client Feedback receives the same restrained panel family. The section
 itself keeps the existing page canvas; only its actual content area lifts. */
.cm-reuse-testimonials.is-navigator > .cm-container{
  box-sizing:border-box;
  width:min(var(--cm-site-max-width),calc(100% - var(--cm-site-gutter-desktop)));
  padding:22px 28px 24px;
  border:1px solid rgba(255,255,255,.92);
  border-radius:12px;
  background:rgba(255,255,255,.28);
  box-shadow:0 10px 28px rgba(23,33,43,.035);
  -webkit-backdrop-filter:blur(3px);
  backdrop-filter:blur(3px);
}

/* 4) Mission + Vision remain one combined section. Keep the divider below
 Vision, but reduce the large empty transition before Who We Help. */
.cm-mission-vision{
  padding-bottom:24px!important;
}
.cm-mission-vision__inner::after{
  margin-top:24px!important;
}
.cm-mission-vision + .cm-who-help{
  padding-top:30px!important;
}

@media(max-width:980px){
  .cm-assurance-section .cm-why-assurance{
    width:min(900px,calc(100% - var(--cm-site-gutter-desktop)));
    padding:18px 22px 15px!important;
  }
  .cm-reuse-testimonials.is-navigator > .cm-container{
    width:calc(100% - var(--cm-site-gutter-desktop));
    padding:20px 22px 22px;
  }
  .cm-mission-vision{padding-bottom:22px!important}
  .cm-mission-vision__inner::after{margin-top:22px!important}
  .cm-mission-vision + .cm-who-help{padding-top:28px!important}
}

@media(max-width:680px){
  .cm-assurance-section .cm-why-assurance{
    width:calc(100% - 28px);
    padding:17px 16px 14px!important;
  }
  .cm-reuse-testimonials.is-navigator > .cm-container{
    width:calc(100% - 28px);
    padding:18px 16px 19px;
  }
  .cm-mission-vision{padding-bottom:18px!important}
  .cm-mission-vision__inner::after{margin-top:18px!important}
  .cm-mission-vision + .cm-who-help{padding-top:24px!important}
}


/* Consolidated from historical spacing layer . Rule order preserved. */
/* Click Mappers reusable divider boundaries + final About rhythm */

/* Assurance and Client Feedback now own their glass panel, not surrounding dividers. */
.cm-assurance-section{border-top:0!important;border-bottom:0!important}
.cm-assurance-section::before,.cm-assurance-section::after,
.cm-assurance-section .cm-why-assurance::before,.cm-assurance-section .cm-why-assurance::after{border-top:0!important;border-bottom:0!important}
.cm-assurance-section .cm-why-assurance{border-top:1px solid rgba(255,255,255,.92)!important;border-bottom:1px solid rgba(255,255,255,.92)!important}

.cm-reuse-testimonials.is-navigator{border-top:0!important;border-bottom:0!important}
.cm-reuse-testimonials.is-navigator::before,.cm-reuse-testimonials.is-navigator::after{display:none!important;content:none!important}

/* Mission + Vision: slightly tighter entry on every responsive tier. */
.cm-mission-vision{padding-top:38px!important}
@media(max-width:980px){.cm-mission-vision{padding-top:34px!important}}
@media(max-width:680px){.cm-mission-vision{padding-top:30px!important}}

/* Independent reusable divider. */
.cm-reusable-divider{box-sizing:border-box;width:100%;padding-top:var(--cm-div-top,18px);padding-bottom:var(--cm-div-bottom,18px);background:transparent}
.cm-reusable-divider span{display:block;width:min(var(--cm-div-width,var(--cm-site-max-width)),var(--cm-site-max-width),calc(100% - var(--cm-site-gutter-desktop)));margin:0 auto;border-top:1px solid rgba(95,111,130,.18)}
.cm-reusable-divider--green span{border-top-color:rgba(22,163,74,.28)}
@media(max-width:680px){.cm-reusable-divider span{width:calc(100% - 28px)}}


/* Consolidated from historical spacing layer . Rule order preserved. */
/* Click Mappers legacy major dividers moved into reusable assignments. */

/* Page-transition lines no longer belong to reusable content modules. */
.cm-why-section{border-top:0!important}
.cm-process-inner{border-top:0!important;padding-top:28px}
.cm-contact-section{border-top:0!important}
.cm-contact-section::before{display:none!important;content:none!important}
.cm-mission-vision__inner::after{display:none!important;content:none!important}

/* Special Assurance and Client Feedback keep only their reusable glass panel.
 No legacy boundary rule is allowed to travel with either module. */
.cm-assurance-section .cm-assurance-container{border-top:0!important}
.cm-assurance-section .cm-why-assurance{margin-top:0!important}
.cm-reuse-testimonials.is-navigator{border-top:0!important;border-bottom:0!important}

/* Services CTA is now a standalone reusable section. Keep its approved visual
 appearance while allowing it to move independently in Section Assignments. */
.cm-service-cta-section{box-sizing:border-box}


/* Consolidated from historical spacing layer . Rule order preserved. */
/* ==========================================================
 Click Mappers About transition gap refinement
 ----------------------------------------------------------
 Targeted spacing-only follow-up:
 reduce the divider -> Who We Help entry gap
 reduce Special Assurance -> Our Approach empty gap
 preserve all reusable divider, panel, typography and layout rules
 ========================================================== */

/* Post-Vision reusable divider -> Who We Help.
 Keep the divider itself untouched; only bring the next section closer. */
.cm-reusable-divider + .cm-who-help{
  padding-top:16px!important;
}

/* Special Assurance -> Our Approach.
 The glass panel and process layout stay unchanged; only transition whitespace
 is tightened. Covers both direct adjacency and an optional reusable divider. */
.cm-assurance-section{
  padding-bottom:10px!important;
}
.cm-assurance-section + .cm-process-section,
.cm-assurance-section + .cm-reusable-divider + .cm-process-section{
  padding-top:10px!important;
}
.cm-assurance-section + .cm-process-section .cm-process-inner,
.cm-assurance-section + .cm-reusable-divider + .cm-process-section .cm-process-inner{
  padding-top:10px!important;
}

@media(max-width:980px){
  .cm-reusable-divider + .cm-who-help{padding-top:14px!important}
  .cm-assurance-section{padding-bottom:9px!important}
  .cm-assurance-section + .cm-process-section,
  .cm-assurance-section + .cm-reusable-divider + .cm-process-section{padding-top:9px!important}
  .cm-assurance-section + .cm-process-section .cm-process-inner,
  .cm-assurance-section + .cm-reusable-divider + .cm-process-section .cm-process-inner{padding-top:9px!important}
}

@media(max-width:680px){
  .cm-reusable-divider + .cm-who-help{padding-top:12px!important}
  .cm-assurance-section{padding-bottom:8px!important}
  .cm-assurance-section + .cm-process-section,
  .cm-assurance-section + .cm-reusable-divider + .cm-process-section{padding-top:8px!important}
  .cm-assurance-section + .cm-process-section .cm-process-inner,
  .cm-assurance-section + .cm-reusable-divider + .cm-process-section .cm-process-inner{padding-top:8px!important}
}


/* Consolidated from historical spacing layer . Rule order preserved. */
/* ==========================================================
 Click Mappers Mission Vision gap refinement
 ----------------------------------------------------------
 Targeted spacing-only follow-up:
 reduce What We Do -> Mission entry whitespace
 reduce Mission -> Vision whitespace
 preserve the approved Mission/Vision layout, imagery, divider placement,
 typography, slider behavior and responsive structure
 ========================================================== */

/* Bring the combined Mission & Vision story closer to the preceding section. */
.cm-mission-vision{
  padding-top:20px!important;
}

/* Mission and Vision are one combined story. Keep the alternating layout but
 remove the oversized blank band that remained from the old divider spacing. */
.cm-mission-vision__block--vision{
  margin-top:28px!important;
  padding-top:0!important;
}

@media(max-width:980px){
  .cm-mission-vision{padding-top:18px!important}
  .cm-mission-vision__block--vision{margin-top:24px!important;padding-top:0!important}
}

@media(max-width:680px){
  .cm-mission-vision{padding-top:16px!important}
  .cm-mission-vision__block--vision{margin-top:22px!important;padding-top:0!important}
}


/* Consolidated from historical spacing layer . Rule order preserved. */
/* ==========================================================
 Click Mappers Remaining major transition gap cleanup
 ----------------------------------------------------------
 Targeted spacing-only follow-up:
 tighten Services CTA -> Why Us
 tighten Why Us -> Special Assurance
 tighten reusable divider -> Contact section
 preserve divider styling, reusable panels, typography and layouts
 ========================================================== */

/* Services CTA -> Why Us: keep both sections visually connected. */
.cm-service-cta-section{
  padding-bottom:20px!important;
}
.cm-service-cta-section + .cm-why-section{
  padding-top:22px!important;
}

/* Why Us -> Special Assurance: reduce the oversized empty transition only. */
.cm-why-section{
  padding-bottom:20px!important;
}
.cm-why-section + .cm-assurance-section{
  padding-top:18px!important;
}

/* Reusable divider -> Contact: divider remains independent/reusable; only
 reduce the following section's entry whitespace. */
.cm-reusable-divider + .cm-contact-section{
  padding-top:20px!important;
}

@media(max-width:980px){
  .cm-service-cta-section{padding-bottom:18px!important}
  .cm-service-cta-section + .cm-why-section{padding-top:20px!important}
  .cm-why-section{padding-bottom:18px!important}
  .cm-why-section + .cm-assurance-section{padding-top:16px!important}
  .cm-reusable-divider + .cm-contact-section{padding-top:18px!important}
}

@media(max-width:680px){
  .cm-service-cta-section{padding-bottom:16px!important}
  .cm-service-cta-section + .cm-why-section{padding-top:18px!important}
  .cm-why-section{padding-bottom:16px!important}
  .cm-why-section + .cm-assurance-section{padding-top:14px!important}
  .cm-reusable-divider + .cm-contact-section{padding-top:16px!important}
}


/* Consolidated from historical spacing layer . Rule order preserved. */
/* ==========================================================
 Click Mappers Service page transition spacing polish
 ----------------------------------------------------------
 Audited late-layer spacing only. Keeps card/component internals intact.
 Tightens these reusable transitions across desktop/tablet/mobile:
 Journey -> Service Scope -> Assurance -> Working Process.
 ========================================================== */

/* Problem Solution Impact -> Service Scope */
.cm-service-journey-section + .cm-service-what-we-do-section{
  padding-top:24px!important;
}


/* Service Scope -> Trackables: one transition owner prevents stacked section padding. */
.cm-service-what-we-do-section:has(+ .cm-service-trackables-section){
  padding-bottom:14px!important;
}
.cm-service-what-we-do-section + .cm-service-trackables-section{
  padding-top:14px!important;
}

/* Service Scope -> Assurance */
.cm-service-what-we-do-section:has(+ .cm-assurance-section){
  padding-bottom:34px!important;
}
.cm-service-what-we-do-section + .cm-assurance-section{
  padding-top:10px!important;
}

/* Assurance -> Working Process: preserve the existing compact transition,
 but remove the remaining double-padding band. */
.cm-assurance-section + .cm-process-section,
.cm-assurance-section + .cm-reusable-divider + .cm-process-section{
  padding-top:6px!important;
}
.cm-assurance-section + .cm-process-section .cm-process-inner,
.cm-assurance-section + .cm-reusable-divider + .cm-process-section .cm-process-inner{
  padding-top:6px!important;
}
.cm-assurance-section:has(+ .cm-process-section),
.cm-assurance-section:has(+ .cm-reusable-divider + .cm-process-section){
  padding-bottom:6px!important;
}

@media(max-width:980px){
  .cm-service-journey-section + .cm-service-what-we-do-section{padding-top:20px!important}
  .cm-service-what-we-do-section:has(+ .cm-service-trackables-section){padding-bottom:12px!important}
  .cm-service-what-we-do-section + .cm-service-trackables-section{padding-top:12px!important}
  .cm-service-what-we-do-section:has(+ .cm-assurance-section){padding-bottom:28px!important}
  .cm-service-what-we-do-section + .cm-assurance-section{padding-top:9px!important}
  .cm-assurance-section + .cm-process-section,
  .cm-assurance-section + .cm-reusable-divider + .cm-process-section{padding-top:6px!important}
  .cm-assurance-section + .cm-process-section .cm-process-inner,
  .cm-assurance-section + .cm-reusable-divider + .cm-process-section .cm-process-inner{padding-top:6px!important}
  .cm-assurance-section:has(+ .cm-process-section),
  .cm-assurance-section:has(+ .cm-reusable-divider + .cm-process-section){padding-bottom:6px!important}
}

@media(max-width:680px){
  .cm-service-journey-section + .cm-service-what-we-do-section{padding-top:20px!important}
  .cm-service-what-we-do-section:has(+ .cm-service-trackables-section){padding-bottom:10px!important}
  .cm-service-what-we-do-section + .cm-service-trackables-section{padding-top:10px!important}
  .cm-service-what-we-do-section:has(+ .cm-assurance-section){padding-bottom:22px!important}
  .cm-service-what-we-do-section + .cm-assurance-section{padding-top:8px!important}
  .cm-assurance-section + .cm-process-section,
  .cm-assurance-section + .cm-reusable-divider + .cm-process-section{padding-top:5px!important}
  .cm-assurance-section + .cm-process-section .cm-process-inner,
  .cm-assurance-section + .cm-reusable-divider + .cm-process-section .cm-process-inner{padding-top:5px!important}
  .cm-assurance-section:has(+ .cm-process-section),
  .cm-assurance-section:has(+ .cm-reusable-divider + .cm-process-section){padding-bottom:5px!important}
}


