/* Only the new department section is affected. All layout/type/background stays in Elementor. */
#ccfidl-departments {
  isolation: isolate;
}

#ccfidl-departments .ccfidl-dept-motion-layer {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}

#ccfidl-departments [id^="ccfidl-dept-row-"] {
  z-index: 1;
}

#ccfidl-departments .ccfidl-dept-motion-track,
#ccfidl-departments .ccfidl-dept-motion-progress {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

#ccfidl-departments .ccfidl-dept-motion-track {
  stroke-width: 1.4;
  opacity: .21;
}

#ccfidl-departments .ccfidl-dept-motion-progress {
  stroke-width: 2;
}

#ccfidl-departments .ccfidl-dept-motion-point {
  fill: currentColor;
  stroke: currentColor;
  stroke-width: 1;
  opacity: .24;
  transition: opacity 700ms ease, r 700ms ease;
}

#ccfidl-departments .ccfidl-dept-motion-point.is-active {
  opacity: 1;
}

#ccfidl-departments .ccfidl-dept-motion-connector {
  stroke: currentColor;
  stroke-width: 1.2;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
  opacity: .2;
  transition: opacity 700ms ease;
}

#ccfidl-departments .ccfidl-dept-motion-connector.is-active {
  opacity: .85;
}

#ccfidl-departments .ccfidl-dept-motion-head {
  fill: currentColor;
}

#ccfidl-departments .ccfidl-dept-motion-head-halo {
  fill: currentColor;
  opacity: .14;
}

#ccfidl-departments.ccfidl-dept-motion-ready [id^="ccfidl-dept-checkpoint-"] {
  opacity: 1;
  filter: brightness(.65);
  transition: filter 900ms ease;
}

#ccfidl-departments.ccfidl-dept-motion-ready [id^="ccfidl-dept-checkpoint-"].is-active {
  opacity: 1;
  filter: brightness(1);
}

/* Inline SVG only: currentColor is controlled by each native Elementor widget. */
#ccfidl-departments .ccfidl-dept-wire {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
  pointer-events: none;
}

#ccfidl-departments .ccfidl-dept-wire-track,
#ccfidl-departments .ccfidl-dept-wire-ink {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
}

#ccfidl-departments .ccfidl-dept-wire-track {
  stroke-width: 1.3;
  opacity: .12;
}

#ccfidl-departments .ccfidl-dept-wire-ink {
  stroke-width: 1.7;
  opacity: .92;
}

#ccfidl-departments.ccfidl-dept-motion-ready .ccfidl-dept-wire-ink {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  transition: stroke-dashoffset 3.2s cubic-bezier(.3, 0, .15, 1);
}

#ccfidl-departments.ccfidl-dept-motion-ready.ccfidl-dept-is-visible .ccfidl-dept-wire-ink {
  stroke-dashoffset: 0;
}

#ccfidl-departments .ccfidl-dept-wire--second .ccfidl-dept-wire-ink {
  transition-delay: 350ms;
}

body.elementor-editor-active #ccfidl-departments [id^="ccfidl-dept-checkpoint-"],
#ccfidl-departments.ccfidl-dept-reduced-motion [id^="ccfidl-dept-checkpoint-"] {
  opacity: 1 !important;
  filter: none !important;
  transition: none !important;
}

body.elementor-editor-active #ccfidl-departments .ccfidl-dept-wire-ink,
#ccfidl-departments.ccfidl-dept-reduced-motion .ccfidl-dept-wire-ink {
  stroke-dashoffset: 0 !important;
  transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
  #ccfidl-departments [data-interaction-id] { opacity: 1 !important; transform: none !important; }
  #ccfidl-departments [id^="ccfidl-dept-checkpoint-"],
  #ccfidl-departments .ccfidl-dept-motion-point,
  #ccfidl-departments .ccfidl-dept-motion-connector,
  #ccfidl-departments .ccfidl-dept-wire-ink {
    transition: none !important;
  }
  #ccfidl-departments [id^="ccfidl-dept-checkpoint-"] { opacity: 1 !important; filter: none !important; }
  #ccfidl-departments .ccfidl-dept-wire-ink { stroke-dashoffset: 0 !important; }
}

body.elementor-editor-active #ccfidl-departments [data-interaction-id] {
  opacity: 1 !important;
  transform: none !important;
}
