/* Start custom CSS *//* === DCX responsive fixes (tablet + mobile only, <=1024px) === */
@media (max-width: 1024px) {
  /* ---- Our Vision: horizontal scroll carousel ---- */
  .elementor-element-238cbc93.elementor-element-238cbc93.dcx-acc-vision {
    flex-direction: row !important; flex-wrap: nowrap !important;
    overflow-x: auto !important; overflow-y: hidden !important;
    scroll-snap-type: x mandatory; overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch; gap: 16px !important;
    scrollbar-width: none; padding-bottom: 6px;
  }
  .elementor-element-238cbc93.dcx-acc-vision::-webkit-scrollbar { display: none; }
  .elementor-element-238cbc93.elementor-element-238cbc93.dcx-acc-vision.dcx-acc-on > .dcx-acc-card,
  .elementor-element-238cbc93.elementor-element-238cbc93.dcx-acc-vision > .dcx-acc-card {
    flex: 0 0 76% !important; height: 380px !important; min-height: 0 !important;
    min-width: 0 !important; scroll-snap-align: start;
  }
  .elementor-element-238cbc93.elementor-element-238cbc93.dcx-acc-vision > .dcx-acc-card .dcx-show-open {
    opacity: 1 !important; visibility: visible !important; max-height: 200px !important;
  }
  .elementor-element-238cbc93.dcx-acc-vision .e-con:has(> .dcx-vision-next) { display: none !important; }

  /* ---- Process: horizontal scroll carousel ---- */
  .elementor-element-1a1e8b85.elementor-element-1a1e8b85.dcx-proc-row {
    flex-wrap: nowrap !important; overflow-x: auto !important; overflow-y: hidden !important;
    scroll-snap-type: x mandatory; overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch; gap: 16px;
    border-width: 0 !important; border-radius: 0 !important;
    scrollbar-width: none; padding-bottom: 6px;
  }
  .elementor-element-1a1e8b85.dcx-proc-row::-webkit-scrollbar { display: none; }
  .elementor-element-1a1e8b85.elementor-element-1a1e8b85.dcx-proc-row.dcx-acc-on > .dcx-proc-step,
  .elementor-element-1a1e8b85.elementor-element-1a1e8b85.dcx-proc-row > .dcx-proc-step {
    flex: 0 0 76% !important; min-height: 300px !important; height: auto !important;
    min-width: 0 !important; scroll-snap-align: start;
    border: 1px solid #e0e0e0 !important; border-radius: 14px;
  }
  .elementor-element-1a1e8b85.elementor-element-1a1e8b85.dcx-proc-row > .dcx-proc-step .dcx-body.dcx-show-open {
    max-height: 220px !important; opacity: 1 !important; visibility: visible !important;
  }

  /* ---- What We Do / Services: carousel sizing only (the stack JS keeps owning position/transform) ---- */
  .elementor-element-158f7e93.elementor-element-158f7e93.dcx-stack > .dcx-stack-card {
    flex-basis: 76% !important; flex-grow: 0 !important; flex-shrink: 0 !important;
    min-width: 0 !important; scroll-snap-align: start;
  }
  .elementor-element-158f7e93.dcx-stack::-webkit-scrollbar { display: none; }

  /* ---- FAQ: "Let's Discuss Your Project" card kept its narrow desktop width ---- */
  .elementor-element-1b26bf1c.elementor-element-1b26bf1c {
    width: 100% !important; max-width: none !important;
  }
}
@media (max-width: 767px) {
  .elementor-element-238cbc93.elementor-element-238cbc93.dcx-acc-vision > .dcx-acc-card { flex-basis: 85% !important; }
  .elementor-element-1a1e8b85.elementor-element-1a1e8b85.dcx-proc-row > .dcx-proc-step { flex-basis: 85% !important; }
  .elementor-element-158f7e93.elementor-element-158f7e93.dcx-stack > .dcx-stack-card { flex-basis: 88% !important; }
}/* End custom CSS */