/* Photo steps: semantic list remains useful without JavaScript. */
steps-section[variant="visual"] .steps-section__heading { max-width: 760px; margin: 0 auto 48px; text-align: center; }
steps-section[variant="visual"] .steps-section__heading p:last-child { max-width: 600px; margin: 24px auto 0; }
steps-section[variant="visual"] .steps-section__items { gap: 24px; }
steps-section[variant="visual"] .steps-section__items li { border: 0; padding: 0; }
steps-section[variant="visual"] .steps-section__photo { position: relative; margin-bottom: 24px; }
steps-section[variant="visual"] .steps-section__photo img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 12px; }
steps-section[variant="visual"] .steps-section__photo span { position: absolute; top: 14px; left: 14px; display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid rgb(255 255 255 / 30%); border-radius: 50%; background: var(--lp-ink); color: white; font-size: 16px; }
steps-section[variant="visual"] h3 { font-size: clamp(23px, 2.1vw, 29px); font-weight: 550; }
@media (max-width: 760px) {
  steps-section[variant="visual"] .steps-section__heading { text-align: left; margin-bottom: 32px; }
  steps-section[variant="visual"] .steps-section__items { gap: 36px; }
  steps-section[variant="visual"] .steps-section__photo img { aspect-ratio: 4 / 3; }
}
