/* Solid control */

.sc-intro__img,
.sc-loop__img { aspect-ratio: 4 / 3; box-shadow: var(--shadow-lg); }

/* Process flow — numbered stages joined by a slanted rail */
.flow {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
  gap: var(--space-4);
  list-style: none;
  padding: 0;
  counter-reset: flow;
}
.flow__step {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-6) var(--space-5);
  background: var(--ink-800);
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-lg);
}
.flow__step::before {
  /* red slant marker on top edge */
  content: "";
  position: absolute;
  top: -1px;
  left: var(--space-5);
  width: 2.5rem;
  height: 4px;
  background: var(--color-accent);
  transform: skewX(var(--slant));
}
@media (min-width: 1100px) {
  .flow__step:not(:last-child)::after {
    /* connector arrow between stages */
    content: "";
    position: absolute;
    top: 3.1rem;
    right: calc(var(--space-4) * -1);
    width: var(--space-4);
    height: 2px;
    background: var(--color-accent);
  }
}
.flow__num {
  font-family: var(--font-display);
  font-size: var(--fs-3xl);
  font-weight: 700;
  font-style: italic;
  line-height: 1;
  color: var(--red-500);
}
.flow__size {
  justify-self: start;
  align-self: flex-start;
  padding: 0.2rem 0.6rem;
  border: 1px solid var(--color-border-dark);
  border-radius: 999px;
  font-family: var(--font-display);
  font-size: var(--fs-sm);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--white);
}
.flow__step h3 { color: var(--white); text-transform: uppercase; }
.flow__step p { font-size: var(--fs-sm); }

/* Benefits inside closed-loop split */
.sc-benefits { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.sc-benefits .card { padding: var(--space-5); }

/* Manufacturer panel */
.sc-maker {
  position: relative;
  display: grid;
  gap: var(--space-5);
  padding: clamp(2rem, 1.5rem + 3vw, 4rem);
  background: var(--ink-50);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.sc-maker::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: -3rem;
  width: 12rem;
  background: repeating-linear-gradient(90deg, rgba(237, 50, 55, 0.1) 0 18px, transparent 18px 40px);
  transform: skewX(var(--slant));
  pointer-events: none;
}
.sc-maker .lead { max-width: 64ch; }
.sc-maker__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: var(--space-3);
  list-style: none;
  padding: 0;
}
.sc-maker__list li {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-4);
  background: var(--white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  font-weight: 600;
  color: var(--ink-800);
}
.sc-maker__list svg { width: 22px; height: 22px; flex: none; color: var(--color-accent); }
