/*
 * Canonical public Hero typography contract.
 * One semantic type system for every active public Hero layout.
 * Component styles own geometry, alignment, media, color and decoration only.
 */
.cm-home-hero.cm-hero-layout-homepage_split .cm-home-hero-promise,
.cm-home-hero.cm-hero-layout-service_text_only .cm-home-hero-promise,
.cm-home-hero.cm-hero-layout-service_split_visual .cm-home-hero-promise,
.cm-home-hero.cm-hero-layout-about_editorial_split .cm-home-hero-promise{
  font-family:var(--cm-font-primary,'Noto Sans',Arial,Helvetica,sans-serif);
  font-size:13px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.08em;
  margin-bottom:10px;
}

.cm-home-hero.cm-hero-layout-homepage_split .cm-home-hero-title,
.cm-home-hero.cm-hero-layout-service_text_only .cm-home-hero-title,
.cm-home-hero.cm-hero-layout-service_split_visual .cm-home-hero-title,
.cm-home-hero.cm-hero-layout-about_editorial_split .cm-home-hero-title{
  font-family:var(--cm-font-primary,'Noto Sans',Arial,Helvetica,sans-serif);
  font-size:35px;
  font-weight:700;
  line-height:42px;
  letter-spacing:-.02em;
  font-style:normal;
  font-variation-settings:normal;
  font-feature-settings:normal;
  font-synthesis:none;
}

.cm-home-hero.cm-hero-layout-homepage_split .cm-home-hero-description,
.cm-home-hero.cm-hero-layout-service_text_only .cm-home-hero-description,
.cm-home-hero.cm-hero-layout-service_split_visual .cm-home-hero-description,
.cm-home-hero.cm-hero-layout-about_editorial_split .cm-home-hero-description{
  font-family:var(--cm-font-primary,'Noto Sans',Arial,Helvetica,sans-serif);
  font-size:16px;
  font-weight:400;
  line-height:1.6;
  letter-spacing:normal;
  margin-top:16px;
}

.cm-home-hero.cm-hero-layout-homepage_split .cm-home-hero-benefits,
.cm-home-hero.cm-hero-layout-service_text_only .cm-home-hero-benefits,
.cm-home-hero.cm-hero-layout-service_split_visual .cm-home-hero-benefits,
.cm-home-hero.cm-hero-layout-about_editorial_split .cm-home-hero-benefits{margin-top:24px}

.cm-home-hero.cm-hero-layout-homepage_split .cm-home-hero-benefits li,
.cm-home-hero.cm-hero-layout-service_text_only .cm-home-hero-benefits li,
.cm-home-hero.cm-hero-layout-service_split_visual .cm-home-hero-benefits li,
.cm-home-hero.cm-hero-layout-about_editorial_split .cm-home-hero-benefits li{
  font-family:var(--cm-font-primary,'Noto Sans',Arial,Helvetica,sans-serif);
  font-size:14px;
  font-weight:600;
  line-height:1.45;
  letter-spacing:normal;
}
.cm-home-hero.cm-hero-layout-homepage_split .cm-home-hero-benefits li>strong,
.cm-home-hero.cm-hero-layout-service_text_only .cm-home-hero-benefits li>strong,
.cm-home-hero.cm-hero-layout-service_split_visual .cm-home-hero-benefits li>strong,
.cm-home-hero.cm-hero-layout-about_editorial_split .cm-home-hero-benefits li>strong{
  font-size:inherit;
  font-weight:600;
  line-height:inherit;
}
.cm-home-hero.cm-hero-layout-homepage_split .cm-home-hero-benefits li>span,
.cm-home-hero.cm-hero-layout-service_text_only .cm-home-hero-benefits li>span,
.cm-home-hero.cm-hero-layout-service_split_visual .cm-home-hero-benefits li>span,
.cm-home-hero.cm-hero-layout-about_editorial_split .cm-home-hero-benefits li>span{
  display:inline-grid;
  width:20px;
  height:20px;
  flex:0 0 20px;
  place-items:center;
  border:1px solid #b9e4ca;
  border-radius:50%;
  background:#eaf7ef;
  color:#17854d;
  font-size:11px;
  font-weight:900;
  line-height:1;
}

/* Semantic Hero label sizing: the Home promise is a value proposition, while
 * Individual Service promises are service eyebrows. Both remain in the shared
 * Hero type system, but use the appropriate semantic scale. */
.cm-home-hero.cm-hero-layout-homepage_split .cm-home-hero-promise{font-size:16px;line-height:1.4;letter-spacing:normal}
.cm-home-hero.cm-hero-layout-service_split_visual .cm-home-hero-promise{font-size:14px}

@media (min-width:681px) and (max-width:1000px){
  .cm-home-hero.cm-hero-layout-homepage_split .cm-home-hero-promise{font-size:15px}
}
@media (max-width:680px){
  .cm-home-hero.cm-hero-layout-homepage_split .cm-home-hero-promise{font-size:clamp(11.5px,3.4vw,13px);line-height:1.4;letter-spacing:-.01em}
}

@media (min-width:681px) and (max-width:1000px){
.cm-home-hero.cm-hero-layout-homepage_split .cm-home-hero-title,
.cm-home-hero.cm-hero-layout-service_text_only .cm-home-hero-title,
.cm-home-hero.cm-hero-layout-service_split_visual .cm-home-hero-title,
.cm-home-hero.cm-hero-layout-about_editorial_split .cm-home-hero-title{font-size:34px}
}

@media (max-width:680px){
.cm-home-hero.cm-hero-layout-homepage_split .cm-home-hero-title,
.cm-home-hero.cm-hero-layout-service_text_only .cm-home-hero-title,
.cm-home-hero.cm-hero-layout-service_split_visual .cm-home-hero-title,
.cm-home-hero.cm-hero-layout-about_editorial_split .cm-home-hero-title{
  font-size:32px;
  line-height:1.15;
  letter-spacing:-.02em;
}
.cm-home-hero.cm-hero-layout-homepage_split .cm-home-hero-description,
.cm-home-hero.cm-hero-layout-service_text_only .cm-home-hero-description,
.cm-home-hero.cm-hero-layout-service_split_visual .cm-home-hero-description,
.cm-home-hero.cm-hero-layout-about_editorial_split .cm-home-hero-description{
  font-size:16px;
  line-height:1.6;
}
.cm-home-hero.cm-hero-layout-homepage_split .cm-home-hero-benefits li,
.cm-home-hero.cm-hero-layout-service_text_only .cm-home-hero-benefits li,
.cm-home-hero.cm-hero-layout-service_split_visual .cm-home-hero-benefits li,
.cm-home-hero.cm-hero-layout-about_editorial_split .cm-home-hero-benefits li{
  font-size:14px;
  line-height:1.45;
}
}
