/* ==== FAQ + FINAL CTA + FOOTER (source .faq-section / .final-cta / footer) ==== */

#faq,
.cm-faq,
.elementor-element.cm-faq {
  padding: 120px max(24px, calc((100vw - 1240px) / 2)) !important;
  background: #F7F3E8 !important;
  color: #101418 !important;
  display: grid !important;
  grid-template-columns: 0.75fr 1.25fr !important;
  gap: 90px !important;
  align-items: start !important;
  width: 100% !important;
  box-sizing: border-box !important;
  flex-direction: unset !important;
  flex-wrap: unset !important;
  --display: grid !important;
}

#faq > .e-con,
#faq > .elementor-element,
.cm-faq > .e-con {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#cm-faq-heading,
.cm-faq-heading,
.elementor-element.cm-faq-heading {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
  width: 100% !important;
}

.cm-faq-number,
.cm-faq-number p,
#cm-faq-heading > .elementor-widget-text-editor:first-child,
#cm-faq-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-faq-eyebrow,
.cm-faq-eyebrow p,
#cm-faq-heading > .elementor-widget-text-editor:nth-child(2),
#cm-faq-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-faq-title .elementor-heading-title,
#cm-faq-heading .elementor-heading-title,
#cm-faq-heading h2,
#cm-faq-heading .cm-faq-title {
  margin: 0 !important;
  color: #101418 !important;
  font-family: "Bricolage Grotesque", sans-serif !important;
  font-size: clamp(50px, 5.4vw, 76px) !important;
  font-weight: inherit !important;
  line-height: 0.95 !important;
  letter-spacing: -0.06em !important;
}

#cm-faq-heading > .elementor-widget-heading {
  margin: 0 !important;
  --margin-top: 0px !important;
  --margin-bottom: 0px !important;
}

#cm-faq-list,
.cm-faq-list,
.elementor-element.cm-faq-list {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.cm-faq .elementor-accordion,
#faq .elementor-accordion {
  border: 0 !important;
  border-top: 1px solid rgba(16, 20, 24, 0.15) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  counter-reset: cmfaq;
}

.cm-faq .elementor-accordion-item,
#faq .elementor-accordion-item {
  border: 0 !important;
  border-bottom: 1px solid rgba(16, 20, 24, 0.15) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  counter-increment: cmfaq;
}

.cm-faq .elementor-tab-title,
#faq .elementor-tab-title {
  min-height: 92px !important;
  padding: 20px 4px !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #101418 !important;
  font-family: "Bricolage Grotesque", sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) 30px !important;
  gap: 16px !important;
  align-items: center !important;
  justify-items: stretch !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Title text must NOT inherit the 3-col grid — that crushed questions into 44px */
.cm-faq .elementor-tab-title .elementor-accordion-title,
.cm-faq .elementor-tab-title .elementor-accordion-title span,
#faq .elementor-tab-title .elementor-accordion-title {
  display: block !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: stretch !important;
  grid-template-columns: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #101418 !important;
  font-family: "Bricolage Grotesque", sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
  white-space: normal !important;
  text-align: left !important;
  position: static !important;
  top: auto !important;
  transform: none !important;
}

/* burgundy index — titles no longer include 01/02 prefix */
.cm-faq .elementor-tab-title::before,
#faq .elementor-tab-title::before {
  content: counter(cmfaq, decimal-leading-zero);
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: start !important;
  display: flex !important;
  align-items: center !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #75221C !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  position: static !important;
}

/* Match Next summary i "+" — drop FA glyph so number/title/+ share one baseline */
.cm-faq .elementor-accordion-icon,
.cm-faq .elementor-tab-title .elementor-accordion-icon,
#faq .elementor-accordion-icon {
  grid-column: 3 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  align-self: center !important;
  order: unset !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 30px !important;
  height: auto !important;
  min-height: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  text-align: right !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1 !important;
  color: #101418 !important;
  transition: transform 180ms ease !important;
  position: static !important;
  float: none !important;
  top: auto !important;
}

.cm-faq .elementor-accordion-icon-closed,
.cm-faq .elementor-accordion-icon-opened,
.cm-faq .elementor-accordion-icon i,
#faq .elementor-accordion-icon-closed,
#faq .elementor-accordion-icon-opened,
#faq .elementor-accordion-icon i {
  display: none !important;
}

.cm-faq .elementor-accordion-icon::before,
#faq .elementor-accordion-icon::before {
  content: "+" !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1 !important;
  color: inherit !important;
}

.cm-faq .elementor-accordion-icon-left,
.cm-faq .elementor-accordion-icon-right {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

.cm-faq .elementor-tab-title.elementor-active .elementor-accordion-icon,
#faq .elementor-tab-title.elementor-active .elementor-accordion-icon {
  transform: rotate(45deg) !important;
  color: #75221C !important;
}

.cm-faq .elementor-tab-content,
.cm-faq .elementor-accordion-content,
#faq .elementor-tab-content {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  max-width: 680px !important;
  margin: -4px 40px 28px 60px !important;
  padding: 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;
}

.cm-faq .elementor-tab-content p,
#faq .elementor-tab-content p {
  margin: 0 !important;
  color: #6F6E69 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

/* Final CTA */
#cm-final,
.cm-final,
.elementor-element.cm-final {
  padding: 100px max(24px, calc((100vw - 1240px) / 2)) !important;
  display: grid !important;
  grid-template-columns: 1.1fr 0.9fr !important;
  gap: 80px !important;
  align-items: end !important;
  background: #75221C !important;
  color: #FFFFFF !important;
  width: 100% !important;
  box-sizing: border-box !important;
  flex-direction: unset !important;
  flex-wrap: unset !important;
  --display: grid !important;
}

#cm-final > .e-con,
#cm-final > .elementor-element {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#cm-final-copy,
.cm-final-copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
}

.cm-final-eyebrow,
.cm-final-eyebrow p,
#cm-final-copy > .elementor-widget-text-editor:first-child,
#cm-final-copy > .elementor-widget-text-editor:first-child p {
  margin: 0 0 26px !important;
  color: #FCF392 !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-final-title,
.cm-final-title .elementor-heading-title,
#cm-final-copy .cm-final-title,
#cm-final-copy .cm-final-h2,
#cm-final-copy h2.cm-final-h2,
#cm-final .cm-final-h2,
#cm-final-copy .elementor-heading-title,
#cm-final .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;
  color: #FCF392 !important;
  font-family: "Bricolage Grotesque", sans-serif !important;
  font-optical-sizing: auto !important;
  font-size: clamp(58px, 7vw, 94px) !important;
  font-weight: inherit !important;
  line-height: 0.88 !important;
  letter-spacing: -0.07em !important;
  text-transform: none !important;
}

#cm-final-copy > .elementor-widget-heading,
#cm-final-copy > .cm-final-title,
#cm-final-copy > .elementor-widget-text-editor.cm-final-title {
  margin: 0 !important;
  padding: 0 !important;
  --margin-top: 0px !important;
  --margin-bottom: 0px !important;
  width: 100% !important;
}

#cm-final-copy .cm-final-h2 br,
#cm-final-copy h2.cm-final-h2 br {
  display: block !important;
  content: "" !important;
}

#cm-final-action,
.cm-final-action,
.elementor-element.cm-final-action {
  justify-self: end !important;
  max-width: 430px !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
}

.cm-final-body,
.cm-final-body p,
#cm-final-action > .elementor-widget-text-editor,
#cm-final-action > .elementor-widget-text-editor p {
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.68) !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}

#cm-final-action .cm-btn,
#cm-final-action .elementor-widget-button {
  margin-top: 18px !important;
  width: auto !important;
}

#cm-final-action .elementor-button {
  min-height: 58px !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  background: #F2C83B !important;
  color: #000F23 !important;
  border: 0 !important;
  border-radius: 2px !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: 0.045em !important;
  text-transform: uppercase !important;
}

#cm-final-action .elementor-button-text,
#cm-final-action .elementor-button-content-wrapper {
  color: #000F23 !important;
}

/* Footer */
#cm-footer,
.cm-footer,
.elementor-element.cm-footer {
  min-height: 150px !important;
  padding: 28px max(24px, calc((100vw - 1240px) / 2)) !important;
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  gap: 30px !important;
  background: #000F23 !important;
  color: rgba(255, 255, 255, 0.48) !important;
  width: 100% !important;
  box-sizing: border-box !important;
  flex-direction: unset !important;
  flex-wrap: unset !important;
  --display: grid !important;
  border-top: 0 !important;
}

#cm-footer > .e-con,
#cm-footer > .elementor-element,
#cm-footer > .elementor-widget {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#cm-footer .cm-logo img,
#cm-footer .elementor-widget-image img {
  width: 150px !important;
  height: auto !important;
  max-width: 150px !important;
}

.cm-footer-copy,
.cm-footer-copy p,
#cm-footer > .cm-footer-copy,
#cm-footer > .cm-footer-copy p {
  margin: 0 !important;
  text-align: center !important;
  color: rgba(255, 255, 255, 0.48) !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  justify-self: center !important;
}

#cm-footer-links,
.cm-footer-links,
.elementor-element.cm-footer-links {
  justify-self: end !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 24px !important;
  width: auto !important;
  max-width: none !important;
  --width: auto !important;
}

#cm-footer-links .elementor-button,
#cm-footer-links .elementor-button-link,
#cm-footer-links a {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: rgba(255, 255, 255, 0.48) !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  min-height: 0 !important;
}

#cm-footer-links .elementor-button:hover,
#cm-footer-links a:hover {
  color: #FFFFFF !important;
  background: transparent !important;
}

@media (max-width: 1050px) {
  #faq,
  .cm-faq,
  #cm-final,
  .cm-final {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }

  #cm-final-action,
  .cm-final-action {
    justify-self: start !important;
  }

  #cm-footer,
  .cm-footer {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    text-align: center !important;
  }

  #cm-footer .cm-logo,
  #cm-footer .elementor-widget-image,
  #cm-footer-links,
  .cm-footer-links {
    justify-self: center !important;
  }
}

@media (max-width: 720px) {
  #faq,
  .cm-faq {
    padding: 82px 20px !important;
    gap: 38px !important;
  }

  .cm-faq-title .elementor-heading-title,
  #cm-faq-heading .elementor-heading-title {
    font-size: 42px !important;
  }

  .cm-faq .elementor-tab-title,
  #faq .elementor-tab-title {
    min-height: 80px !important;
    grid-template-columns: 30px 1fr 22px !important;
    font-size: 16px !important;
  }

  .cm-faq .elementor-tab-content,
  #faq .elementor-tab-content {
    margin: -4px 20px 26px 46px !important;
  }

  #cm-final,
  .cm-final {
    padding: 82px 20px !important;
    gap: 46px !important;
  }

  .cm-final-title .elementor-heading-title,
  #cm-final .elementor-heading-title,
  #cm-final .cm-final-h2,
  #cm-final-copy h2.cm-final-h2 {
    font-size: clamp(48px, 14vw, 68px) !important;
    font-weight: inherit !important;
  }

  #cm-footer,
  .cm-footer {
    padding: 28px 20px !important;
  }
}

/* closing-fix 20260811c — FAQ title width fix */
