.business-problems-illustration {
  position: relative;
  width: min(100%, 640px);
  min-width: 0;
  min-height: 510px;
  margin: -1.5rem auto;
  isolation: isolate;
}

.business-problems-illustration::before {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -2;
  width: min(74%, 450px);
  aspect-ratio: 1;
  border: 1px solid rgba(36, 79, 60, 0.08);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 253, 248, 0.62) 0 44%, transparent 72%);
  content: "";
  transform: translate(-50%, -50%);
}

.business-problems-list {
  position: absolute;
  inset: 0;
  z-index: 2;
  margin: 0;
  padding: 0;
  list-style: none;
}

.business-problem {
  position: absolute;
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  align-items: center;
  width: min(42%, 254px);
  min-height: 138px;
  padding: 0.7rem 0.45rem;
  transform-origin: center;
  transition:
    opacity 580ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 580ms cubic-bezier(0.22, 1, 0.36, 1);
}

.business-problem::before,
.business-problem::after {
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  content: "";
  pointer-events: none;
  transition:
    background 580ms cubic-bezier(0.22, 1, 0.36, 1),
    border-color 580ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 580ms cubic-bezier(0.22, 1, 0.36, 1);
}

.business-problem::before {
  inset: 2px 4px;
  border: 1px solid rgba(36, 79, 60, 0.11);
  background: rgba(255, 253, 248, 0.36);
}

.business-problem::after {
  inset: 13px 16px;
  border: 1px dashed rgba(119, 111, 103, 0.1);
}

.business-problem--top-left { top: 3%; left: 0; }
.business-problem--top-right { top: 3%; right: 0; }
.business-problem--bottom-left { bottom: 3%; left: 0; }
.business-problem--bottom-right { right: 0; bottom: 3%; }

.business-problem-icon {
  display: grid;
  width: 82px;
  aspect-ratio: 1;
  place-items: center;
  color: var(--color-accent);
}

.business-problem-icon svg {
  display: block;
  width: 100%;
  overflow: visible;
}

.problem-symbol-lines {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.55;
  transition: stroke-width 580ms cubic-bezier(0.22, 1, 0.36, 1);
}

.problem-symbol-break { stroke: var(--color-text-soft); }
.problem-symbol-muted { opacity: 0.46; stroke-dasharray: 3 3; }

.business-problem-copy {
  position: relative;
  padding-right: 0.4rem;
}

.business-problem-number {
  display: block;
  margin-bottom: 0.38rem;
  color: var(--color-accent);
  font-size: clamp(0.68rem, 1vw, 0.75rem);
  font-weight: 760;
  letter-spacing: 0.12em;
  line-height: 1;
}

.business-problem h3 {
  max-width: 17ch;
  color: var(--color-text);
  font-family: var(--font-sans);
  font-size: clamp(0.88rem, 1.35vw, 1.02rem);
  font-weight: 650;
  letter-spacing: -0.012em;
  line-height: 1.35;
  transition: color 580ms cubic-bezier(0.22, 1, 0.36, 1);
}

.business-problems-connections {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

.business-problems-orbits,
.business-problems-attention-marks {
  fill: none;
  stroke: rgba(119, 111, 103, 0.28);
  stroke-dasharray: 3 8;
  stroke-linecap: round;
  stroke-width: 1.1;
}

.business-problems-attention-marks {
  stroke: rgba(36, 79, 60, 0.38);
  stroke-dasharray: none;
  transition: opacity 450ms ease;
}

.business-problems-nodes { fill: rgba(36, 79, 60, 0.45); }

.business-problems-person {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  width: clamp(148px, 27%, 174px);
  transform: translate(-50%, -50%);
}

.business-problems-person svg {
  display: block;
  width: 100%;
  overflow: visible;
}

.business-person-shadow { fill: rgba(74, 67, 61, 0.12); }

.business-person-figure {
  transform-box: fill-box;
  transform-origin: center 32%;
  transition: transform 580ms cubic-bezier(0.22, 1, 0.36, 1);
}

.business-person-head {
  transform-box: fill-box;
  transform-origin: center;
  transition: transform 580ms cubic-bezier(0.22, 1, 0.36, 1);
}

.business-person-face {
  fill: #f7f2e9;
  stroke: var(--color-text);
  stroke-width: 2.4;
}

.business-person-hair { fill: rgba(36, 79, 60, 0.9); }

.business-person-brows,
.business-person-mouth,
.business-person-neck,
.business-person-body,
.business-person-shirt,
.business-person-tie,
.business-person-arm,
.business-person-hand,
.business-person-legs {
  fill: none;
  stroke: var(--color-text);
  stroke-linecap: round;
  stroke-linejoin: round;
}

.business-person-brows,
.business-person-mouth { stroke-width: 2; }
.business-person-neck,
.business-person-shirt { stroke-width: 2.1; }
.business-person-body,
.business-person-arm,
.business-person-hand,
.business-person-legs { stroke-width: 2.6; }
.business-person-tie { fill: rgba(36, 79, 60, 0.14); stroke: var(--color-accent); stroke-width: 1.8; }
.business-person-eyes { fill: var(--color-text); transition: transform 580ms cubic-bezier(0.22, 1, 0.36, 1); }

.business-person-questions {
  fill: rgba(36, 79, 60, 0.7);
  font-family: var(--font-sans);
  font-weight: 560;
}

.business-person-questions text {
  transform-box: fill-box;
  transform-origin: center;
  animation: business-question-drift 3.1s ease-in-out infinite;
  animation-play-state: paused;
}

.business-person-questions text:first-child { font-size: 42px; }
.business-person-questions text:nth-child(2),
.business-person-questions text:nth-child(3) { font-size: 25px; opacity: 0.56; }
.business-person-questions text:nth-child(2) { animation-delay: -1s; }
.business-person-questions text:nth-child(3) { animation-delay: -2s; }

.business-problems-illustration.is-enhanced .business-problem { opacity: 0.76; }
.business-problems-illustration.is-enhanced .business-problem.is-active {
  opacity: 1;
  transform: scale(1.02);
}
.business-problems-illustration.is-enhanced .business-problem.is-active::before {
  border-color: rgba(36, 79, 60, 0.2);
  background: rgba(220, 231, 223, 0.34);
  transform: scale(1.015);
}
.business-problems-illustration.is-enhanced .business-problem.is-active::after { border-color: rgba(36, 79, 60, 0.17); }
.business-problems-illustration.is-enhanced .business-problem.is-active .problem-symbol-lines { stroke-width: 1.85; }
.business-problems-illustration.is-enhanced .business-problem.is-active h3 { color: var(--color-accent); }
.business-problems-illustration.is-enhanced:not(.is-paused) .business-person-questions text { animation-play-state: running; }

.business-problems-illustration[data-active-index="0"] .business-person-head { transform: rotate(-3deg) translate(-1px, 0); }
.business-problems-illustration[data-active-index="1"] .business-person-head { transform: rotate(3deg) translate(1px, 0); }
.business-problems-illustration[data-active-index="2"] .business-person-head { transform: rotate(-2deg) translate(-1px, 1px); }
.business-problems-illustration[data-active-index="3"] .business-person-head { transform: rotate(2deg) translate(1px, 1px); }
.business-problems-illustration[data-active-index="0"] .business-person-eyes,
.business-problems-illustration[data-active-index="2"] .business-person-eyes { transform: translate(-1.5px, 1px); }
.business-problems-illustration[data-active-index="1"] .business-person-eyes,
.business-problems-illustration[data-active-index="3"] .business-person-eyes { transform: translate(1.5px, 1px); }

@keyframes business-question-drift {
  50% { opacity: 0.82; transform: translateY(-4px); }
}

@media (min-width: 980px) and (max-width: 1100px) {
  .problems-section .split-layout {
    grid-template-columns: minmax(0, 0.68fr) minmax(0, 1fr);
    gap: 2rem;
  }
}

@media (max-width: 1100px) {
  .business-problems-illustration {
    width: min(94vw, 620px);
    margin-block: 0;
  }
}

@media (max-width: 560px) {
  .business-problems-illustration {
    display: grid;
    grid-template-rows: 224px auto;
    min-height: 0;
    padding-top: 0.5rem;
  }

  .business-problems-illustration::before {
    top: 110px;
    width: 240px;
    transform: translate(-50%, -50%);
  }

  .business-problems-connections { display: none; }

  .business-problems-person {
    top: 0;
    width: 154px;
    transform: translate(-50%, 0) scale(0.75);
    transform-origin: top center;
  }

  .business-problems-list {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem 0.35rem;
    grid-row: 2;
  }

  .business-problem {
    position: relative;
    inset: auto;
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    width: auto;
    min-height: 126px;
    padding: 0.65rem 0.25rem;
  }

  .business-problem-icon { width: 56px; }
  .business-problem::before { inset: 0; }
  .business-problem::after { inset: 9px; }
  .business-problem-copy { padding-right: 0.15rem; }
  .business-problem h3 { font-size: clamp(0.8rem, 3.45vw, 0.91rem); line-height: 1.32; }
}

@media (max-width: 380px) {
  .business-problems-list { grid-template-columns: minmax(0, 1fr); }
  .business-problem { grid-template-columns: 68px minmax(0, 1fr); min-height: 108px; }
  .business-problem-icon { width: 68px; }
  .business-problem h3 { max-width: 19ch; font-size: 0.88rem; }
}

@media (prefers-reduced-motion: reduce) {
  .business-problem,
  .business-problem::before,
  .business-problem::after,
  .problem-symbol-lines,
  .business-problem h3,
  .business-person-figure,
  .business-person-head,
  .business-person-eyes,
  .business-person-questions text {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}
