.trx-proceso { padding-block: clamp(var(--space-8), 10vw, var(--space-10)); background: var(--brand-primary); color: var(--bg-base); position: relative; overflow: hidden; }
.trx-proceso::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(245,241,234,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(245,241,234,0.06) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse at 80% 0%, #000 20%, transparent 70%);
  -webkit-mask-image: radial-gradient(ellipse at 80% 0%, #000 20%, transparent 70%);
}
.trx-proceso > * { position: relative; }

.trx-proceso a { color: var(--bg-base); }
.trx-proceso .trx-eyebrow { color: var(--secondary-soft); }
.trx-proceso .trx-eyebrow__label { color: var(--secondary-soft); }
.trx-proceso .trx-eyebrow__rule { background: var(--accent); opacity: 1; }

/* ── Head ─────────────────────────────────────────────────────────── */
.trx-proceso__head { margin-bottom: var(--space-8); }
.trx-proceso__head-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: var(--space-7); align-items: end; margin-top: var(--space-5); padding-bottom: var(--space-6); border-bottom: 1px solid rgba(245,241,234,0.18); }
@media (max-width: 880px) { .trx-proceso__head-grid { grid-template-columns: 1fr; gap: var(--space-4); } }
.trx-proceso__title { font-family: var(--font-display); font-size: clamp(2rem, 4.6vw, 3.6rem); line-height: 1.05; letter-spacing: -0.025em; margin: 0; color: var(--bg-base); max-width: 24ch; }
.trx-proceso__lede { font-size: var(--fs-400); color: var(--secondary-soft); margin: 0; line-height: 1.55; max-width: 48ch; justify-self: end; }
@media (max-width: 880px) { .trx-proceso__lede { justify-self: start; } }

/* ── Layout: rail + steps ────────────────────────────────────────── */
.trx-proceso__layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: var(--space-7); align-items: start; }
@media (max-width: 960px) { .trx-proceso__layout { grid-template-columns: 1fr; gap: var(--space-5); } }

.trx-proceso__rail { position: sticky; top: 100px; align-self: start; }
@media (max-width: 960px) { .trx-proceso__rail { display: none; } }
.trx-proceso__rail-inner { position: relative; padding-left: 18px; }
.trx-proceso__rail-inner::before { content: ''; position: absolute; left: 6px; top: 6px; bottom: 6px; width: 1px; background: rgba(245,241,234,0.18); }
.trx-proceso__rail-progress { position: absolute; left: 6px; top: 6px; bottom: 6px; width: 1px; pointer-events: none; }
.trx-proceso__rail-progress-bar { position: absolute; left: -1px; top: 0; width: 3px; background: var(--accent); height: 0; box-shadow: 0 0 0 4px rgba(232,117,26,0.18); transition: height 200ms var(--ease-out); }
.trx-proceso__rail-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-5); position: relative; }
.trx-proceso__rail-item { display: flex; flex-direction: column; gap: 2px; padding-left: var(--space-3); position: relative; cursor: default; opacity: 0.48; transition: opacity var(--dur-base) var(--ease-out); }
.trx-proceso__rail-item::before { content: ''; position: absolute; left: -18px; top: 4px; width: 13px; height: 13px; border-radius: 999px; border: 1px solid rgba(245,241,234,0.3); background: var(--brand-primary); transition: background var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out); }
.trx-proceso__rail-item.is-active { opacity: 1; }
.trx-proceso__rail-item.is-active::before { background: var(--accent); border-color: var(--accent); box-shadow: 0 0 0 4px rgba(232,117,26,0.18); }
.trx-proceso__rail-num { font-family: var(--font-mono); font-size: var(--fs-100); letter-spacing: 0.14em; color: var(--accent); }
.trx-proceso__rail-label { font-family: var(--font-display); font-size: var(--fs-400); color: var(--bg-base); line-height: 1.15; }

/* ── Steps ────────────────────────────────────────────────────────── */
.trx-proceso__steps { display: flex; flex-direction: column; gap: var(--space-7); }
.trx-proceso__step { position: relative; padding: var(--space-6); background: rgba(245,241,234,0.04); border: 1px solid rgba(245,241,234,0.12); border-radius: var(--radius-md); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); opacity: 0; transform: translateY(20px); transition: opacity 700ms var(--ease-out), transform 700ms var(--ease-out); transition-delay: calc(var(--i, 0) * 60ms); }
.trx-proceso__step.is-revealed { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .trx-proceso__step { opacity: 1; transform: none; transition: none; } }

.trx-proceso__step-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); padding-bottom: var(--space-4); border-bottom: 1px dashed rgba(245,241,234,0.18); margin-bottom: var(--space-4); flex-wrap: wrap; }
.trx-proceso__step-stamp { display: inline-flex; align-items: baseline; gap: var(--space-3); }
.trx-proceso__step-num { font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3rem); line-height: 1; color: var(--accent); letter-spacing: -0.02em; }
.trx-proceso__step-track { font-family: var(--font-mono); font-size: var(--fs-100); letter-spacing: 0.12em; text-transform: uppercase; color: var(--secondary-soft); }
.trx-proceso__step-meta { display: flex; flex-wrap: wrap; gap: var(--space-4); align-items: center; }
.trx-proceso__step-owner, .trx-proceso__step-duration { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: var(--fs-100); letter-spacing: 0.08em; color: var(--secondary-soft); }
.trx-proceso__step-owner svg, .trx-proceso__step-duration svg { color: var(--accent); }

.trx-proceso__step-title { font-family: var(--font-display); font-weight: 600; font-size: clamp(1.5rem, 2.6vw, 2rem); line-height: 1.15; letter-spacing: -0.02em; color: var(--bg-base); margin: 0 0 var(--space-3); max-width: 32ch; }
.trx-proceso__step-desc { color: rgba(245,241,234,0.78); font-size: var(--fs-400); line-height: 1.6; margin: 0 0 var(--space-5); max-width: 64ch; }

.trx-proceso__step-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-5); padding-top: var(--space-5); border-top: 1px solid rgba(245,241,234,0.12); }
@media (max-width: 720px) { .trx-proceso__step-grid { grid-template-columns: 1fr; gap: var(--space-4); } }
.trx-proceso__step-block-label { font-family: var(--font-mono); font-size: var(--fs-100); letter-spacing: 0.14em; text-transform: uppercase; margin: 0 0 var(--space-3); display: inline-flex; align-items: center; gap: 8px; }
.trx-proceso__step-block-label::before { content: ''; width: 10px; height: 1px; background: var(--accent); display: inline-block; }
.trx-proceso__step-block--ask     .trx-proceso__step-block-label { color: var(--secondary-soft); }
.trx-proceso__step-block--deliver .trx-proceso__step-block-label { color: var(--accent); }
.trx-proceso__step-block ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: var(--fs-200); }
.trx-proceso__step-block li { padding-left: var(--space-4); position: relative; color: rgba(245,241,234,0.86); line-height: 1.55; }
.trx-proceso__step-block--ask li::before     { content: '?'; position: absolute; left: 0; top: 0; color: var(--secondary-soft); font-family: var(--font-mono); }
.trx-proceso__step-block--deliver li::before { content: '✓'; position: absolute; left: 0; top: 0; color: var(--accent); font-family: var(--font-mono); }

/* ── Foot ─────────────────────────────────────────────────────────── */
.trx-proceso__foot { margin-top: var(--space-9); display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--space-7); align-items: end; padding-top: var(--space-6); border-top: 1px solid rgba(245,241,234,0.18); }
@media (max-width: 880px) { .trx-proceso__foot { grid-template-columns: 1fr; } }

.trx-proceso__diagram { margin: 0; }
.trx-proceso__diagram img { width: 100%; height: auto; border-radius: var(--radius-md); border: 1px solid rgba(245,241,234,0.18); aspect-ratio: 3/2; object-fit: cover; opacity: 0.92; }
.trx-proceso__diagram figcaption { margin-top: var(--space-3); font-family: var(--font-mono); font-size: var(--fs-100); letter-spacing: 0.08em; color: var(--secondary-soft); }

.trx-proceso__foot-cta { display: flex; flex-direction: column; gap: var(--space-5); align-items: flex-start; }
.trx-proceso__foot-quote { font-family: var(--font-display); font-size: clamp(1.3rem, 2.4vw, 1.8rem); line-height: 1.3; color: var(--bg-base); margin: 0; max-width: 36ch; font-style: italic; }
.trx-proceso__foot-quote > span:first-child, .trx-proceso__foot-quote > span:nth-child(2) { color: var(--accent); }
.trx-proceso__foot-author { display: block; margin-top: var(--space-3); font-family: var(--font-mono); font-size: var(--fs-100); letter-spacing: 0.1em; text-transform: uppercase; color: var(--secondary-soft); font-style: normal; }
.trx-proceso__foot .trx-btn__arrow { display: inline-block; transition: transform var(--dur-fast) var(--ease-out); }
.trx-proceso__foot .trx-btn:hover .trx-btn__arrow { transform: translateX(3px); }
