.trx-challenge { padding-block: clamp(var(--space-8), 10vw, var(--space-10)); background: var(--bg-base); position: relative; }
.trx-challenge::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--line-strong) 30%, var(--accent), var(--line-strong) 70%, transparent); }

/* ── Head ─────────────────────────────────────────────────────────── */
.trx-challenge__head { display: flex; flex-direction: column; gap: var(--space-3); max-width: 56ch; margin-bottom: var(--space-7); padding-bottom: var(--space-5); border-bottom: 1px solid var(--line); }
.trx-challenge__head .trx-eyebrow { display: inline-flex; align-items: center; gap: var(--space-3); margin: 0; }
.trx-challenge__num { font-family: var(--font-display); font-weight: 600; font-size: clamp(2.2rem, 4.4vw, 3.2rem); line-height: 1; color: var(--accent); letter-spacing: -0.03em; }
.trx-challenge__title { font-family: var(--font-display); font-weight: 500; font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.15; letter-spacing: -0.015em; color: var(--ink-primary); margin: 0; max-width: 30ch; }

/* ── Layout ───────────────────────────────────────────────────────── */
.trx-challenge__layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: clamp(var(--space-5), 4vw, var(--space-8)); align-items: start; }
@media (max-width: 960px) { .trx-challenge__layout { grid-template-columns: 1fr; gap: var(--space-6); } }

.trx-challenge__main { display: flex; flex-direction: column; gap: var(--space-6); min-width: 0; }

/* ── Statement quote ──────────────────────────────────────────────── */
.trx-challenge__statement { margin: 0; padding: var(--space-5) 0 var(--space-5) var(--space-6); border-left: 2px solid var(--accent); position: relative; }
.trx-challenge__statement::before { content: '“'; position: absolute; left: var(--space-2); top: -8px; font-family: var(--font-display); font-size: clamp(3rem, 6vw, 5rem); line-height: 1; color: var(--accent); font-style: italic; }
.trx-challenge__statement p { font-family: var(--font-display); font-weight: 500; font-size: clamp(1.4rem, 2.4vw, 1.85rem); line-height: 1.35; letter-spacing: -0.015em; color: var(--ink-primary); margin: 0; }
.trx-challenge__statement-author { display: inline-flex; align-items: center; gap: 8px; margin-top: var(--space-4); font-family: var(--font-mono); font-size: var(--fs-100); letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-muted); }
.trx-challenge__statement-author > span:first-child { color: var(--accent); }

/* ── Media ────────────────────────────────────────────────────────── */
.trx-challenge__media { margin: 0; }
.trx-challenge__media img { width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; border-radius: var(--radius-md); border: 1px solid var(--line); }
.trx-challenge__media figcaption { margin-top: var(--space-3); display: flex; align-items: flex-start; gap: var(--space-3); font-size: var(--fs-200); color: var(--ink-muted); }
.trx-challenge__media-tag { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); padding: 4px 8px; border: 1px solid var(--accent); border-radius: var(--radius-sm); flex-shrink: 0; line-height: 1; align-self: center; }

/* ── Side ─────────────────────────────────────────────────────────── */
.trx-challenge__side { display: flex; flex-direction: column; gap: var(--space-5); position: sticky; top: 100px; }
@media (max-width: 960px) { .trx-challenge__side { position: relative; top: auto; } }

/* Facts (deadline, stakes) */
.trx-challenge__facts { margin: 0; display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5); background: var(--brand-primary); color: var(--bg-base); border-radius: var(--radius-md); }
.trx-challenge__facts > div { display: flex; flex-direction: column; gap: 4px; padding-bottom: var(--space-3); border-bottom: 1px dashed rgba(245,241,234,0.18); }
.trx-challenge__facts > div:last-child { border-bottom: 0; padding-bottom: 0; }
.trx-challenge__facts dt { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--secondary-soft); margin: 0; }
.trx-challenge__facts dd { margin: 0; display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-display); font-size: clamp(1.1rem, 1.6vw, 1.3rem); line-height: 1.3; color: var(--bg-base); }
.trx-challenge__facts-icon { color: var(--accent); display: inline-flex; }

/* Constraints list */
.trx-challenge__constraints { padding: var(--space-5); background: var(--bg-elevated); border: 1px solid var(--line); border-radius: var(--radius-md); }
.trx-challenge__constraints-label { font-family: var(--font-mono); font-size: var(--fs-100); letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); margin: 0 0 var(--space-4); display: inline-flex; align-items: center; gap: 6px; }
.trx-challenge__constraints-label > span { color: var(--ink-muted); font-size: var(--fs-200); }
.trx-challenge__constraints-list { list-style: none; margin: 0; padding: 0; counter-reset: trxc; }
.trx-challenge__constraints-list li { display: grid; grid-template-columns: auto 1fr; gap: var(--space-3); padding: var(--space-3) 0; border-bottom: 1px dashed var(--line); align-items: start; }
.trx-challenge__constraints-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.trx-challenge__constraint-num { font-family: var(--font-mono); font-size: var(--fs-100); letter-spacing: 0.12em; color: var(--accent); line-height: 1.5; padding: 2px 6px; border: 1px solid var(--accent); border-radius: var(--radius-sm); align-self: start; }
.trx-challenge__constraint-text { color: var(--ink-primary); font-size: var(--fs-300); line-height: 1.5; }

/* Bridge to next section */
.trx-challenge__bridge { display: inline-flex; align-items: center; gap: var(--space-3); padding: var(--space-3) var(--space-4); border: 1px dashed var(--line-strong); border-radius: var(--radius-sm); color: var(--ink-muted); font-family: var(--font-mono); font-size: var(--fs-100); letter-spacing: 0.08em; text-transform: uppercase; margin: 0; }
.trx-challenge__bridge-arrow { color: var(--accent); font-size: var(--fs-400); animation: trx-ch-bounce 2.2s var(--ease-in-out) infinite; }
@keyframes trx-ch-bounce { 0%,100% { transform: translateY(0); } 50% { transform: translateY(3px); } }
@media (prefers-reduced-motion: reduce) { .trx-challenge__bridge-arrow { animation: none; } }

/* Reveal */
.trx-challenge[data-reveal] { opacity: 0; transform: translateY(16px); transition: opacity 700ms var(--ease-out), transform 700ms var(--ease-out); }
.trx-challenge[data-reveal].is-revealed { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .trx-challenge[data-reveal] { opacity: 1; transform: none; transition: none; } }
