/* ===== Constructor Dept (PIROLI) ===== */
#constructor-dept.cd-section {
  --cd-dark: #0b0f1a;
  --cd-accent: #e52037;
  --cd-muted: #6c757d;
  --cd-card-bg: #ffffff;
  position: relative;
  overflow: hidden;
  background: #f8f9fb;
}

#constructor-dept .home-section-title b { color:#eb7d24; }

#constructor-dept .cd-bullets {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
#constructor-dept .cd-bullets li {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  padding: .5rem 0;
  font-size: 1.05rem;
}
#constructor-dept .cd-bullets .cd-ico {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(11,15,26,.07);
  color: #eb7d24;
  flex: 0 0 36px;
}

/* Stats */
#constructor-dept .cd-stats {
  border: 0;
  border-radius: 16px;
  padding: 1rem 1rem .5rem;
  background: var(--cd-card-bg);
}
#constructor-dept .cd-stat {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  gap: .75rem 1rem;
  padding: .75rem .5rem;
  border-bottom: 1px dashed #e9ecef;
}
#constructor-dept .cd-stat:last-child { border-bottom: 0; }
#constructor-dept .cd-stat-value {
  font-weight: 800;
  font-size: 2rem;
  line-height: 1;
  color: var(--cd-dark);
  min-width: 3ch;
}
#constructor-dept .cd-stat-label {
  color: var(--cd-muted);
  font-size: .95rem;
}

/* Timeline */
#constructor-dept .cd-timeline {
  border-radius: 16px;
  padding: 1.25rem 1rem .5rem 1rem;
  background: #fff;
  position: relative;
  overflow: hidden;
}
#constructor-dept .cd-timeline-track {
  position: absolute;
  left: 24px;
  top: 1rem;
  bottom: 1rem;
  width: 2px;
  background: linear-gradient(180deg, rgba(229,32,55,0.25), rgba(11,15,26,0.12));
}
#constructor-dept .cd-timeline-item {
  position: relative;
  padding-left: 56px;
  margin: 1rem 0;
}
#constructor-dept .cd-timeline-point {
  position: absolute;
  left: 17px;
  top: .25rem;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #eb7d24;
  box-shadow: 0 0 0 6px rgba(229,32,55,.15);
}
#constructor-dept .cd-timeline-body h3 { color: var(--cd-dark); }
#constructor-dept .cd-timeline-body p { color: var(--cd-muted); }

/* CTA */
#constructor-dept .cd-cta {
  border: 1px solid #edeef1;
  border-radius: 16px;
  padding: 1.25rem 1.25rem 1.1rem;
  background: #fff;
  box-shadow: 0 10px 30px rgba(11,15,26,.05);
}

/* Decorative BG (parallax-ish) */
#constructor-dept .cd-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(1200px 400px at 20% -10%, rgba(229,32,55,.08), transparent 60%),
    radial-gradient(900px 350px at 90% 110%, rgba(11,15,26,.06), transparent 55%);
  pointer-events: none;
  transform: translateZ(0);
}

/* Reveal (reuse your pattern) */
#constructor-dept .reveal { opacity: 0; transform: translateY(16px); }
#constructor-dept .is-visible { opacity: 1; transform: none; transition: all .6s ease; }
#constructor-dept .delay-1 { transition-delay: .12s; }
#constructor-dept .delay-2 { transition-delay: .24s; }
#constructor-dept .delay-3 { transition-delay: .36s; }

/* Responsive tune */
@media (max-width: 991.98px) {
  #constructor-dept .cd-timeline-track { left: 18px; }
  #constructor-dept .cd-timeline-item { padding-left: 48px; }
  #constructor-dept .cd-timeline-point { left: 11px; }
}
@media (max-width: 575.98px) {
  #constructor-dept .cd-stat-value { font-size: 1.8rem; }
}
