/* =========================================================
   index_2 — production lines variant:
   full container-width image on top, text + parts below.
   Loaded after style.css; only affects .lines--stacked.
   ========================================================= */

.lines--stacked .line-panel {
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 48px clamp(40px, 5vw, 72px);
  align-items: start;
}

/* image: exactly the container width (1200px) */
.lines--stacked .line-stage {
  grid-column: 1 / -1;
  padding: 0;
  justify-items: stretch;
}
.lines--stacked .line-stage::before,
.lines--stacked .line-stage::after { display: none; }
.lines--stacked .line-stage img {
  width: 100%;
  max-width: none;
  filter: none;
  box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.75);
}
.lines--stacked .line-stage:hover img { transform: none; }
.lines--stacked .stage-caption { margin-top: 18px; }

.lines--stacked .line-info .section-title { max-width: 520px; }
.lines--stacked .line-links { margin-top: 32px; }

.lines--stacked .parts-label {
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.72);
}
.lines--stacked .parts {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 18px;
}

.lines--stacked .line-panel.is-entering .line-parts {
  animation: panelIn 0.7s var(--ease) both 0.15s;
}

@media (max-width: 991px) {
  .lines--stacked .line-panel {
    grid-template-columns: minmax(0, 1fr);
    gap: 36px;
  }
  .lines--stacked .line-info { display: block; }
  .lines--stacked .line-stage { order: 0; margin: 0; }
  .lines--stacked .line-links { order: 0; }
}

@media (max-width: 640px) {
  .lines--stacked .parts { grid-template-columns: minmax(0, 1fr); }
}
