.trx-cta { position: relative; isolation: isolate; padding-block: clamp(var(--space-8), 12vw, var(--space-10)); background: var(--ink-primary); color: var(--bg-base); overflow: hidden; }
.trx-cta__bg { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.trx-cta__bg-grid {
  position: absolute; inset: 0; opacity: 0.07;
  background-image:
    linear-gradient(rgba(245,241,234,0.6) 1px, transparent 1px),
    linear-gradient(90deg, rgba(245,241,234,0.6) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse at 70% 50%, #000 30%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at 70% 50%, #000 30%, transparent 75%);
}
.trx-cta__bg-glow { position: absolute; right: -10%; top: 10%; width: 60vmin; height: 60vmin; border-radius: 999px; background: radial-gradient(closest-side, rgba(232,117,26,0.32), transparent 70%); filter: blur(20px); }

.trx-cta__inner { position: relative; }

/* ── Head ─────────────────────────────────────────────────────────── */
.trx-cta__head { max-width: 56ch; margin-bottom: var(--space-8); }
.trx-cta .trx-eyebrow { color: var(--secondary-soft); display: inline-flex; align-items: center; gap: 10px; }
.trx-cta__signal { width: 8px; height: 8px; border-radius: 999px; background: var(--accent); box-shadow: 0 0 0 4px rgba(232,117,26,0.18); animation: trx-cta-pulse 2.4s var(--ease-in-out) infinite; }
@keyframes trx-cta-pulse { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.6; transform: scale(0.85); } }
@media (prefers-reduced-motion: reduce) { .trx-cta__signal { animation: none; } }

.trx-cta__title { font-family: var(--font-display); font-weight: 600; line-height: 0.98; letter-spacing: -0.025em; margin: var(--space-4) 0 var(--space-5); font-size: clamp(2.4rem, 6vw, 5rem); color: var(--bg-base); }
.trx-cta__title-line { display: block; opacity: 0; transform: translateY(20px); animation: trx-cta-rise 700ms var(--ease-out) forwards; animation-delay: calc(120ms + var(--i, 0) * 110ms); }
.trx-cta__title-line:nth-child(2) { color: var(--accent); font-style: italic; }
@keyframes trx-cta-rise { to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .trx-cta__title-line { opacity: 1; transform: none; animation: none; } }

.trx-cta__lede { font-size: var(--fs-400); line-height: 1.55; color: rgba(245,241,234,0.78); margin: 0; max-width: 56ch; }

/* ── Filter (fit / nofit) ─────────────────────────────────────────── */
.trx-cta__filter { display: grid; grid-template-columns: 1fr auto 1fr; gap: var(--space-6); align-items: stretch; padding: var(--space-6); border: 1px solid rgba(245,241,234,0.16); border-radius: var(--radius-md); background: rgba(245,241,234,0.04); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); margin-bottom: var(--space-7); }
@media (max-width: 880px) { .trx-cta__filter { grid-template-columns: 1fr; } .trx-cta__filter-divider { display: none; } }
.trx-cta__filter-divider { width: 1px; background: rgba(245,241,234,0.16); }
.trx-cta__filter-col { display: flex; flex-direction: column; gap: var(--space-3); }
.trx-cta__filter-label { font-family: var(--font-mono); font-size: var(--fs-200); letter-spacing: 0.12em; text-transform: uppercase; margin: 0; display: inline-flex; align-items: center; gap: 10px; }
.trx-cta__filter-col--fit   .trx-cta__filter-label { color: var(--bg-base); }
.trx-cta__filter-col--nofit .trx-cta__filter-label { color: var(--secondary-soft); }
.trx-cta__filter-mark { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 999px; font-size: 12px; line-height: 1; }
.trx-cta__filter-col--fit   .trx-cta__filter-mark { background: var(--accent); color: #fff; }
.trx-cta__filter-col--nofit .trx-cta__filter-mark { background: transparent; color: var(--secondary-soft); border: 1px solid rgba(245,241,234,0.3); }
.trx-cta__filter-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: var(--fs-300); }
.trx-cta__filter-col li { padding-left: var(--space-4); position: relative; line-height: 1.5; color: rgba(245,241,234,0.86); }
.trx-cta__filter-col--fit   li::before { content: '+'; position: absolute; left: 0; top: 0; color: var(--accent); font-family: var(--font-mono); font-weight: 500; }
.trx-cta__filter-col--nofit li { color: rgba(245,241,234,0.55); text-decoration: line-through; text-decoration-color: rgba(245,241,234,0.18); text-decoration-thickness: 1px; }
.trx-cta__filter-col--nofit li::before { content: '−'; position: absolute; left: 0; top: 0; color: rgba(245,241,234,0.55); font-family: var(--font-mono); text-decoration: none; }

/* ── Action: owner card + CTAs ────────────────────────────────────── */
.trx-cta__action { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: var(--space-6); align-items: stretch; padding: var(--space-6); border: 1px solid rgba(245,241,234,0.16); border-radius: var(--radius-md); background: rgba(11,42,74,0.55); position: relative; overflow: hidden; }
.trx-cta__action::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--accent); }
@media (max-width: 880px) { .trx-cta__action { grid-template-columns: 1fr; } }

.trx-cta__owner { display: grid; grid-template-columns: 96px 1fr; gap: var(--space-4); align-items: center; }
@media (max-width: 540px) { .trx-cta__owner { grid-template-columns: 72px 1fr; } }
.trx-cta__owner-media { margin: 0; width: 96px; height: 96px; border-radius: var(--radius-md); overflow: hidden; background: var(--secondary-soft); }
@media (max-width: 540px) { .trx-cta__owner-media { width: 72px; height: 72px; } }
.trx-cta__owner-media img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(0.15); }
.trx-cta__owner-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.trx-cta__owner-eyebrow { font-family: var(--font-mono); font-size: var(--fs-100); letter-spacing: 0.14em; text-transform: uppercase; color: var(--secondary-soft); margin: 0; }
.trx-cta__owner-name { font-family: var(--font-display); font-size: var(--fs-500); margin: 4px 0 0; color: var(--bg-base); letter-spacing: -0.01em; line-height: 1.1; }
.trx-cta__owner-role { font-family: var(--font-mono); font-size: var(--fs-100); letter-spacing: 0.06em; color: var(--accent); margin: 2px 0 0; }
.trx-cta__owner-contact { display: flex; flex-direction: column; gap: 2px; margin-top: var(--space-2); font-size: var(--fs-200); }
.trx-cta__owner-contact a { color: rgba(245,241,234,0.78); text-decoration: none; font-family: var(--font-mono); letter-spacing: 0.02em; transition: color var(--dur-fast) var(--ease-out); }
.trx-cta__owner-contact a:hover { color: var(--accent); }

.trx-cta__buttons { display: flex; flex-direction: column; gap: var(--space-3); justify-content: center; }
.trx-cta__btn { display: flex; flex-direction: column; gap: 6px; padding: var(--space-4) var(--space-5); border-radius: var(--radius-md); text-decoration: none; border: 1px solid transparent; transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); }
.trx-cta__btn-label { display: inline-flex; align-items: center; justify-content: space-between; gap: var(--space-3); font-family: var(--font-display); font-size: var(--fs-500); line-height: 1.15; letter-spacing: -0.01em; }
.trx-cta__btn-arrow { display: inline-block; transition: transform var(--dur-fast) var(--ease-out); }
.trx-cta__btn:hover .trx-cta__btn-arrow { transform: translateX(4px); }
.trx-cta__btn-sub { font-family: var(--font-mono); font-size: var(--fs-100); letter-spacing: 0.08em; text-transform: uppercase; opacity: 0.85; }

.trx-cta__btn--primary { background: var(--accent); color: #fff; box-shadow: 0 16px 36px rgba(232,117,26,0.32); }
.trx-cta__btn--primary:hover { background: #fff; color: var(--accent); transform: translateY(-2px); box-shadow: 0 20px 40px rgba(232,117,26,0.4); }
.trx-cta__btn--ghost { background: transparent; color: var(--bg-base); border-color: rgba(245,241,234,0.3); }
.trx-cta__btn--ghost:hover { border-color: var(--bg-base); background: rgba(245,241,234,0.06); }

@media (max-width: 540px) { .trx-cta__btn-label { font-size: var(--fs-400); } }

/* ── Foot ─────────────────────────────────────────────────────────── */
.trx-cta__foot { margin-top: var(--space-6); display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px; border: 1px solid rgba(245,241,234,0.2); border-radius: var(--radius-pill); font-family: var(--font-mono); font-size: var(--fs-100); letter-spacing: 0.1em; text-transform: uppercase; color: var(--secondary-soft); }
.trx-cta__foot-dot { width: 8px; height: 8px; border-radius: 999px; background: #4ade80; box-shadow: 0 0 0 3px rgba(74,222,128,0.18); animation: trx-cta-pulse 2.4s var(--ease-in-out) infinite; }
.trx-cta__foot-time { color: var(--bg-base); margin-left: 8px; padding-left: 10px; border-left: 1px solid rgba(245,241,234,0.18); }
.trx-cta__foot-time:empty { display: none; }
