.elementor-117750 .elementor-element.elementor-element-69644b9 .elementor-counter-number-wrapper{color:#00A081;font-family:"Inter", Sans-serif;font-size:40px;font-weight:700;}.elementor-117750 .elementor-element.elementor-element-1a41dc7 .elementor-counter-number-wrapper{color:#00A081;font-family:"Inter", Sans-serif;font-size:40px;font-weight:700;}.elementor-117750 .elementor-element.elementor-element-efb79eb .elementor-counter-number-wrapper{color:#00A081;font-family:"Inter", Sans-serif;font-size:40px;font-weight:700;}@media(max-width:1024px){.elementor-117750 .elementor-element.elementor-element-69644b9 .elementor-counter-number-wrapper{font-size:24px;}.elementor-117750 .elementor-element.elementor-element-1a41dc7 .elementor-counter-number-wrapper{font-size:24px;}.elementor-117750 .elementor-element.elementor-element-efb79eb .elementor-counter-number-wrapper{font-size:24px;}}/* Start custom CSS *//* ===== Hero (same as Lead Management System page) ===== */
/* gradient border on the hero chip */
.hero-chip::before { content: ""; position: absolute; inset: 0; box-sizing: border-box; border: 2px solid transparent; border-radius: inherit; background: linear-gradient(90deg, #3070F2 0%, #602CF4 100%) border-box; -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#fff 0 0) padding-box exclude, linear-gradient(#fff 0 0); pointer-events: none; }
/* flowing gradient on the hero button (hover is just the small lift) */
@keyframes hero-button-gradient-flow { 0% { background-position: left top, left top, left top, 0% 50%; } 50% { background-position: left top, left top, left top, 100% 50%; } 100% { background-position: left top, left top, left top, 0% 50%; } }
.hero-button { animation: hero-button-gradient-flow 16s linear infinite; }
@media (prefers-reduced-motion: reduce) { .hero-button { animation: none; } }
/* Inter on hover (theme kit forces Helvetica on link hover) */
body .elementor-kit-2976 .elementor a.hero-button, body .elementor-kit-2976 .elementor a.hero-button:hover, body .elementor-kit-2976 .elementor a.hero-button:focus, body .elementor-kit-2976 .elementor a.hero-button:active, body .elementor-kit-2976 .elementor a.expert-cta-button, body .elementor-kit-2976 .elementor a.expert-cta-button:hover, body .elementor-kit-2976 .elementor a.expert-cta-button:focus, body .elementor-kit-2976 .elementor a.expert-cta-button:active { font-family: 'Inter', sans-serif !important; }
/* headline: "Your van is already out there." on one line, "Make every stop count." on the next, on desktop */
@media (min-width: 1025px) {
  body .elementor .hero-left .hero-headline { white-space: nowrap !important; width: max-content !important; max-width: none !important; font-size: clamp(28px, 2.78vw, 40px) !important; line-height: 120% !important; }
  body .elementor .hero-left .hero-headline-row2 { max-width: none !important; }
}

/* ===== Section 2 (Everything the van does): swipe carousel. Tablet = 3 cards visible + a peek of the 4th. Mobile = 280px cards, snap to centre (same as Thanks for nominating page) ===== */
@media (max-width: 1024px) {
  .elementor .elementor-element-1fdb9a22 { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; justify-content: flex-start !important; align-items: stretch !important; gap: 24px !important; overflow-x: auto !important; overflow-y: hidden !important; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; touch-action: pan-x pan-y; scrollbar-width: none; padding: 8px 0 24px 0 !important; }
  .elementor .elementor-element-1fdb9a22::-webkit-scrollbar { display: none; }
  .elementor .elementor-element-1fdb9a22 > * { flex: 0 0 calc((100% - 120px) / 3) !important; width: calc((100% - 120px) / 3) !important; min-width: 0 !important; max-width: none !important; transform: none !important; scroll-snap-align: start; }
}
@media (max-width: 767px) {
  .elementor .elementor-element-1fdb9a22 { gap: 16px !important; padding: 24px 24px 40px 24px !important; }
  .elementor .elementor-element-1fdb9a22 > * { flex: 0 0 280px !important; width: 280px !important; scroll-snap-align: center; }
}

/* ===== Lifecycle icons: outline icons (Elementor adds fill=currentColor to the svg, so force no fill; stroke colour comes from the file) ===== */
.lifecycle-columns .icon-well svg { width: 24px; height: 24px; fill: none !important; }

/* ===== Lifecycle section: card focus effect (same as Lead Management System page) ===== */
@supports (animation-timeline: view()) {
  .capability-module { position: relative; will-change: opacity, filter; animation: capability-module-focus linear both; animation-timeline: view(); animation-range: cover; transition: none !important; }
  .capability-module::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; box-shadow: 29px 26px 15px rgba(0,98,255,0.02), 16px 15px 13px rgba(0,98,255,0.06), 7px 6px 10px rgba(0,98,255,0.1), 2px 2px 5px rgba(0,98,255,0.12); animation: capability-module-glow linear both; animation-timeline: view(); animation-range: cover; }
  @keyframes capability-module-focus { 0%, 28%, 72%, 100% { opacity: 0.6; filter: blur(1.6px); } 46%, 54% { opacity: 1; filter: blur(0px); } }
  @keyframes capability-module-glow { 0%, 28%, 72%, 100% { opacity: 0; } 46%, 54% { opacity: 1; } }
}

/* ===== Lifecycle layout to match design ===== */
.elementor .lifecycle-columns.lifecycle-columns { position: relative !important; }
@media (min-width: 768px) {
  .elementor .lifecycle-columns > .lifecycle-slot { padding-block: 24px; padding-inline: 0 40px; }
  .elementor .lifecycle-columns > .lifecycle-col-right-border { padding-block: 24px; padding-inline: 40px 0; align-items: center; }
  .elementor .lifecycle-columns .capability-module { min-height: 0; padding: 24px 24px 32px; gap: 24px; }
  .elementor .lifecycle-columns .module-title { font-size: 24px; line-height: 32px; font-weight: 600; }
  .elementor .lifecycle-columns .module-description { font-size: 20px; line-height: 150%; }
}

/* ===== Timeline chips: same focus effect as the Lead Management System page.
   The chip beside the focused card sharpens, turns brighter blue and gets the blue glow; the others soften. ===== */
@media (min-width: 768px) {
  .elementor .lifecycle-columns .stage-tag { position: relative; isolation: isolate; line-height: 40px; color: #000F9B; background-image: linear-gradient(90deg, #F3F8FF 0%, #EDF4FF 100%); box-shadow: 29px 26px 15px 0 rgba(0,98,255,0), 16px 15px 13px 0 rgba(0,98,255,0), 7px 6px 10px 0 rgba(0,98,255,0), 2px 2px 5px 0 rgba(0,98,255,0); will-change: opacity, filter; animation: lms-chip-focus linear both; animation-timeline: view(); animation-range: cover; }
  .elementor .lifecycle-columns .stage-tag::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none; background-image: linear-gradient(90deg, #FFFFFF 0%, #EDF4FF 100%); opacity: 0; animation: lms-chip-focus-bg linear both; animation-timeline: view(); animation-range: cover; }
}
@keyframes lms-chip-focus { 0%, 28%, 72%, 100% { opacity: 0.6; filter: blur(1.6px); color: #000F9B; box-shadow: 29px 26px 15px 0 rgba(0,98,255,0), 16px 15px 13px 0 rgba(0,98,255,0), 7px 6px 10px 0 rgba(0,98,255,0), 2px 2px 5px 0 rgba(0,98,255,0); } 46%, 54% { opacity: 1; filter: blur(0px); color: #0057E6; box-shadow: 29px 26px 15px 0 rgba(0,98,255,0.01), 16px 15px 13px 0 rgba(0,98,255,0.05), 7px 6px 10px 0 rgba(0,98,255,0.09), 2px 2px 5px 0 rgba(0,98,255,0.1); } }
@keyframes lms-chip-focus-bg { 0%, 28%, 72%, 100% { opacity: 0; } 46%, 54% { opacity: 1; } }

/* ===== Timeline highlight: a 3px gradient bar pinned to the vertical middle of the screen and visible only along the line.
   The section at the middle of the screen is the focused one, so the bar always sits next to it.
   Pure CSS (fixed background on the line), no extra elements needed. Any old line element left in the page is hidden. ===== */
.elementor-element-6b2329ae, .elementor-element-46149448, .elementor-element-4b6aae3d { display: none !important; }
@media (min-width: 768px) {
  .elementor .lifecycle-columns.lifecycle-columns::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 3px; margin-left: -1px; pointer-events: none; z-index: 0; background-image: linear-gradient(180deg, #FFFFFF -8.68%, #B1B8FF 109.07%); background-repeat: no-repeat; background-attachment: fixed; background-size: 100vw 160px; background-position: 0 calc(50vh - 80px); }
}
@supports (-webkit-touch-callout: none) {
  .elementor .lifecycle-columns.lifecycle-columns::before { display: none; }
}

/* ===== Reduced motion ===== */
@media (prefers-reduced-motion: reduce) {
  .capability-module { opacity: 1; filter: none; will-change: auto; animation: none !important; }
  .capability-module::after { animation: none !important; }
  .elementor .lifecycle-columns .stage-tag, .elementor .lifecycle-columns .stage-tag::before { opacity: 1; filter: none; animation: none !important; }
}

/* ===== Mobile (same stacked card treatment as Lead Management System page) ===== */
@media (max-width: 767px) {
  .capability-module { animation: none !important; opacity: 1 !important; filter: none !important; will-change: auto !important; }
  .capability-module::after { display: none !important; animation: none !important; }
  .lifecycle-columns > :has(> .stage-tag) { display: flex; justify-content: center; box-sizing: border-box; position: relative; z-index: 1; background: #FFFFFF; margin-bottom: -25px; border-style: solid !important; border-color: #D5E1F5 !important; border-width: 1px 1px 0 !important; border-radius: 16px 16px 0 0 !important; padding: 24px 24px 0 !important; }
  .lifecycle-columns .stage-tag { background: none transparent !important; box-shadow: none !important; border: 1px solid #0057E5 !important; border-radius: 1000px !important; color: #0057E5 !important; font-size: 12px !important; font-weight: 400 !important; line-height: 15px !important; padding: 7px 16px !important; }
  .lifecycle-columns .capability-module { align-items: center; text-align: center; border-style: solid !important; border-color: #D5E1F5 !important; border-width: 0 1px 1px !important; border-radius: 0 0 16px 16px !important; padding: 20px 24px 24px !important; min-height: 0 !important; gap: 7px !important; }
  .lifecycle-columns .capability-module .icon-well { display: none !important; }
  .lifecycle-columns .capability-module .module-header { justify-content: center; text-align: center; margin: 0; }
  .lifecycle-columns .capability-module .module-title { text-align: center; font-size: 16px !important; font-weight: 600 !important; line-height: 140% !important; margin: 0 !important; }
  .lifecycle-columns .capability-module .module-description { text-align: center; font-size: 16px !important; font-weight: 400 !important; line-height: 125% !important; margin: 0 !important; }
}

/* ===== FAQ toggle: show + when closed, minus when open (same as Lead Management System page) ===== */
.faq-item .faq-plus-open { display: none !important; }
.faq-item[open] .faq-plus-open { display: block !important; }
.faq-item[open] .faq-plus-closed { display: none !important; }
.faq-toggle { position: relative; }
.faq-toggle .faq-plus { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; margin: 0 !important; font-size: 0 !important; line-height: 0 !important; color: transparent !important; }
.faq-toggle .faq-plus::before { content: ""; position: absolute; inset: 0; background-repeat: no-repeat; background-position: center center; background-size: 14px 14px; }
.faq-toggle .faq-plus-closed::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M1 7H13M7 1V13' stroke='%23000F9B' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.faq-toggle .faq-plus-open::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M1 7H13' stroke='%23000F9B' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
@media (max-width: 767px) {
  .faq-toggle .faq-plus::before { background-size: 12px 12px; }
}/* End custom CSS */