/*
 * La Galga Gris · process-strip.css
 * 3 pasos horizontales con línea cosida animada al scroll.
 */

.lgg-process {
	padding-block: clamp(3rem, 6vw, 5rem);
	padding-inline: var(--container-pad-x);
	background: var(--color-bg-subtle);
	color: var(--color-ink-primary);
}
.lgg-process--base    { background: var(--color-bg-base); }
.lgg-process--inverse { background: var(--color-bg-inverse); color: var(--color-ink-inverse); }
.lgg-process--inverse :is(h2, h3) { color: var(--color-ink-inverse); }
.lgg-process--inverse .lgg-process__step-p { color: color-mix(in srgb, var(--color-ink-inverse) 75%, transparent); }
.lgg-process--inverse .lgg-process__stitch { color: color-mix(in srgb, var(--color-ink-inverse) 35%, transparent); }
.lgg-process--inverse .lgg-process__node { background: var(--color-bg-card); color: var(--color-ink-primary); }

.lgg-process__head {
	max-width: var(--container-default);
	margin: 0 auto var(--sp-7);
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: var(--sp-3);
	align-items: center;
}
.lgg-process__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(1.75rem, 3vw, 2.75rem);
	font-weight: var(--fw-medium);
	line-height: 1.1;
	letter-spacing: var(--ls-display);
}
.lgg-process__lead {
	margin: 0;
	max-width: 56ch;
}

/* ── Rail ───────────────────────────────────────────────────────── */
.lgg-process__rail {
	position: relative;
	max-width: var(--container-wide);
	margin: 0 auto;
}

.lgg-process__stitch {
	display: none;
	position: absolute;
	left: 0; right: 0; top: 38px;
	width: 100%; height: 60px;
	color: var(--color-accent);
	pointer-events: none;
}
@media (min-width: 900px) {
	.lgg-process__stitch { display: block; }
}

/* ── Steps ──────────────────────────────────────────────────────── */
.lgg-process__steps {
	list-style: none;
	margin: 0; padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--sp-6);
	position: relative;
	z-index: 2;
}
@media (min-width: 900px) {
	.lgg-process__steps {
		grid-template-columns: repeat(3, 1fr);
		gap: clamp(2rem, 4vw, 4rem);
	}
}

.lgg-process__step {
	display: flex;
	flex-direction: column;
	gap: var(--sp-4);
	align-items: center;
	text-align: center;
}

/* Node: círculo con icono y dot pulsante */
.lgg-process__node {
	position: relative;
	width: 72px; height: 72px;
	border-radius: 50%;
	background: var(--color-bg-card);
	color: var(--color-ink-primary);
	border: 1px solid var(--color-border-subtle);
	box-shadow: var(--shadow-sm);
	display: inline-flex; align-items: center; justify-content: center;
	transition: transform var(--dur-base) var(--ease-emphasized),
				border-color var(--dur-fast) var(--ease-standard),
				background var(--dur-fast) var(--ease-standard);
}
.lgg-process__step.is-active .lgg-process__node {
	transform: scale(1.06);
	border-color: var(--color-accent);
}
.lgg-process__node-dot {
	position: absolute;
	top: -5px;
	width: 14px; height: 14px;
	border-radius: 50%;
	background: var(--color-accent);
	box-shadow: 0 0 0 4px var(--color-bg-subtle);
	transform: scale(0);
	transition: transform var(--dur-base) var(--ease-emphasized);
}
.lgg-process--base .lgg-process__node-dot { box-shadow: 0 0 0 4px var(--color-bg-base); }
.lgg-process__step.is-active .lgg-process__node-dot { transform: scale(1); }
.lgg-process__icon { color: var(--color-accent); }

/* Step body */
.lgg-process__step-body { display: flex; flex-direction: column; gap: var(--sp-2); max-width: 28ch; }
.lgg-process__step-n {
	font-family: var(--font-display);
	font-size: var(--fz-micro);
	letter-spacing: 0.06em;
	color: var(--color-accent);
	font-weight: var(--fw-medium);
}
.lgg-process__step-h {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(1.25rem, 2vw, 1.75rem);
	font-weight: var(--fw-medium);
	line-height: 1.2;
}
.lgg-process__step-p {
	margin: 0;
	color: var(--color-ink-secondary);
	font-size: var(--fz-small);
	line-height: 1.5;
}

/* CTA */
.lgg-process__cta-wrap {
	display: flex;
	justify-content: center;
	margin-top: var(--sp-7);
}
