/* Escritorio: subgrid garantiza que número, título y descripción compartan fila (misma línea base) entre los 4 pasos, por construcción */
@media(min-width:961px){
  .steps{grid-template-rows:auto auto 1fr}
  .step{display:grid;grid-template-rows:subgrid;grid-row:span 3}
  .step .n{grid-row:1}
  .step h4{grid-row:2}
  .step p{grid-row:3}
}

/* Escritorio + movimiento permitido: la sección se ancla y cada paso se convierte en protagonista al llegarle el turno. Solo cambian opacity/transform/filter: el grid nunca se mueve */
@media(min-width:961px) and (prefers-reduced-motion:no-preference){
  .process-stage{height:220vh}
  .steps{position:sticky;top:50%;transform:translateY(-50%)}
  .step{opacity:.45;transform:scale(.97);filter:saturate(.7) brightness(.95);transition:opacity .6s var(--ease),transform .6s var(--ease),filter .6s var(--ease)}
  .step.is-active{opacity:1;transform:scale(1);filter:none}
}

@media(max-width:960px){
  .steps{grid-template-columns:repeat(2,1fr);row-gap:2rem}
  .step{display:block}
  .step.step-reveal{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
  .step.step-reveal.in{opacity:1;transform:none}
  .steps .step:nth-child(1){transition-delay:0s}
  .steps .step:nth-child(2){transition-delay:.1s}
  .steps .step:nth-child(3){transition-delay:.2s}
  .steps .step:nth-child(4){transition-delay:.3s}

  .hero-grid{grid-template-columns:1fr;gap:2.5rem}
  .hero p.lead{max-width:46ch}
  .about-grid{grid-template-columns:1fr}
  .about-visual{order:-1}
  .services{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,1fr);gap:2rem}
  .contact-grid{grid-template-columns:1fr}
}

@media(max-width:760px){
  .nav-links{
    position:fixed;top:70px;left:0;right:0;width:100%;max-width:100vw;box-sizing:border-box;
    background:var(--paper);
    flex-direction:column;align-items:flex-start;gap:0;padding:1rem 0;
    border-bottom:1px solid var(--line);transform:translateY(-140%);
    transition:transform .4s var(--ease);
  }
  .nav-links.open{transform:none}
  .nav-links a{padding:.9rem clamp(1.25rem,4vw,3rem);width:100%}
  .nav-cta{gap:.6rem}
  .nav-cta .btn-ghost{display:none}
  .nav-cta .btn-primary{padding:.65rem 1rem;font-size:.82rem}
  .menu-btn{display:flex}
  .pillars{grid-template-columns:1fr}
  .wa-fab{right:1rem;bottom:1rem;width:48px;height:48px}
}

@media(max-width:520px){
  .steps{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;scroll-behavior:auto}
  .reveal,.reveal-up,.reveal-left,.reveal-right,.reveal-scale,.hero-in,.step.step-reveal,.form-success{
    opacity:1!important;transform:none!important;
  }
  .reveal-text > span{opacity:1!important;transform:none!important}
  .step{opacity:1!important;transform:none!important;filter:none!important}
  .process-stage{height:auto!important}
  .steps{position:static!important;transform:none!important}
  .hero-visual .ph-frame img,.about-visual .ph-frame img{transform:none!important}
}
