/*
 * Click Mappers Production 
 * Global measured typography match
 *
 * Reference measurements supplied from Chrome Computed/Rendered Fonts:
 * Heading: Noto Sans Bold, 35.04px, 700, 43.8px line-height, normal tracking.
 * Supporting copy: Noto Sans Light, 16px, 300, 24px line-height, normal tracking.
 *
 * Scope: public typography only. No layout, card, dashboard, button, color,
 * spacing-system or CMS/backend rules are changed here.
 */

/* ---------- Major desktop headings ---------- */
.cm-services-header h2,
.cm-why-header h2,
.cm-reuse-hero h1,
.cm-reuse-section-head h2,
.cm-reuse-cta h2,
.cm-blog-header h1,
.cm-page-content h1,
.cm-page-content > .cm-container > h2{
  font-family:var(--cm-font-primary,'Noto Sans',Arial,Helvetica,sans-serif) !important;
  font-size:35.04px !important;
  font-weight:700 !important;
  line-height:43.8px !important;
  letter-spacing:normal !important;
  font-style:normal !important;
  font-variation-settings:normal !important;
  font-feature-settings:normal !important;
  font-synthesis:none !important;
}

/* ---------- Major supporting copy ---------- */
.cm-services-header p,
.cm-why-line,
.cm-reuse-hero p,
.cm-reuse-section-head p,
.cm-reuse-cta p{
  font-family:var(--cm-font-primary,'Noto Sans',Arial,Helvetica,sans-serif) !important;
  font-size:16px !important;
  font-weight:300 !important;
  line-height:24px !important;
  letter-spacing:normal !important;
  font-style:normal !important;
  font-variation-settings:normal !important;
  font-feature-settings:normal !important;
}

/* ---------- Supporting card typography ----------
 Preserve existing hierarchy/sizes while removing visual heaviness. */
.cm-service-card h3,
.cm-why-card h3,
.cm-why-assurance h3,
.cm-reuse-card h3{
  font-family:var(--cm-font-primary,'Noto Sans',Arial,Helvetica,sans-serif) !important;
  font-weight:700 !important;
  letter-spacing:normal !important;
  font-synthesis:none !important;
}

.cm-service-description,
.cm-why-card p,
.cm-why-assurance p,
.cm-reuse-card p{
  font-family:var(--cm-font-primary,'Noto Sans',Arial,Helvetica,sans-serif) !important;
  font-weight:300 !important;
  letter-spacing:normal !important;
}

/* Keep small labels/buttons intentionally stronger for scanability. */
.cm-services-label,
.cm-why-assurance-kicker,
.cm-home-hero.cm-hero-layout-homepage_split .cm-home-hero-btn,
.cm-services-btn{
  font-family:var(--cm-font-primary,'Noto Sans',Arial,Helvetica,sans-serif) !important;
}

/* Tablet: preserve the established responsive hierarchy, but keep the
 same lighter global rendering characteristics. */
@media (min-width:681px) and (max-width:1000px){
    .cm-services-header h2,
  .cm-why-header h2,
  .cm-reuse-hero h1,
  .cm-reuse-section-head h2,
  .cm-reuse-cta h2,
  .cm-blog-header h1,
  .cm-page-content h1,
  .cm-page-content > .cm-container > h2{
    font-size:34px !important;
    line-height:42.5px !important;
    font-weight:700 !important;
    letter-spacing:normal !important;
  }
}

/* Mobile: keep the already-approved compact responsive scale rather than
 forcing desktop dimensions into narrow screens. */
@media (max-width:680px){
    .cm-services-header h2,
  .cm-why-header h2,
  .cm-reuse-hero h1,
  .cm-reuse-section-head h2,
  .cm-reuse-cta h2,
  .cm-blog-header h1,
  .cm-page-content h1,
  .cm-page-content > .cm-container > h2{
    font-size:30px !important;
    line-height:37.5px !important;
    font-weight:700 !important;
    letter-spacing:normal !important;
  }

    .cm-services-header p,
  .cm-why-line,
  .cm-reuse-hero p,
  .cm-reuse-section-head p,
  .cm-reuse-cta p{
    font-size:15px !important;
    line-height:22.5px !important;
    font-weight:300 !important;
  }
}

/* Testimonials desktop typography exception.
 * This file loads after component CSS, so the approved testimonial sizes
 * must be declared here to prevent the global heading rule winning. */
@media (min-width:901px){
  .cm-reuse-testimonials.is-navigator .cm-testimonial-eyebrow{
    font-size:20px !important;
  }
  .cm-reuse-testimonials.is-navigator .cm-testimonials-head h2{
    font-size:26px !important;
    line-height:1.26 !important;
  }
}

/* ==========================================================
 Canonical public section eyebrow typography
 Shared by the approved Services section label and Split Visual Hero eyebrow.
 Alignment and spacing remain component-owned.
 ========================================================== */
.cm-section-eyebrow,
.cm-services-label{
  color:#5f6f82!important;
  font-size:24px!important;
  line-height:1.15!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
}
@media (min-width:681px) and (max-width:1000px){
  .cm-section-eyebrow,
  .cm-services-label{font-size:22px!important;}
}
@media (max-width:680px){
  .cm-section-eyebrow,
  .cm-services-label{font-size:20px!important;}
}
