/* =========================================================================
   SECCIÓN — Mi Historia (recorrido pasado → cambios → presente)
   ========================================================================= */
.story-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: clamp(28px, 5vw, 70px);
  align-items: start;
}
@media (max-width: 920px) { .story-grid { grid-template-columns: 1fr; } }

/* Columna izquierda: retrato + frase ancla */
.story-aside { position: sticky; top: 110px; display: grid; gap: 18px; }
.story-aside figure { margin: 0; }
.story-aside .story-photo {
  width: 100%; height: 360px; object-fit: cover; display: block;
  border-radius: calc(var(--radius) - 6px);
}
.story-aside image-slot.story-photo { height: 360px; }
.story-aside figcaption {
  display: flex; justify-content: space-between; align-items: center;
  padding: 15px 18px 13px;
}
.story-aside figcaption strong { display: block; font-size: 14.5px; }
.story-aside figcaption .role { font-size: 12px; color: var(--muted); }
.story-aside .badge-then-now {
  font-family: var(--font-display); font-size: 13px; letter-spacing: 1.6px;
  color: var(--gold); border: 1px solid var(--line); border-radius: 10px; padding: 6px 11px;
}
.story-pull {
  padding: 22px 24px;
  font-size: 15px; font-weight: 600; line-height: 1.6;
}
.story-pull em { font-style: normal; color: var(--gold); }

/* Columna derecha: capítulos */
.story-steps { display: grid; gap: 16px; }
.story-step {
  position: relative;
  padding: 24px 26px 24px 64px;
  transition: transform 0.5s var(--ease), border-color 0.4s, box-shadow 0.4s, background 0.4s;
}
.story-step::before {
  content: attr(data-ch);
  position: absolute; left: 22px; top: 24px;
  font-family: var(--font-display); font-size: 15px;
  color: var(--gold-dark);
  transition: color 0.4s, text-shadow 0.4s;
}
.story-step::after {
  content: ''; position: absolute; left: 30px; top: 46px; bottom: -16px; width: 1px;
  background: linear-gradient(180deg, var(--line), transparent);
}
.story-step:last-child::after { display: none; }
.story-step:hover {
  transform: translateX(6px);
  border-color: var(--line);
  background: color-mix(in srgb, var(--gold) 4%, var(--panel));
  box-shadow: 0 24px 56px rgba(0,0,0,0.5), var(--glow);
}
.story-step:hover::before { color: var(--gold-light); text-shadow: 0 0 16px color-mix(in srgb, var(--gold) 55%, transparent); }
.story-step .story-phase {
  font-size: 10.5px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase;
  color: var(--gold); display: block; margin-bottom: 8px;
  position: relative; padding-left: 0;
}
.story-step h3 {
  margin: 0 0 9px;
  font-family: var(--font-display); font-weight: 400;
  font-size: clamp(20px, 2.3vw, 26px);
  letter-spacing: 0.4px; text-transform: uppercase; line-height: 1.08;
}
.story-step h3 em { font-style: normal; color: var(--gold); }
.story-step p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; text-wrap: pretty; }
.story-step p strong { color: var(--text); }
.story-step.turning {
  background: linear-gradient(135deg, color-mix(in srgb, var(--gold) 12%, var(--panel-solid)), var(--panel-solid));
  border-color: var(--line);
}
.story-step.turning .story-phase { color: var(--gold-light); }

@media (max-width: 560px) {
  .story-step { padding: 22px 20px 22px 52px; }
  .story-step::before { left: 18px; }
  .story-step::after { left: 26px; }
}
