.elementor-15 .elementor-element.elementor-element-4d39928{--display:flex;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15 .elementor-element.elementor-element-c6a6f73{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15 .elementor-element.elementor-element-b31ff7b{--display:flex;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15 .elementor-element.elementor-element-9038278{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15 .elementor-element.elementor-element-ad9d4a3{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15 .elementor-element.elementor-element-142a746{--display:flex;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-408321a *//* Beliefs read as an editorial list, not a 4-up card row.
   240px cards forced ~18 chars/line; the guideline is 60-75 on desktop.
   Sticky heading anchors context while each belief scrolls past (no scroll-jacking). */
.elementor-15 .elementor-element.elementor-element-408321a .believe-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  width: min(1100px, 100%);
  margin-inline: auto;
}
.elementor-15 .elementor-element.elementor-element-408321a .believe-aside {
  max-width: 100%;
  margin: 0;
}
.elementor-15 .elementor-element.elementor-element-408321a .believe-list {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: left;
}
.elementor-15 .elementor-element.elementor-element-408321a .believe-list li {
  display: flex;
  gap: 20px;
  padding: 28px 0;
  border-top: 0.8px solid var(--line);
}
.elementor-15 .elementor-element.elementor-element-408321a .believe-list li:first-child {
  padding-top: 0;
  border-top: 0;
}
.elementor-15 .elementor-element.elementor-element-408321a .believe-list li:last-child { padding-bottom: 0; }
.elementor-15 .elementor-element.elementor-element-408321a .believe-list .icon-box { flex: 0 0 auto; }
.elementor-15 .elementor-element.elementor-element-408321a .believe-list h3 {
  margin: 0 0 8px;
  color: var(--ink-soft);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
}
.elementor-15 .elementor-element.elementor-element-408321a .believe-list p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.6;
}
@media (min-width: 1025px) {
  .elementor-15 .elementor-element.elementor-element-408321a .believe-layout {
    grid-template-columns: minmax(0, 340px) minmax(0, 620px);
    justify-content: center;
    align-items: start;
    gap: 80px;
  }
  .elementor-15 .elementor-element.elementor-element-408321a .believe-aside {
    position: sticky;
    top: 120px;
    text-align: left;
  }
}
@media (max-width: 760px) {
  .elementor-15 .elementor-element.elementor-element-408321a .believe-list li { gap: 16px; padding: 24px 0; }
  .elementor-15 .elementor-element.elementor-element-408321a .believe-list h3 { font-size: 17px; }
}

/* Small screens: stack the icon so the copy gets the full row.
   Inline icon left only ~30 chars/line; guideline is 35-60 on mobile. */
@media (max-width: 560px) {
  .elementor-15 .elementor-element.elementor-element-408321a .believe-list li {
    flex-direction: column;
    gap: 12px;
  }
}

/* Testimonial rides in the right column: it reads as evidence for the beliefs,
   and the taller column gives the sticky heading real scroll travel. */
.elementor-15 .elementor-element.elementor-element-408321a .believe-main .quote-box {
  margin-top: 40px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4a216d4 */.elementor-15 .elementor-element.elementor-element-4a216d4 {
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 0 100% !important;
  align-self: stretch !important;
}
.elementor-15 .elementor-element.elementor-element-4a216d4 > .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Vertical timeline (new) — scoped to this widget so nothing else inherits it */
.elementor-15 .elementor-element.elementor-element-4a216d4 .about-timeline {
  padding: 96px 120px;
  background: #fff;
}
.elementor-15 .elementor-element.elementor-element-4a216d4 .about-timeline .timeline-inner {
  width: min(760px, 100%);
  margin-inline: auto;
}
.elementor-15 .elementor-element.elementor-element-4a216d4 .about-timeline .timeline-lede {
  margin: 0 0 40px;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.6;
  text-align: center;
}
.elementor-15 .elementor-element.elementor-element-4a216d4 .about-timeline ol {
  position: relative;
  margin: 0;
  padding: 0 0 0 32px;
  list-style: none;
}
/* connector drawn between consecutive dots, so the rail stops at the last one */
.elementor-15 .elementor-element.elementor-element-4a216d4 .about-timeline li:not(:last-child)::after {
  content: "";
  position: absolute;
  left: -25px;
  top: 19px;
  bottom: -3px;
  width: 2px;
  border-radius: 2px;
  background: linear-gradient(180deg, var(--brand) 0%, #b3cce8 100%);
}
.elementor-15 .elementor-element.elementor-element-4a216d4 .about-timeline li {
  position: relative;
  padding: 0 0 28px;
}
.elementor-15 .elementor-element.elementor-element-4a216d4 .about-timeline li:last-child { padding-bottom: 0; }
.elementor-15 .elementor-element.elementor-element-4a216d4 .about-timeline li::before {
  content: "";
  position: absolute;
  left: -32px;
  top: 3px;
  width: 16px;
  height: 16px;
  border: 3px solid var(--brand);
  border-radius: 50%;
  background: #fff;
}
.elementor-15 .elementor-element.elementor-element-4a216d4 .about-timeline h3 {
  margin: 0 0 6px;
  color: var(--ink-soft);
  font-size: 17px;
  font-weight: 600;
}
.elementor-15 .elementor-element.elementor-element-4a216d4 .about-timeline p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.57;
}
@media (max-width: 760px) {
  .elementor-15 .elementor-element.elementor-element-4a216d4 .about-timeline { padding: 64px 16px; }
  .elementor-15 .elementor-element.elementor-element-4a216d4 .about-timeline .timeline-lede { margin-bottom: 32px; font-size: 15px; }
}/* End custom CSS */