.proceso-step {
  position: relative;
  padding-top: 20rem;
  padding-bottom: 10rem;
}

.proceso-step:first-child {
  padding-top: 5rem;
}

.proceso-step:last-child {
  padding-bottom: 5rem;
}

.proceso-step-1 {
  padding-left: 3rem;
}

.proceso-step-1 .proceso-line-vertical {
  position: absolute;
  left: 0;
  top: 0;
  width: 5px;
  height: 100%;
  background-color: var(--color-accent);
  transform: scaleY(0);
  transform-origin: top;
}

.proceso-step-1 .proceso-line-horizontal {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 5px;
  background-color: var(--color-accent);
  transform: scaleX(0);
  transform-origin: left;
}

.proceso-step-2 {
  padding-right: 5rem;
  padding-top: 15rem;
}

.proceso-step-2 .proceso-line-vertical {
  position: absolute;
  right: 0;
  top: 0;
  width: 5px;
  height: 100%;
  background-color: var(--color-accent);
  transform: scaleY(0);
  transform-origin: top;
}

.proceso-step-2 .proceso-line-horizontal {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 5px;
  background-color: var(--color-accent);
  transform: scaleX(0);
  transform-origin: right;
}

.proceso-step-3 {
  padding-left: 6rem;
}

.proceso-step-3 .proceso-line-vertical {
  position: absolute;
  left: 0;
  top: 0;
  width: 5px;
  height: 100%;
  background-color: var(--color-accent);
  transform: scaleY(0);
  transform-origin: top;
}

.proceso-content {
  opacity: 0;
  transform: translateY(60px) scale(0.95);
}

.proceso-imagen {
  opacity: 0;
  transform: translateY(60px) scale(0.95);
}

@media (max-width: 1024px) {
  .proceso-step {
    padding-top: var(--space-8);
    padding-bottom: var(--space-8);
    padding-left: var(--space-8) !important;
    padding-right: 0 !important;
    flex-direction: column !important;
    gap: var(--space-6) !important;
    position: relative;
  }

  .proceso-step:first-child {
    padding-top: var(--space-6);
  }

  .proceso-step:last-child {
    padding-bottom: var(--space-6);
  }

  .proceso-step .proceso-line-horizontal {
    display: none;
  }

  /* Mobile vertical line - always visible on left side */
  .proceso-step .proceso-line-vertical {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 3px;
    height: 100%;
    background-color: var(--color-accent);
    transform: scaleY(0);
    transform-origin: top;
  }

  .proceso-content {
    width: 100% !important;
    order: 1;
    opacity: 1;
    transform: none;
  }

  .proceso-imagen {
    width: 100% !important;
    max-width: 100%;
    height: auto !important;
    aspect-ratio: 16 / 9;
    object-fit: cover !important;
    order: 2;
    opacity: 1;
    transform: none;
  }

  .proceso-step-2 {
    padding-top: var(--space-8);
  }
}

