/* ── Accordion: CSS Grid smooth expand ── */
.accordion-body {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.accordion-body.open { grid-template-rows: 1fr; }
.accordion-body > div { overflow: hidden; min-height: 0; }

/* Chevron spin */
.chevron { transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1); }
.chevron.open { transform: rotate(180deg); }

/* Active accordion: bold left border + badge flip */
.accordion {
  border-left: 3px solid transparent;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.accordion.active {
  border-left-color: #1d4ed8;
  box-shadow: 0 4px 24px 0 rgba(29, 78, 216, 0.10);
}
.accordion.active .acc-title { color: #1d4ed8; }
.accordion.active .acc-badge {
  background: linear-gradient(135deg, #1d4ed8, #0ea5e9) !important;
  box-shadow: 0 2px 8px rgba(29, 78, 216, 0.30);
}
.accordion.active .chevron { color: #1d4ed8; }

/* Hero decorative shapes */
.hero-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(48px);
  opacity: 0.25;
  pointer-events: none;
}
