/* ==== PROCESS / HOW IT WORKS (source .process-section) ==== */
#process,
.cm-process,
.elementor-element.cm-process {
  padding: 120px max(24px, calc((100vw - 1240px) / 2)) !important;
  background: #F7F3E8 !important;
  color: #101418 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#process > .e-con,
#process > .elementor-element,
.cm-process > .e-con,
.cm-process > .elementor-element {
  width: 100% !important;
}

#process > #cm-process-heading,
#cm-process-heading,
.cm-process-heading,
.elementor-element.cm-process-heading {
  max-width: 770px !important;
  width: 100% !important;
  margin: 0 !important;
  --margin-top: 0px !important;
  --margin-bottom: 0px !important;
  --margin-block-start: 0px !important;
  --margin-block-end: 0px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.cm-section-number,
.cm-section-number p,
#cm-process-heading > .elementor-widget-text-editor:first-child,
#cm-process-heading > .elementor-widget-text-editor:first-child p {
  margin: 0 !important;
  color: rgba(16,20,24,0.42) !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
}

.cm-process-eyebrow,
.cm-process-eyebrow p,
#cm-process-heading > .elementor-widget-text-editor:nth-child(2),
#cm-process-heading > .elementor-widget-text-editor:nth-child(2) p {
  margin: 46px 0 0 !important;
  color: #75221C !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  line-height: 1.35 !important;
}

.cm-process-title .elementor-heading-title,
.cm-process-title,
#cm-process-heading .elementor-heading-title {
  margin: 0 !important;
  color: #101418 !important;
  font-family: "Bricolage Grotesque", sans-serif !important;
  font-size: clamp(50px, 5.4vw, 76px) !important;
  font-weight: 400 !important;
  line-height: 0.95 !important;
  letter-spacing: -0.06em !important;
}

/* 3-col grid */
#process > #cm-process-grid,
#cm-process-grid,
.cm-process-grid,
.elementor-element.cm-process-grid {
  margin: 68px 0 0 !important;
  --margin-top: 68px !important;
  --margin-block-start: 68px !important;
  --margin-bottom: 0px !important;
  --margin-block-end: 0px !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  border-top: 1px solid rgba(16,20,24,0.15) !important;
  background: transparent !important;
  box-shadow: none !important;
  flex-direction: unset !important;
  flex-wrap: unset !important;
  --display: grid !important;
  --flex-direction: unset !important;
}

#cm-process-grid > .e-con,
#cm-process-grid > .elementor-element,
.cm-process-card {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  flex: unset !important;
}

.cm-process-card,
#cm-process-grid > .e-con,
.elementor-element.cm-process-card {
  position: relative !important;
  min-height: 330px !important;
  padding: 34px 36px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
  border-right: 1px solid rgba(16,20,24,0.15) !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

#cm-process-grid > .e-con:last-child,
.cm-process-card:last-child {
  border-right: 0 !important;
}

/* Hide spacers inside cards */
.cm-process-card .elementor-widget-spacer,
#cm-process-grid .elementor-widget-spacer {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
}

/* Top row: icon + number */
.cm-process-card > .e-con:first-child,
#cm-process-grid > .e-con > .e-con:first-child {
  width: 100% !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.cm-process-num,
.cm-process-num p,
.cm-process-card .cm-process-num,
.cm-process-card .cm-process-num p,
.cm-process-card > .e-con:first-child > .elementor-widget-text-editor,
.cm-process-card > .e-con:first-child > .elementor-widget-text-editor p,
#cm-process-grid > .e-con > .e-con:first-child > .elementor-widget-text-editor,
#cm-process-grid > .e-con > .e-con:first-child > .elementor-widget-text-editor p {
  margin: 0 !important;
  position: absolute !important;
  top: 34px !important;
  right: 34px !important;
  color: #AAA79F !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  line-height: 1.2 !important;
  z-index: 2 !important;
}

/* number lives in the top row; keep the widget itself out of flex flow */
.cm-process-card > .e-con:first-child > .elementor-widget-text-editor,
#cm-process-grid > .e-con > .e-con:first-child > .elementor-widget-text-editor {
  position: absolute !important;
  top: 34px !important;
  right: 34px !important;
  width: auto !important;
  max-width: none !important;
}

.cm-process-icon,
.elementor-element.cm-process-icon {
  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  min-height: 64px !important;
  max-width: 64px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  justify-content: center !important;
  background: #000F23 !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  transform: rotate(-3deg) !important;
  box-sizing: border-box !important;
}

#cm-process-grid > .e-con:nth-child(2) .cm-process-icon,
.cm-process-card:nth-child(2) .cm-process-icon {
  background: #D7A319 !important;
  transform: rotate(3deg) !important;
}

#cm-process-grid > .e-con:nth-child(3) .cm-process-icon,
.cm-process-card:nth-child(3) .cm-process-icon {
  background: #75221C !important;
  transform: rotate(-3deg) !important;
}

.cm-process-icon-label .elementor-heading-title,
.cm-process-icon .elementor-heading-title,
.cm-process-icon-label {
  margin: 0 !important;
  padding: 0 !important;
  font-family: "Bricolage Grotesque", sans-serif !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}

#cm-process-grid > .e-con:nth-child(1) .cm-process-icon .elementor-heading-title,
.cm-process-card:nth-child(1) .cm-process-icon .elementor-heading-title {
  color: #FCF392 !important;
}
#cm-process-grid > .e-con:nth-child(2) .cm-process-icon .elementor-heading-title,
.cm-process-card:nth-child(2) .cm-process-icon .elementor-heading-title {
  color: #000F23 !important;
}
#cm-process-grid > .e-con:nth-child(3) .cm-process-icon .elementor-heading-title,
.cm-process-card:nth-child(3) .cm-process-icon .elementor-heading-title {
  color: #FFFFFF !important;
}

.cm-process-card-title,
.cm-process-card > .elementor-widget-heading:not(.cm-process-icon-label),
#cm-process-grid > .e-con > .elementor-widget-heading {
  margin: 62px 0 16px !important;
  --margin-top: 62px !important;
  --margin-bottom: 16px !important;
  width: 100% !important;
}

.cm-process-card-title .elementor-heading-title,
.cm-process-card > .elementor-widget-heading .elementor-heading-title,
#cm-process-grid > .e-con > .elementor-widget-heading .elementor-heading-title {
  margin: 0 !important;
  color: #101418 !important;
  font-family: "Bricolage Grotesque", sans-serif !important;
  font-size: 24px !important;
  font-weight: inherit !important; /* match Next .process-grid h3 */
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
}

.cm-process-card-copy,
.cm-process-card-copy p,
.cm-process-card > .elementor-widget-text-editor:last-child,
.cm-process-card > .elementor-widget-text-editor:last-child p,
#cm-process-grid > .e-con > .elementor-widget-text-editor:last-child,
#cm-process-grid > .e-con > .elementor-widget-text-editor:last-child p {
  max-width: 300px !important;
  margin: 0 !important;
  color: #6F6E69 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* kill Elementor default 20px widget bottom margin under the title */
#cm-process-heading > .elementor-widget-heading,
#cm-process-heading .cm-process-title {
  margin: 0 !important;
  --margin-bottom: 0px !important;
}

@media (max-width: 1050px) {
  #process > #cm-process-grid,
  #cm-process-grid,
  .cm-process-grid,
  .elementor-element.cm-process-grid {
    grid-template-columns: 1fr !important;
  }
  .cm-process-card,
  #cm-process-grid > .e-con {
    border-right: 0 !important;
    border-bottom: 1px solid rgba(16,20,24,0.15) !important;
    min-height: 0 !important;
  }
  #cm-process-grid > .e-con:last-child,
  .cm-process-card:last-child {
    border-bottom: 0 !important;
  }
}

@media (max-width: 720px) {
  #process,
  .cm-process {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
  }
  .cm-process-title .elementor-heading-title,
  #cm-process-heading .elementor-heading-title,
  #process > #cm-process-heading .elementor-heading-title {
    font-size: 42px !important;
  }
}

/* process-fix 20260811j */
