/* =========================================================
   DealCap USA · Style-Ops · Custom CSS
   Pairs with Tailwind via CDN; carries motion + atmosphere.
   ========================================================= */

:root {
  --c-ink-950: #050608;
  --c-ink-900: #0a0c10;
  --c-ink-850: #0e1116;
  --c-ink-800: #13171f;
  --c-ink-700: #1a1f2a;
  --c-ink-600: #252b38;
  --c-ink-500: #3a4252;
  --c-ink-400: #5a6478;
  --c-ink-300: #8892a8;
  --c-ink-200: #b5bcc9;
  --c-ink-100: #dfe3ec;
  --c-amber: #ffb020;
  --c-amber-bright: #ffc44d;
  --c-cyan: #22d3ee;
  --c-go: #10b981;
  --c-crimson: #ef4444;
}

html { scroll-behavior: smooth; }
body { background: var(--c-ink-950); }

/* ----- ATMOSPHERE OVERLAYS ----- */
.scanlines {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 100;
  background: repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent 2px,
    rgba(255, 255, 255, 0.025) 2px,
    rgba(255, 255, 255, 0.025) 3px
  );
  mix-blend-mode: overlay;
}
.grain {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 99;
  opacity: 0.06;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/></svg>");
}
.vignette {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 98;
  background: radial-gradient(ellipse at center, transparent 40%, rgba(0, 0, 0, 0.6) 100%);
}

/* ----- BACKGROUNDS ----- */
.grid-bg {
  background-image:
    linear-gradient(rgba(255, 176, 32, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 176, 32, 0.06) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(ellipse at 50% 30%, black 30%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at 50% 30%, black 30%, transparent 75%);
  animation: grid-shift 24s linear infinite;
}
@keyframes grid-shift {
  from { background-position: 0 0, 0 0; }
  to { background-position: 56px 56px, 56px 56px; }
}
.radial-pulse {
  background:
    radial-gradient(circle at 20% 30%, rgba(255, 176, 32, 0.12), transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(34, 211, 238, 0.08), transparent 45%);
  animation: pulse-bg 8s ease-in-out infinite;
}
@keyframes pulse-bg {
  0%, 100% { opacity: 0.8; }
  50% { opacity: 1; }
}

/* ----- TYPOGRAPHY HELPERS ----- */
.glow-amber {
  text-shadow:
    0 0 12px rgba(255, 176, 32, 0.55),
    0 0 32px rgba(255, 176, 32, 0.25);
  animation: glow-pulse 3s ease-in-out infinite;
}
@keyframes glow-pulse {
  0%, 100% {
    text-shadow:
      0 0 12px rgba(255, 176, 32, 0.55),
      0 0 32px rgba(255, 176, 32, 0.25);
  }
  50% {
    text-shadow:
      0 0 18px rgba(255, 176, 32, 0.75),
      0 0 48px rgba(255, 176, 32, 0.45);
  }
}

/* ----- DOTS / PULSES ----- */
.dot-pulse {
  position: relative;
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--dot-color, var(--c-amber));
  box-shadow: 0 0 0 0 var(--dot-color, var(--c-amber));
  animation: dot 1.8s ease-out infinite;
}
@keyframes dot {
  0% { box-shadow: 0 0 0 0 rgba(255, 176, 32, 0.6); }
  100% { box-shadow: 0 0 0 14px rgba(255, 176, 32, 0); }
}

/* ----- REDACTION BARS ----- */
.redaction {
  display: inline-block;
  height: 12px;
  width: 64px;
  background: var(--c-ink-100);
  background-image: repeating-linear-gradient(
    45deg,
    transparent 0,
    transparent 3px,
    rgba(0, 0, 0, 0.15) 3px,
    rgba(0, 0, 0, 0.15) 5px
  );
}
.redaction--sm { width: 32px; height: 8px; }

/* ----- NAV ----- */
.nav-link {
  padding: 0.5rem 0.875rem;
  color: var(--c-ink-300);
  border: 1px solid transparent;
  transition: all 0.2s ease;
  position: relative;
}
.nav-link:hover {
  color: var(--c-amber);
  border-color: rgba(255, 176, 32, 0.25);
  background: rgba(255, 176, 32, 0.04);
}

/* ----- BUTTONS ----- */
.btn-zero {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 0.625rem 1.125rem;
  background: var(--c-amber);
  color: var(--c-ink-950);
  font-family: "JetBrains Mono", monospace;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  border: 1px solid var(--c-amber);
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.25s ease, background 0.2s ease;
  overflow: hidden;
  clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
}
.btn-zero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, 0.45) 50%, transparent 70%);
  transform: translateX(-120%);
  transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn-zero:hover {
  transform: translateY(-1px);
  background: var(--c-amber-bright);
  box-shadow:
    0 0 0 1px var(--c-amber),
    0 10px 30px rgba(255, 176, 32, 0.35);
}
.btn-zero:hover::before { transform: translateX(120%); }
.btn-zero:active { transform: translateY(0); }
.btn-zero[disabled] {
  background: transparent;
  color: var(--c-ink-400);
  border-color: var(--c-ink-600);
  cursor: not-allowed;
  box-shadow: none;
}
.btn-zero[disabled]::before { display: none; }
.btn-zero--lg { padding: 0.875rem 1.5rem; font-size: 0.8125rem; }
.btn-zero--full { width: 100%; }
.btn-zero--danger {
  background: transparent;
  color: var(--c-crimson);
  border-color: var(--c-crimson);
}
.btn-zero--danger:hover {
  background: rgba(239, 68, 68, 0.1);
  color: var(--c-crimson);
  box-shadow:
    0 0 0 1px var(--c-crimson),
    0 8px 24px rgba(239, 68, 68, 0.3);
}

.btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1.125rem;
  background: transparent;
  color: var(--c-ink-100);
  font-family: "JetBrains Mono", monospace;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  border: 1px solid var(--c-ink-600);
  cursor: pointer;
  transition: all 0.2s ease;
}
.btn-ghost:hover {
  border-color: var(--c-ink-400);
  color: var(--c-amber);
  background: rgba(255, 176, 32, 0.04);
}

/* ----- SECTION HEADERS — v21 large & in charge ----- */
.section-header {
  margin-bottom: 3.75rem;
  max-width: 64rem;
  position: relative;
}
.section-header__index {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.75rem;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--c-amber);
  margin-bottom: 1.1rem;
  padding: 0.35rem 0.6rem 0.35rem 0.55rem;
  background: rgba(245, 158, 11, 0.05);
  border: 1px solid rgba(245, 158, 11, 0.28);
}
.section-header__index::before {
  content: "";
  width: 6px;
  height: 6px;
  background: var(--c-amber);
  box-shadow: 0 0 8px rgba(245, 158, 11, 0.75);
  flex-shrink: 0;
}
.section-header__title {
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(2.5rem, 5.4vw, 4.5rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 0.98;
  color: var(--c-ink-100);
  margin: 0;
  text-wrap: balance;
}
.section-header__title::after {
  content: "";
  display: block;
  width: 64px;
  height: 3px;
  background: var(--c-amber);
  margin-top: 1.25rem;
  box-shadow: 0 0 16px rgba(245, 158, 11, 0.45);
}
.section-header__sub {
  margin-top: 1.4rem;
  font-size: 1.125rem;
  color: var(--c-ink-300);
  max-width: 46rem;
  line-height: 1.6;
}
@media (max-width: 640px){
  .section-header { margin-bottom: 2.5rem; }
  .section-header__title {
    font-size: clamp(2rem, 8.5vw, 2.75rem);
    letter-spacing: -0.025em;
  }
  .section-header__title::after {
    width: 48px;
    height: 2px;
    margin-top: 1rem;
  }
  .section-header__sub {
    font-size: 1rem;
    margin-top: 1.1rem;
  }
  .section-header__index {
    font-size: 0.6875rem;
    letter-spacing: 0.28em;
  }
}
.sub-header {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--c-ink-300);
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--c-ink-700);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.sub-header::before {
  content: "▸";
  color: var(--c-amber);
}

/* ----- SWATCHES ----- */
.swatch {
  position: relative;
  aspect-ratio: 1 / 1;
  padding: 0.875rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  color: var(--c-ink-300);
  border: 1px solid var(--c-ink-700);
  transition: transform 0.2s ease, border-color 0.2s ease;
}
.swatch:hover { transform: translateY(-2px); border-color: var(--c-ink-500); }
.swatch span {
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--c-ink-100);
  font-weight: 600;
}
.swatch code { color: var(--c-ink-300); font-size: 0.6875rem; }
.swatch--accent { color: rgba(5, 6, 8, 0.7); border-color: transparent; }
.swatch--accent span { color: var(--c-ink-950); }
.swatch--accent code { color: rgba(5, 6, 8, 0.7); }
.swatch__role {
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  opacity: 0.7;
}

/* ----- TYPE ROWS ----- */
.type-row {
  display: grid;
  grid-template-columns: 110px 1fr;
  align-items: baseline;
  gap: 1.5rem;
  padding: 0.75rem 0;
  border-bottom: 1px dashed var(--c-ink-700);
}
.type-row:last-child { border-bottom: 0; }
.type-row__meta {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--c-ink-400);
}

/* ----- MOTION DEMOS ----- */
.motion-demo {
  position: relative;
  height: 48px;
  background: var(--c-ink-950);
  border: 1px solid var(--c-ink-700);
  overflow: hidden;
}
.motion-demo--scan div {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 30%;
  background: linear-gradient(90deg, transparent, var(--c-amber), transparent);
  opacity: 0.6;
  animation: scan-sweep 2.4s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@keyframes scan-sweep {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(380%); }
}
.motion-demo--pulse div {
  position: absolute;
  inset: 12px;
  background: var(--c-cyan);
  opacity: 0.5;
  animation: pulse-box 1.8s ease-in-out infinite;
}
@keyframes pulse-box {
  0%, 100% { opacity: 0.3; transform: scale(0.96); }
  50% { opacity: 0.7; transform: scale(1); }
}
.motion-demo--snap div {
  position: absolute;
  top: 50%;
  left: 0;
  width: 24px;
  height: 4px;
  background: var(--c-go);
  transform: translateY(-50%);
  animation: snap-step 1.6s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}
@keyframes snap-step {
  0%, 100% { left: 4px; }
  50% { left: calc(100% - 28px); }
}

/* ----- HUD STAT ----- */
.hud-stat {
  background: var(--c-ink-900);
  padding: 1.25rem 1.25rem;
  position: relative;
}
.hud-stat--sm { padding: 0.75rem 0.875rem; }
.hud-stat__label {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  color: var(--c-ink-400);
}
.hud-stat__value {
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(1.5rem, 3.5vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--c-ink-100);
  line-height: 1.1;
  margin-top: 0.25rem;
}
.hud-stat--sm .hud-stat__value { font-size: 1rem; margin-top: 0.125rem; }
.hud-stat__meta {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--c-ink-500);
  margin-top: 0.5rem;
}
.hud-stat::before {
  content: "";
  position: absolute;
  top: 8px;
  right: 8px;
  width: 6px;
  height: 6px;
  background: var(--c-amber);
  opacity: 0.6;
}

/* ----- PILLS ----- */
.pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.75rem;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-weight: 600;
  border: 1px solid;
}
.pill__dot {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: currentColor;
}
.pill--go { color: var(--c-go); border-color: rgba(16, 185, 129, 0.4); background: rgba(16, 185, 129, 0.08); }
.pill--pending { color: var(--c-amber); border-color: rgba(255, 176, 32, 0.4); background: rgba(255, 176, 32, 0.08); }
.pill--danger { color: var(--c-crimson); border-color: rgba(239, 68, 68, 0.4); background: rgba(239, 68, 68, 0.08); }
.pill--scan { color: var(--c-cyan); border-color: rgba(34, 211, 238, 0.4); background: rgba(34, 211, 238, 0.08); }
.pill--neutral { color: var(--c-ink-300); border-color: var(--c-ink-600); background: var(--c-ink-900); }
.pill--scan .pill__dot { animation: pulse-dot 1.2s ease-in-out infinite; }
@keyframes pulse-dot {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 1; }
}
.pill--sm { padding: 0.25rem 0.625rem; font-size: 0.625rem; }

/* ----- TRUST CARDS ----- */
.trust-card {
  position: relative;
  padding: 1.5rem;
  background: linear-gradient(180deg, var(--c-ink-900), var(--c-ink-850));
  border: 1px solid var(--c-ink-700);
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.trust-card::before,
.trust-card::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  border: 1px solid var(--c-amber);
}
.trust-card::before { top: -1px; left: -1px; border-right: 0; border-bottom: 0; }
.trust-card::after { bottom: -1px; right: -1px; border-left: 0; border-top: 0; }
/* Trust cards = active signals → go-green whisper hover */
.trust-card { transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease; }
.trust-card:hover {
  border-color: var(--c-go);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(16, 185, 129, 0.12);
}
.trust-card:hover .trust-card__metric { color: var(--c-go); transition: color 0.2s ease; }
.trust-card__metric {
  font-family: "Space Grotesk", sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--c-amber);
  line-height: 1;
  letter-spacing: -0.02em;
}
.trust-card__label {
  margin-top: 0.625rem;
  font-size: 0.9375rem;
  color: var(--c-ink-100);
}
.trust-card__seal {
  margin-top: 1.5rem;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  color: var(--c-ink-400);
  padding-top: 0.75rem;
  border-top: 1px dashed var(--c-ink-700);
}

/* ----- LANE PREVIEW CARDS ----- */
.lane-preview-card {
  position: relative;
  padding: 1.25rem;
  background: var(--c-ink-900);
  border: 1px solid var(--c-ink-700);
  transition: all 0.2s ease;
}
.lane-preview-card:hover {
  border-color: var(--c-amber);
  background: var(--c-ink-850);
}
.lane-preview-card__tag {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  color: var(--c-amber);
}
.lane-preview-card__title {
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--c-ink-100);
  margin-top: 0.25rem;
}
.lane-preview-card__meta {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--c-ink-300);
  margin-top: 0.25rem;
}
.lane-preview-card__copy {
  font-size: 0.875rem;
  color: var(--c-ink-300);
  line-height: 1.5;
  margin-top: 0.75rem;
}
.lane-preview-card__bar {
  margin-top: 1rem;
  height: 4px;
  background: var(--c-ink-800);
  overflow: hidden;
}
.lane-preview-card__bar > div {
  height: 100%;
  background: linear-gradient(90deg, var(--c-amber), var(--c-amber-bright));
  box-shadow: 0 0 8px rgba(255, 176, 32, 0.5);
}
.lane-preview-card__bar-meta {
  display: flex;
  justify-content: space-between;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--c-ink-400);
  margin-top: 0.5rem;
}

/* ----- ANALYZER CARD ----- */
.analyzer-card {
  position: relative;
  background: linear-gradient(180deg, var(--c-ink-900), var(--c-ink-850));
  border: 1px solid var(--c-ink-700);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.analyzer-card:hover { border-color: var(--c-ink-500); }
.analyzer-card__head { padding: 1.25rem 1.25rem 1rem; border-bottom: 1px solid var(--c-ink-700); }
.analyzer-card__title {
  margin-top: 0.5rem;
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.125rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--c-ink-100);
}
.analyzer-card__sub {
  margin-top: 0.25rem;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--c-ink-300);
}
.analyzer-card__scan {
  position: relative;
  height: 3px;
  background: var(--c-ink-800);
  overflow: hidden;
}
.analyzer-card__scan::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 40%;
  background: linear-gradient(90deg, transparent, var(--c-cyan), transparent);
  transform: translateX(-120%);
}
.analyzer-card__scan--active::after { animation: scan-sweep 2.4s cubic-bezier(0.4, 0, 0.2, 1) infinite; }

.analyzer-card__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--c-ink-700);
}
.analyzer-card__grid > div {
  background: var(--c-ink-900);
  padding: 0.875rem 1.25rem;
}
.analyzer-card__grid dt {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  color: var(--c-ink-400);
}
.analyzer-card__grid dd {
  margin-top: 0.25rem;
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--c-ink-100);
  letter-spacing: -0.01em;
}
.analyzer-card__grid dd .unit { font-size: 0.875rem; color: var(--c-ink-400); margin-left: 2px; }

.analyzer-card__signal { padding: 1rem 1.25rem; border-top: 1px solid var(--c-ink-700); }
.signal-bar {
  position: relative;
  height: 6px;
  background: var(--c-ink-800);
  overflow: hidden;
}
.signal-bar__fill {
  height: 100%;
  background: linear-gradient(90deg, var(--c-go), #34d399);
  box-shadow: 0 0 8px rgba(16, 185, 129, 0.5);
}
.signal-bar--scanning .signal-bar__fill {
  background: linear-gradient(90deg, var(--c-cyan), #67e8f9);
  box-shadow: 0 0 8px rgba(34, 211, 238, 0.5);
  animation: bar-pulse 1.2s ease-in-out infinite;
}
.signal-bar--danger .signal-bar__fill {
  background: linear-gradient(90deg, var(--c-crimson), #fca5a5);
  box-shadow: 0 0 8px rgba(239, 68, 68, 0.4);
}
@keyframes bar-pulse {
  0%, 100% { opacity: 0.7; }
  50% { opacity: 1; }
}
.analyzer-card__foot { padding: 1rem 1.25rem 1.25rem; }

/* ----- CODE BLOCKS ----- */
.code-block {
  border: 1px solid var(--c-ink-700);
  background: var(--c-ink-900);
}
.code-block > summary {
  list-style: none;
  cursor: pointer;
  padding: 0.875rem 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.875rem;
  border-bottom: 1px solid transparent;
  transition: background 0.15s ease;
}
.code-block[open] > summary { border-bottom-color: var(--c-ink-700); background: var(--c-ink-850); }
.code-block > summary::-webkit-details-marker { display: none; }
.code-block > summary::after {
  content: "▾";
  margin-left: auto;
  color: var(--c-amber);
  font-size: 0.75rem;
  transition: transform 0.2s ease;
}
.code-block[open] > summary::after { transform: rotate(180deg); }
.code-block > summary:hover { background: var(--c-ink-850); }
.code-block__tag {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  color: var(--c-amber);
  border: 1px solid rgba(255, 176, 32, 0.3);
  padding: 0.25rem 0.5rem;
}
.code-block__title {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.8125rem;
  color: var(--c-ink-200);
}
.code-block pre {
  margin: 0;
  padding: 1.25rem;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.75rem;
  line-height: 1.65;
  color: var(--c-ink-200);
  overflow-x: auto;
  background: var(--c-ink-950);
}
.code-block code { color: inherit; }

/* ----- DRAWER ----- */
.drawer {
  position: fixed;
  inset: 0;
  z-index: 200;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.drawer.is-open { pointer-events: auto; opacity: 1; }
.drawer__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(4px);
}
.drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  /* v36.2 — wider, responsive drawer so 12-col field rows have room to breathe */
  max-width: 720px;
  background: var(--c-ink-900);
  border-left: 1px solid var(--c-amber);
  box-shadow: -24px 0 60px rgba(0, 0, 0, 0.5), -1px 0 0 var(--c-amber);
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  /* v36.2 — lock layout: no sub-pixel shifting while typing */
  contain: layout style;
  will-change: transform;
}
@media (min-width: 900px) {
  .drawer__panel { max-width: 820px; }
}
@media (min-width: 1280px) {
  .drawer__panel { max-width: 900px; }
}
.drawer.is-open .drawer__panel { transform: translateX(0); }
.drawer__head {
  padding: 1.5rem;
  border-bottom: 1px solid var(--c-ink-700);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.drawer__close {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--c-ink-300);
  border: 1px solid var(--c-ink-700);
  background: transparent;
  cursor: pointer;
  transition: all 0.2s ease;
}
.drawer__close:hover {
  color: var(--c-amber);
  border-color: var(--c-amber);
}
.drawer__tabs {
  display: flex;
  border-bottom: 1px solid var(--c-ink-700);
  overflow-x: auto;
  scrollbar-width: none;
}
.drawer__tabs::-webkit-scrollbar { display: none; }
.drawer__tab {
  flex: 1;
  min-width: max-content;
  padding: 0.875rem 1rem;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-weight: 600;
  color: var(--c-ink-300);
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition: all 0.2s ease;
}
.drawer__tab:hover { color: var(--c-ink-100); }
.drawer__tab.is-active {
  color: var(--c-amber);
  border-bottom-color: var(--c-amber);
  background: rgba(255, 176, 32, 0.05);
}
.drawer__body {
  padding: 1.5rem 1.75rem;
  overflow-y: auto;
  overflow-x: hidden;
  flex: 1;
  /* v36.2 — prevent layout shifts inside drawer body while typing */
  overscroll-behavior: contain;
  scroll-behavior: auto;
  scrollbar-gutter: stable;
}
.drawer__foot {
  padding: 1rem 1.5rem;
  border-top: 1px solid var(--c-ink-700);
  background: var(--c-ink-950);
}

/* Fields */
.field-label {
  display: block;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  color: var(--c-ink-300);
  margin-bottom: 0.375rem;
}
.field {
  width: 100%;
  padding: 0.625rem 0.75rem;
  background: var(--c-ink-950);
  border: 1px solid var(--c-ink-700);
  color: var(--c-ink-100);
  font-family: "JetBrains Mono", monospace;
  font-size: 0.8125rem;
  outline: none;
  transition: all 0.2s ease;
}
.field:focus {
  border-color: var(--c-amber);
  box-shadow: 0 0 0 1px var(--c-amber), 0 0 16px rgba(255, 176, 32, 0.15);
}
.field::placeholder { color: var(--c-ink-500); }
.field--area { min-height: 96px; resize: vertical; font-family: "Inter", sans-serif; line-height: 1.5; }

/* ----- TICKER ----- */
.ticker { font-variant-numeric: tabular-nums; }

/* ----- REDUCED MOTION ----- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ----- MOBILE ----- */
@media (max-width: 640px) {
  .section-header__title { font-size: 2rem; }
  .swatch { padding: 0.625rem; }
  .trust-card__metric { font-size: 2rem; }
}

/* =========================================================
   v2 ADDITIONS — Lane cards, calculator, steps, quote grid
   ========================================================= */

/* ----- LANE CARDS (replaces .lane-preview-card) ----- */
.lane-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  background: linear-gradient(180deg, var(--c-ink-900), var(--c-ink-850));
  border: 1px solid var(--c-ink-700);
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
/* v36.7 — Unified amber hover across all lane cards (brightened from previous cyan/amber mix) */
.lane-card:hover {
  border-color: var(--c-amber);
  transform: translateY(-2px);
  box-shadow:
    0 14px 36px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(255, 176, 32, 0.28),
    0 0 28px rgba(255, 176, 32, 0.16);
}
.lane-card:hover .lane-card__tag {
  color: var(--c-amber);
  transition: color 0.2s ease;
}

/* ===== v36.21 — ROTATING LANE-CARD ACCENTS =====
   Three accents cycle across the 6 cards: amber → white → violet.
   Each accent re-tints the tag color, hover border, and hover glow
   so the lane row reads as a deliberate sequence rather than 6 amber duplicates. */
.lane-card--accent-amber .lane-card__tag { color: var(--c-amber); }
.lane-card--accent-amber:hover {
  border-color: var(--c-amber);
  box-shadow:
    0 14px 36px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(255, 176, 32, 0.30),
    0 0 28px rgba(255, 176, 32, 0.18);
}
.lane-card--accent-amber:hover .lane-card__tag { color: var(--c-amber); }

.lane-card--accent-white .lane-card__tag { color: var(--c-ink-100); }
.lane-card--accent-white:hover {
  border-color: rgba(245, 246, 248, 0.55);
  box-shadow:
    0 14px 36px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(245, 246, 248, 0.22),
    0 0 28px rgba(245, 246, 248, 0.12);
}
.lane-card--accent-white:hover .lane-card__tag { color: var(--c-ink-100); }

.lane-card--accent-violet .lane-card__tag { color: #b8a4ff; }
.lane-card--accent-violet:hover {
  border-color: #b8a4ff;
  box-shadow:
    0 14px 36px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(184, 164, 255, 0.28),
    0 0 28px rgba(184, 164, 255, 0.16);
}
.lane-card--accent-violet:hover .lane-card__tag { color: #b8a4ff; }

/* Featured Double Close already has amber treatment — accent classes nest cleanly. */
/* Featured Double Close keeps the same amber treatment — lifted slightly more */
.lane-card--feature:hover {
  border-color: var(--c-amber);
  box-shadow:
    0 16px 40px rgba(0, 0, 0, 0.5),
    0 0 0 1px rgba(255, 176, 32, 0.34),
    0 0 36px rgba(255, 176, 32, 0.20);
}
.lane-card--feature:hover .lane-card__tag {
  color: var(--c-amber);
}
.lane-card--feature {
  border-color: rgba(255, 176, 32, 0.4);
  background: linear-gradient(180deg, rgba(255, 176, 32, 0.04), var(--c-ink-850));
}
.lane-card--feature::before {
  content: "";
  position: absolute;
  top: -1px; left: -1px; right: -1px;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--c-amber), transparent);
}
.lane-card--pof {
  border-color: rgba(34, 211, 238, 0.3);
  background: linear-gradient(180deg, rgba(34, 211, 238, 0.04), var(--c-ink-850));
}
.lane-card__head { margin-bottom: 1rem; }
.lane-card__tag {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  color: var(--c-amber);
  margin-bottom: 0.5rem;
}
.lane-card__title {
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--c-ink-100);
  line-height: 1.05;
}
.lane-card__sub {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--c-ink-300);
  margin-top: 0.375rem;
}
.lane-card__copy {
  font-size: 0.9375rem;
  color: var(--c-ink-200);
  line-height: 1.55;
  margin-bottom: 1.25rem;
  flex: 1;
}
.lane-card__specs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--c-ink-700);
  margin-bottom: 1.25rem;
}
.lane-card__specs > div {
  background: var(--c-ink-900);
  padding: 0.625rem 0.75rem;
}
.lane-card__specs dt {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.5625rem;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  color: var(--c-ink-400);
  margin-bottom: 0.25rem;
}
.lane-card__specs dd {
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--c-ink-100);
  letter-spacing: -0.01em;
  line-height: 1.2;
}


/* ----- QUOTE GRID ----- */
.quote-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--c-ink-700);
}
.quote-grid > div {
  background: var(--c-ink-900);
  padding: 1rem 1.25rem;
}
.quote-grid dt {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  color: var(--c-ink-400);
}
.quote-grid dd {
  margin-top: 0.375rem;
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.375rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--c-ink-100);
  font-variant-numeric: tabular-nums;
}
.quote-grid__total {
  grid-column: span 2;
  background: linear-gradient(180deg, rgba(255, 176, 32, 0.08), var(--c-ink-900)) !important;
  border-top: 1px solid var(--c-amber);
}
.quote-grid__total dd { color: var(--c-amber); font-size: 1.75rem; }

/* ----- STEPS ----- */
.step {
  background: var(--c-ink-900);
  padding: 1.75rem;
}
.step__num {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.3em;
  color: var(--c-amber);
}
.step__title {
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--c-ink-100);
  margin-top: 0.5rem;
  letter-spacing: -0.015em;
}
.step__copy {
  font-size: 0.9375rem;
  color: var(--c-ink-300);
  line-height: 1.55;
  margin-top: 0.625rem;
}

/* ----- SELECT field ----- */
select.field {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffb020' stroke-width='2'><path d='M4 6l4 4 4-4'/></svg>");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 14px;
  padding-right: 2.25rem;
}

/* =========================================================
   UNDERWRITING TOOL · v2 — pro-grade analyzer card
   ========================================================= */
.field-hint {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-400);
  margin-top: 0.375rem;
  line-height: 1.4;
}

.uw-card {
  border: 1px solid var(--c-ink-700);
  background: linear-gradient(180deg, rgba(15, 18, 24, 0.7) 0%, rgba(8, 10, 14, 0.85) 100%);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.uw-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255, 176, 32, 0.025) 1px, transparent 1px) 0 0 / 100% 4px,
    radial-gradient(ellipse at top, rgba(255, 176, 32, 0.04), transparent 60%);
  pointer-events: none;
  z-index: 1;
}
.uw-card > * { position: relative; z-index: 2; }

.uw-card__head {
  padding: 1.25rem 1.5rem 1.1rem;
  border-bottom: 1px solid var(--c-ink-700);
}
.uw-card__title {
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--c-ink-100);
  letter-spacing: -0.015em;
  margin-top: 0.5rem;
  line-height: 1.2;
}
.uw-card__sub {
  font-size: 0.875rem;
  color: var(--c-ink-300);
  margin-top: 0.4rem;
  line-height: 1.5;
}

.uw-card__body {
  padding: 1.25rem 1.5rem;
  flex: 1;
}

/* KPI grid */
.uw-kpis {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}
@media (min-width: 640px) {
  .uw-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.uw-kpi {
  border: 1px solid var(--c-ink-700);
  background: rgba(8, 10, 14, 0.6);
  padding: 0.75rem 0.85rem;
  position: relative;
  transition: border-color 0.2s ease;
}
.uw-kpi__label {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--c-ink-400);
  line-height: 1.3;
  margin-bottom: 0.35rem;
  min-height: 1.6em;
}
.uw-kpi__value {
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--c-ink-100);
  letter-spacing: -0.01em;
  line-height: 1.15;
}
.uw-kpi--good { border-color: rgba(16, 185, 129, 0.45); background: rgba(16, 185, 129, 0.04); }
.uw-kpi--good .uw-kpi__value { color: var(--c-go); }
.uw-kpi--warn { border-color: rgba(255, 176, 32, 0.45); background: rgba(255, 176, 32, 0.05); }
.uw-kpi--warn .uw-kpi__value { color: var(--c-amber); }
.uw-kpi--bad { border-color: rgba(239, 68, 68, 0.45); background: rgba(239, 68, 68, 0.05); }
.uw-kpi--bad .uw-kpi__value { color: var(--c-crimson); }

/* Confidence bar */
.uw-conf {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px dashed var(--c-ink-700);
}

/* Risk flags */
.uw-flags {
  margin-top: 1.25rem;
  border-left: 2px solid var(--c-crimson);
  background: rgba(239, 68, 68, 0.04);
  padding: 0.85rem 1rem;
}
.uw-flags--clean {
  border-left-color: var(--c-go);
  background: rgba(16, 185, 129, 0.04);
}
.uw-flags__head {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--c-crimson);
  margin-bottom: 0.5rem;
  font-weight: 600;
}
.uw-flags--clean .uw-flags__head { color: var(--c-go); margin-bottom: 0; }
.uw-flags ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.uw-flags li {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.75rem;
  color: var(--c-ink-200);
  line-height: 1.45;
  padding-left: 0.85rem;
  position: relative;
}
.uw-flags li::before {
  content: "›";
  position: absolute;
  left: 0;
  color: var(--c-crimson);
  font-weight: 700;
}

/* Lane fit nudge (PASS only) */
.uw-lane {
  margin-top: 1.25rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(16, 185, 129, 0.4);
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.06), rgba(255, 176, 32, 0.04));
  position: relative;
}
.uw-lane::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, var(--c-go), var(--c-amber));
}
.uw-lane__tag {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: var(--c-amber);
  font-weight: 600;
}
.uw-lane__copy {
  margin-top: 0.4rem;
  font-size: 0.9rem;
  color: var(--c-ink-200);
  line-height: 1.5;
}
.uw-lane__copy strong {
  color: var(--c-ink-100);
  font-weight: 700;
}

/* Deal Notes textarea */
.uw-notes {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.8125rem;
  line-height: 1.55;
  resize: vertical;
  min-height: 5.5rem;
  width: 100%;
}

/* Deal Coach · actionable critique */
.uw-coach {
  margin-top: 1.25rem;
  padding: 0.95rem 1.1rem;
  border-left: 2px solid var(--c-amber);
  background: rgba(255, 176, 32, 0.04);
  position: relative;
}
.uw-coach__head {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--c-amber);
  font-weight: 600;
  margin-bottom: 0.55rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.uw-coach__head-count {
  color: var(--c-ink-400);
  font-weight: 500;
}
.uw-coach ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.uw-coach li {
  font-size: 0.825rem;
  color: var(--c-ink-200);
  line-height: 1.55;
  padding-left: 1.1rem;
  position: relative;
}
.uw-coach li::before {
  content: "›";
  position: absolute;
  left: 0;
  top: -0.05rem;
  color: var(--c-amber);
  font-weight: 700;
}
.uw-coach strong {
  color: var(--c-ink-100);
  font-weight: 600;
}
.uw-coach--clean {
  border-left-color: var(--c-go);
  background: rgba(16, 185, 129, 0.04);
}
.uw-coach--clean .uw-coach__head { color: var(--c-go); }
.uw-coach--clean li::before { color: var(--c-go); }

/* Card footer · email capture */
.uw-card__foot {
  padding: 1.1rem 1.5rem 1.25rem;
  border-top: 1px solid var(--c-ink-700);
  background: rgba(8, 10, 14, 0.6);
}
.uw-email__row {
  display: flex;
  gap: 0.5rem;
  align-items: stretch;
}
.uw-email__row .field { flex: 1; }
.uw-email__row .btn-zero { flex-shrink: 0; }

/* ============================================================
   UW TOOLBAR · save / vault / compare / pdf
   ============================================================ */
.uw-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  padding: 0.625rem 0.75rem;
  border: 1px solid var(--c-ink-700);
  background: rgba(8, 10, 14, 0.55);
  border-left: 2px solid var(--c-amber);
}
.uw-tool-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 0.75rem;
  background: rgba(20, 24, 32, 0.7);
  border: 1px solid var(--c-ink-700);
  color: var(--c-ink-200);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: all 0.15s ease;
  user-select: none;
}
.uw-tool-btn:hover {
  border-color: var(--c-amber);
  color: var(--c-ink-100);
  background: rgba(255, 176, 32, 0.06);
}
.uw-tool-btn:active { transform: translateY(1px); }
.uw-tool-btn__icon { color: var(--c-amber); font-weight: 700; }
.uw-tool-btn__count {
  display: inline-block;
  padding: 0.1rem 0.45rem;
  margin-left: 0.15rem;
  background: rgba(255, 176, 32, 0.15);
  color: var(--c-amber);
  font-size: 0.65rem;
  border-radius: 2px;
  min-width: 1.25rem;
  text-align: center;
}
.uw-tool-btn--accent {
  border-color: rgba(255, 176, 32, 0.5);
  color: var(--c-amber);
}
.uw-tool-btn--accent:hover {
  background: var(--c-amber);
  color: #0a0c10;
  border-color: var(--c-amber);
}
.uw-tool-btn--accent .uw-tool-btn__icon { color: inherit; }
.uw-tool-btn--apply {
  border-color: rgba(94, 234, 212, 0.55);
  color: #5eead4;
  background: rgba(94, 234, 212, 0.06);
  font-weight: 700;
}
.uw-tool-btn--apply:hover {
  background: #5eead4;
  color: #0a0c10;
  border-color: #5eead4;
  box-shadow: 0 0 22px rgba(94, 234, 212, 0.3);
}
.uw-tool-btn--apply .uw-tool-btn__icon { color: inherit; }
.uw-tool-btn--sm { padding: 0.35rem 0.6rem; font-size: 0.65rem; }
.uw-tool-btn--danger:hover { border-color: var(--c-crimson, #ef4444); color: var(--c-crimson, #ef4444); background: rgba(239, 68, 68, 0.06); }
.uw-tool-btn--saved {
  border-color: var(--c-go);
  color: var(--c-go);
  background: rgba(16, 185, 129, 0.08);
}
.uw-tool-btn--saved .uw-tool-btn__icon { color: var(--c-go); }

/* Saved confirmation flash */
.uw-save-flash {
  position: fixed;
  top: 1.5rem; left: 50%;
  transform: translateX(-50%) translateY(-150%);
  padding: 0.75rem 1.25rem;
  background: rgba(16, 185, 129, 0.95);
  color: #0a0c10;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 600;
  z-index: 1000;
  transition: transform 0.35s cubic-bezier(0.2, 0.9, 0.3, 1.2);
  box-shadow: 0 8px 24px rgba(0,0,0,0.4);
}
.uw-save-flash--show { transform: translateX(-50%) translateY(0); }

/* ============================================================
   UW DRAWER · saved deals list (slides from right)
   ============================================================ */
.uw-drawer {
  position: fixed; inset: 0;
  z-index: 900;
  display: flex; justify-content: flex-end;
}
.uw-drawer__backdrop {
  position: absolute; inset: 0;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(4px);
  animation: uwFadeIn 0.2s ease;
}
.uw-drawer__panel {
  position: relative;
  width: 100%;
  max-width: 480px;
  height: 100vh;
  background: #0a0c10;
  border-left: 1px solid var(--c-ink-700);
  display: flex;
  flex-direction: column;
  animation: uwSlideRight 0.25s cubic-bezier(0.2, 0.9, 0.3, 1);
  overflow: hidden;
}
@keyframes uwFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes uwSlideRight { from { transform: translateX(100%); } to { transform: translateX(0); } }
.uw-drawer__head {
  display: flex; justify-content: space-between; align-items: flex-start;
  padding: 1.25rem 1.5rem 0.75rem;
  border-bottom: 1px solid var(--c-ink-700);
}
.uw-drawer__title {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0.25rem 0 0;
  color: var(--c-ink-100);
}
.uw-drawer__sub {
  padding: 0.5rem 1.5rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.7rem;
  color: var(--c-ink-400);
  border-bottom: 1px solid var(--c-ink-700);
}
.uw-drawer__close {
  background: none;
  border: 1px solid var(--c-ink-700);
  color: var(--c-ink-300);
  width: 2rem; height: 2rem;
  cursor: pointer;
  font-size: 0.875rem;
  transition: all 0.15s;
}
.uw-drawer__close:hover { border-color: var(--c-amber); color: var(--c-amber); }
.uw-drawer__body {
  flex: 1;
  overflow-y: auto;
  padding: 1rem 1.5rem;
}
.uw-drawer__foot {
  padding: 0.75rem 1.5rem;
  border-top: 1px solid var(--c-ink-700);
  display: flex; gap: 0.5rem; justify-content: space-between;
  background: rgba(20, 24, 32, 0.4);
}

/* Saved-deal card row */
.uw-deal-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.5rem 0.75rem;
  padding: 0.85rem;
  border: 1px solid var(--c-ink-700);
  background: rgba(20, 24, 32, 0.4);
  margin-bottom: 0.6rem;
  transition: border-color 0.15s;
}
.uw-deal-row:hover { border-color: rgba(255, 176, 32, 0.4); }
.uw-deal-row__title {
  font-size: 0.95rem;
  color: var(--c-ink-100);
  font-weight: 600;
  line-height: 1.25;
  word-break: break-word;
}
.uw-deal-row__meta {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-400);
  display: flex; gap: 0.5rem; flex-wrap: wrap;
}
.uw-deal-row__verdict {
  font-size: 0.7rem;
  font-weight: 600;
  padding: 0.15rem 0.45rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  border: 1px solid currentColor;
  align-self: start;
}
.uw-deal-row__verdict--pass { color: var(--c-go); }
.uw-deal-row__verdict--caution { color: var(--c-amber); }
.uw-deal-row__verdict--fail { color: var(--c-crimson, #ef4444); }
.uw-deal-row__summary {
  grid-column: 1 / -1;
  font-size: 0.75rem;
  color: var(--c-ink-300);
  line-height: 1.5;
}
.uw-deal-row__actions {
  grid-column: 1 / -1;
  display: flex; gap: 0.4rem;
  padding-top: 0.5rem;
  border-top: 1px dashed var(--c-ink-700);
  margin-top: 0.25rem;
}
.uw-deal-row__check {
  display: inline-flex; align-items: center; gap: 0.4rem;
  margin-left: auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-300);
  cursor: pointer;
  user-select: none;
}
.uw-deal-row__check input { accent-color: var(--c-amber); width: 1rem; height: 1rem; cursor: pointer; }

.uw-deals-empty {
  text-align: center;
  padding: 3rem 1rem;
  color: var(--c-ink-400);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.75rem;
}
.uw-deals-empty__icon { font-size: 2rem; color: var(--c-ink-700); display: block; margin-bottom: 0.75rem; }

/* ============================================================
   UW MODAL · compare deals
   ============================================================ */
.uw-modal {
  position: fixed; inset: 0;
  z-index: 950;
  display: flex; align-items: center; justify-content: center;
  padding: 1rem;
}
.uw-modal__backdrop {
  position: absolute; inset: 0;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(6px);
  animation: uwFadeIn 0.2s ease;
}
.uw-modal__panel {
  position: relative;
  width: 100%;
  max-width: 1280px;
  max-height: 90vh;
  background: #0a0c10;
  border: 1px solid var(--c-ink-700);
  display: flex; flex-direction: column;
  overflow: hidden;
  animation: uwSlideUp 0.25s cubic-bezier(0.2, 0.9, 0.3, 1);
}
@keyframes uwSlideUp { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.uw-modal__head {
  display: flex; justify-content: space-between; align-items: flex-start;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--c-ink-700);
}
.uw-modal__title {
  font-size: 1.5rem; font-weight: 600;
  margin: 0.25rem 0 0;
  color: var(--c-ink-100);
}
.uw-modal__body {
  flex: 1;
  overflow: auto;
  padding: 1.25rem 1.5rem;
}

/* Compare grid */
.uw-compare {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.uw-compare-card {
  border: 1px solid var(--c-ink-700);
  background: rgba(20, 24, 32, 0.5);
  padding: 1rem;
  display: flex; flex-direction: column; gap: 0.75rem;
}
.uw-compare-card__head {
  display: flex; justify-content: space-between; align-items: flex-start;
  gap: 0.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--c-ink-700);
}
.uw-compare-card__name {
  font-size: 0.95rem;
  color: var(--c-ink-100);
  font-weight: 600;
  line-height: 1.3;
}
.uw-compare-card__type {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-400);
  margin-top: 0.2rem;
}
.uw-compare-card__score {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
}
.uw-compare-card__score--pass { color: var(--c-go); }
.uw-compare-card__score--caution { color: var(--c-amber); }
.uw-compare-card__score--fail { color: var(--c-crimson, #ef4444); }
.uw-compare-card__score-sub {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6rem; color: var(--c-ink-400);
  text-transform: uppercase; letter-spacing: 0.12em;
  text-align: right;
}
.uw-compare-card__kpis {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
}
.uw-compare-card__kpi {
  padding: 0.5rem;
  background: rgba(8, 10, 14, 0.5);
  border: 1px solid var(--c-ink-700);
}
.uw-compare-card__kpi-label {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-400);
}
.uw-compare-card__kpi-value {
  font-size: 0.875rem;
  color: var(--c-ink-100);
  font-weight: 600;
  margin-top: 0.15rem;
  font-variant-numeric: tabular-nums;
}
.uw-compare-empty {
  text-align: center;
  padding: 2rem 1rem;
  color: var(--c-ink-400);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.75rem;
}

/* Mobile compare: single column */
@media (max-width: 640px) {
  .uw-compare { grid-template-columns: 1fr; }
}

/* ============================================================
   UW SENSITIVITY · stress-test sliders
   ============================================================ */
.uw-sens {
  margin-top: 1rem;
  background: linear-gradient(180deg, var(--c-ink-850), var(--c-ink-900));
  border: 1px solid var(--c-ink-700);
  border-radius: 14px;
  padding: 1rem 1.1rem 1.1rem;
  animation: uwFadeIn 0.3s ease;
}
.uw-sens__head {
  /* v36.14z — mirrors .uw-stage__head with big leading number */
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.85rem;
  margin-bottom: 0.55rem;
}
.uw-sens__headtext {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.uw-sens__num {
  /* uses .uw-stage__num size; just makes sure flex shrink behaves */
  flex-shrink: 0;
}
.uw-sens__title {
  /* v36.14z — align with stage title size */
  font-size: 1.18rem;
  font-weight: 600;
  color: var(--c-ink-100);
  margin-top: 0;
  letter-spacing: -0.01em;
}
@media (max-width: 640px){
  .uw-sens__head { gap: 0.7rem; flex-wrap: wrap; }
  .uw-sens__title { font-size: 1.02rem; }
}
.uw-sens__sub {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.7rem;
  color: var(--c-ink-400);
  margin-bottom: 0.85rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px dashed var(--c-ink-700);
}
.uw-sens__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
.uw-sens__row { padding-bottom: 0.25rem; }
.uw-sens__rowhead {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.4rem;
}
.uw-sens__label {
  font-size: 0.78rem;
  color: var(--c-ink-200);
  font-weight: 500;
}
.uw-sens__val {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.78rem;
  color: var(--c-amber);
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  min-width: 4rem;
  text-align: right;
}
.uw-sens__scale {
  display: flex;
  justify-content: space-between;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6rem;
  color: var(--c-ink-400);
  margin-top: 0.3rem;
  letter-spacing: 0.05em;
}

/* Slider track + thumb (cross-browser) */
.uw-sens__slider {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 6px;
  background: var(--c-ink-700);
  border-radius: 999px;
  outline: none;
  cursor: pointer;
  transition: background 0.2s ease;
}
.uw-sens__slider:hover { background: var(--c-ink-600); }
.uw-sens__slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--c-amber);
  border: 2px solid var(--c-ink-900);
  box-shadow: 0 2px 8px rgba(255, 176, 32, 0.4);
  cursor: grab;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.uw-sens__slider::-webkit-slider-thumb:hover { transform: scale(1.15); box-shadow: 0 2px 12px rgba(255, 176, 32, 0.6); }
.uw-sens__slider::-webkit-slider-thumb:active { cursor: grabbing; }
.uw-sens__slider::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--c-amber);
  border: 2px solid var(--c-ink-900);
  box-shadow: 0 2px 8px rgba(255, 176, 32, 0.4);
  cursor: grab;
}
.uw-sens__slider:focus-visible {
  outline: 2px solid var(--c-amber);
  outline-offset: 4px;
}

/* Warn variant of the saved-flash toast */
.uw-save-flash--warn {
  background: rgba(255, 176, 32, 0.95);
  color: #1a1306;
}

@media (min-width: 640px) {
  .uw-sens__grid { grid-template-columns: 1fr; }
}


/* =========================================================
   DRAWER FEE CALCULATOR (v2.4)
   ========================================================= */
.drawer-calc {
  margin-bottom: 1.5rem;
  background: rgba(217, 156, 36, 0.03);
  border: 1px solid rgba(217, 156, 36, 0.18);
  border-radius: 2px;
  overflow: hidden;
}
.drawer-calc__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 0.875rem 1.125rem;
  background: rgba(217, 156, 36, 0.05);
  border-bottom: 1px solid rgba(217, 156, 36, 0.15);
}
.drawer-calc__title {
  font-family: "Space Grotesk", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: var(--c-ink-100);
  letter-spacing: -0.01em;
  margin-top: 0.125rem;
}
.drawer-calc__toggle {
  background: transparent;
  border: 1px solid var(--c-ink-700);
  color: var(--c-ink-200);
  font-family: "JetBrains Mono", monospace;
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-weight: 600;
  padding: 0.375rem 0.75rem;
  border-radius: 2px;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.drawer-calc__toggle:hover {
  border-color: var(--c-amber);
  color: var(--c-amber);
}
.drawer-calc__body {
  padding: 1rem 1.125rem 1.125rem;
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}
.drawer-calc.is-collapsed .drawer-calc__body {
  display: none;
}
.drawer-calc__quote {
  margin-top: 0.25rem;
}
.drawer-calc__quote > div {
  padding: 0.625rem 0.75rem;
}
.drawer-calc__quote dt {
  font-size: 0.5625rem;
}
.drawer-calc__quote dd {
  font-size: 1.05rem;
  margin-top: 0.25rem;
}
.drawer-calc__quote .quote-grid__total dd {
  font-size: 1.25rem;
}


/* =========================================================
   UNDERWRITING · DEAL TYPE PICKER (v2.5)
   Step 1 state — chips first, form expands after selection
   ========================================================= */
.uw-picker {
  border: 1px solid var(--c-ink-700);
  background: var(--c-ink-900);
  padding: 1.75rem 1.5rem 2rem;
}
.uw-picker__head {
  margin-bottom: 1.5rem;
  text-align: center;
}
.uw-picker__sub {
  margin-top: 0.5rem;
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.9375rem;
  color: var(--c-ink-300);
  line-height: 1.5;
}
.uw-type-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.625rem;
  max-width: 1000px;
  margin: 0 auto;
}
@media (min-width: 640px) {
  .uw-type-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .uw-type-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem; }
}

.uw-chip {
  position: relative;
  padding: 1rem 0.875rem;
  background: var(--c-ink-950);
  border: 1px solid var(--c-ink-700);
  color: var(--c-ink-200);
  text-align: left;
  cursor: pointer;
  transition: all 0.15s ease;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  border-radius: 2px;
}
.uw-chip:hover {
  border-color: var(--c-amber);
  background: rgba(217, 156, 36, 0.04);
  transform: translateY(-1px);
}
.uw-chip:focus-visible {
  outline: 2px solid var(--c-amber);
  outline-offset: 2px;
}
.uw-chip__num {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.5625rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--c-amber);
  font-weight: 600;
}
.uw-chip__name {
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--c-ink-100);
  letter-spacing: -0.01em;
  line-height: 1.2;
}
.uw-chip__hint {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.5625rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--c-ink-400);
  margin-top: 0.125rem;
}

/* =========================================================
   v27 — VERDICT STRIP (Variant C: minimal vertical slot, 3 rows)
   228px frame, subtle center band, modest fades. Compact footprint.
   ========================================================= */
.uw-strip{
  max-width: 560px;
  margin: 0 auto;
  outline: none;
}
.uw-strip__row{
  display: flex; align-items: stretch; gap: 8px;
}
.uw-strip__chev{
  flex: 0 0 36px;
  background: var(--c-ink-950);
  border: 1px solid var(--c-ink-700);
  border-radius: 3px;
  color: var(--c-ink-400);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}
.uw-strip__chev:hover{
  color: var(--c-amber);
  border-color: color-mix(in srgb, var(--c-amber) 45%, var(--c-ink-700));
  background: color-mix(in srgb, var(--c-amber) 6%, var(--c-ink-950));
}
.uw-strip__chev:active{ transform: scale(0.97); }
.uw-strip__chev:focus-visible{
  outline: none;
  border-color: var(--c-amber);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--c-amber) 22%, transparent);
}
.uw-strip__frame{
  flex: 1 1 auto;
  position: relative;
  border: 1px solid var(--c-ink-700);
  background: var(--c-ink-950);
  border-radius: 3px;
  overflow: hidden;
  height: 228px;
  user-select: none;
  -webkit-user-select: none;
  /* touch-action: none — claim the vertical gesture for the dial so the page
     doesn't pan out from under the swipe. Page scroll is unaffected anywhere
     else on the screen. */
  touch-action: none;
  overscroll-behavior: contain;
  cursor: ns-resize;
}
.uw-strip:focus-visible .uw-strip__frame{
  border-color: var(--c-amber);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--c-amber) 18%, transparent);
}
.uw-strip__frame:active{ cursor: grabbing; }
.uw-strip__frame::before,
.uw-strip__frame::after{
  content: "";
  position: absolute; left: 0; right: 0; height: 60px; z-index: 3;
  pointer-events: none;
}
.uw-strip__frame::before{
  top: 0;
  background: linear-gradient(180deg, rgba(5,6,8,0.96) 0%, rgba(5,6,8,0) 100%);
}
.uw-strip__frame::after{
  bottom: 0;
  background: linear-gradient(0deg, rgba(5,6,8,0.96) 0%, rgba(5,6,8,0) 100%);
}
.uw-strip__band{
  position: absolute; left: 0; right: 0; top: 50%;
  transform: translateY(-50%);
  height: 76px;
  border-top: 1px solid color-mix(in srgb, var(--c-amber) 32%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--c-amber) 32%, transparent);
  background: color-mix(in srgb, var(--c-amber) 5%, transparent);
  pointer-events: none;
  z-index: 2;
}
.uw-strip__dots{
  position: absolute; right: 12px; top: 50%;
  transform: translateY(-50%);
  display: flex; flex-direction: column; gap: 5px;
  z-index: 4; pointer-events: auto;
}
.uw-strip__dot{
  display: block;
  width: 4px; height: 4px;
  border-radius: 50%;
  background: var(--c-ink-600);
  border: 0; padding: 0; cursor: pointer;
  transition: all 0.18s ease;
}
.uw-strip__dot:hover{ background: var(--c-ink-400); }
.uw-strip__dot.is-on{
  background: var(--c-amber);
  height: 14px;
  border-radius: 2px;
}
.uw-strip__track{
  position: absolute; left: 0; right: 0; top: 50%;
  /* transform is set inline by JS: translateY(-(index * 76) - 38) */
  transition: transform 0.32s cubic-bezier(0.22, 0.61, 0.36, 1);
  will-change: transform;
}
.uw-strip__item{
  display: flex; align-items: center; gap: 18px;
  height: 76px; padding: 0 28px;
  cursor: pointer;
  border: 0; background: transparent;
  width: 100%; text-align: left;
  font: inherit; color: inherit;
  transition: opacity 0.2s ease;
}
.uw-strip__item__num{
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  letter-spacing: 0.25em;
  color: var(--c-ink-500);
  min-width: 34px;
  transition: color 0.2s ease;
}
.uw-strip__item__name{
  font-family: "Space Grotesk", sans-serif;
  font-weight: 600;
  font-size: 17px;
  color: var(--c-ink-300);
  letter-spacing: -0.01em;
  flex: 1;
  transition: color 0.22s ease, font-size 0.22s ease;
}
.uw-strip__item__hint{
  font-family: "JetBrains Mono", monospace;
  font-size: 9.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--c-ink-500);
  transition: color 0.2s ease;
  padding-right: 18px;
}
.uw-strip__item.is-center .uw-strip__item__num{ color: var(--c-amber); }
.uw-strip__item.is-center .uw-strip__item__name{
  color: var(--c-ink-100);
  font-size: 22px;
}
.uw-strip__item.is-center .uw-strip__item__hint{ color: var(--c-amber); }

.uw-strip__controls{
  margin-top: 14px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px;
}
.uw-strip__pager{
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--c-ink-300);
}
.uw-strip__pager b{ color: var(--c-amber); font-weight: 600; }
.uw-strip__confirm{
  background: var(--c-amber);
  color: #000;
  border: 0;
  padding: 10px 22px;
  font-family: "JetBrains Mono", monospace;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  cursor: pointer;
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%);
  transition: background 0.15s ease, transform 0.12s ease;
}
.uw-strip__confirm:hover{ background: var(--c-amber-bright, #ffc44d); transform: translateX(2px); }
.uw-strip__confirm:active{ transform: translateX(0); }
.uw-strip__hint{
  margin-top: 10px;
  text-align: center;
  font-family: "JetBrains Mono", monospace;
  font-size: 9.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--c-ink-400);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .uw-strip__track{ transition: none; }
  .uw-strip__item__name,
  .uw-strip__item__num,
  .uw-strip__item__hint{ transition: none; }
}

/* Mobile — slightly tighter slot to keep proportions */
@media (max-width: 640px){
  .uw-strip__row{ gap: 6px; }
  .uw-strip__chev{ flex: 0 0 32px; }
  .uw-strip__frame{ height: 204px; }
  .uw-strip__band{ height: 68px; }
  .uw-strip__item{ height: 68px; padding: 0 18px; gap: 12px; }
  .uw-strip__item__num{ font-size: 9px; min-width: 28px; }
  .uw-strip__item__name{ font-size: 15px; }
  .uw-strip__item.is-center .uw-strip__item__name{ font-size: 19px; }
  .uw-strip__item__hint{ display: none; }
  .uw-strip__dots{ right: 8px; }
  .uw-strip__controls{ flex-direction: column; align-items: stretch; gap: 10px; }
  .uw-strip__pager{ text-align: center; }
  .uw-strip__confirm{ align-self: center; }
}

/* =========================================================
   UNDERWRITING · WORKSPACE (Step 2)
   ========================================================= */
.uw-workspace {
  animation: uwFadeIn 0.3s ease-out;
}
@keyframes uwFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.uw-selected {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
  margin-bottom: 1.5rem;
  background: rgba(217, 156, 36, 0.05);
  border: 1px solid rgba(217, 156, 36, 0.25);
  border-left: 3px solid var(--c-amber);
  border-radius: 2px;
  flex-wrap: wrap;
}
.uw-selected__left {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.uw-selected__type {
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--c-ink-100);
  letter-spacing: -0.01em;
}
.uw-selected__change {
  background: transparent;
  border: 1px solid var(--c-ink-700);
  color: var(--c-ink-200);
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-weight: 600;
  padding: 0.5rem 0.875rem;
  border-radius: 2px;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.uw-selected__change:hover {
  border-color: var(--c-amber);
  color: var(--c-amber);
}

/* =========================================================
   v2.6 — LANE SUBMISSION FORMS (dealcapusa.com parity)
   ========================================================= */
.lf-mount { margin-top: 1.5rem; }

.lf-formhead {
  border: 1px solid rgba(217,156,36,0.35);
  border-left: 3px solid var(--c-amber, #d99c24);
  background: rgba(217,156,36,0.04);
  padding: 14px 16px;
  margin-bottom: 1.25rem;
}
.lf-formhead__code {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--c-amber, #d99c24);
  font-weight: 600;
}
.lf-formhead__title {
  font-family: 'Bebas Neue', 'Oswald', system-ui, sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  line-height: 1.05;
  margin-top: 4px;
  color: #f5f5f1;
}
.lf-formhead__sub {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #a0a0a0;
  margin-top: 2px;
}

.lf-form { display: block; }
.lf-section {
  border-top: 1px solid rgba(255,255,255,0.06);
  padding: 1.4rem 0 0.4rem;
  margin-top: 0.4rem;
}
.lf-section:first-of-type { border-top: none; padding-top: 0.2rem; }
.lf-section__head {
  display: flex;
  align-items: baseline;
  gap: 0.8rem;
  margin-bottom: 1rem;
}
.lf-section__num {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.28em;
  color: var(--c-amber, #d99c24);
  text-transform: uppercase;
  font-weight: 600;
}
.lf-section__title {
  font-family: 'Bebas Neue', 'Oswald', system-ui, sans-serif;
  font-size: 1.05rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #f5f5f1;
  margin: 0;
}
.lf-section__intro {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  line-height: 1.55;
  color: #9a9a93;
  margin: -0.4rem 0 1rem;
}

.lf-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 0.9rem 1rem;
  /* v36.2 — container queries so columns split based on the drawer width, not viewport */
  container-type: inline-size;
}
.lf-col-3  { grid-column: span 12; }
.lf-col-4  { grid-column: span 12; }
.lf-col-5  { grid-column: span 12; }
.lf-col-6  { grid-column: span 12; }
.lf-col-12 { grid-column: span 12; }
/* Split columns when the form has at least ~560px of horizontal room — prevents overlap on iPad-portrait drawer */
@container (min-width: 560px) {
  .lf-col-3  { grid-column: span 3; }
  .lf-col-4  { grid-column: span 4; }
  .lf-col-5  { grid-column: span 5; }
  .lf-col-6  { grid-column: span 6; }
}
/* Fallback for browsers without container query support */
@supports not (container-type: inline-size) {
  @media (min-width: 760px) {
    .lf-col-3  { grid-column: span 3; }
    .lf-col-4  { grid-column: span 4; }
    .lf-col-5  { grid-column: span 5; }
    .lf-col-6  { grid-column: span 6; }
  }
}

.lf-field { display: flex; flex-direction: column; gap: 0.35rem; min-width: 0; }
.lf-label {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #c0c0b8;
  font-weight: 600;
}
.lf-req { color: var(--c-amber, #d99c24); margin-left: 2px; }
.lf-help {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px;
  line-height: 1.55;
  color: #8a8a82;
}
.lf-help a { color: var(--c-amber, #d99c24); text-decoration: underline; text-decoration-color: rgba(217,156,36,0.4); }

.lf-input {
  width: 100%;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.10);
  color: #f5f5f1;
  padding: 0.7rem 0.85rem;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 14px;
  line-height: 1.3;
  border-radius: 0;
  outline: none;
  transition: border-color 120ms ease, background 120ms ease;
  min-width: 0;
}
.lf-input:focus {
  border-color: var(--c-amber, #d99c24);
  background: rgba(217,156,36,0.05);
}
.lf-input::placeholder { color: #5a5a52; }
.lf-textarea { resize: vertical; min-height: 88px; font-family: inherit; }
.lf-select {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, #c0c0b8 50%), linear-gradient(135deg, #c0c0b8 50%, transparent 50%);
  background-position: calc(100% - 14px) center, calc(100% - 9px) center;
  background-size: 5px 5px;
  background-repeat: no-repeat;
  padding-right: 28px;
}
.lf-select option { background: #14171f; color: #f5f5f1; }

.lf-money { position: relative; display: flex; align-items: center; }
.lf-money__pre {
  position: absolute;
  left: 0.85rem;
  color: var(--c-amber, #d99c24);
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 13px;
  pointer-events: none;
  z-index: 1;
}
.lf-input--money { padding-left: 1.7rem; }

.lf-invalid {
  border-color: rgba(192,60,60,0.7) !important;
  background: rgba(192,60,60,0.06) !important;
}

/* File upload */
.lf-file {
  display: block;
  position: relative;
  border: 1px dashed rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.02);
  padding: 1rem 0.85rem;
  text-align: center;
  cursor: pointer;
  transition: border-color 120ms ease, background 120ms ease;
}
.lf-file:hover { border-color: var(--c-amber, #d99c24); background: rgba(217,156,36,0.04); }
.lf-file__input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.lf-file__cta {
  display: inline-flex; flex-direction: column; align-items: center; gap: 4px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  color: #9a9a93;
}
.lf-file__icon {
  display: inline-block;
  width: 22px; height: 22px; line-height: 22px;
  border: 1px solid rgba(217,156,36,0.5);
  color: var(--c-amber, #d99c24);
  border-radius: 50%;
  font-weight: 700;
}
.lf-file__text strong { color: #f5f5f1; font-weight: 600; }
.lf-file__name { color: var(--c-amber, #d99c24); font-size: 10px; letter-spacing: 0.05em; }

/* Checkbox */
.lf-field--check { padding-top: 0.4rem; }
.lf-check {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  cursor: pointer;
  position: relative;
  /* Larger tap target on mobile — add room around the checkbox row */
  padding: 10px 4px;
  margin: -10px -4px;
  -webkit-tap-highlight-color: rgba(217,156,36,0.18);
}
/* v34.1 — Mobile fix: the hidden real input sits inside the visual box,
   not floating absolutely somewhere in the document flow. This ensures
   native <label> → <input> tap propagation works reliably on iOS Safari. */
.lf-check__input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  margin: 0;
  padding: 0;
  cursor: pointer;
  /* Re-enable pointer events so a direct tap on the visual box hits this input */
  pointer-events: auto;
  z-index: 2;
}
.lf-check__box {
  flex: 0 0 18px;
  width: 18px; height: 18px;
  border: 1px solid rgba(255,255,255,0.25);
  background: rgba(255,255,255,0.02);
  margin-top: 1px;
  position: relative;
  transition: all 120ms ease;
  pointer-events: none; /* let the input above receive the tap */
}
.lf-check__input:checked + .lf-check__box {
  background: var(--c-amber, #d99c24);
  border-color: var(--c-amber, #d99c24);
}
.lf-check__input:checked + .lf-check__box::after {
  content: '';
  position: absolute;
  left: 5px; top: 1px;
  width: 6px; height: 11px;
  border: solid #0c1118;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.lf-check__input.lf-invalid + .lf-check__box {
  border-color: rgba(192,60,60,0.7);
  background: rgba(192,60,60,0.08);
}
.lf-check__label {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  line-height: 1.5;
  color: #c0c0b8;
  pointer-events: none; /* taps go through to the input behind */
}

/* Submit + footer */
.lf-submit {
  display: block;
  width: 100%;
  margin-top: 1.5rem;
  background: var(--c-amber, #d99c24);
  color: #0c1118;
  border: none;
  padding: 0.95rem 1rem;
  font-family: 'Bebas Neue', 'Oswald', system-ui, sans-serif;
  font-size: 1rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 600;
  cursor: pointer;
  transition: filter 120ms ease, transform 120ms ease;
}
.lf-submit:hover { filter: brightness(1.08); }
.lf-submit:active { transform: translateY(1px); }
.lf-footnote {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #6a6a62;
  text-align: center;
  margin-top: 0.7rem;
}

.lf-success {
  margin-top: 1rem;
  border: 1px solid rgba(38,130,78,0.6);
  background: rgba(38,130,78,0.08);
  padding: 0.85rem 1rem;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
}
.lf-success__title {
  font-size: 11px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #26824e;
  font-weight: 700;
}
.lf-success__sub {
  font-size: 11px;
  color: #c0c0b8;
  margin-top: 4px;
  line-height: 1.5;
}

/* =========================================================
   v3 — Refinements: gift framing, trust band, calc→submit
   ========================================================= */

/* Trust band — subtle horizontal strip above the underwriting tool */
.trust-band {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.7rem 1.4rem;
  align-items: center;
}
@media (min-width: 800px) {
  .trust-band { grid-template-columns: repeat(4, 1fr); }
}
.trust-band__item {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #b8b8b0;
  line-height: 1.3;
}
.trust-band__dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--c-amber, #d99c24);
  box-shadow: 0 0 8px rgba(217,156,36,0.6);
  flex: 0 0 6px;
}
.trust-band__label { white-space: normal; }

/* "Gift" tag above the Free Underwriting Tool header */
.gift-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 6px 12px;
  border: 1px solid rgba(217,156,36,0.4);
  background: rgba(217,156,36,0.08);
  margin-bottom: 1rem;
  border-radius: 999px;
}
.gift-tag__dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--c-amber, #d99c24);
  box-shadow: 0 0 6px rgba(217,156,36,0.7);
}
.gift-tag__text {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.22em;
  color: var(--c-amber, #d99c24);
  font-weight: 600;
}
.section-header__note {
  margin-top: 1.25rem;
  padding: 0.85rem 1rem;
  border-left: 2px solid rgba(217,156,36,0.5);
  background: rgba(217,156,36,0.04);
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  line-height: 1.65;
  color: #c0c0b8;
  max-width: 64rem;
}

/* Verdict CTA — PASS + lane match (green-ish action) */
.uw-lane--match {
  border: 1px solid rgba(38,130,78,0.55);
  background: linear-gradient(135deg, rgba(38,130,78,0.10), rgba(217,156,36,0.06));
  padding: 1rem 1.1rem;
  margin-top: 1rem;
}
.uw-lane--match .uw-lane__tag {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.25em;
  color: #26824e;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 0.4rem;
}
.uw-lane--match .uw-lane__copy {
  font-size: 13px; line-height: 1.6; color: #d8d8d2;
}

/* Verdict CTA — PASS + gift (no lane), softer */
.uw-lane--gift {
  border: 1px dashed rgba(217,156,36,0.45);
  background: rgba(217,156,36,0.04);
  padding: 1rem 1.1rem;
  margin-top: 1rem;
}
.uw-lane--gift .uw-lane__tag {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.25em;
  color: var(--c-amber, #d99c24);
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 0.4rem;
}
.uw-lane--gift .uw-lane__copy {
  font-size: 13px; line-height: 1.65; color: #c8c8c2;
}
.uw-lane__mail { color: var(--c-amber, #d99c24); text-decoration: underline; text-decoration-color: rgba(217,156,36,0.5); }

/* Pre-fill note on the lane form header */
.lf-prefill-note {
  margin-top: 0.55rem;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #26824e;
  font-weight: 700;
}
.lf-prefilled {
  border-color: rgba(38,130,78,0.55) !important;
  background: rgba(38,130,78,0.05) !important;
}

/* Mobile drawer tabs — horizontal scroll instead of clipping */
@media (max-width: 600px) {
  .drawer__tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap !important;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .drawer__tabs::-webkit-scrollbar { display: none; }
  .drawer__tab {
    scroll-snap-align: start;
    flex: 0 0 auto;
    white-space: nowrap;
  }
}

/* =========================================================
   v4 · STRESS TEST CARD
   ========================================================= */
.uw-stress {
  margin-top: 14px;
  padding: 14px 16px;
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
}
.uw-stress[open] { padding-bottom: 16px; }
.uw-stress__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  list-style: none;
}
.uw-stress__head::-webkit-details-marker { display: none; }
.uw-stress__title {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  margin-top: 2px;
  letter-spacing: -0.01em;
}
.uw-stress__toggle {
  font-size: 14px;
  color: rgba(255,255,255,0.5);
  transition: transform 0.15s ease;
}
.uw-stress[open] .uw-stress__toggle { transform: rotate(180deg); }
.uw-stress__body { margin-top: 12px; }
.uw-stress__headline {
  font-size: 13px;
  line-height: 1.55;
  color: rgba(255,255,255,0.85);
  padding: 10px 12px;
  background: rgba(245,158,11,0.06);
  border-left: 2px solid #f59e0b;
  border-radius: 4px;
  margin-bottom: 12px;
}
.uw-stress__downgrade {
  padding: 10px 12px;
  background: rgba(245,158,11,0.10);
  border: 1px solid rgba(245,158,11,0.30);
  border-radius: 6px;
  margin-bottom: 12px;
  font-size: 12.5px;
  color: rgba(255,255,255,0.85);
  line-height: 1.5;
}
.uw-stress__downgrade-tag {
  display: inline-block;
  font-family: ui-monospace, monospace;
  font-size: 9.5px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #f59e0b;
  margin-bottom: 4px;
}
.uw-stress__rows {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.uw-stress__row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  background: rgba(255,255,255,0.025);
  border-radius: 6px;
  border-left: 2px solid transparent;
}
.uw-stress__row--wide { border-left-color: rgba(16,185,129,0.55); }
.uw-stress__row--okay { border-left-color: rgba(245,158,11,0.55); }
.uw-stress__row--thin { border-left-color: rgba(220,38,38,0.55); background: rgba(220,38,38,0.04); }
.uw-stress__dot {
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-top: 5px;
}
.uw-stress__dot--good { background: #10b981; box-shadow: 0 0 6px rgba(16,185,129,0.5); }
.uw-stress__dot--warn { background: #f59e0b; box-shadow: 0 0 6px rgba(245,158,11,0.5); }
.uw-stress__dot--bad  { background: #dc2626; box-shadow: 0 0 6px rgba(220,38,38,0.5); }
.uw-stress__rowbody { flex: 1; min-width: 0; }
.uw-stress__rowhead {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 3px;
}
.uw-stress__rowlabel {
  font-size: 12px;
  font-weight: 600;
  color: #fff;
}
.uw-stress__rowband {
  font-family: ui-monospace, monospace;
  font-size: 9.5px;
  letter-spacing: 0.15em;
  color: rgba(255,255,255,0.5);
}
.uw-stress__row--thin .uw-stress__rowband { color: #f87171; }
.uw-stress__rowtext {
  font-size: 12.5px;
  line-height: 1.5;
  color: rgba(255,255,255,0.78);
}
.uw-stress__compound {
  margin-top: 12px;
  padding: 10px 12px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 6px;
}
.uw-stress__compound--warn {
  background: rgba(245,158,11,0.08);
  border: 1px solid rgba(245,158,11,0.25);
  color: rgba(255,255,255,0.85);
}
.uw-stress__compound--bad {
  background: rgba(220,38,38,0.10);
  border: 1px solid rgba(220,38,38,0.30);
  color: #fca5a5;
}
.uw-stress__foot {
  margin-top: 12px;
  font-size: 11px;
  line-height: 1.5;
  color: rgba(255,255,255,0.45);
  font-style: italic;
}
@media (max-width: 600px) {
  .uw-stress { padding: 12px 14px; }
  .uw-stress__row { padding: 9px 10px; gap: 8px; }
  .uw-stress__rowhead { flex-wrap: wrap; }
  .uw-stress__rowtext { font-size: 12px; }
}

/* ============================================================
   ABOUT / FOUNDER  (v5)
   Restyled from the original purple/teal/gold to the
   current dark/amber/white palette.
   ============================================================ */

.about-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: start;
}
@media (min-width: 768px){
  .about-grid{
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: 3.5rem;
  }
  .about-photo-col{ order: 2; }
  .about-copy-col{ order: 1; }
}
@media (min-width: 1024px){
  .about-grid{ gap: 4.5rem; }
}

/* ---- Photo column ------------------------------------------------ */
.about-photo-col{
  position: relative;
}
@media (min-width: 768px){
  .about-photo-col{
    position: sticky;
    top: 6.5rem;          /* clears the sticky header */
  }
}

.about-frame{
  position: relative;
  margin: 0;
  border: 1px solid rgba(245, 158, 11, 0.35);
  background: #0a0a0a;
  box-shadow:
    0 0 0 1px rgba(245, 158, 11, 0.08),
    0 20px 60px -20px rgba(0,0,0,0.8),
    inset 0 0 60px rgba(0,0,0,0.4);
  overflow: hidden;
}
.about-frame::before{
  /* corner ticks — matches the lane/hud aesthetic */
  content: "";
  position: absolute;
  inset: 6px;
  border: 1px solid rgba(245, 158, 11, 0.15);
  pointer-events: none;
  z-index: 2;
}
.about-frame::after{
  /* subtle scan-line / grain */
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(
      0deg,
      rgba(255,255,255,0.02) 0,
      rgba(255,255,255,0.02) 1px,
      transparent 1px,
      transparent 3px
    );
  pointer-events: none;
  mix-blend-mode: overlay;
  z-index: 1;
}

.about-img{
  display: block;
  width: 100%;
  height: auto;
  filter: contrast(1.02) saturate(0.95);
}

.about-frame__overlay{
  position: absolute;
  inset: auto 0 0 0;
  height: 55%;
  background: linear-gradient(
    to bottom,
    rgba(10,10,10,0) 0%,
    rgba(10,10,10,0.55) 55%,
    rgba(10,10,10,0.95) 100%
  );
  pointer-events: none;
  z-index: 1;
}

.about-frame__cap{
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 1rem 1.25rem 1.1rem;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.about-frame__tag{
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #f59e0b;
}
.about-frame__role{
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.7rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(228, 228, 231, 0.7);
}

/* ---- Copy column ------------------------------------------------- */
.about-copy-col{
  max-width: 60ch;
}

.about-lead{
  font-size: 1.4rem;
  line-height: 1.5;
  color: #f4f4f5;
  font-weight: 400;
  margin: 0 0 1.75rem 0;
  letter-spacing: -0.01em;
}
.about-lead strong{
  color: #f59e0b;
  font-weight: 600;
}

.about-body{
  font-size: 1.0625rem;
  line-height: 1.75;
  color: rgba(228, 228, 231, 0.82);
  margin: 0 0 1.25rem 0;
}
.about-body strong{
  color: #fafafa;
  font-weight: 600;
}

/* ---- DEAL framework list ---------------------------------------- */
.about-deal{
  list-style: none;
  padding: 1.25rem 1.5rem;
  margin: 0 0 1.5rem 0;
  border-left: 2px solid rgba(245, 158, 11, 0.6);
  background: linear-gradient(
    to right,
    rgba(245, 158, 11, 0.05) 0%,
    rgba(245, 158, 11, 0) 60%
  );
  display: grid;
  gap: 0.65rem;
}
.about-deal li{
  display: flex;
  align-items: baseline;
  gap: 1rem;
}
.about-deal__letter{
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 1.5rem;
  font-weight: 700;
  color: #f59e0b;
  width: 1.5rem;
  flex-shrink: 0;
  line-height: 1;
  text-shadow: 0 0 16px rgba(245, 158, 11, 0.25);
}
.about-deal__word{
  font-size: 1.0625rem;
  color: #fafafa;
  font-weight: 500;
  letter-spacing: -0.005em;
}

/* ---- Close + signature ------------------------------------------ */
.about-close{
  font-size: 1.15rem;
  line-height: 1.6;
  color: #f4f4f5;
  margin: 2rem 0 2.25rem 0;
  padding: 1.25rem 0 0 0;
  border-top: 1px solid rgba(245, 158, 11, 0.15);
}
.about-close strong{
  color: #f59e0b;
  font-weight: 600;
}

.about-sig{
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  padding-top: 0.5rem;
}
.about-sig__name{
  font-family: 'Space Grotesk', system-ui, sans-serif;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: -0.025em;
  color: #fafafa;
  line-height: 1;
}
.about-sig__line{
  width: 60px;
  height: 2px;
  background: #f59e0b;
  box-shadow: 0 0 12px rgba(245, 158, 11, 0.4);
}
.about-sig__title{
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.7rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(228, 228, 231, 0.55);
}

/* ---- Mobile tightening ------------------------------------------ */
@media (max-width: 767px){
  .about-lead{ font-size: 1.2rem; }
  .about-body{ font-size: 1rem; line-height: 1.7; }
  .about-deal{ padding: 1rem 1.1rem; }
  .about-deal__letter{ font-size: 1.3rem; }
  .about-deal__word{ font-size: 1rem; }
  .about-close{ font-size: 1.05rem; }
  .about-sig__name{ font-size: 1.65rem; }
}

/* ---- Pull-quote (the closer line) ------------------------------- */
.about-pullquote{
  margin: 1.5rem 0 1.75rem 0;
  padding: 1.25rem 1.5rem 1.25rem 1.75rem;
  border: 1px solid rgba(245, 158, 11, 0.25);
  border-left: 3px solid #f59e0b;
  background: linear-gradient(
    to right,
    rgba(245, 158, 11, 0.08) 0%,
    rgba(245, 158, 11, 0.02) 50%,
    rgba(245, 158, 11, 0) 100%
  );
  font-family: 'Space Grotesk', system-ui, sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.3;
  color: #fafafa;
  letter-spacing: -0.015em;
  position: relative;
}
.about-pullquote::before{
  content: "//";
  position: absolute;
  top: 0.65rem;
  right: 1rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.7rem;
  letter-spacing: 0.15em;
  color: rgba(245, 158, 11, 0.5);
}
@media (max-width: 767px){
  .about-pullquote{ font-size: 1.2rem; padding: 1rem 1.1rem 1rem 1.2rem; }
}

/* ---- "What's Next" horizon block -------------------------------- */
.about-horizon{
  margin: 2.25rem 0 1.5rem 0;
  padding: 1.5rem 0 1.5rem 1.5rem;
  border-left: 1px dashed rgba(245, 158, 11, 0.35);
  position: relative;
}
.about-horizon__tag{
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.7rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #f59e0b;
  margin-bottom: 0.9rem;
  display: inline-block;
}
.about-horizon__lead{
  font-size: 1.15rem;
  line-height: 1.4;
  color: #fafafa;
  margin: 0 0 0.85rem 0;
  letter-spacing: -0.01em;
}
.about-horizon__lead strong{
  color: #fafafa;
  font-weight: 600;
}
.about-horizon__body{
  font-size: 1rem;
  line-height: 1.7;
  color: rgba(228, 228, 231, 0.78);
  margin: 0 0 0.85rem 0;
}
.about-horizon__body strong{
  color: #f59e0b;
  font-weight: 600;
  letter-spacing: 0.005em;
}
.about-horizon__body--quiet{
  font-size: 0.9rem;
  color: rgba(228, 228, 231, 0.55);
  font-style: italic;
  margin-bottom: 0;
}
@media (max-width: 767px){
  .about-horizon{ padding-left: 1.1rem; margin: 1.75rem 0 1.25rem 0; }
  .about-horizon__lead{ font-size: 1.05rem; }
  .about-horizon__body{ font-size: 0.95rem; }
}

/* ============================================================
   FAQ · accordion (matches stress-test <details> pattern)
   ============================================================ */
.faq-list{
  margin-top: 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.faq-item{
  border: 1px solid var(--c-ink-700);
  background: rgba(24, 24, 27, 0.55);
  transition: border-color 0.18s ease, background-color 0.18s ease;
}
.faq-item:hover{
  border-color: rgba(245, 158, 11, 0.35);
  background: rgba(24, 24, 27, 0.85);
}
.faq-item[open]{
  border-color: rgba(245, 158, 11, 0.45);
  background: rgba(24, 24, 27, 0.95);
}
.faq-item__summary{
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 1.1rem 1.35rem;
  cursor: pointer;
  list-style: none;
  user-select: none;
  outline: none;
}
.faq-item__summary::-webkit-details-marker{ display: none; }
.faq-item__summary:focus-visible{
  box-shadow: inset 0 0 0 2px rgba(245, 158, 11, 0.55);
}
.faq-item__num{
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  color: var(--c-amber);
  flex: 0 0 auto;
  min-width: 4.25rem;
}
.faq-item__q{
  flex: 1 1 auto;
  font-family: "Space Grotesk", system-ui, sans-serif;
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -0.005em;
  color: var(--c-ink-100);
  line-height: 1.35;
}
.faq-item__toggle{
  flex: 0 0 auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 1.35rem;
  font-weight: 400;
  color: var(--c-amber);
  width: 1.5rem;
  text-align: center;
  line-height: 1;
  transition: transform 0.18s ease;
}
.faq-item[open] .faq-item__toggle{
  transform: rotate(45deg);
}
.faq-item__a{
  padding: 0 1.35rem 1.25rem calc(1.35rem + 4.25rem + 1.25rem);
  color: var(--c-ink-300);
  font-size: 0.975rem;
  line-height: 1.65;
  max-width: 60ch;
}
.faq-item__a p{ margin: 0; }
.faq-item__a p + p{ margin-top: 0.7rem; }

.faq-footnote{
  margin-top: 2rem;
  display: flex;
  gap: 0.65rem;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.78rem;
  letter-spacing: 0.02em;
  color: rgba(228, 228, 231, 0.5);
  font-style: italic;
  line-height: 1.55;
}
.faq-footnote__mark{
  color: var(--c-amber);
  font-style: normal;
  opacity: 0.7;
}

/* ===== v54i — FAQ collapsible "view all" (site-wide, all viewports) ===== */
.faq-shell{ margin-top: 2.5rem; display: block; }
.faq-shell > .faq-list{ display: none; margin-top: 0.75rem; }
.faq-shell[open] > .faq-list{ display: flex; }
.faq-shell__summary{
  display: flex;
  align-items: center;
  gap: 0.85rem;
  width: 100%;
  max-width: 640px;
  padding: 1.05rem 1.2rem;
  cursor: pointer;
  list-style: none;
  user-select: none;
  border: 1px solid rgba(245, 158, 11, 0.35);
  background:
    linear-gradient(135deg, rgba(245,158,11,0.08) 0%, rgba(24,24,27,0.6) 60%);
  color: var(--c-ink-100);
  transition: border-color 0.18s ease, background 0.18s ease;
}
.faq-shell__summary::-webkit-details-marker{ display: none; }
.faq-shell[open] .faq-shell__summary{
  border-color: rgba(245, 158, 11, 0.55);
  background: linear-gradient(135deg, rgba(245,158,11,0.12) 0%, rgba(24,24,27,0.85) 60%);
}
.faq-shell__icon{
  flex: 0 0 auto;
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(245, 158, 11, 0.12);
  color: var(--c-amber);
}
.faq-shell__label{
  flex: 1 1 auto; display: flex; flex-direction: column; gap: 2px;
  min-width: 0;
}
.faq-shell__title{
  font-family: "Space Grotesk", system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: -0.005em;
  color: var(--c-ink-100);
  line-height: 1.2;
}
.faq-shell__hint{
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 0.66rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(228, 228, 231, 0.55);
  line-height: 1.3;
}
.faq-shell__chev{
  flex: 0 0 auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 1.4rem;
  color: var(--c-amber);
  width: 1.5rem; text-align: center; line-height: 1;
  transition: transform 0.22s ease;
}
.faq-shell[open] .faq-shell__chev{ transform: rotate(45deg); }
@media (max-width: 767px){
  .faq-shell{ margin-top: 1.75rem; }
  .faq-shell__summary{ max-width: 100%; padding: 1.05rem 1.1rem; }
  .faq-shell__title{ font-size: 0.98rem; }
  .faq-shell__hint{ font-size: 0.62rem; }
}
/* ===== /v54i ===== */

@media (max-width: 767px){
  .faq-item__summary{
    padding: 0.95rem 1rem;
    gap: 0.75rem;
    flex-wrap: wrap;
  }
  .faq-item__num{
    min-width: 0;
    font-size: 0.65rem;
    letter-spacing: 0.16em;
    flex: 0 0 auto;
  }
  .faq-item__q{
    font-size: 0.95rem;
    flex: 1 1 auto;
    order: 3;
    width: 100%;
    margin-top: 0.35rem;
  }
  .faq-item__toggle{
    font-size: 1.2rem;
    margin-left: auto;
  }
  .faq-item__a{
    padding: 0 1rem 1.1rem 1rem;
    font-size: 0.92rem;
    line-height: 1.6;
  }
}

/* ============================================================
   FOUNDER BAR · thin trust strip between hero and lanes
   ============================================================ */
.founder-bar{
  border-bottom: 1px solid rgba(63, 63, 70, 0.6);
  background:
    linear-gradient(
      to right,
      rgba(245, 158, 11, 0.05) 0%,
      rgba(245, 158, 11, 0.015) 35%,
      rgba(24, 24, 27, 0) 70%
    ),
    rgba(15, 15, 17, 0.6);
  position: relative;
}
.founder-bar::before{
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse at 12% 50%,
    rgba(245, 158, 11, 0.08) 0%,
    rgba(245, 158, 11, 0) 55%
  );
  pointer-events: none;
}
.founder-bar__inner{
  position: relative;
  display: flex;
  align-items: center;
  gap: 1.1rem;
  padding: 0.95rem 0;
  color: inherit;
  text-decoration: none;
  transition: transform 0.25s ease;
}
.founder-bar__inner:hover{
  transform: translateX(2px);
}
.founder-bar__photo{
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: 9999px;
  overflow: hidden;
  border: 1px solid rgba(245, 158, 11, 0.4);
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.08);
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.founder-bar__photo img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 65% 18%;
  display: block;
  filter: contrast(1.03) saturate(0.95);
}
.founder-bar__inner:hover .founder-bar__photo{
  border-color: rgba(245, 158, 11, 0.7);
  box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.14);
}
.founder-bar__meta{
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  flex: 0 0 auto;
  min-width: 0;
}
.founder-bar__name{
  font-family: "Space Grotesk", system-ui, sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: -0.005em;
  color: var(--c-ink-100);
  line-height: 1.2;
}
.founder-bar__title{
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.65rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(228, 228, 231, 0.55);
  line-height: 1.2;
}
.founder-bar__rule{
  flex: 0 0 auto;
  width: 1px;
  height: 28px;
  background: rgba(63, 63, 70, 0.7);
  margin: 0 0.4rem;
}
.founder-bar__quote{
  flex: 1 1 auto;
  font-family: "Space Grotesk", system-ui, sans-serif;
  font-size: 0.98rem;
  font-style: italic;
  font-weight: 500;
  color: var(--c-ink-100);
  letter-spacing: -0.005em;
  line-height: 1.35;
  min-width: 0;
}
.founder-bar__cta{
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--c-amber);
  transition: gap 0.25s ease;
}
.founder-bar__cta svg{
  width: 0.9rem;
  height: 0.9rem;
}
.founder-bar__inner:hover .founder-bar__cta{
  gap: 0.7rem;
}

/* ---- Mobile: stack into 2 rows ----------------------------------- */
@media (max-width: 767px){
  .founder-bar__inner{
    flex-wrap: wrap;
    gap: 0.6rem 0.9rem;
    padding: 0.85rem 0;
  }
  .founder-bar__photo{
    width: 38px;
    height: 38px;
  }
  .founder-bar__rule{
    display: none;
  }
  .founder-bar__quote{
    order: 3;
    width: 100%;
    flex-basis: 100%;
    font-size: 0.9rem;
    color: rgba(228, 228, 231, 0.82);
    padding-top: 0.1rem;
    border-top: 1px dashed rgba(63, 63, 70, 0.5);
    padding-top: 0.6rem;
    margin-top: 0.1rem;
  }
  .founder-bar__cta{
    margin-left: auto;
    font-size: 0.62rem;
  }
  .founder-bar__name{ font-size: 0.9rem; }
  .founder-bar__title{ font-size: 0.6rem; letter-spacing: 0.14em; }
}

/* ============================================================
   v14 — PROCESS TIMELINE (replaces .step boxes)
   Three "beats" on a connector rail with SLA timestamps,
   glyphs, watermark numerals, and a scroll-in pulse.
   ============================================================ */
.process-timeline{
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(63, 63, 70, 0.6); /* matches old grid divider */
  border: 1px solid rgba(63, 63, 70, 0.6);
}

/* Connector rail — horizontal on desktop, spans across the row */
.process-timeline__rail{
  position: absolute;
  top: 70px;          /* aligns with the node circles */
  left: 0;
  right: 0;
  height: 1px;
  pointer-events: none;
  z-index: 1;
  background: linear-gradient(
    to right,
    rgba(245, 158, 11, 0) 0%,
    rgba(245, 158, 11, 0.35) 8%,
    rgba(245, 158, 11, 0.55) 50%,
    rgba(16, 185, 129, 0.55) 92%,
    rgba(16, 185, 129, 0) 100%
  );
}
.process-timeline__rail-fill{
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(245, 158, 11, 0.9) 0%,
    rgba(245, 158, 11, 0.7) 50%,
    rgba(16, 185, 129, 0.9) 100%
  );
  box-shadow: 0 0 12px rgba(245, 158, 11, 0.35);
  transform-origin: left center;
  transform: scaleX(0);
  transition: transform 1.6s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.process-timeline.is-armed .process-timeline__rail-fill{
  transform: scaleX(1);
}
.process-timeline__rail-pulse{
  position: absolute;
  top: 50%;
  left: 8%;
  width: 6px;
  height: 6px;
  margin-top: -3px;
  margin-left: -3px;
  border-radius: 50%;
  background: var(--c-amber);
  box-shadow: 0 0 12px rgba(245, 158, 11, 0.9), 0 0 4px var(--c-amber);
  opacity: 0;
  transition: left 1.6s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.3s;
}
.process-timeline.is-armed .process-timeline__rail-pulse{
  left: 92%;
  opacity: 1;
  animation: beatPulse 1.4s ease-in-out infinite 1.6s;
}
@keyframes beatPulse{
  0%, 100% { box-shadow: 0 0 12px rgba(16, 185, 129, 0.9), 0 0 4px #10b981; background: #10b981; }
  50%      { box-shadow: 0 0 20px rgba(16, 185, 129, 1),   0 0 8px #10b981; background: #10b981; }
}

/* Each beat cell */
.beat{
  position: relative;
  background: var(--c-ink-900);
  padding: 1.5rem 1.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  isolation: isolate;
}

/* Giant watermark numeral behind the content */
.beat__watermark{
  position: absolute;
  right: 1rem;
  bottom: -1.25rem;
  font-family: "Space Grotesk", sans-serif;
  font-size: 9.5rem;
  font-weight: 800;
  line-height: 0.85;
  letter-spacing: -0.03em;
  color: transparent;
  -webkit-text-stroke: 1px rgba(245, 158, 11, 0.14);
  pointer-events: none;
  z-index: 0;
  user-select: none;
}
.beat--terminal .beat__watermark{
  -webkit-text-stroke: 1px rgba(16, 185, 129, 0.14);
}

/* The circular node that sits on the rail */
.beat__node{
  position: relative;
  z-index: 2;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(245, 158, 11, 0.5);
  background: var(--c-ink-900);
  color: var(--c-amber);
  margin-bottom: 1.25rem;
  box-shadow:
    0 0 0 4px var(--c-ink-900),
    0 0 18px rgba(245, 158, 11, 0.25);
  transition: border-color 0.3s, color 0.3s, box-shadow 0.3s;
}
.beat__node--terminal{
  border-color: rgba(16, 185, 129, 0.55);
  color: #10b981;
  box-shadow:
    0 0 0 4px var(--c-ink-900),
    0 0 18px rgba(16, 185, 129, 0.25);
}
.beat__glyph{
  width: 22px;
  height: 22px;
}

/* SLA header line */
.beat__head{
  position: relative;
  z-index: 1;
  display: flex;
  align-items: baseline;
  gap: 0.6rem;
  flex-wrap: wrap;
  margin-bottom: 0.85rem;
}
.beat__sla{
  font-family: "JetBrains Mono", monospace;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--c-amber);
  text-transform: uppercase;
  display: inline-flex;
  align-items: baseline;
  gap: 0.15em;
}
.beat__sla span{
  color: var(--c-ink-400);
  font-weight: 400;
}
.beat__sla--close{
  color: #10b981;
}
.beat__sla-meta{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.65rem;
  letter-spacing: 0.22em;
  color: var(--c-ink-400);
  text-transform: uppercase;
}

/* Small index number (kept for continuity with rest of dossier) */
.beat__num{
  position: relative;
  z-index: 1;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.3em;
  color: var(--c-ink-400);
  text-transform: uppercase;
  margin-bottom: 0.35rem;
}

.beat__title{
  position: relative;
  z-index: 1;
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--c-ink-100);
  letter-spacing: -0.015em;
  line-height: 1.1;
  margin-bottom: 0.6rem;
}

.beat__copy{
  position: relative;
  z-index: 1;
  font-size: 0.9375rem;
  color: var(--c-ink-300);
  line-height: 1.55;
  margin: 0 0 1.1rem;
  max-width: 30ch;
}

.beat__foot{
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: auto;
  padding-top: 0.5rem;
}
.beat__chip{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.625rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--c-ink-300);
  background: rgba(245, 158, 11, 0.06);
  border: 1px solid rgba(245, 158, 11, 0.25);
  padding: 0.3rem 0.55rem;
}
.beat__chip--go{
  color: #10b981;
  background: rgba(16, 185, 129, 0.06);
  border-color: rgba(16, 185, 129, 0.3);
}

/* Subtle hover lift on each beat */
.beat:hover .beat__node{
  box-shadow:
    0 0 0 4px var(--c-ink-900),
    0 0 24px rgba(245, 158, 11, 0.45);
}
.beat--terminal:hover .beat__node{
  box-shadow:
    0 0 0 4px var(--c-ink-900),
    0 0 24px rgba(16, 185, 129, 0.5);
}

/* Footnote below the timeline */
.process-footnote{
  margin-top: 1.5rem;
  display: flex;
  gap: 0.5rem;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.75rem;
  color: var(--c-ink-300);
  line-height: 1.5;
}
.process-footnote__mark{ color: var(--c-amber); }

/* MOBILE — collapse to vertical stack with a left rail instead */
@media (max-width: 767px){
  .process-timeline{
    grid-template-columns: 1fr;
    gap: 1px;
  }
  .process-timeline__rail{
    top: 0;
    bottom: 0;
    left: 32px;
    right: auto;
    width: 1px;
    height: auto;
    background: linear-gradient(
      to bottom,
      rgba(245, 158, 11, 0) 0%,
      rgba(245, 158, 11, 0.45) 8%,
      rgba(245, 158, 11, 0.55) 50%,
      rgba(16, 185, 129, 0.55) 92%,
      rgba(16, 185, 129, 0) 100%
    );
  }
  .process-timeline__rail-fill{
    background: linear-gradient(
      to bottom,
      rgba(245, 158, 11, 0.9) 0%,
      rgba(245, 158, 11, 0.7) 50%,
      rgba(16, 185, 129, 0.9) 100%
    );
    transform-origin: top center;
    transform: scaleY(0);
    transition: transform 1.6s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .process-timeline.is-armed .process-timeline__rail-fill{
    transform: scaleY(1);
  }
  .process-timeline__rail-pulse{
    top: 8%;
    left: 50%;
  }
  .process-timeline.is-armed .process-timeline__rail-pulse{
    top: 92%;
    left: 50%;
  }
  .beat{
    padding-left: 4rem;
  }
  .beat__node{
    position: absolute;
    left: 11px;
    top: 1.5rem;
    margin-bottom: 0;
    width: 42px;
    height: 42px;
  }
  .beat__head{
    margin-top: 0.1rem;
  }
  .beat__watermark{
    font-size: 8rem;
    right: -0.5rem;
    bottom: -1.5rem;
  }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .process-timeline__rail-fill,
  .process-timeline__rail-pulse{
    transition: none;
    animation: none;
  }
}

/* ============================================================
   v16 — VERDICT (§02 flagship reveal)
   Replaces the .gift-tag treatment with a full product reveal:
   eyebrow → brand → tagline → sub → chips → trade rule → features.
   ============================================================ */

.verdict-hero{
  margin-bottom: 3.5rem;
  position: relative;
}

/* Eyebrow */
.verdict-hero__eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.28em;
  color: var(--c-amber);
  background: rgba(245, 158, 11, 0.06);
  border: 1px solid rgba(245, 158, 11, 0.35);
  padding: 0.5rem 0.85rem;
  margin-bottom: 1.5rem;
}
.verdict-hero__dot{
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-amber);
  box-shadow: 0 0 8px rgba(245, 158, 11, 0.8);
  animation: verdictDot 2s ease-in-out infinite;
}
@keyframes verdictDot{
  0%, 100% { opacity: 0.55; box-shadow: 0 0 6px rgba(245, 158, 11, 0.6); }
  50%      { opacity: 1;    box-shadow: 0 0 12px rgba(245, 158, 11, 1); }
}

/* Section index line */
.verdict-hero__index{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.75rem;
  letter-spacing: 0.32em;
  color: var(--c-ink-400);
  text-transform: uppercase;
  margin-bottom: 0.75rem;
}

/* H2 — brand + tagline */
.verdict-hero__title{
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(2.5rem, 5.4vw, 4.5rem);
  font-weight: 800;
  line-height: 0.98;
  letter-spacing: -0.035em;
  color: var(--c-ink-100);
  margin: 0 0 1rem;
  display: block;
  text-wrap: balance;
}
.verdict-hero__title::after{
  content: "";
  display: block;
  width: 64px;
  height: 3px;
  background: var(--c-amber);
  margin-top: 1.25rem;
  box-shadow: 0 0 16px rgba(245, 158, 11, 0.55);
  border-radius: 1px;
}
.verdict-hero__brand{
  color: var(--c-amber);
  font-weight: 800;
  letter-spacing: -0.025em;
  text-shadow: 0 0 30px rgba(245, 158, 11, 0.35);
}
.verdict-hero__sep{
  color: var(--c-amber);
  margin-right: 0.4em;
}
.verdict-hero__tagline{
  color: var(--c-ink-100);
  font-weight: 700;
  display: inline;
}

.verdict-hero__sub{
  font-size: 1.125rem;
  line-height: 1.55;
  color: var(--c-ink-300);
  max-width: 56ch;
  margin: 1.4rem 0 1.75rem;
}

/* Trust chips row */
.verdict-chips{
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 2rem;
}
.verdict-chip{
  display: inline-flex;
  align-items: baseline;
  gap: 0.55rem;
  border: 1px solid rgba(245, 158, 11, 0.4);
  background: rgba(245, 158, 11, 0.04);
  padding: 0.55rem 0.9rem 0.55rem 0.75rem;
  transition: border-color 0.2s, background 0.2s;
}
.verdict-chip:hover{
  border-color: var(--c-amber);
  background: rgba(245, 158, 11, 0.09);
}
.verdict-chip__mark{
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--c-amber);
  letter-spacing: -0.02em;
  line-height: 1;
}
.verdict-chip__label{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--c-ink-300);
}

/* Value-trade line */
.verdict-trade{
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0 0 2.5rem;
}
.verdict-trade__rule{
  flex: 1;
  height: 1px;
  background: linear-gradient(
    to right,
    rgba(245, 158, 11, 0) 0%,
    rgba(245, 158, 11, 0.3) 50%,
    rgba(245, 158, 11, 0) 100%
  );
}
.verdict-trade__line{
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.95rem;
  color: var(--c-ink-200);
  letter-spacing: -0.005em;
  margin: 0;
  text-align: center;
  white-space: normal;
}
.verdict-trade__line strong{
  color: var(--c-amber);
  font-weight: 700;
}

/* Feature strip — 6 tiles, 3×2 on lg, 2×3 on md, 1×6 on sm */
.verdict-features{
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1px;
  background: rgba(63, 63, 70, 0.6);
  border: 1px solid rgba(63, 63, 70, 0.6);
}
@media (max-width: 1100px){
  .verdict-features{ grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px){
  .verdict-features{ grid-template-columns: repeat(2, 1fr); }
}
.verdict-feature{
  background: rgba(15, 15, 17, 0.6);
  padding: 1.25rem 1.1rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  transition: background 0.2s;
}
.verdict-feature:hover{
  background: rgba(15, 15, 17, 0.9);
}
.verdict-feature__glyph{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(245, 158, 11, 0.35);
  color: var(--c-amber);
  margin-bottom: 0.35rem;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.verdict-feature__glyph svg{
  width: 18px;
  height: 18px;
}
.verdict-feature:hover .verdict-feature__glyph{
  border-color: var(--c-amber);
  box-shadow: 0 0 12px rgba(245, 158, 11, 0.3);
}
.verdict-feature__head{
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--c-ink-100);
  letter-spacing: -0.01em;
}
.verdict-feature__copy{
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--c-ink-300);
}

/* Mobile tweaks for the hero block */
@media (max-width: 640px){
  .verdict-hero__title{
    font-size: clamp(2rem, 9.5vw, 2.75rem);
    line-height: 1.0;
    letter-spacing: -0.03em;
  }
  .verdict-hero__title::after{
    width: 48px;
    height: 2px;
    margin-top: 1rem;
  }
  .verdict-hero__brand{
    display: block;
    margin-bottom: 0.1rem;
  }
  .verdict-hero__sep{
    display: none;
  }
  .verdict-hero__tagline{
    display: block;
    font-size: 0.85em;
  }
  .verdict-trade__line{
    font-size: 0.85rem;
  }
  .verdict-chip__mark{ font-size: 1.1rem; }
}

/* ----- NAV FREE BADGE ----- */
.nav-link--with-badge{
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.nav-badge{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.55rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  color: var(--c-amber);
  background: rgba(245, 158, 11, 0.1);
  border: 1px solid rgba(245, 158, 11, 0.45);
  padding: 0.15rem 0.35rem 0.1rem;
  line-height: 1;
  transform: translateY(-1px);
  transition: background 0.2s, border-color 0.2s;
}
.nav-link--with-badge:hover .nav-badge{
  background: rgba(245, 158, 11, 0.2);
  border-color: var(--c-amber);
}

/* ============================================================
   v17 · Verdict hero — MINIMALIST override
   Strip everything except eyebrow + welcome H2 + one sub line.
   ============================================================ */
.verdict-hero--min{
  margin-bottom: 2rem;
  max-width: 68ch;
}
.verdict-hero--min .verdict-hero__eyebrow{
  margin-bottom: 1rem;
  padding: 0.4rem 0.7rem;
  font-size: 0.625rem;
}
.verdict-hero--min .verdict-hero__title{
  /* v28 — Verdict is the flagship; match sibling section headers + slightly bolder weight presence */
  font-size: clamp(2.75rem, 5.6vw, 4.75rem);
  font-weight: 800;
  line-height: 0.98;
  letter-spacing: -0.035em;
  margin: 0 0 0.85rem;
}
.verdict-hero__welcome{
  color: var(--c-ink-100);
  font-weight: 600;
}
.verdict-hero--min .verdict-hero__brand{
  text-shadow: 0 0 24px rgba(245, 158, 11, 0.28);
  /* v29 — ALL CAPS treatment for the marquee wordmark */
  text-transform: uppercase;
  letter-spacing: -0.01em;
}
.verdict-hero--min .verdict-hero__tagline{
  color: var(--c-ink-300);
  font-weight: 500;
}
.verdict-hero--min .verdict-hero__sub{
  font-size: 0.9375rem;
  color: var(--c-ink-400);
  margin: 0;
  font-family: "JetBrains Mono", monospace;
  letter-spacing: 0.02em;
}
@media (max-width: 640px){
  .verdict-hero--min .verdict-hero__title{
    font-size: clamp(2.125rem, 9vw, 2.875rem);
    letter-spacing: -0.03em;
  }
  .verdict-hero--min .verdict-hero__sub{
    font-size: 0.8125rem;
  }
}

/* ============================================================
   v18 · Eyebrow methodology link + FAQ inline link
   ============================================================ */
.verdict-hero__sep-dot{
  color: rgba(245, 158, 11, 0.5);
  margin: 0 0.15rem;
}
.verdict-hero__methodology{
  color: var(--c-ink-300);
  text-decoration: none;
  border-bottom: 1px dotted rgba(245, 158, 11, 0.4);
  padding-bottom: 1px;
  transition: color 0.2s, border-color 0.2s;
}
.verdict-hero__methodology:hover{
  color: var(--c-amber);
  border-bottom-color: var(--c-amber);
}
@media (max-width: 480px){
  .verdict-hero__sep-dot,
  .verdict-hero__methodology{
    display: none;
  }
}

.faq-link{
  color: var(--c-amber);
  text-decoration: none;
  border-bottom: 1px dotted rgba(245, 158, 11, 0.45);
  padding-bottom: 1px;
  transition: border-color 0.2s, color 0.2s;
  white-space: nowrap;
}
.faq-link:hover{
  color: #ffc24a;
  border-bottom-color: var(--c-amber);
}

/* ============================================================
   v18 · Verdict Methodology page (verdict.html)
   ============================================================ */

/* Lede paragraphs */
.method-lede{
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--c-ink-300);
  max-width: 64ch;
  margin: 0 0 1.25rem;
}
.method-lede:last-child{
  margin-bottom: 0;
}

/* 2x2 accuracy grid */
.method-grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin: 2rem 0 2.5rem;
}
@media (max-width: 720px){
  .method-grid{ grid-template-columns: 1fr; }
}
.method-card{
  border: 1px solid var(--c-ink-700);
  background: rgba(28, 25, 23, 0.5);
  padding: 1.25rem 1.35rem;
  transition: border-color 0.2s, background 0.2s;
}
.method-card:hover{
  border-color: var(--c-ink-500);
  background: rgba(28, 25, 23, 0.7);
}
.method-card__head{
  display: flex;
  align-items: center;
  gap: 0.7rem;
  margin-bottom: 0.55rem;
}
.method-card__mark{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.625rem;
  letter-spacing: 0.22em;
  padding: 0.2rem 0.5rem;
  border: 1px solid currentColor;
  text-transform: uppercase;
  line-height: 1;
}
.method-card__title{
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--c-ink-100);
  letter-spacing: -0.01em;
}
.method-card p{
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--c-ink-300);
  margin: 0;
}
.method-card--ok .method-card__mark{ color: #22c55e; }
.method-card--warn .method-card__mark{ color: var(--c-amber); }

/* Pull-out callout */
.method-callout{
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  border-left: 2px solid var(--c-amber);
  padding: 0.85rem 1rem 0.85rem 1.15rem;
  background: rgba(245, 158, 11, 0.04);
  margin: 2rem 0 0;
  max-width: 64ch;
}
.method-callout__mark{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.25em;
  color: var(--c-amber);
  text-transform: uppercase;
}
.method-callout p{
  font-size: 1.0625rem;
  line-height: 1.55;
  color: var(--c-ink-100);
  font-weight: 500;
  margin: 0;
}
.method-callout--quote p{
  font-style: normal;
  color: var(--c-ink-100);
}

/* Sources table */
.method-sources{
  display: flex;
  flex-direction: column;
  margin: 2rem 0 0;
  border-top: 1px solid var(--c-ink-700);
}
.source-row{
  display: grid;
  grid-template-columns: 1.2fr 0.8fr 1.6fr;
  gap: 1.25rem;
  padding: 1.1rem 0.25rem;
  border-bottom: 1px solid var(--c-ink-700);
  align-items: start;
}
@media (max-width: 820px){
  .source-row{
    grid-template-columns: 1fr;
    gap: 0.45rem;
    padding: 1rem 0.25rem;
  }
}
.source-row__name{
  font-family: "Space Grotesk", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: var(--c-ink-100);
  letter-spacing: -0.01em;
  margin-bottom: 0.25rem;
}
.source-row__expr{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.8125rem;
  color: var(--c-amber);
  letter-spacing: 0.01em;
}
.source-row__use{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--c-ink-400);
  padding-top: 0.3rem;
}
.source-row__src{
  font-size: 0.875rem;
  color: var(--c-ink-300);
  line-height: 1.55;
}
.source-row__src a{
  color: var(--c-ink-100);
  border-bottom: 1px dotted rgba(245, 158, 11, 0.5);
  text-decoration: none;
  transition: color 0.2s, border-color 0.2s;
}
.source-row__src a:hover{
  color: var(--c-amber);
  border-bottom-color: var(--c-amber);
}

/* Why grid (3 cards) */
.why-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin: 2rem 0 0;
}
@media (max-width: 820px){
  .why-grid{ grid-template-columns: 1fr; }
}
.why-card{
  border: 1px solid var(--c-ink-700);
  background: rgba(28, 25, 23, 0.5);
  padding: 1.5rem 1.4rem;
  position: relative;
  transition: border-color 0.2s, background 0.2s;
}
.why-card:hover{
  border-color: var(--c-amber);
  background: rgba(28, 25, 23, 0.75);
}
.why-card__num{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: var(--c-amber);
  margin-bottom: 0.6rem;
}
.why-card__title{
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--c-ink-100);
  margin-bottom: 0.55rem;
}
.why-card p{
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--c-ink-300);
  margin: 0;
}
.why-card p em{
  color: var(--c-amber);
  font-style: normal;
  font-weight: 600;
}

/* ============================================================
   v19 · Eyebrow row with prominent "How it works" pill
   ============================================================ */
.verdict-hero__eyebrow-row{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 1rem;
}
.verdict-hero--min .verdict-hero__eyebrow-row .verdict-hero__eyebrow{
  margin-bottom: 0;
}

/* The prominent "How it works" pill — solid amber on ink, with subtle pulse */
.verdict-hero__how-pill{
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 0.85rem 0.45rem 0.7rem;
  background: var(--c-amber);
  color: var(--c-ink-950);
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  border: 1px solid var(--c-amber);
  box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.55);
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
  animation: howPillPulse 2.4s ease-in-out infinite;
}
.verdict-hero__how-pill svg{
  width: 13px;
  height: 13px;
  stroke-width: 1.75;
  flex-shrink: 0;
}
.verdict-hero__how-arrow{
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.95rem;
  line-height: 1;
  font-weight: 700;
  transition: transform 0.18s ease;
}
.verdict-hero__how-pill:hover{
  background: #ffb838;
  transform: translateY(-1px);
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.25), 0 6px 14px -4px rgba(245, 158, 11, 0.45);
  animation: none;
}
.verdict-hero__how-pill:hover .verdict-hero__how-arrow{
  transform: translateX(3px);
}
@keyframes howPillPulse{
  0%, 100% { box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.55); }
  50%      { box-shadow: 0 0 0 6px rgba(245, 158, 11, 0); }
}
@media (prefers-reduced-motion: reduce){
  .verdict-hero__how-pill{ animation: none; }
}

/* Methodology page — dual CTA row in hero */
.method-cta-row{
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  align-items: center;
  margin: 2rem 0 0.75rem;
}
.method-cta-foot{
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.18em;
  color: var(--c-ink-400);
  text-transform: uppercase;
  margin-top: 0.5rem;
}
.method-cta-foot__mark{
  color: var(--c-amber);
}
@media (max-width: 640px){
  .method-cta-row{
    flex-direction: column;
    align-items: stretch;
  }
  .method-cta-row > a{
    justify-content: center;
    text-align: center;
  }
  .method-cta-foot{
    font-size: 0.625rem;
  }
}

/* v23 — footer support email link */
.footer-mail{
  color: inherit;
  text-decoration: none;
  border-bottom: 1px dotted rgba(245, 158, 11, 0.5);
  transition: color 160ms ease, border-color 160ms ease;
}
.footer-mail:hover,
.footer-mail:focus-visible{
  color: var(--c-amber);
  border-bottom-color: var(--c-amber);
}

/* ============================================================
   v25 · VERDICT BRAND COLOR — Deep Teal #2dd4bf
   Scoped override: amber becomes teal inside Verdict only.
   Parent brand (amber) remains untouched everywhere else.
   ============================================================ */
:root{
  --c-teal: #2dd4bf;
  --c-teal-bright: #5eead4;
}
/* Override amber tokens only within the Verdict section and the
   verdict.html page <body>, plus the nav FREE badge which now
   signals "this leads to the teal product." */
#underwriting,
body.verdict-page,
.nav-link--with-badge .nav-badge{
  --c-amber: var(--c-teal);
  --c-amber-bright: var(--c-teal-bright);
}
/* Pulse animation keyframes were hardcoded with amber rgb —
   redefine the dot pulse using currentColor inside Verdict. */
#underwriting .verdict-hero__dot,
body.verdict-page .verdict-hero__dot{
  background: var(--c-teal);
  box-shadow: 0 0 8px rgba(45, 212, 191, 0.8);
  animation: verdictDotTeal 2s ease-in-out infinite;
}
@keyframes verdictDotTeal{
  0%, 100% { opacity: 0.55; box-shadow: 0 0 6px rgba(45, 212, 191, 0.6); }
  50%      { opacity: 1;    box-shadow: 0 0 12px rgba(45, 212, 191, 1); }
}
/* Hardcoded amber box-shadows in the hero rule — re-tint. */
#underwriting .verdict-hero__title::after,
body.verdict-page .verdict-hero__title::after{
  box-shadow: 0 0 16px rgba(45, 212, 191, 0.55);
}
#underwriting .verdict-hero__brand,
body.verdict-page .verdict-hero__brand{
  text-shadow: 0 0 24px rgba(45, 212, 191, 0.32);
}
/* Hardcoded amber border on the eyebrow pill — re-tint. */
#underwriting .verdict-hero__eyebrow,
body.verdict-page .verdict-hero__eyebrow{
  background: rgba(45, 212, 191, 0.06);
  border-color: rgba(45, 212, 191, 0.35);
}
/* Tailwind `text-amber` utility leaks inside Verdict — re-paint. */
#underwriting .text-amber,
body.verdict-page .text-amber{
  color: var(--c-teal) !important;
}

/* ============================================================
   v30 · Mobile intel strip rotator
   Rotates VERDICT SLA · POWERED BY · UTC every 3.5s
   ============================================================ */
.strip-rot{
  position: relative;
  display: inline-flex;
  align-items: center;
  min-width: 11ch;
  height: 1.25rem;
}
.strip-rot__item{
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) translateY(4px);
  white-space: nowrap;
  opacity: 0;
  transition: opacity 360ms ease, transform 360ms ease;
  pointer-events: none;
}
.strip-rot__item.is-active{
  opacity: 1;
  transform: translateY(-50%) translateY(0);
  pointer-events: auto;
}

/* =================================================================== */
/* v20 — Subtle logo placements                                        */
/* =================================================================== */

/* Process beat #3: v6 mark as terminal glyph */
.beat__glyph--mark{
  width: 22px;
  height: 22px;
  color: #10b981;
}

/* Final CTA section: large faint watermark mark */
.cta-watermark{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 70%;
  max-width: 720px;
  height: auto;
  color: rgba(255, 176, 32, 0.045);
  pointer-events: none;
  z-index: 0;
}
@media (max-width: 640px){
  .cta-watermark{
    width: 110%;
    max-width: none;
    color: rgba(255, 176, 32, 0.055);
  }
}

/* =================================================================== */
/* v24 — V2 one-line wordmark (DEALCAP + USA, amber USA, 0.08em gap)    */
/* =================================================================== */

/* The lockup parent — mark + one-line wordmark, baseline-aligned */
.dc-lockup{
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.dc-lockup .dc-mark{
  flex-shrink: 0;
}

/* The text block — one line, baseline-aligned inline-flex */
/* v31 — Sora 300 wordmark (geometric thin, wide tracking) matches reference */
.dc-word{
  display: inline-flex;
  align-items: baseline;
  line-height: 1;
  font-family: 'Sora', 'Inter', sans-serif;
  font-weight: 300;
  letter-spacing: 0.06em;
  font-feature-settings: "ss01" on, "cv11" on;
}
.dc-word__brand{
  color: var(--c-ink-100, #dfe3ec);
  line-height: 1;
}
.dc-word__sub{
  color: var(--c-amber, #ffb020);
  line-height: 1;
  margin-left: 0.22em; /* a touch more breathing room for Sora's wider tracking */
}

/* v24 — one-line peer-scale sizing */
/* NAV scale */
.dc-lockup--nav{ gap: 14px; }
.dc-lockup--nav .dc-mark{
  width: 38px;
  height: 32px;
}
.dc-lockup--nav .dc-word{
  font-size: 24px;
}

/* FOOTER scale */
.dc-lockup--footer{ gap: 18px; }
.dc-lockup--footer .dc-mark{
  width: 50px;
  height: 42px;
}
.dc-lockup--footer .dc-word{
  font-size: 32px;
}

/* ============================================================
   DEAL GLYPH — custom alphabet wordmark (v36.14a)
   Pixel-traced from approved Cyber Capital specimen. LOCKED v2.0.
   Two-piece lockups give us control over the inter-word gap
   (DEALCAP · USA  and  VERDICT · UNDERWRITER) and let us apply
   a chrome / metallic gradient instead of flat monotone fill.
   ============================================================ */
.dc-wm{
  display: inline-flex;
  /* v36.14g — center alignment fixes mobile vertical misalignment between mark and wm row */
  align-items: center;
  /* Tighter than the source SVG's 2.0-2.3× letter-gap word break.
     Override per-context if needed. */
  gap: 0.18em;
  vertical-align: middle;
  line-height: 1;
  /* Establish the font-size baseline that drives glyph heights via em units. */
  font-size: 18px;
}
.dc-wm__part{
  display: inline-block;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-position: center;
  mask-position: center;
  /* Default: solid currentColor fill (back-compat for any non-chrome use). */
  background-color: currentColor;
  transform: translateZ(0);
}

/* Split mask sources — each word as its own mask */
.dc-wm__part--dealcap{
  -webkit-mask-image: url('brand/glyph/dealcap.svg');
  mask-image: url('brand/glyph/dealcap.svg');
  aspect-ratio: 3499 / 316;
}
.dc-wm__part--usa{
  -webkit-mask-image: url('brand/glyph/usa.svg');
  mask-image: url('brand/glyph/usa.svg');
  aspect-ratio: 1287 / 316;
}
.dc-wm__part--verdict{
  -webkit-mask-image: url('brand/glyph/verdict.svg');
  mask-image: url('brand/glyph/verdict.svg');
  aspect-ratio: 1815 / 132;
}
.dc-wm__part--underwriter{
  -webkit-mask-image: url('brand/glyph/underwriter.svg');
  mask-image: url('brand/glyph/underwriter.svg');
  aspect-ratio: 2983 / 132;
}

/* Heights driven by em units so font-size on .dc-wm scales everything together */
.dc-wm__part--dealcap{ height: 1em; }
.dc-wm__part--usa{ height: 1em; }
.dc-wm__part--verdict{ height: 1em; }
.dc-wm__part--underwriter{ height: 1em; }

/* ----- FLAT BRAND FILLS (v36.14e) -----
   Replaces chrome with clean flat amber/teal so the GLYPH
   reads as the brand color block, not a metallic ornament. */
.dc-wm--chrome-amber .dc-wm__part{
  background-color: #f59e0b;
  background-image: none;
  filter: none;
}
.dc-wm--chrome-teal .dc-wm__part{
  background-color: #2dd4bf;
  background-image: none;
  filter: none;
}
/* Aliases so HTML doesn't have to change — .dc-wm--flat-* same effect */
.dc-wm--flat-amber .dc-wm__part{ background-color: #f59e0b; background-image:none; filter:none; }
.dc-wm--flat-teal  .dc-wm__part{ background-color: #2dd4bf; background-image:none; filter:none; }

/* v36.23a — violet brand fill for /partner */
.dc-wm--chrome-violet .dc-wm__part{
  background-color: #b8a4ff;
  background-image: none;
  filter: none;
}
.dc-wm--flat-violet .dc-wm__part{ background-color: #b8a4ff; background-image:none; filter:none; }

/* ----- LETTER-SPACING COMPRESSION (Tight — scaleX 0.82) -----
   Compresses only the primary glyph word so the wordmark reads
   more condensed without losing the GLYPH letterforms.
   scaleX is purely visual, so we offset layout via negative margin
   equal to the width removed (18% of the natural element width). */
.dc-wm__part--dealcap,
.dc-wm__part--verdict{
  transform-origin: left center;
}
.dc-wm__part--dealcap{
  /* v36.14t — Orbitron Medium natural tracking, no scaleX compression needed */
  width: calc(8.49em); /* 2683/316 ≈ 8.49 */
}
.dc-wm__part--verdict{
  /* v36.14t — Orbitron Medium natural tracking, no scaleX compression needed */
  width: calc(7.88em); /* 1040/132 ≈ 7.88 */
}

/* USA / UNDERWRITER now render as Inter text (white) with vertical rule.
   We hide the SVG-mask versions and replace with text via .dc-wm__sub. */
.dc-wm__part--usa,
.dc-wm__part--underwriter{ display: none; }

.dc-wm__sub{
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: 0.775em;     /* v36.14i — +25% from 0.62em per request (USA / UNDERWRITER bigger) */
  letter-spacing: 0.28em;
  color: #ffffff;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 0.7em;
  line-height: 1;
  position: relative;
  top: -0.04em;
  white-space: nowrap;
}
.dc-wm__sub::before{
  content: "";
  display: inline-block;
  width: 1px;
  height: 1.4em;
  background: #5a6478;
  flex-shrink: 0;
}

/* Inter-word gap from primary glyph to subtitle */
.dc-wm--dealcap-usa{ gap: 0.7em; }
.dc-wm--verdict-underwriter{ gap: 0.7em; }
.dc-wm--dealcap-partner{ gap: 0.7em; }

/* v36.14i — UNDERWRITER is 11 letters vs USA's 3; tighter ls keeps nav from wrapping */
.dc-wm--verdict-underwriter .dc-wm__sub{ letter-spacing: 0.16em; }

/* v36.23a — PARTNER subtitle: 7 letters, sits between USA (3) and UNDERWRITER (11) */
.dc-wm--dealcap-partner .dc-wm__sub{ letter-spacing: 0.22em; }
.dc-wm--dealcap-partner .dc-wm__sub-sep{
  display: inline-block;
  margin: 0 0.55em;
  opacity: 0.55;
  font-weight: 400;
  letter-spacing: 0;
}

/* ============================================================
   v36.14g — UNIFIED NAV / FOOTER TYPOGRAPHY SYSTEM
   ------------------------------------------------------------
   Goals (audit-driven):
   1. Same primary font-size for DEALCAP and VERDICT at every breakpoint.
   2. UNDERWRITER subtitle scales with VERDICT (it's em-based, so unifying
      primary font-size automatically unifies subtitle size).
   3. Mobile footer scales down (was stuck at 22px and overflowing).
   4. Tablet (641–1024px) gets its own tier instead of inheriting desktop.
   5. Verdict footer centers to match the landing footer.
   ============================================================ */

/* DESKTOP (≥1025px) — Hero scale */
.dc-lockup--nav .dc-wm{ font-size: 21px; }                         /* v36.14y +15% header (baseline; overridden by v36.46 block below) */
.dc-lockup--nav .dc-wm--verdict-underwriter{ font-size: 21px; }    /* v36.14y +15% header */
.dc-lockup--nav .dc-wm--dealcap-partner{ font-size: 21px; }        /* v36.23a */
.dc-lockup--footer .dc-wm{ font-size: 24px; }                      /* was 22px */
.dc-lockup--footer .dc-wm--verdict-underwriter{ font-size: 24px; } /* was 16px — match DEALCAP */
.dc-lockup--footer .dc-wm--dealcap-partner{ font-size: 24px; }     /* v36.23a */
.dc-lockup--footer-center .dc-wm{ font-size: 24px; }
.dc-lockup--footer-center .dc-wm--verdict-underwriter{ font-size: 24px; }
.dc-lockup--footer-center .dc-wm--dealcap-partner{ font-size: 24px; }

/* TABLET (≤1024px) — slight step down */
@media (max-width: 1024px){
  .dc-lockup--nav .dc-wm,
  .dc-lockup--nav .dc-wm--verdict-underwriter,
  .dc-lockup--nav .dc-wm--dealcap-partner{ font-size: 20px; }   /* v36.14y +15% (baseline; overridden below) */
  .dc-lockup--footer .dc-wm,
  .dc-lockup--footer .dc-wm--verdict-underwriter,
  .dc-lockup--footer .dc-wm--dealcap-partner,
  .dc-lockup--footer-center .dc-wm,
  .dc-lockup--footer-center .dc-wm--verdict-underwriter,
  .dc-lockup--footer-center .dc-wm--dealcap-partner{ font-size: 22px; }
}

/* MOBILE LARGE (≤640px) */
@media (max-width: 640px){
  .dc-lockup--nav .dc-wm,
  .dc-lockup--nav .dc-wm--verdict-underwriter{ font-size: 16px; }   /* v36.14y +15% (baseline) */
  .dc-lockup--nav .dc-wm--dealcap-partner{ font-size: 14px; }       /* v36.23b — USA | PARTNER is wider */
  .dc-lockup--footer .dc-wm,
  .dc-lockup--footer .dc-wm--verdict-underwriter,
  .dc-lockup--footer-center .dc-wm,
  .dc-lockup--footer-center .dc-wm--verdict-underwriter{ font-size: 18px; }
  .dc-lockup--footer .dc-wm--dealcap-partner,
  .dc-lockup--footer-center .dc-wm--dealcap-partner{ font-size: 16px; }
  /* Tighten the separator margin on small screens */
  .dc-wm--dealcap-partner .dc-wm__sub-sep{ margin: 0 0.40em; }
}

/* MOBILE MID (≤414px) */
@media (max-width: 414px){
  .dc-lockup--nav .dc-wm,
  .dc-lockup--nav .dc-wm--verdict-underwriter{ font-size: 15px; }   /* v36.14y +15% (baseline) */
  .dc-lockup--nav .dc-wm--dealcap-partner{ font-size: 13px; }       /* v36.23b */
  .dc-lockup--footer .dc-wm,
  .dc-lockup--footer .dc-wm--verdict-underwriter,
  .dc-lockup--footer-center .dc-wm,
  .dc-lockup--footer-center .dc-wm--verdict-underwriter{ font-size: 16px; }
  .dc-lockup--footer .dc-wm--dealcap-partner,
  .dc-lockup--footer-center .dc-wm--dealcap-partner{ font-size: 14px; }
}

/* MOBILE SMALL (≤380px) */
@media (max-width: 380px){
  .dc-lockup--nav .dc-wm,
  .dc-lockup--nav .dc-wm--verdict-underwriter{ font-size: 14px; }   /* v36.14y +15% (baseline) */
  .dc-lockup--nav .dc-wm--dealcap-partner{ font-size: 12px; }       /* v36.23b */
  .dc-lockup--footer .dc-wm,
  .dc-lockup--footer .dc-wm--verdict-underwriter,
  .dc-lockup--footer-center .dc-wm,
  .dc-lockup--footer-center .dc-wm--verdict-underwriter{ font-size: 15px; }
}

/* MOBILE XS (≤340px) */
@media (max-width: 340px){
  .dc-lockup--nav .dc-wm,
  .dc-lockup--nav .dc-wm--verdict-underwriter{ font-size: 11px; }
  .dc-lockup--footer .dc-wm,
  .dc-lockup--footer .dc-wm--verdict-underwriter,
  .dc-lockup--footer-center .dc-wm,
  .dc-lockup--footer-center .dc-wm--verdict-underwriter{ font-size: 14px; }
}

/* Verdict footer — center to match landing footer */
footer .dc-lockup--footer{
  justify-content: center;
  margin-inline: auto;
}

/* Hover micro-shine — lift highlight one stop */
a:hover .dc-lockup--nav .dc-wm__part{
  filter: brightness(1.08) drop-shadow(0 0.04em 0.06em rgba(245,158,11,0.28));
}
a:hover .dc-lockup--nav .dc-wm--chrome-teal .dc-wm__part{
  filter: brightness(1.08) drop-shadow(0 0.04em 0.06em rgba(45,212,191,0.32));
}

/* ============================================================
   Legacy single-mask glyph classes (kept for back-compat)
   ============================================================ */
.dc-glyph{
  display: inline-block;
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: left center;
  mask-position: left center;
  vertical-align: middle;
  transform: translateZ(0);
}
.dc-glyph--dc{
  -webkit-mask-image: url('brand/dealcap-usa-glyph.svg');
  mask-image: url('brand/dealcap-usa-glyph.svg');
  aspect-ratio: 4103 / 316;
}
.dc-glyph--vu{
  -webkit-mask-image: url('brand/verdict-underwriter-glyph.svg');
  mask-image: url('brand/verdict-underwriter-glyph.svg');
  aspect-ratio: 3094 / 132;
}
.dc-lockup--nav .dc-glyph--dc{ height: 18px; }
.dc-lockup--nav .dc-glyph--vu{ height: 11px; }
.dc-lockup--footer .dc-glyph--dc{ height: 22px; }
.dc-lockup--footer .dc-glyph--vu{ height: 14px; }
.dc-lockup--footer-center .dc-glyph--dc{ height: 18px; }
.dc-lockup--footer-center .dc-glyph--vu{ height: 12px; }

/* v35.8i — centered single-line footer lockup for landing page */
.dc-lockup--footer-center{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}
/* Wrap parent so the inline-flex centers itself */
.dc-lockup--footer-center{ display: flex; }
footer .dc-lockup--footer-center{ justify-content: center; }
.footer-tagline{
  text-align: center;
  margin-top: 18px;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 12px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(228, 228, 231, 0.55);
}
@media (max-width: 640px){
  .dc-lockup--footer-center .dc-mark{ width: 36px; height: 30px; }
  .dc-lockup--footer-center .dc-word{ font-size: 22px; letter-spacing: 0.02em; }
  .dc-lockup--footer-center{ gap: 12px; }
  .footer-tagline{ font-size: 10px; letter-spacing: 0.22em; margin-top: 14px; }
}

/* Hover state for nav (amber sweep on whole wordmark on hover) */
a:hover .dc-lockup--nav .dc-word__brand{
  color: var(--c-amber, #ffb020);
}

/* Mobile */
@media (max-width: 640px){
  .dc-lockup--nav{ gap: 10px; }
  .dc-lockup--nav .dc-mark{
    width: 28px;
    height: 24px;
  }
  .dc-lockup--nav .dc-word{
    font-size: 17px;
  }
}

/* ---------------------------------------------------------------
   v22 — Cinematic shine (S4: top-light gradient + soft amber glow)
   Applied via inline <linearGradient id="dc-shine"> on each mark.
   Falls back to flat amber if gradient ref is missing.
   --------------------------------------------------------------- */
.dc-mark{
  /* v55+: clean & flat — glow/hue removed per spec */
  filter: none;
  transition: none;
}
.dc-mark path{
  fill: url(#dc-shine);
}
/* v55+: no hover glow */
a:hover .dc-lockup--nav .dc-mark{
  filter: none;
}
/* Reduced motion / users who dislike glow: drop the filter */
@media (prefers-reduced-motion: reduce){
  .dc-mark{ transition: none; }
}

/* ---------------------------------------------------------------
   v23 — Delayed cursor hue
   A soft amber glow that lags behind the pointer. Decorative only.
   Disabled on touch / reduced-motion / pointer:coarse.
   --------------------------------------------------------------- */
#dc-cursor-hue{
  position: fixed;
  top: 0;
  left: 0;
  width: 220px;
  height: 220px;
  margin-left: -110px;
  margin-top: -110px;
  pointer-events: none;
  z-index: 1;            /* below content (most sections are 5+), above body bg */
  border-radius: 50%;
  background: radial-gradient(
    circle at center,
    rgba(255,176,32,0.18) 0%,
    rgba(255,176,32,0.08) 30%,
    rgba(255,176,32,0.02) 60%,
    rgba(255,176,32,0)    78%
  );
  filter: blur(6px);
  mix-blend-mode: screen;
  opacity: 0;
  transition: opacity 380ms ease;
  will-change: transform, opacity;
}
/* v35.2 — verdict page: teal hue instead of amber */
body.verdict-page #dc-cursor-hue{
  background: radial-gradient(
    circle at center,
    rgba(94,234,212,0.18) 0%,
    rgba(94,234,212,0.08) 30%,
    rgba(94,234,212,0.02) 60%,
    rgba(94,234,212,0)    78%
  );
}
#dc-cursor-hue.is-active{ opacity: 1; }

/* Hide entirely on coarse pointers (touch) and reduced motion */
@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce){
  #dc-cursor-hue{ display: none !important; }
}

/* =========================================================
   v29 — Qualitative signal chips, operator override slider,
   delta pill, and VERDICT section collapse/teaser
   ========================================================= */

/* DELTA PILL — live indicator next to "Qualitative Signals" label */
.uw-delta-pill{
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 11px;
  letter-spacing: 0.06em;
  padding: 4px 9px;
  border: 1px solid color-mix(in oklab, var(--c-amber, #f59e0b) 35%, transparent);
  background: color-mix(in oklab, var(--c-amber, #f59e0b) 8%, transparent);
  color: var(--c-amber, #f59e0b);
  border-radius: 2px;
  transition: all .18s ease;
  user-select: none;
}
.uw-delta-pill.is-neg{
  border-color: color-mix(in oklab, var(--c-crimson, #ef4444) 45%, transparent);
  background: color-mix(in oklab, var(--c-crimson, #ef4444) 10%, transparent);
  color: var(--c-crimson, #ef4444);
}
.uw-delta-pill.is-pos{
  border-color: color-mix(in oklab, var(--c-go, #22c55e) 45%, transparent);
  background: color-mix(in oklab, var(--c-go, #22c55e) 10%, transparent);
  color: var(--c-go, #22c55e);
}
.uw-delta-pill.is-zero{
  border-color: color-mix(in oklab, var(--c-ink-400, #6b7280) 45%, transparent);
  background: transparent;
  color: var(--c-ink-300, #9ca3af);
}

/* CHIPS — qualitative red-flag toggles */
.uw-chips{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
}
.uw-chip{
  --chip-bd: color-mix(in oklab, var(--c-crimson, #ef4444) 30%, var(--c-ink-700, #374151));
  --chip-bg: transparent;
  --chip-fg: var(--c-ink-200, #d1d5db);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 11px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  border: 1px solid var(--chip-bd);
  background: var(--chip-bg);
  color: var(--chip-fg);
  cursor: pointer;
  border-radius: 2px;
  transition: all .15s ease;
  white-space: nowrap;
  line-height: 1;
}
.uw-chip:hover{
  background: color-mix(in oklab, var(--c-crimson, #ef4444) 8%, transparent);
  border-color: color-mix(in oklab, var(--c-crimson, #ef4444) 55%, transparent);
  color: #fff;
}
.uw-chip.is-active{
  background: color-mix(in oklab, var(--c-crimson, #ef4444) 18%, transparent);
  border-color: var(--c-crimson, #ef4444);
  color: #fff;
  box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--c-crimson, #ef4444) 40%, transparent);
}
.uw-chip__d{
  font-size: 10px;
  opacity: 0.6;
  font-weight: 600;
}
.uw-chip.is-active .uw-chip__d{ opacity: 1; }

/* Positive (green) chips — motivated seller, off-market */
.uw-chip--pos{
  --chip-bd: color-mix(in oklab, var(--c-go, #22c55e) 30%, var(--c-ink-700, #374151));
}
.uw-chip--pos:hover{
  background: color-mix(in oklab, var(--c-go, #22c55e) 8%, transparent);
  border-color: color-mix(in oklab, var(--c-go, #22c55e) 55%, transparent);
}
.uw-chip--pos.is-active{
  background: color-mix(in oklab, var(--c-go, #22c55e) 18%, transparent);
  border-color: var(--c-go, #22c55e);
  box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--c-go, #22c55e) 40%, transparent);
}

/* OPERATOR OVERRIDE — slider + presets */
.uw-override{
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid var(--c-ink-700, #374151);
  background: color-mix(in oklab, var(--c-ink-900, #111827) 60%, transparent);
  border-radius: 2px;
}
.uw-override__head{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 8px;
}
.uw-override__label{
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 10px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--c-amber, #f59e0b);
}
.uw-override__val{
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 13px;
  font-weight: 700;
  color: var(--c-ink-100, #f3f4f6);
  letter-spacing: 0.04em;
}
.uw-override__slider{
  width: 100%;
  -webkit-appearance: none;
  appearance: none;
  height: 6px;
  background: linear-gradient(
    to right,
    color-mix(in oklab, var(--c-crimson, #ef4444) 60%, transparent) 0%,
    color-mix(in oklab, var(--c-crimson, #ef4444) 25%, transparent) 35%,
    var(--c-ink-700, #374151) 50%,
    color-mix(in oklab, var(--c-go, #22c55e) 25%, transparent) 65%,
    color-mix(in oklab, var(--c-go, #22c55e) 60%, transparent) 100%
  );
  border-radius: 3px;
  outline: none;
  cursor: pointer;
}
.uw-override__slider::-webkit-slider-thumb{
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  background: var(--c-ink-100, #f3f4f6);
  border: 2px solid var(--c-amber, #f59e0b);
  border-radius: 50%;
  cursor: grab;
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-amber, #f59e0b) 20%, transparent);
}
.uw-override__slider::-moz-range-thumb{
  width: 16px;
  height: 16px;
  background: var(--c-ink-100, #f3f4f6);
  border: 2px solid var(--c-amber, #f59e0b);
  border-radius: 50%;
  cursor: grab;
}
.uw-override__slider:active::-webkit-slider-thumb{ cursor: grabbing; }
.uw-override__scale{
  display: flex;
  justify-content: space-between;
  margin-top: 4px;
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 9px;
  color: var(--c-ink-400, #6b7280);
  letter-spacing: 0.05em;
}
.uw-override__presets{
  display: flex;
  gap: 4px;
  margin-top: 10px;
  flex-wrap: wrap;
}
.uw-override__preset{
  flex: 1 1 auto;
  min-width: 60px;
  padding: 5px 8px;
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 1px solid var(--c-ink-700, #374151);
  background: transparent;
  color: var(--c-ink-300, #9ca3af);
  cursor: pointer;
  border-radius: 2px;
  transition: all .15s ease;
}
.uw-override__preset:hover{
  border-color: var(--c-amber, #f59e0b);
  color: var(--c-ink-100, #f3f4f6);
}
.uw-override__preset.is-active{
  background: color-mix(in oklab, var(--c-amber, #f59e0b) 18%, transparent);
  border-color: var(--c-amber, #f59e0b);
  color: #fff;
}

/* RESULT CARD — qualitative adjustment summary */
.uw-adj{
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px dashed color-mix(in oklab, var(--c-amber, #f59e0b) 40%, transparent);
  background: color-mix(in oklab, var(--c-amber, #f59e0b) 5%, transparent);
  border-radius: 2px;
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 11px;
  color: var(--c-ink-200, #d1d5db);
  line-height: 1.5;
}
.uw-adj__head{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 4px;
}
.uw-adj__title{
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--c-amber, #f59e0b);
}
.uw-adj__delta{ font-weight: 700; font-size: 13px; }
.uw-adj__delta.is-neg{ color: var(--c-crimson, #ef4444); }
.uw-adj__delta.is-pos{ color: var(--c-go, #22c55e); }
.uw-adj__list{ list-style: none; padding: 0; margin: 0; }
.uw-adj__list li{ display: inline; }
.uw-adj__list li:not(:last-child)::after{ content: " · "; opacity: .5; }

/* =========================================================
   VERDICT SECTION — collapse / expand mechanics
   ========================================================= */

/* Collapsible wrapper. Use grid-template-rows trick for smooth height anim. */
.uw-collapse{
  display: grid;
  grid-template-rows: 1fr;
  transition: grid-template-rows .42s cubic-bezier(.4,0,.2,1), opacity .3s ease;
  opacity: 1;
}
.uw-collapse > *{
  min-height: 0;
}
/* Inner wrapper trick — wrap content to allow overflow:hidden during anim */
.uw-collapse.is-collapsed{
  grid-template-rows: 0fr;
  opacity: 0;
  pointer-events: none;
}

/* Collapse toolbar — top-right pill button */
.uw-collapse__toolbar{
  display: flex;
  justify-content: flex-end;
  margin-bottom: -12px; /* tuck close to hero */
  position: relative;
  z-index: 2;
}
.uw-collapse__btn{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  border: 1px solid var(--c-ink-700, #374151);
  background: color-mix(in oklab, var(--c-ink-900, #111827) 80%, transparent);
  color: var(--c-ink-300, #9ca3af);
  cursor: pointer;
  border-radius: 2px;
  transition: all .15s ease;
}
.uw-collapse__btn:hover{
  border-color: var(--c-amber, #f59e0b);
  color: var(--c-ink-100, #f3f4f6);
}
.uw-collapse__btn-icon{
  font-size: 14px;
  line-height: 1;
  opacity: .8;
}

/* TEASER — slim strip shown when section is collapsed */
.uw-teaser{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 22px;
  margin: 0 0 4px;
  border: 1px solid var(--c-ink-700, #374151);
  background: color-mix(in oklab, var(--c-ink-900, #111827) 60%, transparent);
  color: var(--c-ink-100, #f3f4f6);
  cursor: pointer;
  border-radius: 2px;
  text-align: left;
  font-family: inherit;
  transition: all .2s ease;
  position: relative;
  overflow: hidden;
}
.uw-teaser::before{
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--c-amber, #f59e0b);
  transition: width .2s ease;
}
.uw-teaser:hover{
  border-color: color-mix(in oklab, var(--c-amber, #f59e0b) 50%, var(--c-ink-700));
  background: color-mix(in oklab, var(--c-ink-900, #111827) 75%, transparent);
}
.uw-teaser:hover::before{ width: 5px; }
.uw-teaser__eyebrow{
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 10px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--c-amber, #f59e0b);
  flex: 0 0 auto;
}
.uw-teaser__title{
  flex: 1 1 auto;
  font-size: 16px;
  letter-spacing: 0.02em;
}
.uw-teaser__title b{
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--c-ink-100, #f3f4f6);
}
.uw-teaser__sep{ opacity: .4; margin: 0 6px; }
.uw-teaser__sub{ color: var(--c-ink-300, #9ca3af); font-size: 14px; }
.uw-teaser__cta{
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--c-amber, #f59e0b);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
}
.uw-teaser__chev{
  display: inline-block;
  font-size: 14px;
  line-height: 1;
  transition: transform .2s ease;
}
.uw-teaser:hover .uw-teaser__chev{ transform: translateY(2px); }

@media (max-width: 640px){
  .uw-teaser{ flex-wrap: wrap; padding: 14px 16px; gap: 8px; }
  .uw-teaser__eyebrow{ flex: 0 0 100%; font-size: 9px; }
  .uw-teaser__title{ flex: 1 1 auto; font-size: 14px; }
  .uw-teaser__sub{ font-size: 12px; }
}

/* Verdict teal-page override for chips/slider/teaser */
body.verdict-page .uw-delta-pill,
#underwriting .uw-delta-pill{ /* amber stays - this is a value badge */ }

/* =========================================================
   v30 — Qualitative Signals collapsed-by-default,
   workspace Minimize button. Retires v29 teaser styles
   (left in place but never rendered).
   ========================================================= */

/* QUALITATIVE SIGNALS — <details> styled to look like a one-line summary */
.uw-qual{
  border: 1px solid var(--c-ink-700, #374151);
  background: color-mix(in oklab, var(--c-ink-900, #111827) 50%, transparent);
  border-radius: 2px;
  transition: border-color .2s ease;
}
.uw-qual[open]{
  border-color: color-mix(in oklab, var(--c-amber, #f59e0b) 35%, var(--c-ink-700));
}
.uw-qual__summary{
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 14px;
  font-family: inherit;
  user-select: none;
  transition: background .15s ease;
  outline: none;
}
.uw-qual__summary::-webkit-details-marker{ display: none; }
.uw-qual__summary:hover{
  background: color-mix(in oklab, var(--c-amber, #f59e0b) 5%, transparent);
}
.uw-qual__summary:focus-visible{
  outline: 1px solid var(--c-amber, #f59e0b);
  outline-offset: -1px;
}
.uw-qual__label{
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--c-amber, #f59e0b);
  font-weight: 600;
}
.uw-qual__right{
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.uw-qual__chev{
  font-size: 12px;
  line-height: 1;
  color: var(--c-ink-300, #9ca3af);
  transition: transform .2s ease;
  display: inline-block;
}
.uw-qual[open] .uw-qual__chev{ transform: rotate(180deg); }

/* Pad inner content of details */
.uw-qual > :not(summary){
  padding: 0 14px;
}
.uw-qual > :nth-last-child(1){
  padding-bottom: 14px;
}

/* DEAL NOTES WRAP — collapsible, slime accent (mirrors uw-qual structure) */
.uw-notes-wrap{
  margin-top: 14px;
  border: 1px solid var(--c-ink-700, #374151);
  background: color-mix(in oklab, var(--c-ink-900, #111827) 50%, transparent);
  border-radius: 2px;
  transition: border-color .2s ease;
}
.uw-notes-wrap[open]{
  border-color: color-mix(in oklab, #00e639 30%, var(--c-ink-700));
}
.uw-notes-wrap__summary{
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 14px;
  font-family: inherit;
  user-select: none;
  transition: background .15s ease;
  outline: none;
}
.uw-notes-wrap__summary::-webkit-details-marker{ display: none; }
.uw-notes-wrap__summary:hover{
  background: color-mix(in oklab, #00e639 5%, transparent);
}
.uw-notes-wrap__summary:focus-visible{
  outline: 1px solid #00e639;
  outline-offset: -1px;
}
.uw-notes-wrap__label{
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #00e639;
  font-weight: 600;
}
.uw-notes-wrap__chev{
  font-size: 12px;
  line-height: 1;
  color: var(--c-ink-300, #9ca3af);
  transition: transform .2s ease;
  display: inline-block;
}
.uw-notes-wrap[open] .uw-notes-wrap__chev{ transform: rotate(180deg); }
.uw-notes-wrap > :not(summary){
  padding: 0 14px;
}
.uw-notes-wrap > :nth-last-child(1){
  padding-bottom: 14px;
}
.uw-notes-wrap .uw-notes{
  width: 100%;
  margin-top: 10px;
}

/* WORKSPACE ACTIONS — change-type + minimize */
.uw-selected__actions{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.uw-selected__minimize{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  border: 1px solid var(--c-ink-700, #374151);
  background: transparent;
  color: var(--c-ink-300, #9ca3af);
  cursor: pointer;
  border-radius: 2px;
  transition: all .15s ease;
}
.uw-selected__minimize:hover{
  border-color: var(--c-amber, #f59e0b);
  color: var(--c-ink-100, #f3f4f6);
}
.uw-selected__minimize-label{ font-weight: 600; }
@media (max-width: 640px){
  .uw-selected__minimize-label{ display: none; }
  .uw-selected__minimize{ padding: 6px 8px; }
}

/* Workspace expand/collapse animation */
.uw-workspace{
  animation: uw-ws-in .35s cubic-bezier(.4,0,.2,1);
}
@keyframes uw-ws-in {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ---------------------------------------------------------------
   v31 — Stacked footer lockup (faithful to brand reference)
   DEALCAP big, USA below flanked by horizontal rules, tagline beneath.
   Used only for .dc-lockup--stacked. Nav and other inline uses keep
   the standard one-line .dc-word treatment.
   --------------------------------------------------------------- */
.dc-lockup--stacked{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
}
.dc-lockup--stacked .dc-stacked-row{
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.dc-lockup--stacked .dc-mark{
  width: 54px;
  height: 46px;
}
.dc-lockup--stacked .dc-word{
  font-size: 36px;
  letter-spacing: 0.08em;
  font-weight: 300;
  line-height: 1;
}
.dc-lockup--stacked .dc-word__brand{
  color: var(--c-ink-100, #dfe3ec);
}
/* USA sub with horizontal rules on either side */
.dc-lockup--stacked .dc-stacked__sub{
  display: flex;
  align-items: center;
  align-self: stretch;
  gap: 12px;
  margin-top: 2px;
}
.dc-lockup--stacked .dc-stacked__sub::before,
.dc-lockup--stacked .dc-stacked__sub::after{
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: rgba(255, 176, 32, 0.32); /* amber rule, low intensity */
}
.dc-lockup--stacked .dc-stacked__sub-text{
  font-family: 'Sora', 'Inter', sans-serif;
  font-weight: 300;
  letter-spacing: 0.28em;
  font-size: 15px;
  color: var(--c-amber, #ffb020);
  text-transform: uppercase;
  white-space: nowrap;
  padding: 0 4px;
}
.dc-lockup--stacked .dc-stacked__tagline{
  font-family: 'Sora', 'Inter', sans-serif;
  font-weight: 300;
  letter-spacing: 0.28em;
  font-size: 12px;
  color: var(--c-ink-300, #8892a8);
  text-transform: uppercase;
  align-self: stretch;
  text-align: center;
}

@media (max-width: 640px){
  .dc-lockup--stacked .dc-mark{ width: 42px; height: 36px; }
  .dc-lockup--stacked .dc-word{ font-size: 26px; }
  .dc-lockup--stacked .dc-stacked__sub-text{ font-size: 12px; letter-spacing: 0.24em; }
  .dc-lockup--stacked .dc-stacked__tagline{ font-size: 10px; letter-spacing: 0.22em; }
}

/* ---------------------------------------------------------------
   v33 — Netlify Forms submission states (EMD pilot)
   --------------------------------------------------------------- */
.lf-success.lf-error{
  border-color: rgba(239, 68, 68, 0.45);
  background: rgba(239, 68, 68, 0.08);
}
.lf-success.lf-error .lf-success__title{ color: #ef4444; }
.lf-submit:disabled{
  opacity: 0.55;
  cursor: progress;
  filter: saturate(0.7);
}

/* ===============================================================
   v34 — Form chips · Review pane · Mobile fixes
   =============================================================== */

/* ---- File chips (multi-upload, removable) ---- */
.lf-files { display: flex; flex-direction: column; gap: 10px; }
.lf-file__hint {
  display: block;
  color: rgba(245,245,241,0.42);
  font-size: 10px;
  letter-spacing: 0.06em;
  margin-top: 4px;
}
.lf-chips {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.lf-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px 8px 12px;
  background: rgba(217,156,36,0.08);
  border: 1px solid rgba(217,156,36,0.35);
  border-radius: 999px;
  font-size: 12px;
  letter-spacing: 0.02em;
  color: #f5f5f1;
  max-width: 100%;
}
.lf-chip__icon { font-size: 13px; opacity: 0.9; }
.lf-chip__name {
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lf-chip__size {
  color: rgba(245,245,241,0.55);
  font-size: 10.5px;
  font-variant-numeric: tabular-nums;
}
.lf-chip__x {
  appearance: none;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.18);
  color: #f5f5f1;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  padding: 0;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.lf-chip__x:hover {
  background: rgba(239,68,68,0.14);
  border-color: rgba(239,68,68,0.55);
  color: #ef4444;
}
.lf-files.has-files .lf-file { padding-top: 14px; padding-bottom: 14px; }

/* ---- Stage transitions (edit ↔ review) ---- */
.lf-stage[hidden] { display: none !important; }
.lf-stage--review { animation: lfFadeIn .25s ease; }
@keyframes lfFadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ---- Review pane ---- */
.lf-review__head {
  text-align: center;
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(245,245,241,0.10);
}
.lf-review__eyebrow {
  display: inline-block;
  font-size: 10px;
  letter-spacing: 0.32em;
  color: var(--c-amber, #d99c24);
  margin-bottom: 8px;
  font-weight: 600;
}
.lf-review__title {
  font-size: 22px;
  letter-spacing: 0.01em;
  margin: 0 0 8px;
  color: #f5f5f1;
  font-weight: 500;
}
.lf-review__sub {
  font-size: 13px;
  color: rgba(245,245,241,0.62);
  max-width: 480px;
  margin: 0 auto;
  line-height: 1.55;
}
.lf-review__sub strong { color: #f5f5f1; font-weight: 600; }

.lf-review__body { display: flex; flex-direction: column; gap: 16px; }

.lf-rv__group {
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(245,245,241,0.08);
  border-radius: 10px;
  padding: 18px 18px 6px;
}
.lf-rv__group-title {
  font-size: 11px;
  letter-spacing: 0.22em;
  font-weight: 600;
  color: var(--c-amber, #d99c24);
  margin: 0 0 14px;
  text-transform: uppercase;
}
.lf-rv__rows { display: flex; flex-direction: column; gap: 10px; }
.lf-rv__row {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 16px;
  padding: 8px 0;
  border-bottom: 1px dashed rgba(245,245,241,0.06);
}
.lf-rv__row:last-child { border-bottom: none; }
.lf-rv__label {
  font-size: 11px;
  letter-spacing: 0.12em;
  color: rgba(245,245,241,0.55);
  text-transform: uppercase;
  font-weight: 500;
  padding-top: 1px;
}
.lf-rv__val {
  color: #f5f5f1;
  font-size: 14px;
  word-break: break-word;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.lf-rv__muted { color: rgba(245,245,241,0.35); font-style: italic; }
.lf-rv__file {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 10px;
  background: rgba(217,156,36,0.08);
  border: 1px solid rgba(217,156,36,0.28);
  border-radius: 6px;
  font-size: 12.5px;
  width: fit-content;
  max-width: 100%;
}
.lf-rv__file em {
  font-style: normal;
  color: rgba(245,245,241,0.55);
  font-size: 10.5px;
  font-variant-numeric: tabular-nums;
}

/* ---- Review actions ---- */
.lf-review__actions {
  display: flex;
  gap: 12px;
  margin: 24px 0 8px;
}
.lf-btn {
  appearance: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.14em;
  padding: 16px 22px;
  border-radius: 8px;
  transition: filter .15s ease, transform .1s ease, background .15s ease, border-color .15s ease;
}
.lf-btn--ghost {
  background: transparent;
  border: 1px solid rgba(245,245,241,0.22);
  color: #f5f5f1;
  flex: 0 0 auto;
}
.lf-btn--ghost:hover {
  border-color: rgba(245,245,241,0.45);
  background: rgba(245,245,241,0.04);
}
.lf-btn--primary {
  flex: 1;
  background: var(--c-amber, #d99c24);
  color: #0e0e0e;
}
.lf-btn--primary:hover { filter: brightness(1.08); }
.lf-btn--primary:active { transform: translateY(1px); }
.lf-btn--primary:disabled { opacity: 0.55; cursor: progress; filter: saturate(0.7); }

/* ---- Mobile fixes ---- */
@media (max-width: 720px) {
  /* Stack review label/value vertically on small screens so long values don't overflow */
  .lf-rv__row {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 10px 0;
  }
  .lf-rv__label { font-size: 10px; }
  .lf-rv__val { font-size: 13.5px; }

  /* Chip name shouldn't crowd out the × button on narrow screens */
  .lf-chip__name { max-width: 140px; }
  .lf-chip { font-size: 11.5px; }

  /* Drawer body owns the scroll on mobile — keep form steady */
  .drawer__body {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    scroll-behavior: smooth;
  }

  /* iOS Safari: large dynamic-viewport sizing keeps the drawer pinned through the address bar */
  .drawer.is-open {
    height: 100vh;
    height: 100dvh;
  }

  /* Stack the review action buttons */
  .lf-review__actions {
    flex-direction: column-reverse;
  }
  .lf-btn--ghost { width: 100%; }

  /* Tighter review padding on phones */
  .lf-rv__group { padding: 14px 14px 4px; }
  .lf-review__head { margin-bottom: 16px; padding-bottom: 14px; }
  .lf-review__title { font-size: 18px; }
  .lf-review__sub { font-size: 12px; }

  /* Submit button — full-width tap target */
  .lf-submit { width: 100%; }

  /* Avoid iOS auto-zoom on focus by ensuring inputs are at least 16px */
  .lf-input, .lf-select, .lf-textarea { font-size: 16px; }
}

/* iOS file input — ensure the label takes the full click area */
.lf-file { -webkit-tap-highlight-color: transparent; }

/* ============================================================
   v35 — VERDICT page teal theme + landing CTA card
   ============================================================ */

/* --- LANDING PAGE: VERDICT CTA CARD --- */
.verdict-cta-glow {
  background:
    radial-gradient(60% 50% at 75% 50%, rgba(94,234,212,0.10), transparent 70%),
    radial-gradient(50% 40% at 20% 60%, rgba(245,158,11,0.06), transparent 70%);
  pointer-events: none;
}
.section-header__index--teal { color: #5eead4 !important; }
.text-teal { color: #5eead4; }
.bg-teal { background-color: #5eead4; }
.border-teal { border-color: #5eead4; }
.selection\:bg-teal::selection { background-color: #5eead4; }
.glow-teal {
  text-shadow: 0 0 22px rgba(94,234,212,0.35), 0 0 4px rgba(94,234,212,0.55);
}
.glow-amber {
  text-shadow: 0 0 22px rgba(245,158,11,0.35), 0 0 4px rgba(245,158,11,0.55);
}

.verdict-card {
  margin-top: 32px;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 0;
  border: 1px solid rgba(94,234,212,0.28);
  background: linear-gradient(180deg, rgba(94,234,212,0.04), rgba(12,10,9,0.4));
  position: relative;
  overflow: hidden;
}
.verdict-card::before {
  content: "";
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, transparent 0%, rgba(94,234,212,0.6) 50%, transparent 100%) top/100% 1px no-repeat,
    linear-gradient(90deg, transparent 0%, rgba(94,234,212,0.6) 50%, transparent 100%) bottom/100% 1px no-repeat;
  pointer-events: none;
}
@media (max-width: 900px) {
  .verdict-card { grid-template-columns: 1fr; }
}

.verdict-card__visual {
  position: relative;
  padding: 32px 28px;
  border-right: 1px solid rgba(94,234,212,0.18);
  background:
    radial-gradient(80% 60% at 50% 0%, rgba(94,234,212,0.10), transparent 75%),
    repeating-linear-gradient(
      0deg,
      transparent 0px, transparent 24px,
      rgba(94,234,212,0.04) 24px, rgba(94,234,212,0.04) 25px
    );
}
@media (max-width: 900px) {
  .verdict-card__visual { border-right: 0; border-bottom: 1px solid rgba(94,234,212,0.18); }
}
.verdict-card__badge {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: "JetBrains Mono", monospace;
  font-size: 10px; letter-spacing: 0.25em; text-transform: uppercase;
  color: #5eead4; margin-bottom: 18px;
}
.verdict-card__badge-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: #5eead4;
  box-shadow: 0 0 8px rgba(94,234,212,0.7);
  animation: pulse 2s ease-in-out infinite;
}
.verdict-card__mock {
  border: 1px solid rgba(94,234,212,0.35);
  background: rgba(12,10,9,0.85);
  padding: 18px 20px;
  font-family: "JetBrains Mono", monospace;
  box-shadow: 0 8px 32px -16px rgba(94,234,212,0.4);
}
.verdict-card__mock-head {
  display: flex; align-items: center; justify-content: space-between;
  font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase;
  color: #a8a29e; padding-bottom: 12px; border-bottom: 1px solid rgba(94,234,212,0.18);
}
.verdict-card__mock-type { color: #5eead4; font-weight: 700; }
.verdict-card__mock-pass {
  background: #22c55e; color: #0c0a09;
  padding: 3px 8px; font-weight: 700; font-size: 10px;
  letter-spacing: 0.15em;
}
.verdict-card__mock-score { padding: 16px 0; }
.verdict-card__mock-score-num {
  font-family: "Space Grotesk", sans-serif;
  font-size: 56px; line-height: 1; font-weight: 700;
  color: #5eead4;
  text-shadow: 0 0 24px rgba(94,234,212,0.35);
}
.verdict-card__mock-score-num span { font-size: 18px; color: #57534e; margin-left: 4px; }
.verdict-card__mock-score-bar {
  margin-top: 10px;
  height: 4px; background: rgba(94,234,212,0.12);
  position: relative;
}
.verdict-card__mock-score-bar span {
  position: absolute; left: 0; top: 0; height: 100%;
  background: linear-gradient(90deg, #5eead4, #22d3ee);
  box-shadow: 0 0 8px rgba(94,234,212,0.6);
}
.verdict-card__mock-score-label {
  margin-top: 8px;
  font-size: 9px; color: #78716c; letter-spacing: 0.2em; text-transform: uppercase;
}
.verdict-card__mock-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px;
  padding: 14px 0 4px; border-top: 1px solid rgba(94,234,212,0.18);
}
.verdict-card__mock-k {
  font-size: 9px; color: #78716c; letter-spacing: 0.18em; text-transform: uppercase;
}
.verdict-card__mock-v {
  font-size: 14px; color: #f5f5f4; font-weight: 600; margin-top: 4px;
}
.verdict-card__mock-v--go { color: #22c55e; }
.verdict-card__mock-foot {
  margin-top: 12px; padding-top: 10px;
  border-top: 1px dashed rgba(94,234,212,0.18);
  font-size: 9px; color: #57534e; letter-spacing: 0.18em; text-transform: uppercase;
}

.verdict-card__pitch {
  padding: 32px 28px;
  display: flex; flex-direction: column; justify-content: center;
}
.verdict-card__chips {
  display: flex; flex-wrap: wrap; gap: 6px;
  margin-bottom: 18px;
}
.verdict-card__chip {
  font-family: "JetBrains Mono", monospace;
  font-size: 9px; letter-spacing: 0.18em; text-transform: uppercase;
  color: #5eead4;
  padding: 4px 8px; border: 1px solid rgba(94,234,212,0.3);
  background: rgba(94,234,212,0.05);
}
.verdict-card__title {
  font-family: "Space Grotesk", sans-serif;
  font-size: 32px; font-weight: 700; line-height: 1.05;
  color: #f5f5f4; margin-bottom: 12px;
  letter-spacing: -0.01em;
}
.verdict-card__copy {
  color: #a8a29e; font-size: 15px; line-height: 1.55;
  margin-bottom: 18px;
}
.verdict-card__list {
  list-style: none; padding: 0; margin: 0 0 22px;
  display: flex; flex-direction: column; gap: 10px;
}
.verdict-card__list li {
  display: flex; gap: 10px; align-items: flex-start;
  font-size: 13px; color: #d6d3d1; line-height: 1.5;
}
.verdict-card__list li strong { color: #f5f5f4; font-weight: 600; }
.verdict-card__tick { color: #5eead4; font-size: 14px; flex: 0 0 14px; line-height: 1.4; }
.verdict-card__cta-row {
  display: flex; flex-wrap: wrap; align-items: center; gap: 14px;
}
.verdict-card__cta-meta {
  font-family: "JetBrains Mono", monospace;
  font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase;
  color: #78716c;
}

/* --- TEAL BUTTON VARIANT --- */
.btn-zero--teal {
  background: #5eead4 !important;
  color: #0c0a09 !important;
  border-color: #5eead4 !important;
}
.btn-zero--teal:hover {
  background: #99f6e4 !important;
  border-color: #99f6e4 !important;
  box-shadow: 0 0 24px rgba(94,234,212,0.5) !important;
}
.btn-zero--amber {
  background: #f59e0b !important;
  color: #0c0a09 !important;
  border-color: #f59e0b !important;
}
.btn-zero--amber:hover {
  background: #fbbf24 !important;
  border-color: #fbbf24 !important;
  box-shadow: 0 0 24px rgba(245,158,11,0.5) !important;
}

/* --- VERDICT PAGE TEAL THEME (applies to .verdict-page--teal scope) --- */
/* Swap embedded tool's amber → teal on the dedicated /verdict page */
.verdict-page--teal .text-amber { color: #5eead4 !important; }
.verdict-page--teal .bg-amber { background-color: #5eead4 !important; }
.verdict-page--teal .border-amber { border-color: #5eead4 !important; }
.verdict-page--teal .border-amber\/30 { border-color: rgba(94,234,212,0.3) !important; }
.verdict-page--teal .border-amber\/40 { border-color: rgba(94,234,212,0.4) !important; }
.verdict-page--teal .bg-amber\/20 { background-color: rgba(94,234,212,0.2) !important; }
.verdict-page--teal .glow-amber {
  text-shadow: 0 0 22px rgba(94,234,212,0.35), 0 0 4px rgba(94,234,212,0.55) !important;
  color: #5eead4 !important;
}
.verdict-page--teal .selection\:bg-amber::selection { background-color: #5eead4 !important; color: #0c0a09 !important; }

/* Verdict tool internals — swap amber accents to teal */
.verdict-page--teal .verdict-hero__dot { background: #5eead4 !important; box-shadow: 0 0 8px rgba(94,234,212,0.7) !important; }
.verdict-page--teal .verdict-hero__brand { color: #5eead4 !important; text-shadow: 0 0 22px rgba(94,234,212,0.35) !important; }
.verdict-page--teal .verdict-hero__sep { color: #5eead4 !important; }
.verdict-page--teal .uw-strip__confirm {
  background: #5eead4 !important; color: #0c0a09 !important;
  border-color: #5eead4 !important;
}
.verdict-page--teal .uw-strip__confirm:hover {
  background: #99f6e4 !important; border-color: #99f6e4 !important;
}
.verdict-page--teal .uw-chip:hover,
.verdict-page--teal .uw-chip.is-active { border-color: #5eead4 !important; color: #5eead4 !important; }
.verdict-page--teal .uw-chip--pos { border-color: rgba(94,234,212,0.5) !important; }
.verdict-page--teal .uw-tool-btn--accent {
  background: #5eead4 !important; color: #0c0a09 !important;
  border-color: #5eead4 !important;
}

/* Nav border swap */
.verdict-page--teal .nav-badge {
  background: #5eead4 !important; color: #0c0a09 !important;
}

/* Process timeline beats — teal accents on /verdict */
.verdict-page--teal .beat__chip { border-color: rgba(94,234,212,0.3) !important; color: #5eead4 !important; }
.verdict-page--teal .beat__chip--go { background: rgba(34,197,94,0.1) !important; color: #22c55e !important; border-color: rgba(34,197,94,0.4) !important; }
.verdict-page--teal .beat__sla { color: #5eead4 !important; }
.verdict-page--teal .beat__node { border-color: rgba(94,234,212,0.4) !important; color: #5eead4 !important; }
.verdict-page--teal .process-timeline__rail-fill { background: linear-gradient(90deg, rgba(94,234,212,0.15), rgba(94,234,212,0.5), rgba(94,234,212,0.15)) !important; }

/* --- VERDICT PAGE FUND CTA SECTION (amber on teal page) --- */
.radial-pulse-amber {
  background: radial-gradient(circle at 50% 50%, rgba(245,158,11,0.15), transparent 60%);
  animation: pulse 4s ease-in-out infinite;
}
.verdict-fund-cta {
  text-align: center;
  padding: 24px 0;
}
.verdict-fund-cta__eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: "JetBrains Mono", monospace;
  font-size: 11px; letter-spacing: 0.3em; text-transform: uppercase;
  color: #f59e0b; margin-bottom: 24px;
}
.verdict-fund-cta__dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: #f59e0b; box-shadow: 0 0 8px rgba(245,158,11,0.7);
  animation: pulse 2s ease-in-out infinite;
}
.verdict-fund-cta__title {
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(32px, 5vw, 56px);
  font-weight: 700; line-height: 1.0;
  color: #f5f5f4; letter-spacing: -0.02em;
  margin-bottom: 18px;
}
.verdict-fund-cta__sub {
  color: #a8a29e; font-size: 17px; line-height: 1.6;
  max-width: 640px; margin: 0 auto 28px;
}
.verdict-fund-cta__row {
  display: flex; flex-wrap: wrap; gap: 14px; justify-content: center;
  margin-bottom: 24px;
}
.verdict-fund-cta__chips {
  display: flex; flex-wrap: wrap; gap: 8px; justify-content: center;
}
.verdict-fund-cta__chip {
  font-family: "JetBrains Mono", monospace;
  font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase;
  color: #f59e0b;
  padding: 5px 10px; border: 1px solid rgba(245,158,11,0.3);
  background: rgba(245,158,11,0.05);
}

/* --- MOBILE TWEAKS for verdict card --- */
@media (max-width: 640px) {
  .verdict-card__visual,
  .verdict-card__pitch { padding: 24px 20px; }
  .verdict-card__title { font-size: 26px; }
  .verdict-card__mock-score-num { font-size: 44px; }
  .verdict-card__mock-grid { grid-template-columns: repeat(2, 1fr); }
  .verdict-card__cta-row { flex-direction: column; align-items: stretch; }
  .verdict-card__cta-meta { text-align: center; }
}

/* ============================================================
   v52j — VERDICT CINEMATIC STAGE (trailer-style preview)
   Replaces the rotator with a single auto-playing sequence.
   ============================================================ */
.vr-cine {
  position: relative;
  border: 1px solid rgba(94,234,212,0.32);
  background:
    linear-gradient(180deg, rgba(94,234,212,0.04) 0%, rgba(12,10,9,0.96) 60%),
    rgba(8,7,6,0.95);
  padding: 22px 22px 20px;
  font-family: "JetBrains Mono", monospace;
  box-shadow:
    0 12px 40px -18px rgba(94,234,212,0.45),
    inset 0 0 60px -20px rgba(94,234,212,0.18);
  overflow: hidden;
  min-height: 380px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.vr-cine::before {
  /* faint grid texture */
  content: "";
  position: absolute; inset: 0;
  background:
    repeating-linear-gradient(0deg, transparent 0 23px, rgba(94,234,212,0.045) 23px 24px),
    repeating-linear-gradient(90deg, transparent 0 23px, rgba(94,234,212,0.045) 23px 24px);
  pointer-events: none;
  opacity: 0.7;
}

/* REC indicator next to badge */
.vr-cine__rec {
  display: inline-flex; align-items: center; gap: 5px;
  margin-left: auto;
  font-size: 9px; letter-spacing: 0.22em; color: #ef4444;
  font-weight: 700;
}
.vr-cine__rec-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: #ef4444; box-shadow: 0 0 8px rgba(239,68,68,0.8);
  animation: vrRecBlink 1.2s ease-in-out infinite;
}
@keyframes vrRecBlink { 0%,100% { opacity: 1; } 50% { opacity: 0.25; } }
.verdict-card__badge { display: flex; align-items: center; }

/* Corner brackets */
.vr-cine__bracket {
  position: absolute; width: 18px; height: 18px; pointer-events: none;
  border: 2px solid #5eead4;
  box-shadow: 0 0 12px rgba(94,234,212,0.5);
}
.vr-cine__bracket--tl { top: 8px; left: 8px; border-right: 0; border-bottom: 0; }
.vr-cine__bracket--tr { top: 8px; right: 8px; border-left: 0; border-bottom: 0; }
.vr-cine__bracket--bl { bottom: 8px; left: 8px; border-right: 0; border-top: 0; }
.vr-cine__bracket--br { bottom: 8px; right: 8px; border-left: 0; border-top: 0; }

/* Scanline */
.vr-cine__scan {
  position: absolute; left: 0; right: 0; top: 0; height: 60px;
  background: linear-gradient(180deg, rgba(94,234,212,0.18) 0%, transparent 100%);
  pointer-events: none;
  animation: vrScan 6s ease-in-out infinite;
}
@keyframes vrScan {
  0%   { transform: translateY(-60px); opacity: 0; }
  15%  { opacity: 1; }
  85%  { opacity: 1; }
  100% { transform: translateY(380px); opacity: 0; }
}

/* Title row */
.vr-cine__title {
  position: relative; z-index: 1;
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(94,234,212,0.18);
}
.vr-cine__title-type { color: #f59e0b; font-weight: 700; }
.vr-cine__title-sep { color: #57534e; }
.vr-cine__title-addr { color: #f5f5f4; font-weight: 600; min-height: 1em; }
.vr-cine__caret {
  color: #5eead4; margin-left: -4px;
  animation: vrCaret 0.6s steps(1) infinite;
}
.vr-cine[data-stage="verdict"] .vr-cine__caret,
.vr-cine[data-stage="stamp"]   .vr-cine__caret { display: none; }
@keyframes vrCaret { 50% { opacity: 0; } }

/* Intake row */
.vr-cine__intake {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;
}
.vr-cine__cell {
  border: 1px solid rgba(94,234,212,0.18);
  background: rgba(94,234,212,0.04);
  padding: 10px 12px;
  transition: border-color 0.3s ease, background 0.3s ease;
}
.vr-cine__cell.is-live {
  border-color: rgba(94,234,212,0.5);
  background: rgba(94,234,212,0.08);
  box-shadow: 0 0 16px -4px rgba(94,234,212,0.35);
}
.vr-cine__k {
  font-size: 9px; color: #78716c; letter-spacing: 0.2em; text-transform: uppercase;
}
.vr-cine__v {
  font-family: "Space Grotesk", sans-serif;
  font-size: 18px; color: #f5f5f4; font-weight: 700;
  margin-top: 4px;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
}

/* Calculating block */
.vr-cine__calc {
  position: relative; z-index: 1;
  border-top: 1px dashed rgba(94,234,212,0.18);
  padding-top: 12px;
}
.vr-cine__calc-head {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase;
  margin-bottom: 8px;
}
.vr-cine__calc-label { color: #5eead4; }
.vr-cine[data-stage="verdict"] .vr-cine__calc-label,
.vr-cine[data-stage="stamp"]   .vr-cine__calc-label { color: #22c55e; }
.vr-cine__calc-count { color: #78716c; }
.vr-cine__calc-count span { color: #5eead4; font-weight: 700; }

.vr-cine__lanes {
  display: flex; flex-wrap: wrap; gap: 5px;
  margin-bottom: 10px;
}
.vr-cine__lane {
  font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase;
  padding: 3px 7px;
  border: 1px solid rgba(94,234,212,0.15);
  background: rgba(94,234,212,0.03);
  color: #57534e;
  transition: all 0.25s ease;
}
.vr-cine__lane.is-on {
  border-color: rgba(94,234,212,0.55);
  background: rgba(94,234,212,0.12);
  color: #5eead4;
  box-shadow: 0 0 10px -2px rgba(94,234,212,0.5);
}

.vr-cine__progress {
  height: 3px; background: rgba(94,234,212,0.08);
  position: relative; overflow: hidden;
}
.vr-cine__progress span {
  display: block; height: 100%; width: 0%;
  background: linear-gradient(90deg, #5eead4, #22d3ee);
  box-shadow: 0 0 8px rgba(94,234,212,0.6);
  transition: width 0.18s linear;
}

/* Verdict reveal */
.vr-cine__verdict {
  position: relative; z-index: 1;
  opacity: 0; transform: translateY(8px);
  transition: opacity 0.5s ease, transform 0.5s ease;
  padding-top: 4px;
}
.vr-cine[data-stage="verdict"] .vr-cine__verdict,
.vr-cine[data-stage="stamp"]   .vr-cine__verdict {
  opacity: 1; transform: translateY(0);
}
.vr-cine__score { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; }
.vr-cine__score-num {
  font-family: "Space Grotesk", sans-serif;
  font-size: 48px; line-height: 1; font-weight: 700;
  color: #5eead4;
  text-shadow: 0 0 24px rgba(94,234,212,0.4);
  font-variant-numeric: tabular-nums;
}
.vr-cine__score-num span { font-size: 16px; color: #57534e; margin-left: 4px; }
.vr-cine__score-bar {
  height: 4px; background: rgba(94,234,212,0.12); position: relative;
}
.vr-cine__score-bar span {
  position: absolute; left: 0; top: 0; height: 100%; width: 0%;
  background: linear-gradient(90deg, #5eead4, #22d3ee);
  box-shadow: 0 0 8px rgba(94,234,212,0.6);
  transition: width 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}
.vr-cine__score-label {
  font-size: 9px; color: #78716c; letter-spacing: 0.2em; text-transform: uppercase;
}

.vr-cine__metrics {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px;
}
.vr-cine__metric {
  opacity: 0; transform: translateY(6px);
  transition: opacity 0.35s ease, transform 0.35s ease;
  border-left: 2px solid rgba(94,234,212,0.4);
  padding-left: 8px;
}
.vr-cine__metric.is-in { opacity: 1; transform: translateY(0); }
.vr-cine__mk {
  font-size: 9px; color: #78716c; letter-spacing: 0.18em; text-transform: uppercase;
}
.vr-cine__mv {
  font-family: "Space Grotesk", sans-serif;
  font-size: 15px; color: #f5f5f4; font-weight: 700; margin-top: 3px;
  font-variant-numeric: tabular-nums;
}
.vr-cine__mv--go { color: #22c55e; }

/* PASS stamp — drops in dramatically */
.vr-cine__stamp {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%) rotate(-8deg) scale(2.2);
  opacity: 0;
  pointer-events: none;
  z-index: 3;
  text-align: center;
  display: flex; flex-direction: column; gap: 4px;
  padding: 14px 26px;
  border: 3px solid #22c55e;
  background: rgba(34,197,94,0.08);
  box-shadow:
    0 0 0 2px rgba(34,197,94,0.2),
    0 0 60px rgba(34,197,94,0.45),
    inset 0 0 30px rgba(34,197,94,0.15);
}
.vr-cine__stamp-line {
  font-size: 10px; letter-spacing: 0.35em; color: #5eead4;
  font-weight: 700;
}
.vr-cine__stamp-pass {
  font-family: "Space Grotesk", sans-serif;
  font-size: 52px; font-weight: 800; line-height: 1;
  color: #22c55e;
  letter-spacing: 0.04em;
  text-shadow: 0 0 20px rgba(34,197,94,0.5);
}
.vr-cine[data-stage="stamp"] .vr-cine__stamp {
  animation: vrStampIn 0.55s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
@keyframes vrStampIn {
  0%   { opacity: 0; transform: translate(-50%, -50%) rotate(-8deg) scale(2.4); }
  60%  { opacity: 1; transform: translate(-50%, -50%) rotate(-8deg) scale(0.92); }
  100% { opacity: 1; transform: translate(-50%, -50%) rotate(-8deg) scale(1); }
}

/* Reduced motion — still readable, no animation */
@media (prefers-reduced-motion: reduce) {
  .vr-cine__scan, .vr-cine__rec-dot, .vr-cine__caret { animation: none; }
  .vr-cine[data-stage="stamp"] .vr-cine__stamp { animation: none; opacity: 1; transform: translate(-50%, -50%) rotate(-8deg) scale(1); }
}

/* Mobile tuning */
@media (max-width: 640px) {
  .vr-cine { min-height: 360px; padding: 18px 16px 16px; }
  .vr-cine__intake { grid-template-columns: repeat(3, 1fr); gap: 6px; }
  .vr-cine__cell { padding: 8px 9px; }
  .vr-cine__v { font-size: 14px; }
  .vr-cine__score-num { font-size: 40px; }
  .vr-cine__metrics { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .vr-cine__stamp-pass { font-size: 40px; }
  .vr-cine__title { font-size: 11px; }
}
@media (max-width: 380px) {
  .vr-cine__lane { font-size: 8px; padding: 2px 5px; letter-spacing: 0.1em; }
}

/* ============================================================
   v52k — Trailer expansion: 3 deals rotation (PASS/CAUTION/FAIL)
   Adds: deal counter chip, warn/fail lane chip variants,
   warn/fail metric tones, per-verdict stamp + score color
   ============================================================ */
.vr-cine__counter {
  position: absolute;
  top: 14px; right: 16px;
  z-index: 2;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 12px;
  letter-spacing: 0.22em;
  color: #ffffff;
  background: rgba(94,234,212,0.18);
  border: 1px solid rgba(94,234,212,0.55);
  border-radius: 4px;
  padding: 5px 11px;
  font-weight: 700;
  box-shadow: 0 0 12px rgba(94,234,212,0.25);
  display: flex; align-items: center; gap: 8px;
}
.vr-cine__counter span { color: #5eead4; }
.vr-cine__counter::after {
  content: "";
  display: inline-block;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #5eead4;
  box-shadow: 0 0 8px rgba(94,234,212,0.7);
  animation: vrCineDot 1.2s ease-in-out infinite;
}
@keyframes vrCineDot {
  0%, 100% { opacity: 0.35; }
  50%      { opacity: 1; }
}
/* Counter color shifts with verdict */
.vr-cine[data-verdict="caution"] .vr-cine__counter {
  border-color: rgba(245,158,11,0.55);
  background: rgba(245,158,11,0.18);
  box-shadow: 0 0 12px rgba(245,158,11,0.25);
}
.vr-cine[data-verdict="caution"] .vr-cine__counter span { color: #f59e0b; }
.vr-cine[data-verdict="caution"] .vr-cine__counter::after {
  background: #f59e0b;
  box-shadow: 0 0 8px rgba(245,158,11,0.7);
}
.vr-cine[data-verdict="fail"] .vr-cine__counter {
  border-color: rgba(239,68,68,0.55);
  background: rgba(239,68,68,0.18);
  box-shadow: 0 0 12px rgba(239,68,68,0.25);
}
.vr-cine[data-verdict="fail"] .vr-cine__counter span { color: #ef4444; }
.vr-cine[data-verdict="fail"] .vr-cine__counter::after {
  background: #ef4444;
  box-shadow: 0 0 8px rgba(239,68,68,0.7);
}

/* Warn lane chip (amber) — v52M opacity bump for legibility */
.vr-cine__lane.is-warn {
  border-color: rgba(245,158,11,0.75);
  background: rgba(245,158,11,0.25);
  color: #f59e0b;
  box-shadow: 0 0 10px rgba(245,158,11,0.35);
}
/* Fail lane chip (red) — v52M opacity bump for legibility */
.vr-cine__lane.is-fail {
  border-color: rgba(239,68,68,0.75);
  background: rgba(239,68,68,0.25);
  color: #ef4444;
  box-shadow: 0 0 10px rgba(239,68,68,0.4);
}

/* Metric value tones */
.vr-cine__mv--warn { color: #f59e0b; }
.vr-cine__mv--fail { color: #ef4444; }

/* Per-verdict stamp + calc-label + score color */
.vr-cine[data-verdict="caution"][data-stage="verdict"] .vr-cine__calc-label,
.vr-cine[data-verdict="caution"][data-stage="stamp"]   .vr-cine__calc-label { color: #f59e0b; }
.vr-cine[data-verdict="fail"][data-stage="verdict"] .vr-cine__calc-label,
.vr-cine[data-verdict="fail"][data-stage="stamp"]   .vr-cine__calc-label { color: #ef4444; }

.vr-cine[data-verdict="caution"] .vr-cine__stamp {
  border-color: #f59e0b;
  background: rgba(245,158,11,0.10);
  box-shadow:
    0 0 0 2px rgba(245,158,11,0.22),
    0 0 60px rgba(245,158,11,0.45),
    inset 0 0 30px rgba(245,158,11,0.15);
}
.vr-cine[data-verdict="caution"] .vr-cine__stamp-line { color: #fcd34d; }
.vr-cine[data-verdict="caution"] .vr-cine__stamp-pass {
  color: #f59e0b;
  text-shadow: 0 0 20px rgba(245,158,11,0.55);
}

.vr-cine[data-verdict="fail"] .vr-cine__stamp {
  border-color: #ef4444;
  background: rgba(239,68,68,0.10);
  box-shadow:
    0 0 0 2px rgba(239,68,68,0.22),
    0 0 60px rgba(239,68,68,0.5),
    inset 0 0 30px rgba(239,68,68,0.15);
}
.vr-cine[data-verdict="fail"] .vr-cine__stamp-line { color: #fca5a5; }
.vr-cine[data-verdict="fail"] .vr-cine__stamp-pass {
  color: #ef4444;
  text-shadow: 0 0 20px rgba(239,68,68,0.55);
}

/* Score number + bar per verdict */
.vr-cine[data-verdict="caution"] .vr-cine__score-num { color: #f59e0b; }
.vr-cine[data-verdict="fail"]    .vr-cine__score-num { color: #ef4444; }
.vr-cine[data-verdict="caution"] .vr-cine__score-bar span {
  background: linear-gradient(90deg, #f59e0b, #fbbf24);
  box-shadow: 0 0 12px rgba(245,158,11,0.45);
}
.vr-cine[data-verdict="fail"] .vr-cine__score-bar span {
  background: linear-gradient(90deg, #ef4444, #f87171);
  box-shadow: 0 0 12px rgba(239,68,68,0.5);
}

/* Score label tone per verdict */
.vr-cine[data-verdict="caution"] .vr-cine__score-label { color: #f59e0b; }
.vr-cine[data-verdict="fail"]    .vr-cine__score-label { color: #ef4444; }

/* Mobile: counter slightly smaller but still visible */
@media (max-width: 640px) {
  .vr-cine__counter { font-size: 10px; padding: 3px 8px; top: 12px; right: 12px; gap: 6px; }
  .vr-cine__counter::after { width: 5px; height: 5px; }
}

/* ============================================================
   v35.1 — VERDICT page hero (full-width desktop) + methodology
   ============================================================ */
.verdict-hero--wide{
  /* Override .verdict-hero--min's 68ch cap so the hero fills the container */
  max-width: none;
}
.verdict-hero--wide .verdict-hero__title{
  /* Bigger, fills the 7xl container on desktop */
  font-size: clamp(2.75rem, 7.4vw, 6.25rem);
  line-height: 0.98;
  letter-spacing: -0.035em;
  max-width: none;
  text-wrap: balance;
}
.verdict-hero--wide .verdict-hero__brand{
  /* Brand word slightly tighter so it doesn't dominate the line */
  letter-spacing: -0.015em;
}
.verdict-hero--wide .verdict-hero__tagline{
  /* Inline with the brand on wide screens; flow naturally */
  display: inline;
  color: var(--c-ink-200);
}
@media (max-width: 900px){
  .verdict-hero--wide .verdict-hero__title{
    font-size: clamp(2.125rem, 8.5vw, 3.25rem);
  }
}

/* Methodology sections (revived from old verdict.html, teal-tuned) */
.method-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 1.5rem 0;
}
@media (max-width: 720px){ .method-grid{ grid-template-columns: 1fr; } }
.method-card{
  border: 1px solid rgba(94,234,212,0.18);
  background: linear-gradient(180deg, rgba(94,234,212,0.04), rgba(94,234,212,0.01));
  padding: 1.25rem 1.25rem 1.1rem;
  border-radius: 2px;
  position: relative;
}
.method-card--warn{
  border-color: rgba(245, 158, 11, 0.25);
  background: linear-gradient(180deg, rgba(245,158,11,0.05), rgba(245,158,11,0.01));
}
.method-card__head{ display:flex; align-items: baseline; gap: 0.75rem; margin-bottom: 0.5rem; }
.method-card__mark{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.65rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #5eead4;
  border: 1px solid rgba(94,234,212,0.35);
  padding: 0.15rem 0.45rem;
  border-radius: 2px;
}
.method-card--warn .method-card__mark{
  color: #f59e0b;
  border-color: rgba(245,158,11,0.4);
}
.method-card__title{
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--c-ink-100);
  letter-spacing: -0.01em;
}
.method-card p{ color: var(--c-ink-300); font-size: 0.94rem; line-height: 1.55; margin: 0; }

.method-callout{
  border: 1px dashed rgba(94,234,212,0.3);
  background: rgba(94,234,212,0.03);
  padding: 0.9rem 1.1rem;
  margin-top: 1.25rem;
  border-radius: 2px;
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.method-callout--quote{ border-style: solid; border-color: rgba(245,158,11,0.3); background: rgba(245,158,11,0.04); }
.method-callout__mark{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.62rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #f59e0b;
  white-space: nowrap;
}
.method-callout p{ color: var(--c-ink-200); font-size: 0.95rem; line-height: 1.55; margin: 0; flex: 1 1 280px; }

.method-sources{ display: flex; flex-direction: column; gap: 0.5rem; margin: 1.5rem 0; }
.source-row{
  display: grid;
  grid-template-columns: minmax(180px, 1.2fr) minmax(120px, 0.8fr) minmax(200px, 2fr);
  gap: 1rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(94,234,212,0.14);
  background: rgba(94,234,212,0.025);
  border-radius: 2px;
  align-items: start;
}
@media (max-width: 820px){ .source-row{ grid-template-columns: 1fr; gap: 0.4rem; } }
.source-row__name{
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
  color: var(--c-ink-100);
  font-size: 0.98rem;
}
.source-row__expr{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.78rem;
  color: #5eead4;
  letter-spacing: 0.02em;
  margin-top: 0.25rem;
}
.source-row__use{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--c-ink-300);
}
.source-row__src{ color: var(--c-ink-300); font-size: 0.86rem; line-height: 1.5; }
.source-row__src a{ color: #5eead4; text-decoration: underline; text-decoration-color: rgba(94,234,212,0.35); text-underline-offset: 2px; }
.source-row__src a:hover{ text-decoration-color: #5eead4; }

.why-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 1.5rem 0;
}
@media (max-width: 820px){ .why-grid{ grid-template-columns: 1fr; } }
.why-card{
  border: 1px solid rgba(94,234,212,0.2);
  background: linear-gradient(180deg, rgba(94,234,212,0.05), rgba(94,234,212,0.01));
  padding: 1.5rem 1.25rem 1.25rem;
  border-radius: 2px;
  position: relative;
  overflow: hidden;
}
.why-card__num{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.7rem;
  letter-spacing: 0.25em;
  color: rgba(94,234,212,0.6);
  margin-bottom: 0.4rem;
}
.why-card__title{
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
  font-size: 1.4rem;
  color: var(--c-ink-100);
  letter-spacing: -0.02em;
  margin-bottom: 0.4rem;
}
.why-card p{ color: var(--c-ink-300); font-size: 0.94rem; line-height: 1.55; margin: 0; }
.why-card em{ color: #5eead4; font-style: normal; font-weight: 600; }

/* Process v35.1 — VERDICT-specific 5-step flow */
.verdict-flow{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 2rem 0 0;
  counter-reset: vflow;
  position: relative;
}
@media (max-width: 1100px){ .verdict-flow{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px){ .verdict-flow{ grid-template-columns: 1fr; } }
.vstep{
  border: 1px solid rgba(94,234,212,0.2);
  background: linear-gradient(180deg, rgba(94,234,212,0.04), rgba(94,234,212,0.01));
  padding: 1.25rem 1.1rem 1.15rem;
  border-radius: 2px;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.vstep--submit{
  border-color: rgba(245,158,11,0.35);
  background: linear-gradient(180deg, rgba(245,158,11,0.07), rgba(245,158,11,0.01));
}
.vstep__num{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.65rem;
  letter-spacing: 0.25em;
  color: #5eead4;
}
.vstep--submit .vstep__num{ color: #f59e0b; }
.vstep__title{
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--c-ink-100);
  letter-spacing: -0.01em;
  line-height: 1.2;
}
.vstep__copy{ color: var(--c-ink-300); font-size: 0.85rem; line-height: 1.5; margin: 0; }
.vstep__icon{
  width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  color: #5eead4;
  margin-bottom: 0.1rem;
}
.vstep--submit .vstep__icon{ color: #f59e0b; }
.vstep__lanes{
  display: flex; flex-wrap: wrap; gap: 0.25rem; margin-top: 0.35rem;
}
.vstep__lane{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 0.18rem 0.4rem;
  border: 1px solid rgba(245,158,11,0.3);
  color: #f59e0b;
  border-radius: 2px;
  background: rgba(245,158,11,0.04);
}

/* ============================================================
   v35.2 — Custom dot cursor + mobile nav + simplified methodology
   ============================================================ */

/* Replace arrow pointer with a tight dot. Falls back gracefully. */
@media (hover: hover) and (pointer: fine){
  html, body{
    cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'><circle cx='7' cy='7' r='3' fill='%23f59e0b' stroke='%23ffffff' stroke-width='1' fill-opacity='0.9'/></svg>") 7 7, default;
  }
  body.verdict-page, body.verdict-page html{
    cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'><circle cx='7' cy='7' r='3' fill='%235eead4' stroke='%23ffffff' stroke-width='1' fill-opacity='0.9'/></svg>") 7 7, default;
  }
  /* Clickable elements: ring around the dot */
  a, button, [role="button"], .nav-link, .lane-card, .uw-strip__item, .vstep, .verdict-hero__how-pill, summary, label, [data-open-drawer], input[type="submit"], input[type="checkbox"]{
    cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'><circle cx='9' cy='9' r='4' fill='%23f59e0b' stroke='%23ffffff' stroke-width='1.2' fill-opacity='0.95'/><circle cx='9' cy='9' r='7.5' fill='none' stroke='%23f59e0b' stroke-width='1' stroke-opacity='0.5'/></svg>") 9 9, pointer;
  }
  body.verdict-page a, body.verdict-page button, body.verdict-page [role="button"],
  body.verdict-page .nav-link, body.verdict-page .uw-strip__item, body.verdict-page .vstep,
  body.verdict-page .verdict-hero__how-pill, body.verdict-page summary, body.verdict-page label{
    cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'><circle cx='9' cy='9' r='4' fill='%235eead4' stroke='%23ffffff' stroke-width='1.2' fill-opacity='0.95'/><circle cx='9' cy='9' r='7.5' fill='none' stroke='%235eead4' stroke-width='1' stroke-opacity='0.5'/></svg>") 9 9, pointer;
  }
  /* Text inputs keep the I-beam — better UX */
  input[type="text"], input[type="email"], input[type="tel"], input[type="number"],
  input[type="search"], input[type="url"], textarea{
    cursor: text;
  }
}

/* ============================================================
   v35.2 — Mobile/tablet nav: ACCESS VERDICT pill in header
   Visible < lg (where desktop nav is hidden)
   ============================================================ */
.nav-mobile-verdict{
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.7rem;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.625rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--c-teal-300, #5eead4);
  border: 1px solid rgba(94,234,212,0.45);
  background: rgba(94,234,212,0.06);
  border-radius: 2px;
  white-space: nowrap;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}
.nav-mobile-verdict:hover, .nav-mobile-verdict:focus-visible{
  background: rgba(94,234,212,0.12);
  border-color: rgba(94,234,212,0.7);
  color: #a7f3e0;
}
.nav-mobile-verdict__dot{
  width: 5px; height: 5px; border-radius: 50%;
  background: #5eead4;
  box-shadow: 0 0 6px rgba(94,234,212,0.8);
  animation: verdictDot 2s ease-in-out infinite;
}
.nav-mobile-verdict__badge{
  font-size: 0.5625rem;
  letter-spacing: 0.16em;
  padding: 0.1rem 0.3rem;
  color: #f59e0b;
  border: 1px solid rgba(245,158,11,0.45);
  border-radius: 2px;
}
/* On the verdict page itself, this nav pill should point home, amber */
body.verdict-page .nav-mobile-verdict{
  color: var(--c-amber);
  border-color: rgba(245,158,11,0.45);
  background: rgba(245,158,11,0.06);
}
body.verdict-page .nav-mobile-verdict:hover{
  background: rgba(245,158,11,0.12);
  color: #fbbf24;
}
body.verdict-page .nav-mobile-verdict__dot{
  background: var(--c-amber);
  box-shadow: 0 0 6px rgba(245,158,11,0.8);
}

/* Tighten the very small screen — show without badge */
@media (max-width: 420px){
  .nav-mobile-verdict__badge{ display: none; }
  .nav-mobile-verdict{ font-size: 0.5625rem; padding: 0.35rem 0.55rem; }
}

/* ============================================================
   v35.2 — Methodology cleanup: flat, aligned, fewer boxes
   ============================================================ */

/* §03 Accuracy: replace 4 boxed cards with a clean 4-row ledger */
.acc-ledger{
  margin: 1.75rem 0 0;
  border-top: 1px solid rgba(94,234,212,0.18);
}
.acc-row{
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 1.5rem;
  align-items: baseline;
  padding: 1.15rem 0;
  border-bottom: 1px solid rgba(94,234,212,0.12);
}
@media (max-width: 640px){
  .acc-row{
    grid-template-columns: 1fr;
    gap: 0.35rem;
    padding: 1rem 0;
  }
}
.acc-row__mark{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.625rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #5eead4;
}
.acc-row__mark--warn{ color: var(--c-amber); }
.acc-row__body{
  font-size: 1rem;
  line-height: 1.55;
  color: var(--c-ink-200);
}
.acc-row__body b{
  display: block;
  color: var(--c-ink-100);
  font-weight: 600;
  font-size: 1.0625rem;
  margin-bottom: 0.15rem;
  letter-spacing: -0.005em;
}
.acc-tldr{
  margin-top: 2rem;
  padding: 1rem 1.15rem;
  border-left: 2px solid #5eead4;
  background: rgba(94,234,212,0.04);
  font-family: "JetBrains Mono", monospace;
  font-size: 0.8125rem;
  color: var(--c-ink-200);
  line-height: 1.6;
}
.acc-tldr b{ color: #5eead4; letter-spacing: 0.05em; }

/* ============================================================
   v36.14af — § 03 Accuracy: cinematic rebuild
   Opener stat · two-column conviction grid · signature line
   ============================================================ */

/* Telemetry line directly under the H2 — quiet engineering readout */
.section-header__telemetry{
  margin-top: 0.65rem;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(94,234,212,0.55);
  line-height: 1.5;
}

/* Hero stat — the cinematic anchor */
.acc-hero{
  margin-top: 2.5rem;
  padding: 1.75rem 1.75rem 2rem;
  border: 1px solid rgba(94,234,212,0.22);
  background:
    linear-gradient(180deg, rgba(94,234,212,0.04) 0%, rgba(94,234,212,0.01) 100%);
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 1.6fr;
  gap: 2.25rem;
  align-items: center;
  position: relative;
}
.acc-hero::before{
  /* Left accent rail — echoes the section-header__index bar */
  content: "";
  position: absolute;
  left: -1px; top: 12%; bottom: 12%;
  width: 2px;
  background: linear-gradient(180deg, transparent 0%, #5eead4 35%, #5eead4 65%, transparent 100%);
  opacity: 0.85;
}
.acc-hero__stat{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  line-height: 1;
}
.acc-hero__num{
  font-family: "JetBrains Mono", monospace;
  font-weight: 700;
  font-size: clamp(2.75rem, 5vw, 3.75rem);
  letter-spacing: -0.02em;
  color: #5eead4;
  font-variant-numeric: tabular-nums;
  text-shadow: 0 0 32px rgba(94,234,212,0.18);
}
.acc-hero__unit{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.625rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(245,246,248,0.55);
}
.acc-hero__copy{
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--c-ink-200);
}
@media (max-width: 720px){
  .acc-hero{
    grid-template-columns: 1fr;
    gap: 1.25rem;
    padding: 1.5rem 1.25rem 1.65rem;
  }
  .acc-hero__copy{ font-size: 1rem; }
}

/* Two-column conviction grid */
.acc-grid{
  margin-top: 2.25rem;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 2.5rem;
}
@media (max-width: 900px){
  .acc-grid{
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}
.acc-col{
  display: flex;
  flex-direction: column;
  gap: 0;
}
.acc-col__head{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #5eead4;
  padding-bottom: 0.75rem;
  margin-bottom: 0.25rem;
  border-bottom: 1px solid rgba(94,234,212,0.18);
}
.acc-col__head--warn{
  color: var(--c-amber);
  border-bottom-color: rgba(245,158,11,0.22);
}

/* Re-use the existing .acc-row pattern — just tighten spacing inside columns */
.acc-grid .acc-row{
  padding: 1.1rem 0;
  border-bottom: 1px solid rgba(94,234,212,0.10);
  grid-template-columns: 78px 1fr;
  gap: 1.25rem;
}
.acc-grid .acc-col:last-child .acc-row{
  border-bottom-color: rgba(245,158,11,0.10);
}
.acc-grid .acc-col .acc-row:last-child{
  border-bottom: none;
}
@media (max-width: 640px){
  .acc-grid .acc-row{
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }
}

/* Per-row micro-stat — mono badge under the body copy */
.acc-row__stat{
  margin-top: 0.55rem;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #5eead4;
  opacity: 0.85;
}
.acc-row__stat--warn{ color: var(--c-amber); }

/* ============================================================
   v36.20e — §03 Accuracy: unified single-column 5-stripe flow
   Replaces .acc-grid two-col split. Confident, not defensive.
   ============================================================ */
.acc-flow{
  margin-top: 2.25rem;
  border-top: 1px solid rgba(94,234,212,0.18);
}
.acc-stripe{
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 1.75rem;
  align-items: baseline;
  padding: 1.5rem 0;
  border-bottom: 1px solid rgba(94,234,212,0.12);
  position: relative;
}
.acc-stripe:last-child{ border-bottom: none; }

.acc-stripe__num{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  color: rgba(94,234,212,0.55);
  text-transform: uppercase;
  line-height: 1.5;
}
.acc-stripe__mark{
  font-family: "JetBrains Mono", monospace;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #5eead4;
  line-height: 1.3;
}
.acc-stripe__body{
  font-size: 1rem;
  line-height: 1.55;
  color: var(--c-ink-200);
}
.acc-stripe__body b{
  display: block;
  color: var(--c-ink-100);
  font-weight: 600;
  font-size: 1.0625rem;
  margin-bottom: 0.2rem;
  letter-spacing: -0.005em;
}
.acc-stripe__stat{
  margin-top: 0.6rem;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #5eead4;
  opacity: 0.85;
}

/* Soft stripes (04 SCOPE / 05 INPUTS) — same structure, slightly
   muted accent. Not amber. Not defensive. Just visually "footnote". */
.acc-stripe--soft .acc-stripe__mark{ color: var(--c-ink-300); }
.acc-stripe--soft .acc-stripe__stat{ color: var(--c-ink-300); opacity: 0.7; }

/* iPad / tablet — tighten gutters */
@media (max-width: 980px){
  .acc-stripe{
    grid-template-columns: 130px 1fr;
    gap: 1.3rem;
    padding: 1.3rem 0;
  }
}

/* Mobile — collapse: num + mark inline header row, body below */
@media (max-width: 640px){
  .acc-stripe{
    grid-template-columns: 1fr;
    gap: 0.45rem;
    padding: 1.15rem 0;
  }
  .acc-stripe__num,
  .acc-stripe__mark{
    display: inline-block;
  }
  .acc-stripe__mark{
    font-size: 1rem;
    letter-spacing: 0.14em;
  }
  .acc-stripe__num{
    font-size: 0.625rem;
  }
  .acc-stripe__num{ margin-right: 0.85rem; }
  /* Combine num + mark on a single line via wrapping the body block */
}

/* Signature line — the closing card */
.acc-signature{
  margin-top: 2.75rem;
  padding: 1.5rem 0 0;
  border-top: 1px solid rgba(94,234,212,0.18);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
}
.acc-signature__line{
  font-family: "JetBrains Mono", monospace;
  font-size: clamp(0.875rem, 1.4vw, 1.0625rem);
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--c-ink-100);
  line-height: 1.45;
}
.acc-signature__by{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.75rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(245,246,248,0.55);
}

/* §04 Engine: replace source-rows with a clean 3-col table */
.eng-table{
  width: 100%;
  margin-top: 1.75rem;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.eng-table thead th{
  text-align: left;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.625rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--c-ink-400);
  font-weight: 500;
  padding: 0 0 0.75rem;
  border-bottom: 1px solid rgba(94,234,212,0.25);
}
.eng-table tbody td{
  padding: 1rem 0.75rem 1rem 0;
  border-bottom: 1px solid rgba(94,234,212,0.10);
  vertical-align: top;
  line-height: 1.5;
}
.eng-table td:first-child{ padding-left: 0; }
.eng-table td:last-child{ padding-right: 0; }
.eng-table .eng-name{
  color: var(--c-ink-100);
  font-weight: 600;
  font-size: 0.9375rem;
  white-space: nowrap;
}
.eng-table .eng-formula{
  display: block;
  margin-top: 0.25rem;
  color: #5eead4;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.75rem;
  letter-spacing: 0.01em;
  white-space: normal;
}
.eng-table .eng-use{
  color: var(--c-ink-300);
  font-size: 0.8125rem;
}
.eng-table .eng-src{
  color: var(--c-ink-400);
  font-size: 0.8125rem;
}
/* v36.10: source citations are read-only — no link styling.
   Tooltips on the row provide context; clicks would distract. */
.eng-table .eng-src a{
  color: inherit;
  text-decoration: none;
  border-bottom: 0;
  cursor: default;
  pointer-events: none;
}
.eng-table .eng-src a:hover{ color: inherit; }
@media (max-width: 800px){
  .eng-table, .eng-table thead, .eng-table tbody, .eng-table tr, .eng-table td, .eng-table th{
    display: block;
  }
  .eng-table thead{ display: none; }
  .eng-table tbody tr{
    padding: 1.15rem 0;
    border-bottom: 1px solid rgba(94,234,212,0.12);
  }
  .eng-table tbody td{
    border: 0;
    padding: 0.2rem 0;
  }
  .eng-table .eng-name{ white-space: normal; }
  .eng-table .eng-use::before{
    content: "USE · ";
    font-family: "JetBrains Mono", monospace;
    font-size: 0.625rem;
    letter-spacing: 0.2em;
    color: var(--c-ink-500);
  }
  .eng-table .eng-src{ margin-top: 0.35rem; }
}

/* §05 Why: replace 3 boxed cards with 3 numbered stripes */
.why-stripes{
  margin: 1.75rem 0 0;
  border-top: 1px solid rgba(94,234,212,0.18);
}
.why-stripe{
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 1.5rem;
  padding: 1.5rem 0;
  border-bottom: 1px solid rgba(94,234,212,0.12);
  align-items: baseline;
}
@media (max-width: 640px){
  .why-stripe{ grid-template-columns: 1fr; gap: 0.45rem; padding: 1.25rem 0; }
}
.why-stripe__num{
  font-family: "JetBrains Mono", monospace;
  font-size: 1.5rem;
  font-weight: 600;
  color: #5eead4;
  line-height: 1;
  letter-spacing: -0.01em;
}
.why-stripe__body h3{
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--c-ink-100);
  margin: 0 0 0.4rem;
  letter-spacing: -0.015em;
}
.why-stripe__body p{
  margin: 0;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--c-ink-300);
  max-width: 60ch;
}

/* ============================================================
   v36.20d — §05 "How it stacks up" competitor matrix
   4-row x 4-col table — verified honest comparisons
   ============================================================ */
.stack-strip{
  margin: 2.25rem 0 0;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(94,234,212,0.18);
}
.stack-strip__label{
  font-family: "JetBrains Mono", monospace;
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: #5eead4;
  margin-bottom: 1.15rem;
  text-transform: uppercase;
}
.stack-strip__footnote{
  margin-top: 0.85rem;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  color: var(--c-ink-400, #9aa3b2);
  line-height: 1.55;
}

/* Matrix grid: 1 rowlabel col + 4 data cols */
.stack-matrix{
  display: grid;
  grid-template-columns: minmax(7rem, 0.8fr) repeat(4, 1fr);
  border: 1px solid rgba(94,234,212,0.12);
  border-radius: 2px;
  overflow: hidden;
}

/* Header row */
.stack-matrix__head{
  display: contents;
}
.stack-matrix__col,
.stack-matrix__rowlabel{
  padding: 0.85rem 1rem;
  border-bottom: 1px solid rgba(94,234,212,0.12);
  border-right: 1px solid rgba(94,234,212,0.08);
  font-family: "JetBrains Mono", monospace;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--c-ink-300);
  text-transform: uppercase;
  background: rgba(255,255,255,0.015);
}
/* v36.22n — center-align column headers (rowlabel stays left as anchor) */
.stack-matrix__col{ text-align: center; justify-content: center; }
.stack-matrix__col:last-child{ border-right: none; }
.stack-matrix__col--us{
  color: #5eead4;
  background: rgba(94,234,212,0.10);
  position: relative;
}
.stack-matrix__col--us::before{
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 2px;
  background: #5eead4;
}

/* Data rows */
.stack-matrix__row{
  display: contents;
}
.stack-matrix__rowlabel{
  background: rgba(94,234,212,0.04);
  color: var(--c-ink-300);
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  align-self: stretch;
  display: flex;
  align-items: center;
}
.stack-matrix__cell{
  padding: 1rem 1rem;
  border-bottom: 1px solid rgba(94,234,212,0.08);
  border-right: 1px solid rgba(94,234,212,0.08);
  font-family: "Space Grotesk", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: var(--c-ink-100);
  letter-spacing: -0.005em;
  display: flex;
  align-items: center;
  /* v36.22n — center-align data cells */
  justify-content: center;
  text-align: center;
}
.stack-matrix__cell:nth-child(5){ border-right: none; } /* last data cell per row */

/* VERDICT column — teal highlight on data cells (v36.22n: was amber) */
.stack-matrix__cell--us{
  background: rgba(94,234,212,0.07);
  color: #5eead4;
  font-weight: 700;
  position: relative;
}
.stack-matrix__cell--us::before{
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 2px;
  background: #5eead4;
}

/* Remove bottom border from last row */
.stack-matrix__row:last-of-type .stack-matrix__cell,
.stack-matrix__row:last-of-type .stack-matrix__rowlabel{
  border-bottom: none;
}

/* iPad — tighten padding, slightly smaller type */
@media (max-width: 980px){
  .stack-matrix{ grid-template-columns: minmax(6rem, 0.7fr) repeat(4, 1fr); }
  .stack-matrix__col,
  .stack-matrix__rowlabel{ padding: 0.7rem 0.7rem; font-size: 0.625rem; }
  .stack-matrix__cell{ padding: 0.8rem 0.7rem; font-size: 0.8125rem; }
}

/* Mobile (≤ 640) — tight 5-column layout fits within 390px viewport.
   No horizontal scroll. Tiny mono labels + abbreviated content. */
@media (max-width: 640px){
  .stack-matrix-wrap{ overflow: visible; }
  .stack-matrix{
    grid-template-columns: 4.2rem repeat(4, 1fr);
  }
  .stack-matrix__col,
  .stack-matrix__rowlabel{
    padding: 0.5rem 0.35rem;
    font-size: 0.5625rem;
    letter-spacing: 0.03em;
    line-height: 1.2;
  }
  .stack-matrix__cell{
    padding: 0.65rem 0.4rem;
    font-size: 0.6875rem;
    line-height: 1.25;
    font-weight: 600;
  }
  /* PASS/CAUTION/FAIL cell needs to wrap on narrow screens */
  .stack-matrix__cell--us{ font-size: 0.625rem; }
}

/* Very narrow (≤ 360) — stack mobile horizontal flow */
@media (max-width: 360px){
  .stack-matrix__col,
  .stack-matrix__rowlabel{ font-size: 0.5rem; padding: 0.45rem 0.25rem; }
  .stack-matrix__cell{ font-size: 0.625rem; padding: 0.55rem 0.3rem; }
}

/* ============================================================
   v35.2 — Cinematic intro overlay (WELCOME TO VERDICT phase-in)
   Plays once on /verdict page load. Skipped on reduced-motion.
   ============================================================ */
.verdict-intro{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at center, #0a1f1c 0%, #050d0c 65%, #000 100%);
  pointer-events: all;
  opacity: 1;
  transition: opacity 700ms cubic-bezier(0.4, 0, 0.2, 1);
}
.verdict-intro.is-leaving{
  opacity: 0;
  pointer-events: none;
}
.verdict-intro__inner{
  text-align: center;
  transform: translateY(8px);
  opacity: 0;
  animation: vIntroIn 900ms cubic-bezier(0.16, 1, 0.3, 1) 80ms forwards;
}
.verdict-intro.is-leaving .verdict-intro__inner{
  animation: vIntroOut 600ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.verdict-intro__eyebrow{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.4em;
  color: #5eead4;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  opacity: 0;
  animation: vFade 600ms ease 200ms forwards;
}
.verdict-intro__welcome{
  display: block;
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(2.5rem, 7vw, 5.5rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--c-ink-100);
}
.verdict-intro__brand{
  display: inline-block;
  color: #5eead4;
  text-shadow: 0 0 28px rgba(94,234,212,0.35);
  text-transform: uppercase;
}
.verdict-intro__rule{
  width: 0;
  height: 1px;
  background: #5eead4;
  margin: 1.5rem auto 0;
  animation: vRule 700ms cubic-bezier(0.4, 0, 0.2, 1) 600ms forwards;
}
.verdict-intro__sub{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.8125rem;
  letter-spacing: 0.2em;
  color: var(--c-ink-300);
  text-transform: uppercase;
  margin-top: 1.25rem;
  opacity: 0;
  animation: vFade 600ms ease 850ms forwards;
}
.verdict-intro__caret{
  display: inline-block;
  color: var(--c-amber);
  animation: vBlink 1s steps(2) infinite;
}
@keyframes vIntroIn{
  from{ transform: translateY(8px); opacity: 0; }
  to  { transform: translateY(0);   opacity: 1; }
}
@keyframes vIntroOut{
  from{ transform: translateY(0);   opacity: 1; }
  to  { transform: translateY(-12px); opacity: 0; }
}
@keyframes vFade{ to{ opacity: 1; } }
@keyframes vRule{ to{ width: 120px; } }
@keyframes vBlink{ 50%{ opacity: 0; } }

/* Skip intro for users that prefer reduced motion */
@media (prefers-reduced-motion: reduce){
  .verdict-intro{ display: none !important; }
}


/* ============================================================
   v35.3 — Pixelation breakdown intro (replaces v35.2 fade-out)
   Timeline:
     0 – 1600ms : hold (welcome at full presence, fades in)
     1600 – 2700ms : PIXELATE — text fragments into chunky pixels,
                     chromatic aberration kicks in, pixel grid emerges
     2700 – 3600ms : DISINTEGRATE — overlay scatters & fades; verdict
                     page revealed underneath
   ============================================================ */

.verdict-intro{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  pointer-events: all;
  overflow: hidden;
}
.verdict-intro__scrim{
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, #0a1f1c 0%, #050d0c 65%, #000 100%);
  transition: opacity 900ms cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 0;
}
.verdict-intro.is-leaving{ pointer-events: none; }
.verdict-intro.is-leaving .verdict-intro__scrim{ opacity: 0; }

/* Inner content — initial entrance */
.verdict-intro__inner{
  position: relative;
  z-index: 3;
  text-align: center;
  transform: translateY(8px);
  opacity: 0;
  animation: vIntroIn 900ms cubic-bezier(0.16, 1, 0.3, 1) 80ms forwards;
  will-change: filter, transform, opacity;
}
@keyframes vIntroIn{
  to{ transform: translateY(0); opacity: 1; }
}

/* Phase 2 — PIXELATE: classic CSS pixel-breakdown via filter cascade.
   blur(N) + contrast(N) on text creates chunky aliased "pixel" edges. */
.verdict-intro.is-pixelating .verdict-intro__inner{
  animation: vPixelize 1100ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes vPixelize{
  0%{
    filter: blur(0) contrast(1);
    transform: scale(1) translateY(0);
  }
  25%{
    filter: blur(0.8px) contrast(1.4);
  }
  55%{
    filter: blur(2.5px) contrast(2.8);
    transform: scale(1.02) translateY(-1px);
  }
  85%{
    filter: blur(5px) contrast(5);
    transform: scale(1.04) translateY(-3px);
  }
  100%{
    filter: blur(9px) contrast(7);
    transform: scale(1.06) translateY(-6px);
    opacity: 0.85;
  }
}

/* Phase 3 — DISINTEGRATE: continue pixelation while fading + scattering up */
.verdict-intro.is-leaving .verdict-intro__inner{
  animation: vDisintegrate 900ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes vDisintegrate{
  0%{
    filter: blur(9px) contrast(7);
    transform: scale(1.06) translateY(-6px);
    opacity: 0.85;
  }
  50%{
    filter: blur(14px) contrast(9);
    transform: scale(1.12) translateY(-12px);
    opacity: 0.4;
  }
  100%{
    filter: blur(22px) contrast(12);
    transform: scale(1.20) translateY(-20px);
    opacity: 0;
  }
}

/* Chromatic-aberration on the WELCOME line during pixelation */
.verdict-intro.is-pixelating .verdict-intro__welcome,
.verdict-intro.is-leaving   .verdict-intro__welcome{
  animation: vChroma 1800ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes vChroma{
  0%   { text-shadow: 0 0 24px rgba(94,234,212,0.35); }
  35%  { text-shadow:
           -3px 0 0 rgba(239,68,68,0.7),
            3px 0 0 rgba(94,234,212,0.8),
            0 0 36px rgba(94,234,212,0.5);
  }
  70%  { text-shadow:
           -6px 0 0 rgba(239,68,68,0.85),
            6px 0 0 rgba(94,234,212,0.9),
            0 0 40px rgba(94,234,212,0.6);
  }
  100% { text-shadow:
           -10px 0 0 rgba(239,68,68,0.6),
            10px 0 0 rgba(94,234,212,0.6),
            0 0 50px rgba(94,234,212,0.4);
  }
}

/* Pixel grid overlay — emerges during pixelate phase, fades during leaving */
.verdict-intro__grid{
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  background-image:
    linear-gradient(90deg, rgba(94,234,212,0.12) 0 1px, transparent 1px 10px),
    linear-gradient(0deg,  rgba(94,234,212,0.12) 0 1px, transparent 1px 10px);
  background-size: 10px 10px, 10px 10px;
  mix-blend-mode: screen;
}
.verdict-intro.is-pixelating .verdict-intro__grid{
  animation: vGridIn 1100ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes vGridIn{
  0%   { background-size: 40px 40px, 40px 40px; opacity: 0; }
  40%  { background-size: 20px 20px, 20px 20px; opacity: 0.55; }
  70%  { background-size: 12px 12px, 12px 12px; opacity: 0.9;  }
  100% { background-size: 6px  6px,  6px  6px;  opacity: 1;    }
}
.verdict-intro.is-leaving .verdict-intro__grid{
  animation: vGridOut 900ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes vGridOut{
  0%   { opacity: 1;   background-size: 6px  6px,  6px  6px;  }
  60%  { opacity: 0.5; background-size: 3px  3px,  3px  3px;  }
  100% { opacity: 0;   background-size: 1px  1px,  1px  1px;  }
}

/* Scanline sweep — a horizontal teal band that passes through during the break */
.verdict-intro__scan{
  position: absolute;
  left: 0; right: 0;
  top: 0;
  height: 60px;
  z-index: 4;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(94,234,212,0.0) 30%,
    rgba(94,234,212,0.55) 50%,
    rgba(94,234,212,0.0) 70%,
    transparent 100%
  );
  filter: blur(2px);
  mix-blend-mode: screen;
}
.verdict-intro.is-pixelating .verdict-intro__scan{
  animation: vScan 1500ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes vScan{
  0%   { transform: translateY(-100px); opacity: 0;   }
  10%  { opacity: 1; }
  50%  { transform: translateY(50vh);   opacity: 1;   }
  90%  { opacity: 0.4; }
  100% { transform: translateY(110vh);  opacity: 0;   }
}

/* The intro rule — animate width once on appear */
.verdict-intro__rule{
  width: 0;
  height: 1px;
  background: #5eead4;
  margin: 1.5rem auto 0;
  animation: vRule 700ms cubic-bezier(0.4, 0, 0.2, 1) 600ms forwards;
}
@keyframes vRule{ to{ width: 120px; } }

/* Eyebrow / sub fade-in */
.verdict-intro__eyebrow{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.4em;
  color: #5eead4;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  opacity: 0;
  animation: vFade 600ms ease 200ms forwards;
}
.verdict-intro__welcome{
  display: block;
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(2.5rem, 7vw, 5.5rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--c-ink-100);
  text-shadow: 0 0 28px rgba(94,234,212,0.35);
}
.verdict-intro__brand{
  display: inline-block;
  color: #5eead4;
  text-transform: uppercase;
}
.verdict-intro__sub{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.8125rem;
  letter-spacing: 0.2em;
  color: var(--c-ink-300);
  text-transform: uppercase;
  margin-top: 1.25rem;
  opacity: 0;
  animation: vFade 600ms ease 850ms forwards;
}
.verdict-intro__caret{
  display: inline-block;
  color: var(--c-amber);
  animation: vBlink 1s steps(2) infinite;
}
.verdict-intro.is-pixelating .verdict-intro__caret{
  animation: vBlink 0.14s steps(2) infinite;
  color: #5eead4;
}
@keyframes vFade{ to{ opacity: 1; } }
@keyframes vBlink{ 50%{ opacity: 0; } }

/* Skip intro for users that prefer reduced motion */
@media (prefers-reduced-motion: reduce){
  .verdict-intro{ display: none !important; }
}

/* ============================================================
   v36.7 — Brand mark inside intros (subtle, both directions)
   The dc monogram appears above the welcome line, traces in,
   and pixelates/disintegrates with the rest of the intro.
   ============================================================ */
.verdict-intro__mark,
.dealcap-intro__mark{
  display: flex;
  justify-content: center;
  margin: 0 auto 1.1rem;
  opacity: 0;
  animation: vMarkFade 700ms cubic-bezier(0.16, 1, 0.3, 1) 80ms forwards;
}
.verdict-intro__mark svg{ color: #5eead4; filter: drop-shadow(0 0 14px rgba(94,234,212,0.35)); }
.dealcap-intro__mark svg{ color: #f59e0b; filter: drop-shadow(0 0 14px rgba(245,158,11,0.40)); }
@keyframes vMarkFade{ to{ opacity: 0.85; } }

/* ============================================================
   v36.7 — DealCap USA cinematic intro (mirror of Verdict, amber)
   Fires only when arriving from /verdict (sessionStorage flag).
   Identical 3.6s timeline: hold → pixelate → disintegrate.
   ============================================================ */
.dealcap-intro{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  pointer-events: all;
  overflow: hidden;
}
.dealcap-intro[hidden]{ display: none; }
.dealcap-intro__scrim{
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, #1f1408 0%, #0c0703 65%, #000 100%);
  transition: opacity 900ms cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 0;
}
.dealcap-intro.is-leaving{ pointer-events: none; }
.dealcap-intro.is-leaving .dealcap-intro__scrim{ opacity: 0; }

.dealcap-intro__inner{
  position: relative;
  z-index: 3;
  text-align: center;
  transform: translateY(8px);
  opacity: 0;
  animation: vIntroIn 900ms cubic-bezier(0.16, 1, 0.3, 1) 80ms forwards;
  will-change: filter, transform, opacity;
}
.dealcap-intro.is-pixelating .dealcap-intro__inner{
  animation: vPixelize 1100ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.dealcap-intro.is-leaving .dealcap-intro__inner{
  animation: vDisintegrate 900ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

/* Amber chromatic aberration on the welcome line during break */
.dealcap-intro.is-pixelating .dealcap-intro__welcome,
.dealcap-intro.is-leaving   .dealcap-intro__welcome{
  animation: vChromaAmber 1800ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes vChromaAmber{
  0%   { text-shadow: 0 0 24px rgba(245,158,11,0.38); }
  35%  { text-shadow:
           -3px 0 0 rgba(239,68,68,0.7),
            3px 0 0 rgba(245,158,11,0.85),
            0 0 36px rgba(245,158,11,0.55);
  }
  70%  { text-shadow:
           -6px 0 0 rgba(239,68,68,0.85),
            6px 0 0 rgba(245,158,11,0.9),
            0 0 40px rgba(245,158,11,0.6);
  }
  100% { text-shadow:
           -10px 0 0 rgba(239,68,68,0.6),
            10px 0 0 rgba(245,158,11,0.6),
            0 0 50px rgba(245,158,11,0.45);
  }
}

/* Amber pixel grid */
.dealcap-intro__grid{
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  background-image:
    linear-gradient(90deg, rgba(245,158,11,0.13) 0 1px, transparent 1px 10px),
    linear-gradient(0deg,  rgba(245,158,11,0.13) 0 1px, transparent 1px 10px);
  background-size: 10px 10px, 10px 10px;
  mix-blend-mode: screen;
}
.dealcap-intro.is-pixelating .dealcap-intro__grid{
  animation: vGridIn 1100ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.dealcap-intro.is-leaving .dealcap-intro__grid{
  animation: vGridOut 900ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

/* Amber scanline sweep */
.dealcap-intro__scan{
  position: absolute;
  left: 0; right: 0;
  top: 0;
  height: 60px;
  z-index: 4;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(245,158,11,0.0) 30%,
    rgba(245,158,11,0.55) 50%,
    rgba(245,158,11,0.0) 70%,
    transparent 100%
  );
  filter: blur(2px);
  mix-blend-mode: screen;
}
.dealcap-intro.is-pixelating .dealcap-intro__scan{
  animation: vScan 1500ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.dealcap-intro__rule{
  width: 0;
  height: 1px;
  background: #f59e0b;
  margin: 1.5rem auto 0;
  animation: vRuleAmber 700ms cubic-bezier(0.4, 0, 0.2, 1) 600ms forwards;
}
@keyframes vRuleAmber{ to{ width: 120px; } }

.dealcap-intro__eyebrow{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.4em;
  color: #f59e0b;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  opacity: 0;
  animation: vFade 600ms ease 200ms forwards;
}
.dealcap-intro__welcome{
  display: block;
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(2.2rem, 6.2vw, 5rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--c-ink-100);
  text-shadow: 0 0 28px rgba(245,158,11,0.35);
}
.dealcap-intro__brand{
  display: inline-block;
  color: #f59e0b;
  text-transform: uppercase;
}
.dealcap-intro__sub{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.8125rem;
  letter-spacing: 0.2em;
  color: var(--c-ink-300);
  text-transform: uppercase;
  margin-top: 1.25rem;
  opacity: 0;
  animation: vFade 600ms ease 850ms forwards;
}
.dealcap-intro__caret{
  display: inline-block;
  color: #5eead4;
  animation: vBlink 1s steps(2) infinite;
}
.dealcap-intro.is-pixelating .dealcap-intro__caret{
  animation: vBlink 0.14s steps(2) infinite;
  color: #f59e0b;
}

/* Lock body scroll during DealCap intro */
body.dealcap-intro-active{ overflow: hidden; }
body.dealcap-intro-fading{ overflow: hidden; }

@media (prefers-reduced-motion: reduce){
  .dealcap-intro{ display: none !important; }
}


/* ============================================================
   v35.4 — Verdict Flow as flight-plan timeline
   Desktop: horizontal rail, alternating above/below stations
   Mobile: vertical rail, all stations branch right
   ============================================================ */

.vflow{
  position: relative;
  list-style: none;
  margin: 3rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  min-height: 360px;
}

/* Horizontal teal rail through the middle */
.vflow__rail{
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: linear-gradient(90deg,
    rgba(94,234,212,0) 0%,
    rgba(94,234,212,0.55) 6%,
    rgba(94,234,212,0.55) 94%,
    rgba(94,234,212,0) 100%
  );
  z-index: 0;
  pointer-events: none;
}

.vflow__rail-mark{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6rem;
  letter-spacing: 0.3em;
  color: rgba(94,234,212,0.7);
  text-transform: uppercase;
  pointer-events: none;
  z-index: 1;
}
.vflow__rail-mark--start{ left: 0; transform: translate(-100%, -50%); padding-right: 0.5rem; }
.vflow__rail-mark--end  { right: 0; transform: translate(100%, -50%);  padding-left: 0.5rem;  color: #f59e0b; }

/* Stations — each cell holds a node on the rail with content above/below */
.vstation{
  position: relative;
  display: grid;
  grid-template-rows: 1fr auto 1fr;
  grid-template-areas:
    "head"
    "node"
    "body";
  align-items: stretch;
  padding: 0 0.8rem;
  z-index: 2;
}
.vstation:nth-of-type(odd){
  grid-template-areas:
    "body"
    "node"
    "head";
}

.vstation__head{
  grid-area: head;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 0.7rem;
  padding-bottom: 1rem;
  border-left: 1px dashed rgba(94,234,212,0.18);
  padding-left: 0.7rem;
}
.vstation:nth-of-type(odd) .vstation__head{
  align-items: flex-start;
  padding-bottom: 0;
  padding-top: 1rem;
}

.vstation__num{
  font-family: "Space Grotesk", sans-serif;
  font-size: 2.1rem;
  font-weight: 800;
  line-height: 1;
  color: rgba(94,234,212,0.85);
  letter-spacing: -0.04em;
}
.vstation--submit .vstation__num{ color: #f59e0b; }
.vstation__phase{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.65rem;
  letter-spacing: 0.3em;
  color: var(--c-ink-400);
  text-transform: uppercase;
  padding-bottom: 0.25rem;
}

/* The node ON the rail */
.vstation__node{
  grid-area: node;
  justify-self: start;
  width: 14px;
  height: 14px;
  background: var(--c-ink-950, #050d0c);
  border: 1px solid #5eead4;
  border-radius: 1px;
  margin-left: 0.7rem;
  position: relative;
  transform: rotate(45deg) translateY(-1px);
  box-shadow: 0 0 0 3px rgba(5,13,12,1), 0 0 14px rgba(94,234,212,0.5);
  z-index: 3;
}
.vstation--submit .vstation__node{
  width: 18px;
  height: 18px;
  background: #f59e0b;
  border-color: #f59e0b;
  box-shadow: 0 0 0 4px rgba(5,13,12,1), 0 0 22px rgba(245,158,11,0.7);
}

.vstation__body{
  grid-area: body;
  padding-top: 1rem;
  padding-left: 0.7rem;
  border-left: 1px dashed rgba(94,234,212,0.18);
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}
.vstation:nth-of-type(odd) .vstation__body{
  padding-top: 0;
  padding-bottom: 1rem;
  align-self: end;
}
.vstation--submit .vstation__body,
.vstation--submit .vstation__head{
  border-left-color: rgba(245,158,11,0.35);
}

.vstation__title{
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--c-ink-100);
  letter-spacing: -0.01em;
  line-height: 1.2;
}
.vstation__copy{
  color: var(--c-ink-300);
  font-size: 0.83rem;
  line-height: 1.55;
  margin: 0;
}

.vstation__lanes{
  display: flex; flex-wrap: wrap; gap: 0.3rem;
  margin-top: 0.5rem;
}
.vstation__lane{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 0.22rem 0.5rem;
  border: 1px solid rgba(245,158,11,0.35);
  color: #f59e0b;
  background: rgba(245,158,11,0.06);
  border-radius: 1px;
}

/* ============================================================
   v36.20g — Flow timeline responsive tiers
   iPad/tablet (640-1100px): vertical timeline, generous spacing
   Mobile (<640px): compact vertical timeline, smaller type
   Desktop (1100px+): the alternating flight-plan stays untouched
   ============================================================ */

/* iPad / tablet — vertical timeline with rail on left, stations stacked */
@media (max-width: 1100px){
  .vflow{
    grid-template-columns: 1fr;
    gap: 0;
    min-height: 0;
    margin-top: 2rem;
    padding: 0 0 0 0.5rem;
  }
  .vflow__rail{
    top: 1.25rem; bottom: 1.25rem; left: 28px; right: auto;
    width: 1px; height: auto;
    background: linear-gradient(180deg,
      rgba(94,234,212,0) 0%,
      rgba(94,234,212,0.45) 5%,
      rgba(94,234,212,0.45) 95%,
      rgba(94,234,212,0) 100%
    );
  }
  .vflow__rail-mark{ display: none; }
  .vstation,
  .vstation:nth-of-type(odd){
    grid-template-columns: 56px 1fr;
    grid-template-rows: auto auto;
    grid-template-areas:
      "node head"
      ".    body";
    padding: 1.25rem 0;
    align-items: start;
    column-gap: 0.5rem;
    border-top: 1px dashed rgba(94,234,212,0.10);
  }
  .vstation:first-of-type,
  .vstation:nth-of-type(odd):first-of-type{
    border-top: none;
    padding-top: 0.5rem;
  }
  .vstation__head,
  .vstation:nth-of-type(odd) .vstation__head{
    grid-area: head;
    border-left: none;
    padding: 0;
    align-items: center;
    justify-content: flex-start;
    gap: 0.6rem;
    min-height: 32px;
  }
  .vstation__num{
    font-size: 1.7rem;
  }
  .vstation__body,
  .vstation:nth-of-type(odd) .vstation__body{
    grid-area: body;
    border-left: none;
    padding: 0.5rem 0 0 0;
    align-self: start;
  }
  .vstation__node{
    grid-area: node;
    justify-self: center;
    align-self: center;
    margin-left: 0;
    margin-top: 8px;
    transform: rotate(45deg);
  }
  .vstation--submit .vstation__node{
    margin-left: 0;
  }
  .vstation__title{
    font-size: 1.1rem;
  }
  .vstation__copy{
    font-size: 0.88rem;
    line-height: 1.6;
  }
}

/* Mobile — tighter type + node, but same vertical timeline */
@media (max-width: 640px){
  .vflow{
    margin-top: 1.5rem;
    padding-left: 0;
  }
  .vflow__rail{
    left: 18px;
  }
  .vstation,
  .vstation:nth-of-type(odd){
    grid-template-columns: 36px 1fr;
    padding: 1rem 0;
    column-gap: 0.4rem;
  }
  .vstation__num{
    font-size: 1.4rem;
  }
  .vstation__phase{
    font-size: 0.58rem;
    letter-spacing: 0.25em;
  }
  .vstation__title{
    font-size: 1rem;
  }
  .vstation__copy{
    font-size: 0.83rem;
    line-height: 1.55;
  }
  .vstation__node{
    width: 11px;
    height: 11px;
    margin-top: 6px;
  }
  .vstation--submit .vstation__node{
    width: 14px;
    height: 14px;
  }
  .vstation__lane{
    font-size: 0.55rem;
    padding: 0.2rem 0.42rem;
    letter-spacing: 0.15em;
  }
}

/* ============================================================
   v35.5 — Calmer card, leaner ops strip, mobile header fix
   ============================================================ */

/* --- For the Operator: thin one-line strip (replaces .method-callout) --- */
.op-strip{
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-top: 1.25rem;
  padding: 0.55rem 0.9rem;
  border-top: 1px solid rgba(94,234,212,0.18);
  border-bottom: 1px solid rgba(94,234,212,0.10);
  background: linear-gradient(180deg, rgba(94,234,212,0.025) 0%, rgba(94,234,212,0) 100%);
}
.op-strip__mark{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.58rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #f59e0b;
  white-space: nowrap;
  flex-shrink: 0;
}
.op-strip__rule{
  flex: 0 0 28px;
  height: 1px;
  background: rgba(94,234,212,0.25);
}
.op-strip__copy{
  color: var(--c-ink-200);
  font-size: 0.82rem;
  line-height: 1.35;
  margin: 0;
  flex: 1 1 auto;
  letter-spacing: 0.005em;
}
.op-strip__link{
  color: #f59e0b;
  text-decoration: none;
  font-weight: 500;
  border-bottom: 1px solid rgba(245,158,11,0.4);
  transition: border-color 160ms ease;
}
.op-strip__link:hover{ border-bottom-color: #f59e0b; }

@media (max-width: 640px){
  .op-strip{
    flex-direction: column;
    align-items: flex-start;
    gap: 0.45rem;
    padding: 0.7rem 0.85rem;
  }
  .op-strip__rule{ display: none; }
  .op-strip__copy{ font-size: 0.8rem; }
}

/* --- v35.8g Mobile header ---
   BOTH wordmarks: identical font-size, letter-spacing, weight, baseline.
   Wordmark cap-height tuned to roughly match brand mark height.
   Constrained by longest variant (VERDICT UNDERWRITER + LIVE pill) on 390px. */
@media (max-width: 767px){
  .dc-lockup--nav{ gap: 8px; align-items: center; } /* v36.14g — was flex-end, broke mark/wm centering */
  .dc-lockup--nav .dc-mark{ width: 24px; height: 20px; }
  .dc-lockup--nav .dc-word{
    font-size: 15px;
    align-items: baseline;
    line-height: 0.78;
    letter-spacing: 0.015em;
  }
  .dc-lockup--nav .dc-word__sub{
    font-size: 1em;
    letter-spacing: inherit;
    margin-left: 0.3em;
    align-self: baseline;
    text-transform: none;
  }
}
@media (max-width: 380px){
  .dc-lockup--nav{ gap: 7px; }
  .dc-lockup--nav .dc-mark{ width: 22px; height: 18px; }
  .dc-lockup--nav .dc-word{ font-size: 14px; letter-spacing: 0.01em; }
  .dc-lockup--nav .dc-word__sub{ margin-left: 0.26em; }
}
@media (max-width: 340px){
  .dc-lockup--nav .dc-mark{ width: 20px; height: 17px; }
  .dc-lockup--nav .dc-word{ font-size: 12px; letter-spacing: 0.005em; }
}

/* --- v35.8f Mobile header status pill --- */
.header-status-pill{
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.4rem 0.7rem;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  border: 1px solid rgba(34, 197, 94, 0.35);
  border-radius: 2px;
  background: rgba(34, 197, 94, 0.06);
  color: #22c55e;
  white-space: nowrap;
}
.header-status-pill__dot{
  width: 6px; height: 6px; border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 8px rgba(34, 197, 94, 0.85);
  animation: verdictDot 2s ease-in-out infinite;
}
.header-status-pill__sep{ color: rgba(34, 197, 94, 0.45); }
.header-status-pill__sla{ color: rgba(244, 250, 249, 0.75); letter-spacing: 0.12em; }
.header-status-pill--teal{
  border-color: rgba(94, 234, 212, 0.35);
  background: rgba(94, 234, 212, 0.06);
  color: #5eead4;
}
.header-status-pill--teal .header-status-pill__dot{
  background: #5eead4;
  box-shadow: 0 0 8px rgba(94, 234, 212, 0.85);
}
.header-status-pill--teal .header-status-pill__sep{ color: rgba(94, 234, 212, 0.45); }
@media (max-width: 360px){
  .header-status-pill{ padding: 0.35rem 0.55rem; font-size: 0.55rem; gap: 0.35rem; }
}

/* --- v35.8c Mobile-only VERDICT access strip (under landing header) --- */
.verdict-strip-mobile{
  display: none;
}
@media (max-width: 1023px){
  .verdict-strip-mobile{
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.55rem 1rem;
    border-top: 1px solid rgba(94,234,212,0.18);
    border-bottom: 1px solid rgba(94,234,212,0.12);
    background: linear-gradient(90deg,
      rgba(94,234,212,0.04) 0%,
      rgba(94,234,212,0.10) 50%,
      rgba(94,234,212,0.04) 100%);
    font-family: "JetBrains Mono", ui-monospace, monospace;
    text-transform: uppercase;
    color: var(--c-teal-300, #5eead4);
    transition: background 200ms ease, border-color 200ms ease;
  }
  .verdict-strip-mobile:hover,
  .verdict-strip-mobile:focus-visible{
    background: linear-gradient(90deg,
      rgba(94,234,212,0.08) 0%,
      rgba(94,234,212,0.18) 50%,
      rgba(94,234,212,0.08) 100%);
    border-color: rgba(94,234,212,0.35);
  }
  .verdict-strip-mobile__dot{
    width: 6px; height: 6px; border-radius: 50%;
    background: #5eead4;
    box-shadow: 0 0 8px rgba(94,234,212,0.9);
    animation: verdictDot 2s ease-in-out infinite;
    flex: 0 0 auto;
  }
  .verdict-strip-mobile__label{
    font-size: 0.55rem;
    letter-spacing: 0.22em;
    color: rgba(94,234,212,0.55);
    flex: 0 0 auto;
  }
  .verdict-strip-mobile__brand{
    font-size: 0.78rem;
    letter-spacing: 0.2em;
    font-weight: 700;
    color: #5eead4;
    flex: 0 0 auto;
  }
  .verdict-strip-mobile__sub{
    font-size: 0.58rem;
    letter-spacing: 0.18em;
    color: rgba(244, 250, 249, 0.55);
    flex: 0 0 auto;
  }
  .verdict-strip-mobile__badge{
    font-size: 0.55rem;
    letter-spacing: 0.18em;
    padding: 0.12rem 0.32rem;
    color: #f59e0b;
    border: 1px solid rgba(245,158,11,0.45);
    border-radius: 2px;
    margin-left: auto;
    flex: 0 0 auto;
  }
  .verdict-strip-mobile__arrow{
    font-size: 0.78rem;
    color: #5eead4;
    flex: 0 0 auto;
    transition: transform 200ms ease;
  }
  .verdict-strip-mobile:hover .verdict-strip-mobile__arrow{
    transform: translateX(3px);
  }
}
@media (max-width: 380px){
  .verdict-strip-mobile{ gap: 0.4rem; padding: 0.5rem 0.85rem; }
  .verdict-strip-mobile__label{ display: none; }
  .verdict-strip-mobile__sub{ font-size: 0.52rem; letter-spacing: 0.14em; }
}

/* --- v35.8d Mobile-only DEALCAP funding strip (under verdict header) --- */
.dealcap-strip-mobile{ display: none; }
@media (max-width: 1023px){
  .dealcap-strip-mobile{
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.55rem 1rem;
    border-top: 1px solid rgba(245, 158, 11, 0.22);
    border-bottom: 1px solid rgba(245, 158, 11, 0.14);
    background: linear-gradient(90deg,
      rgba(245, 158, 11, 0.04) 0%,
      rgba(245, 158, 11, 0.10) 50%,
      rgba(245, 158, 11, 0.04) 100%);
    font-family: "JetBrains Mono", ui-monospace, monospace;
    text-transform: uppercase;
    color: var(--c-amber, #f59e0b);
    transition: background 200ms ease, border-color 200ms ease;
  }
  .dealcap-strip-mobile:hover,
  .dealcap-strip-mobile:focus-visible{
    background: linear-gradient(90deg,
      rgba(245, 158, 11, 0.08) 0%,
      rgba(245, 158, 11, 0.18) 50%,
      rgba(245, 158, 11, 0.08) 100%);
    border-color: rgba(245, 158, 11, 0.40);
  }
  .dealcap-strip-mobile__dot{
    width: 6px; height: 6px; border-radius: 50%;
    background: #f59e0b;
    box-shadow: 0 0 8px rgba(245, 158, 11, 0.9);
    animation: verdictDot 2s ease-in-out infinite;
    flex: 0 0 auto;
  }
  .dealcap-strip-mobile__label{
    font-size: 0.55rem;
    letter-spacing: 0.22em;
    color: rgba(245, 158, 11, 0.55);
    flex: 0 0 auto;
  }
  .dealcap-strip-mobile__brand{
    font-size: 0.78rem;
    letter-spacing: 0.2em;
    font-weight: 700;
    color: #f59e0b;
    flex: 0 0 auto;
  }
  .dealcap-strip-mobile__sub{
    font-size: 0.58rem;
    letter-spacing: 0.18em;
    color: rgba(244, 250, 249, 0.55);
    flex: 0 0 auto;
  }
  .dealcap-strip-mobile__arrow{
    font-size: 0.78rem;
    color: #f59e0b;
    flex: 0 0 auto;
    margin-left: auto;
    transition: transform 200ms ease;
  }
  .dealcap-strip-mobile:hover .dealcap-strip-mobile__arrow{
    transform: translateX(3px);
  }
}
@media (max-width: 380px){
  .dealcap-strip-mobile{ gap: 0.4rem; padding: 0.5rem 0.85rem; }
  .dealcap-strip-mobile__label{ display: none; }
  .dealcap-strip-mobile__sub{ font-size: 0.52rem; letter-spacing: 0.14em; }
}

/* --- Underwriter toolbar v35.5: lean, two visible buttons --- */
.uw-toolbar__label{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.58rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: #f59e0b;
  align-self: center;
  margin-right: 0.25rem;
}

/* --- Stepped underwriter card --- */
.uw-card--stepped .uw-card__head{
  padding-bottom: 0.95rem;
  border-bottom: 1px solid rgba(94,234,212,0.10);
}
.uw-card--stepped .uw-conf{ margin-top: 0.95rem; }

.uw-card__body--stepped{
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
}

/* Generic stage container */
.uw-stage{
  border-top: 1px solid rgba(94,234,212,0.08);
  background: transparent;
}
.uw-stage:first-of-type{ border-top: none; }

/* Collapsible stages (built on <details>) */
details.uw-stage{ padding: 0; }
details.uw-stage > summary.uw-stage__head{
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 1.1rem 1.25rem;
  cursor: pointer;
  list-style: none;
  user-select: none;
  transition: background 160ms ease;
}
details.uw-stage > summary.uw-stage__head::-webkit-details-marker{ display: none; }
details.uw-stage > summary.uw-stage__head:hover{ background: rgba(94,234,212,0.025); }

.uw-stage__num{
  /* v36.14z — oversized stage number for instant section ID */
  font-family: "JetBrains Mono", monospace;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #5eead4;
  font-weight: 700;
  flex-shrink: 0;
  min-width: 2.6rem;
  text-shadow: 0 0 18px rgba(94, 234, 212, 0.35);
}
.uw-stage__phase{
  /* v36.14z — phase tag visibly larger so section headers read at a glance */
  font-family: "JetBrains Mono", monospace;
  font-size: 0.78rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #f59e0b;
  font-weight: 600;
  flex-shrink: 0;
}
.uw-stage__title{
  /* v36.14z — stage title bumped for hierarchy */
  color: var(--c-ink-100);
  font-size: 1.18rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  flex: 1 1 auto;
}
.uw-stage__chev{
  color: #5eead4;
  font-size: 0.85rem;
  transition: transform 200ms ease;
  flex-shrink: 0;
}
details.uw-stage[open] > summary .uw-stage__chev{ transform: rotate(-180deg); }

.uw-stage__body{
  padding: 0.25rem 1.25rem 1.35rem;
}
.uw-stage__sub{
  margin-top: 1rem;
}

/* Non-collapsible stage wrappers (for stress + next-step which have their own card UI) */
.uw-stage--wrap, .uw-stage--next{
  padding: 1rem 1.25rem 1.25rem;
}
.uw-stage__rail{
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.7rem;
}

/* Tighten nested stress details so it doesn't double up on borders inside its stage wrapper */
.uw-stage--wrap > details.uw-stress{
  margin: 0;
  border: 1px solid rgba(94,234,212,0.14);
  background: rgba(94,234,212,0.02);
  border-radius: 2px;
}
.uw-stage--wrap > details.uw-stress > summary.uw-stress__head{
  padding: 0.85rem 1rem;
}
.uw-stage--wrap > details.uw-stress > .uw-stress__body,
.uw-stage--wrap > details.uw-stress[open] .uw-stress__body{
  padding: 0 1rem 1rem;
}

/* The old single-block coach card inside the new stage should drop its own padding/border */
.uw-stage--coach .uw-stage__body .uw-coach{
  border: none;
  background: transparent;
  padding: 0;
  margin: 0;
}
.uw-stage--coach .uw-stage__body .uw-coach__head{
  display: none; /* stage already has a title bar */
}

/* Email block — visually distinct so user knows the action */
.uw-card__foot .uw-email__mark{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #f59e0b;
  margin-bottom: 0.5rem;
}

/* Mobile: stages stay tidy */
@media (max-width: 640px){
  details.uw-stage > summary.uw-stage__head{
    flex-wrap: wrap;
    padding: 1rem 1rem;
    gap: 0.5rem 0.7rem;
    align-items: center;
  }
  /* v36.14z — mobile still keeps a large number for quick ID */
  .uw-stage__num{ font-size: 2rem; min-width: 2.2rem; }
  .uw-stage__phase{ font-size: 0.7rem; letter-spacing: 0.22em; }
  .uw-stage__title{ flex-basis: 100%; order: 3; font-size: 1.02rem; }
  .uw-stage__chev{ order: 2; margin-left: auto; }
  .uw-stage__body{ padding: 0.25rem 1rem 1.15rem; }
  .uw-stage--wrap, .uw-stage--next{ padding: 0.9rem 1rem 1.1rem; }
}

/* v35.5 fixups */
/* Hide stress test's own header label since the stage rail (02 // STRESS TEST) already says it */
.uw-stage--wrap > details.uw-stress > summary.uw-stress__head .text-amber{ display: none; }
.uw-stage--wrap > details.uw-stress > summary.uw-stress__head .uw-stress__title{ margin-top: 0; }

/* v35.6 — Inline status feedback for the verdict email send */
.uw-email__status{
  margin-top: 0.6rem;
  padding: 0.55rem 0.8rem;
  border-radius: 2px;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.74rem;
  line-height: 1.45;
  letter-spacing: 0.01em;
  border: 1px solid transparent;
  display: none;
}
.uw-email__status[data-tone="ok"]{
  color: #5eead4;
  background: rgba(94,234,212,0.08);
  border-color: rgba(94,234,212,0.3);
}
.uw-email__status[data-tone="warn"]{
  color: #f59e0b;
  background: rgba(245,158,11,0.08);
  border-color: rgba(245,158,11,0.3);
}
.uw-email__status[data-tone="loading"]{
  color: var(--c-ink-200);
  background: rgba(94,234,212,0.04);
  border-color: rgba(94,234,212,0.18);
}
#uw-email-send[disabled]{
  opacity: 0.5;
  cursor: wait;
}

/* ============================================================
   v35.8 — CONTACT SUPPORT SECTION + MODAL (verdict only)
   Teal-themed to match /verdict aesthetic.
   ============================================================ */

/* --- Section --- */
.v-support {
  padding: 4rem 0 3rem;
  border-bottom: 1px solid rgba(94, 234, 212, 0.12);
  background: linear-gradient(180deg, transparent 0%, rgba(94, 234, 212, 0.025) 100%);
}
.v-support__inner {
  border: 1px solid rgba(94, 234, 212, 0.25);
  border-radius: 12px;
  padding: 2rem 2rem 1.75rem;
  background: rgba(7, 22, 26, 0.55);
  backdrop-filter: blur(6px);
  text-align: center;
}
.v-support__mark {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: #5eead4;
  margin-bottom: 0.75rem;
}
.v-support__title {
  font-family: var(--font-display, "Space Grotesk", system-ui, sans-serif);
  font-size: clamp(1.5rem, 3.5vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.1;
  color: #f4faf9;
  margin: 0 0 0.75rem;
}
.v-support__sub {
  color: rgba(244, 250, 249, 0.7);
  font-size: 0.95rem;
  line-height: 1.55;
  max-width: 62ch;
  margin: 0 auto 1.5rem;
}
.v-support__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
.v-support__meta {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(244, 250, 249, 0.45);
}
@media (max-width: 640px) {
  .v-support__inner { padding: 1.5rem 1.25rem; }
}

/* --- Modal --- */
.support-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.support-modal.is-open { display: flex; }
body.support-modal-open { overflow: hidden; }

.support-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 8, 10, 0.72);
  backdrop-filter: blur(4px);
}
.support-modal__panel {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 560px;
  max-height: calc(100vh - 2rem);
  overflow-y: auto;
  background: #0a1a1f;
  border: 1px solid rgba(94, 234, 212, 0.3);
  border-radius: 12px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(94, 234, 212, 0.06) inset;
  animation: support-pop-in 220ms cubic-bezier(0.2, 0.7, 0.2, 1);
}
@keyframes support-pop-in {
  from { opacity: 0; transform: translateY(8px) scale(0.985); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
.support-modal__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.5rem 1.5rem 1rem;
  border-bottom: 1px solid rgba(94, 234, 212, 0.12);
}
.support-modal__head-inner {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1 1 auto;
}
.support-modal__mark {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: #5eead4;
  margin-bottom: 0.55rem;
}
.support-modal__pulse {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: #5eead4;
  box-shadow: 0 0 0 0 rgba(94, 234, 212, 0.55);
  animation: support-pulse 2.2s ease-out infinite;
}
@keyframes support-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(94, 234, 212, 0.55); }
  70%  { box-shadow: 0 0 0 7px rgba(94, 234, 212, 0); }
  100% { box-shadow: 0 0 0 0 rgba(94, 234, 212, 0); }
}
.support-modal__sub {
  margin: 0.5rem 0 0;
  font-size: 0.875rem;
  line-height: 1.5;
  color: rgba(244, 250, 249, 0.6);
  max-width: 42ch;
}
.support-modal__title {
  font-family: var(--font-display, "Space Grotesk", system-ui, sans-serif);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #f4faf9;
  margin: 0;
}
.support-modal__close {
  appearance: none;
  background: transparent;
  border: 1px solid rgba(94, 234, 212, 0.2);
  border-radius: 8px;
  padding: 0.5rem;
  color: rgba(244, 250, 249, 0.6);
  cursor: pointer;
  transition: color 120ms ease, border-color 120ms ease;
}
.support-modal__close:hover {
  color: #5eead4;
  border-color: rgba(94, 234, 212, 0.5);
}

.support-modal__form {
  padding: 1.25rem 1.5rem 1.5rem;
}
.support-modal__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem;
}
.support-modal__col { min-width: 0; }
@media (max-width: 480px) {
  .support-modal__row { grid-template-columns: 1fr; gap: 0; }
  .support-modal__col + .support-modal__col { margin-top: 0.85rem; }
}
.support-modal__form .field-label {
  display: block;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(244, 250, 249, 0.55);
  margin-bottom: 0.4rem;
}
.support-modal__form .field {
  width: 100%;
  background: rgba(14, 30, 36, 0.85);
  border: 1px solid rgba(94, 234, 212, 0.22);
  border-radius: 8px;
  padding: 0.7rem 0.9rem;
  color: #f4faf9;
  font-size: 0.95rem;
  font-family: inherit;
  transition: border-color 120ms ease, background 120ms ease, box-shadow 120ms ease;
}
.support-modal__form .field:hover {
  border-color: rgba(94, 234, 212, 0.32);
}
.support-modal__form .field::placeholder {
  color: rgba(244, 250, 249, 0.3);
}
.support-modal__form .field:focus {
  outline: none;
  border-color: rgba(94, 234, 212, 0.55);
  background: rgba(7, 22, 26, 0.9);
  box-shadow: 0 0 0 3px rgba(94, 234, 212, 0.08);
}
.support-modal__form textarea.field {
  resize: vertical;
  min-height: 110px;
  line-height: 1.5;
}

.support-modal__status {
  display: none;
  margin-top: 1rem;
  padding: 0.65rem 0.85rem;
  border-radius: 8px;
  font-size: 0.875rem;
  border: 1px solid transparent;
}
.support-modal__status[data-tone="ok"] {
  background: rgba(94, 234, 212, 0.08);
  border-color: rgba(94, 234, 212, 0.35);
  color: #5eead4;
}
.support-modal__status[data-tone="warn"] {
  background: rgba(245, 158, 11, 0.08);
  border-color: rgba(245, 158, 11, 0.4);
  color: #f59e0b;
}
.support-modal__status[data-tone="loading"] {
  background: rgba(244, 250, 249, 0.04);
  border-color: rgba(244, 250, 249, 0.15);
  color: rgba(244, 250, 249, 0.7);
}

.support-modal__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  margin-top: 1.25rem;
}
.support-modal__legal {
  margin-top: 0.85rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 9.5px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(244, 250, 249, 0.35);
  text-align: center;
}

/* Cancel ghost button — force terminal contrast against dark modal panel
   (base .btn-ghost uses tokens that flip dark in light theme) */
.support-modal__actions .btn-ghost {
  color: rgba(244, 250, 249, 0.75);
  border-color: rgba(94, 234, 212, 0.28);
  background: transparent;
}
.support-modal__actions .btn-ghost:hover {
  color: #5eead4;
  border-color: rgba(94, 234, 212, 0.55);
  background: rgba(94, 234, 212, 0.06);
}
@media (max-width: 480px) {
  .support-modal__head { padding: 1.25rem 1.25rem 0.85rem; }
  .support-modal__form { padding: 1rem 1.25rem 1.25rem; }
  .support-modal__actions { justify-content: stretch; }
  .support-modal__actions .btn-ghost,
  .support-modal__actions .btn-zero { flex: 1; }
}

/* =================================================================
   v36.6 — Request Funding bridge (dark amber, connector mode)
   Lives under the Six Lanes fee disclaimer. Replaces the bright pill.
   Story: don't see your deal → underwrite first → if it passes,
   submit a request and we shop it to our network of private lenders.
   ================================================================= */
.req-bridge {
  position: relative;
  margin-top: 1.75rem;
  border: 1px solid rgba(220, 145, 30, 0.55);
  background:
    linear-gradient(180deg, rgba(180, 110, 20, 0.13), rgba(80, 45, 8, 0.06)),
    radial-gradient(140% 220% at 0% 0%, rgba(245, 158, 11, 0.10), transparent 55%);
  border-radius: 10px;
  padding: 1.15rem 1.25rem 1.15rem 1.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.9rem 1.3rem;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35), 0 0 22px rgba(245, 158, 11, 0.06);
  overflow: hidden;
}
.req-bridge::before {
  content: "";
  position: absolute;
  top: 0; bottom: 0; left: 0;
  width: 3px;
  background: linear-gradient(180deg, rgba(245, 158, 11, 0.0), rgba(245, 158, 11, 0.85) 30%, rgba(245, 158, 11, 0.85) 70%, rgba(245, 158, 11, 0.0));
  box-shadow: 0 0 14px rgba(245, 158, 11, 0.45);
}
.req-bridge__lead {
  flex: 1 1 240px;
  min-width: 220px;
}
.req-bridge__kicker {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.66rem;
  color: #e6a948;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  margin-bottom: 0.3rem;
  text-shadow: 0 0 12px rgba(245, 158, 11, 0.25);
}
.req-bridge__title {
  font-size: 1.02rem;
  color: #f3e2bd;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.4;
}
.req-bridge__steps {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  flex-wrap: wrap;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.78rem;
  color: #c9b687;
}
.req-bridge__step {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}
.req-bridge__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(180, 110, 20, 0.18);
  border: 1px solid rgba(180, 110, 20, 0.55);
  color: #d9a559;
  font-size: 0.7rem;
  font-weight: 600;
}
.req-bridge__arrow {
  color: #7a6230;
}
.req-bridge__link {
  color: #d9a559;
  text-decoration: underline;
  text-decoration-color: rgba(180, 110, 20, 0.5);
  text-underline-offset: 3px;
  transition: color 0.18s ease, text-decoration-color 0.18s ease;
}
.req-bridge__link:hover,
.req-bridge__link:focus-visible {
  color: #f1c878;
  text-decoration-color: rgba(220, 150, 40, 0.9);
  outline: none;
}
.req-bridge__cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.62rem 1.1rem;
  background: linear-gradient(180deg, rgba(220, 145, 30, 0.32), rgba(180, 110, 20, 0.22));
  border: 1px solid rgba(235, 170, 55, 0.78);
  color: #fde0a3;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.76rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  border-radius: 6px;
  cursor: pointer;
  box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.12), 0 0 18px rgba(245, 158, 11, 0.18);
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.req-bridge__cta:hover,
.req-bridge__cta:focus-visible {
  background: linear-gradient(180deg, rgba(245, 175, 50, 0.42), rgba(210, 135, 25, 0.30));
  border-color: rgba(245, 190, 80, 0.95);
  color: #fff1c7;
  box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.30), 0 0 26px rgba(245, 158, 11, 0.32);
  outline: none;
}
.req-bridge__cta:active {
  transform: translateY(1px);
}
.req-bridge__foot {
  flex-basis: 100%;
  margin: 0;
  padding-top: 0.7rem;
  border-top: 1px dashed rgba(180, 110, 20, 0.22);
}
.req-bridge__types {
  margin: 0 0 0.55rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.68rem;
  color: #8a7b56;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.req-bridge__creed {
  margin: 0;
  font-family: "Space Grotesk", "Inter", system-ui, sans-serif;
  font-size: 0.88rem;
  color: #c3b48a;
  line-height: 1.6;
  letter-spacing: 0.005em;
  max-width: 64ch;
}
.req-bridge__creed strong {
  color: #ebd9b8;
  font-weight: 600;
  letter-spacing: 0.01em;
}

@media (max-width: 720px) {
  .req-bridge {
    padding: 1rem 1rem 1.1rem;
    gap: 0.75rem 0.9rem;
  }
  .req-bridge__title {
    font-size: 0.95rem;
  }
  .req-bridge__steps {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.45rem;
  }
  .req-bridge__arrow {
    display: none;
  }
  .req-bridge__cta {
    width: 100%;
    justify-content: center;
  }
}

/* ============================================================
   v36.9 — TERM TOOLTIPS · "Clear, not clever"
   Bright solid dot next to any real-estate / finance term.
   Hover (desktop) or tap (mobile) reveals plain-English def.
   Dot is visually prominent so users discover it without help.
   ============================================================ */
.term {
  display: inline-flex;
  align-items: center;
  gap: 0.22em;
  cursor: help;
  white-space: nowrap;
  position: relative;
}
.term:focus { outline: none; }
.term:focus-visible {
  border-radius: 3px;
  box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.55);
}
/* Hide the literal "i" text inside the icon — we render a pure dot now */
.term__icon {
  display: inline-block;
  width: 0.72em;
  height: 0.72em;
  margin-left: 0.12em;
  font-size: 1em;          /* anchor to surrounding text size */
  line-height: 0;
  text-indent: -9999em;    /* hide the "i" character */
  overflow: hidden;
  background: #fbbf24;     /* bright amber */
  border: 1px solid rgba(0, 0, 0, 0.35);
  border-radius: 50%;
  vertical-align: 0.12em;
  box-shadow:
    0 0 0 2px rgba(245, 158, 11, 0.22),
    0 0 10px rgba(245, 158, 11, 0.55);
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
  flex-shrink: 0;
  cursor: help;
  position: relative;
}
/* Gentle pulse so the dot draws the eye on first paint without being annoying */
@keyframes termDotPulse {
  0%, 100% { box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.22), 0 0 10px rgba(245, 158, 11, 0.55); }
  50%      { box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.10), 0 0 16px rgba(245, 158, 11, 0.85); }
}
.term__icon { animation: termDotPulse 2.6s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) {
  .term__icon { animation: none; }
}
.term:hover .term__icon,
.term:focus-visible .term__icon {
  background: #fde68a;
  transform: scale(1.18);
  box-shadow:
    0 0 0 3px rgba(245, 158, 11, 0.35),
    0 0 20px rgba(245, 158, 11, 0.95);
  animation: none;
}
/* Teal variant on Verdict */
@keyframes termDotPulseTeal {
  0%, 100% { box-shadow: 0 0 0 2px rgba(94, 234, 212, 0.22), 0 0 10px rgba(94, 234, 212, 0.55); }
  50%      { box-shadow: 0 0 0 3px rgba(94, 234, 212, 0.10), 0 0 16px rgba(94, 234, 212, 0.85); }
}
body.verdict-page .term__icon,
.verdict-page .term__icon {
  background: #5eead4;
  animation: termDotPulseTeal 2.6s ease-in-out infinite;
  box-shadow:
    0 0 0 2px rgba(94, 234, 212, 0.22),
    0 0 10px rgba(94, 234, 212, 0.55);
}
body.verdict-page .term:hover .term__icon,
.verdict-page .term:hover .term__icon,
body.verdict-page .term:focus-visible .term__icon,
.verdict-page .term:focus-visible .term__icon {
  background: #99f6e4;
  transform: scale(1.18);
  box-shadow:
    0 0 0 3px rgba(94, 234, 212, 0.35),
    0 0 20px rgba(94, 234, 212, 0.95);
  animation: none;
}

/* Floating tooltip card */
.term-tip {
  position: absolute;
  z-index: 9999;
  max-width: 320px;
  padding: 0.7rem 0.85rem;
  background: rgba(15, 18, 22, 0.98);
  color: #e5e7eb;
  border: 1px solid rgba(245, 158, 11, 0.45);
  border-radius: 8px;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 0.82rem;
  line-height: 1.45;
  letter-spacing: 0.005em;
  box-shadow:
    0 12px 32px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(245, 158, 11, 0.12),
    0 0 24px rgba(245, 158, 11, 0.18);
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 160ms ease, transform 160ms ease;
  pointer-events: none;
  text-transform: none;
}
.term-tip.is-visible {
  opacity: 1;
  transform: translateY(0);
}
body.verdict-page .term-tip,
.verdict-page .term-tip {
  border-color: rgba(94, 234, 212, 0.45);
  box-shadow:
    0 12px 32px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(94, 234, 212, 0.12),
    0 0 24px rgba(94, 234, 212, 0.18);
}

/* Inside the Verdict KPI label cells: dot stays proportionate */
.uw-kpi__label .term { letter-spacing: inherit; }
.uw-kpi__label .term__icon { width: 0.62em; height: 0.62em; }

/* Inside field-labels (input forms): keep label uppercase but unwrap the term span */
.field-label .term { text-transform: inherit; letter-spacing: inherit; }

/* v36.9 — inline legend chip used near sections that contain tipped terms */
.term-legend {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(229, 231, 235, 0.62);
  padding: 0.4em 0.7em;
  background: rgba(245, 158, 11, 0.06);
  border: 1px solid rgba(245, 158, 11, 0.22);
  border-radius: 999px;
}
.term-legend__dot {
  display: inline-block;
  width: 0.65em;
  height: 0.65em;
  border-radius: 50%;
  background: #fbbf24;
  box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.22), 0 0 8px rgba(245, 158, 11, 0.55);
  flex-shrink: 0;
}
body.verdict-page .term-legend,
.verdict-page .term-legend {
  background: rgba(94, 234, 212, 0.06);
  border-color: rgba(94, 234, 212, 0.22);
}
body.verdict-page .term-legend__dot,
.verdict-page .term-legend__dot {
  background: #5eead4;
  box-shadow: 0 0 0 2px rgba(94, 234, 212, 0.22), 0 0 8px rgba(94, 234, 212, 0.55);
}

/* ============================================================
   v36.10 — Grouped term dots + multi-term tooltip panel
   ============================================================ */

/* Grouped dot button: slightly larger than inline dots so it reads as
   a “help button” for the whole block, not a marker on a single word. */
.term.term--group {
  display: inline-flex;
  align-items: center;
  gap: 0.25em;
  margin-left: 0.25em;
  vertical-align: 0.05em;
  white-space: nowrap;
}
.term--group .term__icon {
  width: 0.85em;
  height: 0.85em;
  margin-left: 0;
}
.term__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25em;
  height: 1.1em;
  padding: 0 0.4em;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 0.6rem;
  font-weight: 600;
  line-height: 1;
  color: rgba(15, 18, 22, 0.92);
  background: rgba(245, 158, 11, 0.92);
  border-radius: 999px;
  letter-spacing: 0;
  text-transform: none;
  flex-shrink: 0;
}
body.verdict-page .term__count,
.verdict-page .term__count {
  background: rgba(94, 234, 212, 0.92);
}

/* Multi-term tooltip panel: stacked rows, each with term + definition */
.term-tip--list {
  pointer-events: auto; /* let users scroll inside the panel */
  padding: 0.55rem 0.7rem;
  max-height: min(60vh, 520px);
  overflow-y: auto;
}
.term-tip__row {
  padding: 0.55rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.term-tip__row:first-child { padding-top: 0.15rem; }
.term-tip__row:last-child { border-bottom: 0; padding-bottom: 0.15rem; }
.term-tip__term {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #fbbf24; /* amber on landing */
  margin-bottom: 0.2rem;
}
body.verdict-page .term-tip__term,
.verdict-page .term-tip__term {
  color: #5eead4;
}
.term-tip__def {
  font-size: 0.82rem;
  line-height: 1.45;
  color: #e5e7eb;
}

/* Hint that the entire Engine row is interactive even with one dot */
.eng-table tbody tr {
  transition: background 160ms ease;
}
.eng-table tbody tr:hover {
  background: rgba(94, 234, 212, 0.03);
}

/* ============================================================
   v36.11 — Legal + Compliance footer + form consent micro-copy
   ============================================================ */
.footer-legal {
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid rgba(115, 115, 115, 0.18);
  text-align: center;
}
.footer-legal__line {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 11px;
  line-height: 1.55;
  letter-spacing: 0.01em;
  text-transform: none;
  color: rgba(229, 231, 235, 0.55);
  max-width: 780px;
  margin: 0 auto 14px;
}
.footer-legal__links {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(229, 231, 235, 0.4);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  align-items: center;
  margin: 0;
}
.footer-legal__links a {
  color: rgba(245, 158, 11, 0.85);
  text-decoration: none;
  transition: color 160ms ease;
}
.footer-legal__links a:hover,
.footer-legal__links a:focus-visible {
  color: #fbbf24;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.footer-legal__sep {
  color: rgba(229, 231, 235, 0.25);
}
/* Verdict page footer-legal — teal accent on links */
.footer-legal--verdict .footer-legal__links a {
  color: rgba(94, 234, 212, 0.9);
}
.footer-legal--verdict .footer-legal__links a:hover,
.footer-legal--verdict .footer-legal__links a:focus-visible {
  color: #5eead4;
}
@media (max-width: 600px) {
  .footer-legal__line { font-size: 10.5px; line-height: 1.55; }
  .footer-legal__links { gap: 6px; font-size: 9px; letter-spacing: 0.18em; }
}

/* TCPA / consent micro-copy above lane-form submit */
.lf-consent {
  margin: 16px 0 12px;
  padding: 12px 14px;
  background: rgba(245, 158, 11, 0.04);
  border: 1px solid rgba(245, 158, 11, 0.18);
  border-left: 2px solid rgba(245, 158, 11, 0.55);
  border-radius: 6px;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 11.5px;
  line-height: 1.55;
  color: rgba(229, 231, 235, 0.72);
  text-transform: none;
  letter-spacing: 0;
}
.lf-consent strong {
  color: rgba(245, 158, 11, 0.95);
  font-weight: 600;
}
.lf-consent a {
  color: rgba(245, 158, 11, 0.95);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.lf-consent a:hover { color: #fbbf24; }

/* ============================================================
   v36.12 — Underwriter section visibility pass
   Goal: make the actual tool unmistakable, without louder volume.
   - Surround the picker as one distinct unit (teal-tinted frame)
   - Promote the section label
   - Add a subtle "↓ Start here" first-time scroll cue
   - Boost the primary action button
   ============================================================ */

/* 1. The picker now reads as one bounded tool, not a floating module */
.verdict-page--teal .uw-picker{
  border: 1px solid rgba(45, 212, 191, 0.22);
  background:
    radial-gradient(120% 60% at 50% 0%, rgba(45, 212, 191, 0.06) 0%, transparent 60%),
    var(--c-ink-900);
  box-shadow:
    inset 0 1px 0 rgba(45, 212, 191, 0.12),
    0 0 0 1px rgba(45, 212, 191, 0.04),
    0 24px 80px -32px rgba(45, 212, 191, 0.18);
  position: relative;
  border-radius: 2px;
}

/* Corner ticks — dossier feel, signals "this is a precise tool" */
.verdict-page--teal .uw-picker::before,
.verdict-page--teal .uw-picker::after{
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  border: 1px solid rgba(45, 212, 191, 0.55);
  pointer-events: none;
}
.verdict-page--teal .uw-picker::before{
  top: -1px; left: -1px;
  border-right: none;
  border-bottom: none;
}
.verdict-page--teal .uw-picker::after{
  bottom: -1px; right: -1px;
  border-left: none;
  border-top: none;
}

/* 2. Promote the picker head — bigger label, teal accent, real visual weight */
.verdict-page--teal .uw-picker__head{
  margin-bottom: 1.75rem;
  text-align: center;
  position: relative;
  padding-top: 0.25rem;
}
.verdict-page--teal .uw-picker__head > div:first-child{
  /* Was: 10px amber 0.25em tracking. Now: bigger, teal, bracketed feel */
  font-size: 11px !important;
  letter-spacing: 0.28em !important;
  color: var(--c-teal-300, #5eead4) !important;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 6px 14px;
  border: 1px solid rgba(45, 212, 191, 0.32);
  border-radius: 999px;
  background: rgba(45, 212, 191, 0.04);
}
.verdict-page--teal .uw-picker__head > div:first-child::before{
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-teal-400, #2dd4bf);
  box-shadow: 0 0 8px rgba(45, 212, 191, 0.7);
  animation: uw-pulse 2.4s ease-in-out infinite;
}
@keyframes uw-pulse{
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.45; }
}
.verdict-page--teal .uw-picker__sub{
  margin-top: 0.9rem;
  font-size: 1.0625rem;  /* up from 0.9375 */
  color: var(--c-ink-100, #e2e8f0);
}

/* 3. Quiet "Start here" cue, ABOVE the picker — first-paint only feel */
.verdict-page--teal .uw-picker .uw-start-cue{
  position: absolute;
  top: -34px;
  left: 50%;
  transform: translateX(-50%);
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  letter-spacing: 0.32em;
  color: var(--c-teal-400, #2dd4bf);
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  opacity: 0.85;
  pointer-events: none;
  animation: uw-cue-float 2.6s ease-in-out infinite;
  white-space: nowrap;
}
.verdict-page--teal .uw-picker .uw-start-cue::after{
  content: "↓";
  font-size: 12px;
  margin-left: 2px;
  letter-spacing: 0;
}
@keyframes uw-cue-float{
  0%, 100% { transform: translateX(-50%) translateY(0); opacity: 0.85; }
  50%      { transform: translateX(-50%) translateY(3px); opacity: 1; }
}
/* Hide cue once user has engaged the tool */
.verdict-page--teal .uw-picker.is-touched .uw-start-cue{
  display: none;
}

/* 4. Primary action — Run Verdict button gets a touch more presence */
.verdict-page--teal .uw-strip__confirm{
  box-shadow:
    0 0 0 1px rgba(45, 212, 191, 0.45),
    0 0 24px -4px rgba(45, 212, 191, 0.35);
}
.verdict-page--teal .uw-strip__confirm:hover{
  box-shadow:
    0 0 0 1px rgba(45, 212, 191, 0.7),
    0 0 32px -2px rgba(45, 212, 191, 0.55);
}

/* Responsive tweaks */
@media (max-width: 640px){
  .verdict-page--teal .uw-picker::before,
  .verdict-page--teal .uw-picker::after{ width: 10px; height: 10px; }
  /* Hide floating cue on mobile — sticky funding band competes for the same row; pulsing pill already signals Step 1 */
  .verdict-page--teal .uw-picker .uw-start-cue{ display: none; }
  .verdict-page--teal .uw-picker__head > div:first-child{ font-size: 10px !important; letter-spacing: 0.22em !important; }
  .verdict-page--teal .uw-picker__sub{ font-size: 0.9375rem; }
}

/* ============================================================
   v36.13 — Privacy Policy modal
   Mirrors support-modal pattern; scoped under .privacy-modal
   ============================================================ */
.nav-link--btn{
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 0.5rem 0.75rem;
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  text-transform: uppercase;
}
.nav-link--btn:hover{ color: #f59e0b; }

.privacy-modal{
  position: fixed; inset: 0;
  display: none;
  z-index: 100;
}
.privacy-modal[aria-hidden="false"]{ display: block; }

.privacy-modal__backdrop{
  position: absolute; inset: 0;
  background: rgba(8, 10, 14, 0.78);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  animation: privacyFade 180ms ease-out;
}

.privacy-modal__panel{
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: min(720px, calc(100vw - 32px));
  max-height: min(86vh, 880px);
  background: #0b0d12;
  border: 1px solid rgba(45, 212, 191, 0.22);
  box-shadow:
    0 0 0 1px rgba(245, 158, 11, 0.06),
    0 40px 80px -20px rgba(0, 0, 0, 0.7),
    inset 0 1px 0 rgba(255, 255, 255, 0.03);
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  animation: privacyRise 220ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

@keyframes privacyFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes privacyRise {
  from { opacity: 0; transform: translate(-50%, calc(-50% + 12px)); }
  to   { opacity: 1; transform: translate(-50%, -50%); }
}

.privacy-modal__head{
  padding: 1.25rem 1.5rem 1rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.privacy-modal__mark{
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #f59e0b;
  margin-bottom: 0.4rem;
}
.privacy-modal__title{
  font-family: 'Space Grotesk', 'Inter', sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  color: #f1f5f9;
  margin: 0 0 0.35rem;
  letter-spacing: -0.01em;
}
.privacy-modal__meta{
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  color: #64748b;
  letter-spacing: 0.08em;
  margin: 0;
}

.privacy-modal__close{
  background: transparent;
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 4px;
  color: #94a3b8;
  width: 36px; height: 36px;
  display: inline-flex;
  align-items: center; justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: color 140ms, border-color 140ms, background 140ms;
}
.privacy-modal__close:hover{
  color: #f59e0b;
  border-color: rgba(245, 158, 11, 0.4);
  background: rgba(245, 158, 11, 0.06);
}

.privacy-modal__body{
  padding: 1.25rem 1.5rem 0.5rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  font-family: 'Inter', sans-serif;
  color: #cbd5e1;
  font-size: 14px;
  line-height: 1.65;
  flex: 1 1 auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(45, 212, 191, 0.25) transparent;
}
.privacy-modal__body::-webkit-scrollbar{ width: 8px; }
.privacy-modal__body::-webkit-scrollbar-thumb{
  background: rgba(45, 212, 191, 0.22);
  border-radius: 4px;
}
.privacy-modal__body h4{
  font-family: 'Space Grotesk', 'Inter', sans-serif;
  color: #5eead4;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
  margin: 1.25rem 0 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid rgba(148, 163, 184, 0.08);
}
.privacy-modal__body h4:first-child{
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.privacy-modal__body p{ margin: 0 0 0.75rem; }
.privacy-modal__body ul{
  margin: 0 0 0.85rem;
  padding-left: 1.1rem;
  list-style: none;
}
.privacy-modal__body li{
  margin-bottom: 0.4rem;
  position: relative;
  padding-left: 0.85rem;
}
.privacy-modal__body li::before{
  content: '';
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 4px; height: 4px;
  background: rgba(94, 234, 212, 0.7);
  border-radius: 50%;
}
.privacy-modal__body a{
  color: #5eead4;
  text-decoration: underline;
  text-decoration-color: rgba(94, 234, 212, 0.4);
  text-underline-offset: 2px;
}
.privacy-modal__body a:hover{
  color: #2dd4bf;
  text-decoration-color: #2dd4bf;
}
.privacy-modal__body strong{ color: #e2e8f0; }

.privacy-modal__footrule{
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(245, 158, 11, 0.25), transparent);
  margin: 1.25rem 0 1rem;
}
.privacy-modal__foot{
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  color: #64748b;
  letter-spacing: 0.06em;
  margin: 0 0 1rem;
}

.privacy-modal__actions{
  padding: 1rem 1.5rem 1.25rem;
  border-top: 1px solid rgba(148, 163, 184, 0.12);
  display: flex;
  gap: 0.75rem;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  background: rgba(11, 13, 18, 0.6);
}

/* Lock body scroll when modal open */
body.privacy-modal-open{ overflow: hidden; }

/* Mobile */
@media (max-width: 640px){
  .privacy-modal__panel{
    width: calc(100vw - 16px);
    max-height: calc(100vh - 32px);
    border-radius: 4px;
  }
  .privacy-modal__head{ padding: 1rem 1.1rem 0.85rem; }
  .privacy-modal__title{ font-size: 1.2rem; }
  .privacy-modal__body{ padding: 1rem 1.1rem 0.5rem; font-size: 13.5px; }
  .privacy-modal__actions{ padding: 0.85rem 1.1rem 1rem; }
  .privacy-modal__actions .btn-zero,
  .privacy-modal__actions .btn-ghost{ flex: 1 1 auto; justify-content: center; }
}

/* ============================================================
   v36.14L — CINEMATIC INTRO: DEAL GLYPH UPGRADE
   Replaces plain Space Grotesk brand text with the locked
   DEAL GLYPH wordmark lockup (matches nav/footer typography).
   Applies to both Verdict and DealCap intros.
   ============================================================ */

/* Common: stack "Welcome to" above the GLYPH lockup */
.verdict-intro__welcome,
.dealcap-intro__welcome{
  margin-bottom: 0.55rem;
}

/* The brand line becomes a flex container that hosts the GLYPH lockup
   centered, with its own fade-in matching the original text version. */
.verdict-intro__brand--glyph,
.dealcap-intro__brand--glyph{
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  opacity: 0;
  animation: vBrandIn 700ms cubic-bezier(0.4, 0, 0.2, 1) 380ms forwards;
}
@keyframes vBrandIn{
  0%   { opacity: 0; transform: translateY(8px); filter: blur(2px); }
  100% { opacity: 1; transform: translateY(0);  filter: blur(0); }
}

/* Lockup font-size = the heart of the cinematic moment.
   v36.14ae — SYNCHRONY: DEALCAP USA and VERDICT now render at the same font-size.
   Previously DEALCAP was scaled 1.242× to equalize visual width — user preference
   is now matched scale, not matched width. The words speak for themselves. */
.verdict-intro__brand--glyph .dc-wm,
.dealcap-intro__brand--glyph .dc-wm{
  font-size: clamp(2.4rem, 6.4vw, 5rem);
  gap: 0.22em;
}

/* Teal glow on Verdict variant (v36.14r — reverted stroke fattening).
   Returned to clean v36.14o glow: ambient halo only, no edge dilation. */
.verdict-intro__brand--glyph .dc-wm__part{
  filter:
    drop-shadow(0 0 0.18em rgba(94,234,212,0.45))
    drop-shadow(0 0 0.34em rgba(94,234,212,0.22));
}
/* Amber glow on DealCap variant (v36.14r — reverted stroke fattening).
   Returned to clean v36.14o glow: ambient halo only, no edge dilation. */
.dealcap-intro__brand--glyph .dc-wm__part{
  filter:
    drop-shadow(0 0 0.18em rgba(245,158,11,0.45))
    drop-shadow(0 0 0.34em rgba(245,158,11,0.22));
}

/* UNDERWRITER / USA subtitle inside intro — bump white intensity */
.verdict-intro__brand--glyph .dc-wm__sub,
.dealcap-intro__brand--glyph .dc-wm__sub{
  color: #fff;
  text-shadow: 0 0 12px rgba(255,255,255,0.25);
}

/* Carry the pixelation chromatic-aberration vibe onto the GLYPH too,
   so the leave animation feels unified with the rest of the intro. */
.verdict-intro.is-pixelating .verdict-intro__brand--glyph,
.verdict-intro.is-leaving   .verdict-intro__brand--glyph{
  animation: vGlyphChroma 1800ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes vGlyphChroma{
  0%   { filter: none; }
  35%  { filter: drop-shadow(-3px 0 0 rgba(239,68,68,0.7))
                 drop-shadow( 3px 0 0 rgba(94,234,212,0.8))
                 drop-shadow( 0 0 36px rgba(94,234,212,0.5)); }
  70%  { filter: drop-shadow(-6px 0 0 rgba(239,68,68,0.85))
                 drop-shadow( 6px 0 0 rgba(94,234,212,0.9))
                 drop-shadow( 0 0 40px rgba(94,234,212,0.6)); }
  100% { filter: drop-shadow(-10px 0 0 rgba(239,68,68,0.6))
                 drop-shadow( 10px 0 0 rgba(94,234,212,0.6))
                 drop-shadow( 0 0 50px rgba(94,234,212,0.4)); }
}

.dealcap-intro.is-pixelating .dealcap-intro__brand--glyph,
.dealcap-intro.is-leaving   .dealcap-intro__brand--glyph{
  animation: dcGlyphChroma 1800ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes dcGlyphChroma{
  0%   { filter: none; }
  35%  { filter: drop-shadow(-3px 0 0 rgba(239,68,68,0.7))
                 drop-shadow( 3px 0 0 rgba(245,158,11,0.85))
                 drop-shadow( 0 0 36px rgba(245,158,11,0.5)); }
  70%  { filter: drop-shadow(-6px 0 0 rgba(239,68,68,0.85))
                 drop-shadow( 6px 0 0 rgba(245,158,11,0.9))
                 drop-shadow( 0 0 40px rgba(245,158,11,0.6)); }
  100% { filter: drop-shadow(-10px 0 0 rgba(239,68,68,0.6))
                 drop-shadow( 10px 0 0 rgba(245,158,11,0.6))
                 drop-shadow( 0 0 50px rgba(245,158,11,0.4)); }
}

/* Mobile: shrink lockups so they fit within the viewport with margin.
   v36.14ae — SYNCHRONY: matched scale on mobile too. */
@media (max-width: 640px){
  .verdict-intro__brand--glyph .dc-wm,
  .dealcap-intro__brand--glyph .dc-wm{
    font-size: clamp(1.8rem, 8.5vw, 3rem);
  }
}

/* ============================================================
   v36.14n / v36.14o — DEALCAP INTRO: stack USA below DEALCAP (center-aligned)
   The default .dc-wm lockup is a horizontal flex (DEALCAP | USA).
   In the cinematic intro we want USA centered beneath DEALCAP,
   rendered with the DEAL GLYPH (SVG mask) — not Inter text.
   ============================================================ */
.dealcap-intro__brand--glyph .dc-wm{
  flex-direction: column;
  align-items: center;
  gap: 0.45em;
}

/* DEALCAP glyph centering (v36.14t):
   v36.14t — Orbitron Medium has natural proportions, no scaleX compression.
   Layout width matches new aspect ratio 2683/316 = 8.49em. */
.dealcap-intro__brand--glyph .dc-wm__part--dealcap{
  transform-origin: center center;
  width: 8.49em;
}

/* USA — render the DEAL GLYPH (SVG mask) instead of Inter text.
   v36.14t — Orbitron Medium, no scaleX compression needed.
   Width = aspect-ratio (1158/316) × height(0.6em) = 2.198em. */
.dealcap-intro__brand--glyph .dc-wm__part--usa{
  display: block;
  height: 0.6em;
  width: calc((1158 / 316) * 0.6em);   /* 2.198em natural */
  transform-origin: center center;
}

/* Hide the Inter text subtitle inside the intro (we use the glyph version) */
.dealcap-intro__brand--glyph .dc-wm__sub{
  display: none;
}

/* =========================================================
   v36.14aa — Underwriter "Advanced assumptions" disclosure
   Collapsible group that holds rarely-touched inputs so the
   main card stays scannable. Spans the full input grid.
   ========================================================= */
.uw-assumptions{
  grid-column: 1 / -1;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  background: rgba(255,255,255,.02);
  padding: 0;
  margin-top: 4px;
}
.uw-assumptions[open]{
  background: rgba(255,255,255,.03);
  border-color: rgba(45,212,191,.18);
}
.uw-assumptions__summary{
  list-style: none;
  cursor: pointer;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(245,246,248,.62);
  user-select: none;
  transition: color .15s ease;
}
.uw-assumptions__summary::-webkit-details-marker{ display: none; }
.uw-assumptions__summary::before{
  content: "+";
  display: inline-flex;
  width: 18px; height: 18px;
  align-items: center; justify-content: center;
  border: 1px solid rgba(245,246,248,.20);
  border-radius: 4px;
  font-size: 14px;
  font-weight: 400;
  color: rgba(245,246,248,.55);
  transition: transform .15s ease, border-color .15s ease, color .15s ease;
}
.uw-assumptions[open] .uw-assumptions__summary::before{
  content: "−";
  border-color: rgba(45,212,191,.45);
  color: #5eead4;
}
.uw-assumptions__summary:hover{ color: rgba(245,246,248,.85); }
.uw-assumptions__label{ flex: 1; }
.uw-assumptions__count{
  display: inline-flex;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  align-items: center; justify-content: center;
  border-radius: 999px;
  background: rgba(245,158,11,.14);
  color: #f59e0b;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .04em;
}
.uw-assumptions__grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  padding: 4px 16px 16px;
}
@media (min-width: 640px){
  .uw-assumptions__grid{ grid-template-columns: 1fr 1fr; }
}

/* v36.14aa — Sensitivity mini-table (lane-supplied; Multifamily/MHP/Construction) */
.uw-sens{
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid rgba(45,212,191,.22);
  border-radius: 6px;
  background: rgba(45,212,191,.04);
}
.uw-sens__title{
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #5eead4;
  margin-bottom: 10px;
}
.uw-sens__table{
  width: 100%;
  font-size: 12.5px;
  border-collapse: collapse;
}
.uw-sens__table th{
  text-align: left;
  font-weight: 600;
  color: rgba(245,246,248,.72);
  padding: 6px 12px 6px 0;
  border-bottom: 1px solid rgba(245,246,248,.06);
  white-space: nowrap;
}
.uw-sens__table tr:last-child th,
.uw-sens__table tr:last-child td{ border-bottom: none; }
.uw-sens__table td{
  padding: 6px 0;
  border-bottom: 1px solid rgba(245,246,248,.06);
  color: rgba(245,246,248,.92);
  font-variant-numeric: tabular-nums;
}

/* v36.14ah — Silent verdicts-underwritten counter (founder readout)
   Intentionally quiet: monospace, low-contrast, no border. Reads like a
   build-log line so visitors slide past while the founder can spot it.
   ---------------------------------------------------------------- */
.dc-telemetry {
  margin-top: 1.25rem;
  text-align: center;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 9.5px;
  letter-spacing: 0.18em;
  text-transform: lowercase;
  color: rgba(245, 246, 248, 0.18); /* near-invisible on the dark footer */
  user-select: none;
  -webkit-user-select: none;
  transition: color 200ms ease;
}
.dc-telemetry:hover {
  color: rgba(245, 246, 248, 0.42); /* lifts on hover for inspection */
}
#dc-telemetry-readout { white-space: nowrap; }

/* ───────────────────────────────────────────────────────────────────────────
   v36.15 — ENGINE CARD DECK (replaces eng-table)
   12-card swipe carousel · mobile-first · plain-English explainer per card
   ─────────────────────────────────────────────────────────────────────────── */

.eng-deck {
  margin-top: 2rem;
  border: 1px solid rgba(94, 234, 212, 0.18);
  border-radius: 14px;
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(94, 234, 212, 0.06) 0%, transparent 60%),
    linear-gradient(180deg, rgba(10, 13, 18, 0.85) 0%, rgba(10, 13, 18, 0.95) 100%);
  padding: 1.25rem;
  position: relative;
}
@media (min-width: 768px) { .eng-deck { padding: 1.75rem; } }

.eng-deck__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}
.eng-deck__counter {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  color: #5eead4;
  font-weight: 600;
}
.eng-deck__counter [data-eng-current],
.eng-deck__counter [data-eng-total] {
  font-variant-numeric: tabular-nums;
}
.eng-deck__sep {
  color: rgba(245, 246, 248, 0.3);
  margin: 0 0.2em;
}
.eng-deck__hint {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  color: rgba(245, 246, 248, 0.4);
  text-transform: uppercase;
}
@media (max-width: 640px) {
  .eng-deck__hint { display: none; }
}

.eng-deck__viewport {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  outline: none;
  min-height: 380px;
}
.eng-deck__viewport:focus-visible {
  box-shadow: 0 0 0 2px rgba(94, 234, 212, 0.4);
}

.eng-deck__track {
  position: relative;
  width: 100%;
}

.eng-card {
  width: 100%;
  padding: 1.5rem;
  border: 1px solid rgba(94, 234, 212, 0.22);
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(45, 212, 191, 0.04) 0%, transparent 40%),
    rgba(10, 13, 18, 0.6);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  animation: engCardIn 360ms cubic-bezier(0.16, 1, 0.3, 1) both;
}
.eng-card[hidden] { display: none; }
@media (min-width: 768px) { .eng-card { padding: 2rem 2.25rem; } }

@keyframes engCardIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

.eng-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.7rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(245, 246, 248, 0.5);
  border-bottom: 1px dashed rgba(94, 234, 212, 0.15);
  padding-bottom: 0.6rem;
}
.eng-card__idx { color: #5eead4; font-weight: 600; }
.eng-card__tag { color: #f59e0b; }

.eng-card__name {
  font-family: 'Inter', system-ui, sans-serif;
  font-weight: 700;
  font-size: 1.45rem;
  line-height: 1.18;
  letter-spacing: -0.01em;
  color: #f5f6f8;
  margin: 0;
}
@media (min-width: 768px) { .eng-card__name { font-size: 1.75rem; } }
.eng-card__name-sub {
  font-weight: 500;
  font-size: 0.78em;
  color: rgba(245, 246, 248, 0.55);
  letter-spacing: 0;
}

.eng-card__formula {
  display: block;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.85rem;
  line-height: 1.55;
  color: #5eead4;
  background: rgba(45, 212, 191, 0.06);
  border: 1px solid rgba(94, 234, 212, 0.18);
  border-radius: 6px;
  padding: 0.7rem 0.9rem;
  word-break: break-word;
}

.eng-card__plain {
  border-left: 2px solid #f59e0b;
  padding: 0.2rem 0 0.2rem 0.9rem;
}
.eng-card__plain-mark {
  display: block;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  color: #f59e0b;
  text-transform: uppercase;
  margin-bottom: 0.4rem;
  font-weight: 600;
}
.eng-card__plain p {
  font-size: 0.95rem;
  line-height: 1.55;
  color: rgba(245, 246, 248, 0.88);
  margin: 0 0 0.5rem 0;
}
.eng-card__plain p:last-child { margin-bottom: 0; }
.eng-card__example {
  font-size: 0.85rem !important;
  color: rgba(245, 246, 248, 0.62) !important;
  font-style: italic;
}
.eng-card__example b {
  color: #5eead4;
  font-style: normal;
  font-weight: 600;
}

.eng-card__meta {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5rem;
  padding-top: 0.85rem;
  border-top: 1px dashed rgba(94, 234, 212, 0.12);
}
@media (min-width: 768px) {
  .eng-card__meta { grid-template-columns: 1fr 1fr; gap: 1rem; }
}
.eng-card__meta-row { display: flex; flex-direction: column; gap: 0.2rem; }
.eng-card__meta-label {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.64rem;
  letter-spacing: 0.22em;
  color: rgba(245, 246, 248, 0.42);
  text-transform: uppercase;
  font-weight: 600;
}
.eng-card__meta-val {
  font-size: 0.82rem;
  color: rgba(245, 246, 248, 0.78);
  line-height: 1.45;
}
.eng-card__meta-val a {
  color: #5eead4;
  border-bottom: 1px dotted rgba(94, 234, 212, 0.4);
  transition: color 200ms ease;
}
.eng-card__meta-val a:hover { color: #f59e0b; border-bottom-color: #f59e0b; }

/* Nav controls */
.eng-deck__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(94, 234, 212, 0.1);
}
.eng-deck__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 1rem;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.75rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #f5f6f8;
  background: rgba(45, 212, 191, 0.08);
  border: 1px solid rgba(94, 234, 212, 0.3);
  border-radius: 6px;
  cursor: pointer;
  transition: all 200ms ease;
  flex-shrink: 0;
}
.eng-deck__btn:hover:not(:disabled) {
  background: rgba(45, 212, 191, 0.18);
  border-color: #5eead4;
  color: #5eead4;
  transform: translateY(-1px);
}
.eng-deck__btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.eng-deck__btn--prev svg { margin-right: 0.1rem; }
.eng-deck__btn--next svg { margin-left: 0.1rem; }

.eng-deck__dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  flex-wrap: wrap;
  flex: 1;
}
.eng-deck__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(245, 246, 248, 0.18);
  border: none;
  padding: 0;
  cursor: pointer;
  transition: all 220ms ease;
}
.eng-deck__dot:hover { background: rgba(94, 234, 212, 0.5); transform: scale(1.2); }
.eng-deck__dot[aria-selected="true"] {
  background: #5eead4;
  width: 22px;
  border-radius: 4px;
  box-shadow: 0 0 8px rgba(94, 234, 212, 0.5);
}
@media (max-width: 480px) {
  .eng-deck__btn span { display: none; }
  .eng-deck__btn { padding: 0.55rem 0.7rem; }
  .eng-deck__dot { width: 6px; height: 6px; }
  .eng-deck__dot[aria-selected="true"] { width: 18px; }
}


/* ───────────────────────────────────────────────────────────────────────────
   v36.15 — VERDICT FLOW (vflow2) — hybrid expandable timeline
   Desktop: all 5 visible on rail · click to expand detail drawer
   Mobile: one step open at a time · accordion
   ─────────────────────────────────────────────────────────────────────────── */

.vflow2 {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  list-style: none;
  margin: 2rem 0 0 0;
  padding: 0;
}
@media (min-width: 1024px) {
  .vflow2 {
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    padding: 0 0.5rem;
    margin-top: 3rem;
  }
}

/* Rail (desktop only — horizontal line behind nodes) */
.vflow2__rail {
  display: none;
}
@media (min-width: 1024px) {
  .vflow2__rail {
    display: block;
    position: absolute;
    top: 56px; /* aligns to node center */
    left: 10%;
    right: 10%;
    height: 2px;
    background: linear-gradient(90deg,
      transparent 0%,
      rgba(94, 234, 212, 0.35) 8%,
      rgba(94, 234, 212, 0.35) 92%,
      transparent 100%);
    z-index: 0;
  }
  .vflow2__rail-fill {
    position: absolute; inset: 0;
    background: linear-gradient(90deg, #5eead4 0%, #f59e0b 100%);
    opacity: 0.55;
  }
  .vflow2__rail-pulse {
    position: absolute; top: -2px;
    width: 8px; height: 6px;
    background: #f59e0b;
    border-radius: 50%;
    box-shadow: 0 0 12px rgba(245, 158, 11, 0.8);
    animation: vRailPulse 4s ease-in-out infinite;
  }
}
@keyframes vRailPulse {
  0%, 100% { left: 0%; opacity: 0.4; }
  50%      { left: 100%; opacity: 1; }
}

.vbeat {
  position: relative;
  padding: 1.25rem;
  border: 1px solid rgba(94, 234, 212, 0.18);
  border-radius: 12px;
  background: rgba(10, 13, 18, 0.55);
  text-align: center;
  transition: border-color 280ms ease, background 280ms ease, transform 280ms ease;
}
@media (min-width: 1024px) {
  .vbeat {
    background: transparent;
    border: none;
    padding: 0 0.6rem;
    text-align: center;
  }
}
.vbeat:hover {
  border-color: rgba(94, 234, 212, 0.4);
}

.vbeat__watermark {
  position: absolute;
  top: 0.5rem;
  right: 0.75rem;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 4rem;
  font-weight: 800;
  color: rgba(245, 246, 248, 0.04);
  line-height: 1;
  pointer-events: none;
  user-select: none;
}
@media (min-width: 1024px) {
  .vbeat__watermark { font-size: 5rem; top: -0.5rem; right: 0.5rem; }
}

.vbeat__node {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin: 0 auto 0.85rem auto;
  border-radius: 50%;
  background: rgba(10, 13, 18, 0.95);
  border: 2px solid rgba(94, 234, 212, 0.4);
  color: #5eead4;
  cursor: pointer;
  transition: all 280ms cubic-bezier(0.16, 1, 0.3, 1);
  padding: 0;
}
.vbeat__node:hover {
  border-color: #5eead4;
  box-shadow: 0 0 18px rgba(94, 234, 212, 0.3);
  transform: scale(1.05);
}
.vbeat__node:focus-visible {
  outline: 2px solid #5eead4;
  outline-offset: 3px;
}
.vbeat__node--accent {
  border-color: rgba(245, 158, 11, 0.5);
  color: #f59e0b;
}
.vbeat__node--accent:hover {
  border-color: #f59e0b;
  box-shadow: 0 0 18px rgba(245, 158, 11, 0.4);
}
.vbeat--open .vbeat__node {
  border-color: #5eead4;
  background: rgba(45, 212, 191, 0.1);
  box-shadow: 0 0 14px rgba(94, 234, 212, 0.35);
}
.vbeat--open .vbeat__node--accent {
  border-color: #f59e0b;
  background: rgba(245, 158, 11, 0.1);
  box-shadow: 0 0 14px rgba(245, 158, 11, 0.4);
}

.vbeat__glyph {
  width: 26px;
  height: 26px;
}

.vbeat__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.68rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin-bottom: 0.4rem;
}
.vbeat__sla {
  color: #5eead4;
  font-weight: 700;
}
.vbeat__sla--accent { color: #f59e0b; }
.vbeat__sla span { margin: 0 0.1em; }
.vbeat__sla-meta { color: rgba(245, 246, 248, 0.5); }

.vbeat__num {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.72rem;
  letter-spacing: 0.25em;
  color: rgba(245, 246, 248, 0.35);
  font-weight: 700;
  margin-bottom: 0.25rem;
}

.vbeat__title {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  color: #f5f6f8;
  margin-bottom: 0.4rem;
  letter-spacing: -0.005em;
}
@media (min-width: 1024px) { .vbeat__title { font-size: 1.1rem; } }

.vbeat__copy {
  font-size: 0.88rem;
  line-height: 1.5;
  color: rgba(245, 246, 248, 0.7);
  margin: 0;
  max-width: 28ch;
  margin-left: auto;
  margin-right: auto;
}

.vbeat__url {
  color: #5eead4;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.85em;
}

/* Drawer (collapsed by default, expands when active) */
.vbeat__drawer {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: grid-template-rows 380ms cubic-bezier(0.16, 1, 0.3, 1),
              margin-top 380ms ease,
              opacity 320ms ease;
  opacity: 0;
  margin-top: 0;
  text-align: left;
}
.vbeat--open .vbeat__drawer {
  grid-template-rows: 1fr;
  opacity: 1;
  margin-top: 1rem;
}
.vbeat__drawer > * {
  min-height: 0;
}
.vbeat__drawer-mark {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  color: #f59e0b;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 0.4rem;
}
.vbeat__drawer p {
  font-size: 0.85rem;
  line-height: 1.55;
  color: rgba(245, 246, 248, 0.82);
  margin: 0 0 0.65rem 0;
}
.vbeat__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.5rem;
}
.vbeat__chip {
  display: inline-block;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.65rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #5eead4;
  background: rgba(45, 212, 191, 0.08);
  border: 1px solid rgba(94, 234, 212, 0.22);
  border-radius: 4px;
  padding: 0.25rem 0.55rem;
  font-weight: 600;
}
.vbeat--submit .vbeat__chip {
  color: #f59e0b;
  background: rgba(245, 158, 11, 0.08);
  border-color: rgba(245, 158, 11, 0.25);
}

/* Desktop refinement — drawer appears beneath the row of nodes, full-width */
@media (min-width: 1024px) {
  /* Reserve space at the bottom of the flow for the expanded drawer so it never
     overlaps the operator strip below. ~190px covers the tallest drawer. */
  .vflow2 {
    margin-bottom: 11rem;
  }
  .vbeat__drawer {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 100%;
    width: min(720px, calc(100vw - 3rem));
    margin-top: 0;
    padding: 0;
    z-index: 5;
    pointer-events: none;
  }
  .vbeat--open .vbeat__drawer {
    margin-top: 1.5rem;
    pointer-events: auto;
  }
  .vbeat__drawer-inner {
    padding: 1.25rem 1.5rem;
    background: rgba(10, 13, 18, 0.92);
    border: 1px solid rgba(94, 234, 212, 0.25);
    border-radius: 10px;
    text-align: left;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.45),
                0 0 18px rgba(94, 234, 212, 0.08);
  }
  .vbeat--submit .vbeat__drawer-inner {
    border-color: rgba(245, 158, 11, 0.3);
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.45),
                0 0 18px rgba(245, 158, 11, 0.12);
  }
}

/* Mobile drawer keeps natural flow positioning */
@media (max-width: 1023px) {
  .vbeat__drawer-inner {
    padding-top: 0.5rem;
  }
}

/* ============================================================
   v36.16 — Landing Lane Deck
   Desktop (≥1024px): keep existing 3-col grid intact. Deck chrome hidden.
   Below 1024px (iPad + mobile): single-card swipe deck with chevrons, dots,
   counter. Cards beyond active hidden via [hidden]. Matches verdict §04
   engine deck pattern.
   ============================================================ */

.lane-deck {
  position: relative;
}

/* Counter sits above the deck, only visible in deck mode */
.lane-deck__counter {
  display: none;
  margin-bottom: 0.875rem;
  padding-left: 0.125rem;
  letter-spacing: 0.08em;
}

.lane-deck__viewport {
  position: relative;
  outline: none;
}

.lane-deck__viewport:focus-visible {
  box-shadow: 0 0 0 2px rgba(94, 234, 212, 0.35);
  border-radius: 14px;
}

/* Nav row (chevrons + dots) — hidden on desktop */
.lane-deck__nav {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.25rem;
  padding: 0 0.125rem;
}

.lane-deck__chev {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.55rem 0.9rem;
  border-radius: 10px;
  background: rgba(20, 26, 36, 0.85);
  border: 1px solid rgba(94, 234, 212, 0.18);
  color: #cbd5e1;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 160ms ease, color 160ms ease, border-color 160ms ease, transform 160ms ease;
  -webkit-tap-highlight-color: transparent;
}

.lane-deck__chev:hover:not(:disabled) {
  background: rgba(30, 38, 50, 0.95);
  border-color: rgba(94, 234, 212, 0.4);
  color: #f5f6f8;
}

.lane-deck__chev:active:not(:disabled) {
  transform: scale(0.97);
}

.lane-deck__chev:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.lane-deck__chev svg {
  flex: 0 0 auto;
}

.lane-deck__dots {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.lane-deck__dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.35);
  border: 0;
  padding: 0;
  cursor: pointer;
  transition: background 200ms ease, width 220ms ease;
  -webkit-tap-highlight-color: transparent;
}

.lane-deck__dot:hover {
  background: rgba(94, 234, 212, 0.5);
}

.lane-deck__dot[aria-selected="true"] {
  width: 22px;
  background: #5eead4;
}

/* ============================================================
   Deck mode — under 1024px only.
   The Tailwind grid utilities (md:grid-cols-2 lg:grid-cols-3 gap-4) still
   apply, but we override with !important here because Tailwind classes are
   compiled to the same specificity. Resetting to 1-col block layout.
   ============================================================ */
@media (max-width: 1023.98px) {
  .lane-deck__counter {
    display: block;
  }

  .lane-deck__nav {
    display: flex;
  }

  .lane-deck__track {
    /* Override Tailwind grid: stack as a single card stage */
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    position: relative;
  }

  /* Only active card visible. [hidden] from JS handles this, but
     belt-and-suspenders for any flash before JS runs. */
  .lane-deck__track > .lane-card[hidden] {
    display: none !important;
  }

  /* Active card animates in */
  .lane-deck__track > .lane-card {
    animation: laneDeckIn 360ms cubic-bezier(0.22, 0.61, 0.36, 1);
    /* Cards already have their own borders/padding; just give them full
       width and a small lift in deck mode. */
    width: 100%;
    margin: 0;
  }

  /* Chevron labels hide at very small widths */
  @media (max-width: 479.98px) {
    .lane-deck__chev-label {
      display: none;
    }
    .lane-deck__chev {
      padding: 0.55rem 0.7rem;
    }
    .lane-deck__dot[aria-selected="true"] {
      width: 18px;
    }
  }
}

@keyframes laneDeckIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ============================================================
   Desktop (≥1024px) — explicitly keep grid behavior + hide chrome.
   ============================================================ */
@media (min-width: 1024px) {
  .lane-deck__counter,
  .lane-deck__nav {
    display: none !important;
  }
  /* Tailwind grid utilities already handle layout; no override needed. */
}

/* ============================================================
   v36.17 — Trust Auto-Rotating Single Card (§04)
   Replaces the 4-card grid with a single-card stage that fades to the next
   beat every 4s. 8 trust beats total. No pause on hover (per spec).
   Respects prefers-reduced-motion (no rotation, shows first card statically).
   Compact footprint — reclaims roughly 60-70% of vertical space on mobile.
   ============================================================ */

.trust-stage {
  position: relative;
  max-width: 720px;
  margin: 0 auto;
}

.trust-stage__viewport {
  position: relative;
  /* Reserve consistent height so layout doesn't jump between cards */
  min-height: 220px;
  display: grid;
  place-items: stretch;
}

/* Stack all cards in the same cell so they can crossfade */
.trust-stage__viewport > .trust-card--stage {
  grid-area: 1 / 1;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity 600ms cubic-bezier(0.22, 0.61, 0.36, 1),
              transform 600ms cubic-bezier(0.22, 0.61, 0.36, 1),
              visibility 0s linear 600ms;
  pointer-events: none;
}

.trust-stage__viewport > .trust-card--stage[aria-current="true"] {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity 600ms cubic-bezier(0.22, 0.61, 0.36, 1),
              transform 600ms cubic-bezier(0.22, 0.61, 0.36, 1),
              visibility 0s linear 0s;
  pointer-events: auto;
}

/* Larger metric since this card stands alone */
.trust-card--stage .trust-card__metric {
  font-size: clamp(2.75rem, 6vw, 3.5rem);
  line-height: 1;
  letter-spacing: -0.01em;
}

.trust-card--stage .trust-card__label {
  font-size: clamp(0.95rem, 1.5vw, 1.05rem);
}

.trust-card--stage .trust-card__seal {
  font-size: clamp(0.65rem, 1vw, 0.72rem);
  letter-spacing: 0.14em;
}

/* Dots row */
.trust-stage__dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.45rem;
  margin-top: 1rem;
}

.trust-stage__dot {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.3);
  border: 0;
  padding: 0;
  cursor: pointer;
  transition: background 300ms ease, width 320ms ease;
  -webkit-tap-highlight-color: transparent;
}

.trust-stage__dot:hover {
  background: rgba(94, 234, 212, 0.5);
}

.trust-stage__dot[aria-selected="true"] {
  width: 20px;
  background: #5eead4;
}

.trust-stage__counter {
  text-align: center;
  margin-top: 0.5rem;
  letter-spacing: 0.18em;
}

/* Tight footprint on mobile — also shrink min-height since cards are shorter */
@media (max-width: 639.98px) {
  .trust-stage__viewport {
    min-height: 190px;
  }
  .trust-stage__dot[aria-selected="true"] {
    width: 16px;
  }
}

/* Respect users who prefer reduced motion: no auto-rotation, no fade */
@media (prefers-reduced-motion: reduce) {
  .trust-stage__viewport > .trust-card--stage {
    transition: none;
  }
}

/* ============================================================
   v36.19 — Verdict Flow Sequential Reveal
   When the OL has .vflow2--sequential, hide any vbeat without
   data-revealed="true". Override desktop horizontal layout to stack
   vertically (sequential reveal only reads vertically). The reveal
   trigger button below the OL advances the sequence.
   ============================================================ */

/* Hide non-revealed steps */
.vflow2--sequential .vbeat:not([data-revealed="true"]) {
  display: none !important;
}

/* Sequential mode forces vertical stack at all breakpoints — overrides
   the desktop horizontal row layout from the v36.15 vflow2 block. */
.vflow2--sequential {
  display: block !important;
  grid-template-columns: none !important;
}

.vflow2--sequential .vbeat {
  /* Animate each newly-revealed step in */
  animation: vflowStepReveal 460ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* The horizontal rail doesn't make sense in sequential vertical mode — hide it */
.vflow2--sequential .vflow2__rail {
  display: none !important;
}

@keyframes vflowStepReveal {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* The reveal trigger pill — sits beneath the last revealed step */
.vflow2-reveal {
  margin-top: 1.5rem;
  display: flex;
  justify-content: center;
}

.vflow2-reveal__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1.4rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.12), rgba(245, 158, 11, 0.04));
  border: 1px solid rgba(245, 158, 11, 0.4);
  color: #fcd34d;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.85rem;
  cursor: pointer;
  transition: background 220ms ease, border-color 220ms ease, transform 220ms ease, box-shadow 220ms ease;
  -webkit-tap-highlight-color: transparent;
  letter-spacing: 0.02em;
}

.vflow2-reveal__btn:hover {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.22), rgba(245, 158, 11, 0.08));
  border-color: rgba(245, 158, 11, 0.7);
  color: #fde68a;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(245, 158, 11, 0.18);
}

.vflow2-reveal__btn:active {
  transform: translateY(0);
}

.vflow2-reveal__mark {
  color: rgba(245, 158, 11, 0.7);
  font-size: 0.7rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.vflow2-reveal__label {
  font-weight: 500;
}

.vflow2-reveal__arrow {
  flex: 0 0 auto;
  transition: transform 220ms ease;
}

.vflow2-reveal__btn:hover .vflow2-reveal__arrow {
  transform: translateX(3px);
}

/* Completion state */
.vflow2-reveal__done {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.7rem 1.2rem;
  border-radius: 999px;
  background: rgba(20, 26, 36, 0.7);
  border: 1px solid rgba(94, 234, 212, 0.22);
  color: #94a3b8;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.78rem;
  animation: vflowStepReveal 380ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.vflow2-reveal__done-mark {
  color: #5eead4;
  font-size: 0.66rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

@media (max-width: 479.98px) {
  .vflow2-reveal__btn {
    padding: 0.75rem 1.1rem;
    font-size: 0.78rem;
  }
  .vflow2-reveal__mark {
    display: none;
  }
}

/* ============================================================
   v36.19 — Smooth Infinite-Loop Carousel
   Converts engine deck + lane deck viewports into native scroll-snap
   horizontal tracks. JS adds head+tail clones for seamless looping.
   Overrides the old "hidden-attr swap" pattern from v36.15/16.
   ============================================================ */

/* ── Engine deck (verdict.html) ─────────────────────────────────── */
.eng-deck__viewport {
  /* Old: overflow:hidden, min-height:380px (block stack)
     New: horizontal scroll snap */
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  min-height: 0 !important;
}
.eng-deck__viewport::-webkit-scrollbar { display: none; }

.eng-deck__viewport { container-type: inline-size; }
.eng-deck__track {
  display: flex !important;
  flex-direction: row;
  align-items: stretch;
  gap: 1rem;
  width: auto;
}

.eng-deck__viewport .eng-card {
  flex: 0 0 100cqi;
  width: 100cqi;
  min-width: 0;
  max-width: 100cqi;
  box-sizing: border-box;
  scroll-snap-align: center;
  scroll-snap-stop: always;
  animation: none;
}
.eng-deck__viewport .eng-card[hidden] { display: flex !important; }

/* Loop clones — visually identical, just non-interactive */
.eng-card[data-loop-clone] {
  user-select: none;
}

/* ── Lane deck (index.html) ─────────────────────────────────────── */
@media (max-width: 1023.98px) {
  /* Mobile + iPad — switch to scroll-snap horizontal track */
  .lane-deck__viewport {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .lane-deck__viewport::-webkit-scrollbar { display: none; }

  .lane-deck__viewport { container-type: inline-size; }
  .lane-deck__track {
    display: flex !important;
    flex-direction: row;
    align-items: stretch;
    gap: 1rem;
    width: auto;
    grid-template-columns: none !important;
  }

  .lane-deck__viewport > .lane-deck__track > .lane-card {
    flex: 0 0 100cqi;
    width: 100cqi;
    min-width: 0;
    max-width: 100cqi;
    box-sizing: border-box;
    scroll-snap-align: center;
    scroll-snap-stop: always;
    animation: none;
  }
  .lane-deck__viewport > .lane-deck__track > .lane-card[hidden] { display: flex !important; }
  .lane-deck__viewport > .lane-deck__track > .lane-card[data-loop-clone] { user-select: none; }
}

/* ============================================================
   v36.20 — Verdict Instrument Console (Step 1 face only)
   Overrides the .uw-picker / .uw-strip face without touching
   any JS hooks or downstream form/result internals.
   ============================================================ */

/* --- Outer panel: heavier frame, subtle grid backdrop, depth --- */
.uw-picker.uw-picker--console {
  position: relative;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.025) 0%, rgba(0,0,0,0) 30%, rgba(0,0,0,0.35) 100%),
    #0a0d12 !important;
  border: 1px solid rgba(94, 234, 212, 0.16) !important;
  border-radius: 10px !important;
  padding: 1.25rem 1.25rem 1.5rem !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.04),
    0 30px 80px -40px rgba(45, 212, 191, 0.18),
    0 0 0 1px rgba(0,0,0,0.4);
  overflow: hidden;
}
@media (min-width: 768px) {
  .uw-picker.uw-picker--console {
    padding: 1.75rem 1.75rem 2rem !important;
  }
}
.uw-picker.uw-picker--console::before {
  /* Subtle grid backdrop, very low opacity */
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(94, 234, 212, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(94, 234, 212, 0.035) 1px, transparent 1px);
  background-size: 32px 32px;
  background-position: -1px -1px;
  pointer-events: none;
  mask-image: radial-gradient(ellipse 80% 60% at 50% 40%, #000 30%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 40%, #000 30%, transparent 100%);
}
.uw-picker.uw-picker--console > * { position: relative; z-index: 1; }

/* --- Console telemetry header --- */
.uw-console__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding-bottom: 0.875rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid rgba(94, 234, 212, 0.12);
  flex-wrap: wrap;
}
.uw-console__head-l {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.uw-console__head-r {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.uw-console__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.3rem 0.6rem;
  background: rgba(45, 212, 191, 0.04);
  border: 1px solid rgba(94, 234, 212, 0.16);
  border-radius: 4px;
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  font-size: 9.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  line-height: 1;
  white-space: nowrap;
}
.uw-console__chip-k {
  color: var(--c-ink-400, #6b7280);
}
.uw-console__chip-v {
  color: var(--c-ink-100, #f5f6f8);
  font-weight: 600;
}
.uw-console__live {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.3rem 0.6rem;
  background: rgba(45, 212, 191, 0.08);
  border: 1px solid rgba(94, 234, 212, 0.28);
  border-radius: 4px;
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  font-size: 9.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 600;
  color: #5eead4;
  line-height: 1;
}
.uw-console__live-dot {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: #2dd4bf;
  box-shadow: 0 0 8px rgba(45, 212, 191, 0.8);
  animation: uw-live-pulse 1.8s ease-in-out infinite;
}
@keyframes uw-live-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.45; transform: scale(0.85); }
}
@media (prefers-reduced-motion: reduce) {
  .uw-console__live-dot { animation: none; }
}

/* Quiet subtitle under telemetry */
.uw-picker__head--quiet {
  margin-bottom: 1rem;
  text-align: center;
}
.uw-picker__head--quiet .uw-picker__sub {
  color: var(--c-ink-300, #9ca3af);
  font-size: 0.875rem;
  letter-spacing: 0.01em;
  margin: 0;
}

/* --- Console dial well: recessed bezel --- */
.uw-strip--console .uw-strip__frame {
  background:
    linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.25) 50%, rgba(0,0,0,0.55) 100%),
    rgba(8, 11, 16, 0.6) !important;
  border: 1px solid rgba(94, 234, 212, 0.22) !important;
  border-radius: 6px !important;
  box-shadow:
    inset 0 2px 8px rgba(0,0,0,0.6),
    inset 0 0 0 1px rgba(255,255,255,0.02),
    0 0 0 1px rgba(0,0,0,0.4);
  overflow: hidden;
}

/* Active center row — soft breathing glow */
.uw-strip--console .uw-strip__band {
  background: linear-gradient(180deg,
    rgba(45, 212, 191, 0.08) 0%,
    rgba(45, 212, 191, 0.14) 50%,
    rgba(45, 212, 191, 0.08) 100%) !important;
  border-top: 1px solid rgba(94, 234, 212, 0.32) !important;
  border-bottom: 1px solid rgba(94, 234, 212, 0.32) !important;
  box-shadow:
    inset 0 0 24px rgba(45, 212, 191, 0.08),
    0 0 16px rgba(45, 212, 191, 0.05);
  animation: uw-band-breathe 3.2s ease-in-out infinite;
}
@keyframes uw-band-breathe {
  0%, 100% {
    box-shadow:
      inset 0 0 24px rgba(45, 212, 191, 0.08),
      0 0 16px rgba(45, 212, 191, 0.05);
  }
  50% {
    box-shadow:
      inset 0 0 32px rgba(45, 212, 191, 0.18),
      0 0 22px rgba(45, 212, 191, 0.12);
  }
}
@media (prefers-reduced-motion: reduce) {
  .uw-strip--console .uw-strip__band { animation: none; }
}

/* Bezel tick scale — 12 horizontal hairlines on each side */
.uw-strip__bezel-ticks {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background-image:
    linear-gradient(90deg,
      rgba(94, 234, 212, 0.28) 0,
      rgba(94, 234, 212, 0.28) 8px,
      transparent 8px),
    linear-gradient(90deg,
      transparent calc(100% - 8px),
      rgba(94, 234, 212, 0.28) calc(100% - 8px),
      rgba(94, 234, 212, 0.28) 100%);
  background-repeat: repeat-y, repeat-y;
  background-size: 100% calc(100% / 12), 100% calc(100% / 12);
  background-position: 0 1px, 0 1px;
  mask-image:
    repeating-linear-gradient(180deg,
      #000 0,
      #000 1px,
      transparent 1px,
      transparent calc(100% / 12));
  -webkit-mask-image:
    repeating-linear-gradient(180deg,
      #000 0,
      #000 1px,
      transparent 1px,
      transparent calc(100% / 12));
  opacity: 0.85;
}

/* --- Chevron arrows: real buttons with bezel --- */
.uw-strip--console .uw-strip__chev {
  background: rgba(10, 13, 18, 0.7) !important;
  border: 1px solid rgba(94, 234, 212, 0.22) !important;
  border-radius: 4px !important;
  color: #5eead4 !important;
  width: 28px !important;
  min-width: 28px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.04),
    0 2px 4px rgba(0,0,0,0.4);
  transition: background 180ms ease, border-color 180ms ease, transform 120ms ease;
}
.uw-strip--console .uw-strip__chev:hover {
  background: rgba(45, 212, 191, 0.12) !important;
  border-color: rgba(94, 234, 212, 0.55) !important;
}
.uw-strip--console .uw-strip__chev:active {
  transform: scale(0.95);
}

/* --- Controls row: pager + RUN button --- */
.uw-strip--console .uw-strip__controls {
  margin-top: 1.25rem !important;
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  gap: 0.875rem;
}
.uw-strip--console .uw-strip__pager {
  text-align: center;
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--c-ink-400, #6b7280);
}
.uw-strip--console .uw-strip__pager b {
  color: #5eead4;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* RUN VERDICT — full-width primed launch button */
.uw-strip--console .uw-strip__confirm {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  padding: 1rem 1.125rem !important;
  background: #2dd4bf !important;
  color: #0a0d12 !important;
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  border: 1px solid #2dd4bf !important;
  border-radius: 4px !important;
  box-shadow:
    0 0 0 1px rgba(45, 212, 191, 0.3),
    0 6px 18px -6px rgba(45, 212, 191, 0.55),
    inset 0 1px 0 rgba(255,255,255,0.25);
  cursor: pointer;
  transition: transform 140ms ease, box-shadow 180ms ease, background 180ms ease;
  position: relative;
  overflow: hidden;
}
.uw-strip--console .uw-strip__confirm::before {
  /* Fill-from-left hover sweep */
  content: "";
  position: absolute;
  top: 0;
  left: -10%;
  width: 0%;
  height: 100%;
  background: linear-gradient(90deg, rgba(255,255,255,0.18), rgba(255,255,255,0));
  transition: width 280ms ease;
  pointer-events: none;
}
.uw-strip--console .uw-strip__confirm:hover {
  transform: translateY(-1px);
  box-shadow:
    0 0 0 1px rgba(45, 212, 191, 0.55),
    0 12px 24px -8px rgba(45, 212, 191, 0.65),
    inset 0 1px 0 rgba(255,255,255,0.3);
}
.uw-strip--console .uw-strip__confirm:hover::before {
  width: 110%;
}
.uw-strip--console .uw-strip__confirm:active {
  transform: translateY(0);
}
.uw-strip__confirm-ready {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.45rem;
  background: rgba(10, 13, 18, 0.85);
  color: #5eead4;
  border-radius: 3px;
  font-size: 10px;
  letter-spacing: 0.22em;
  font-weight: 600;
}
.uw-strip__confirm-label {
  flex: 1;
  text-align: right;
}

/* Hint line */
.uw-strip--console .uw-strip__hint {
  margin-top: 0.75rem !important;
  text-align: center;
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--c-ink-400, #6b7280);
  opacity: 0.7;
}

/* Mobile tighten */
@media (max-width: 640px) {
  .uw-picker.uw-picker--console {
    padding: 1rem 1rem 1.25rem !important;
    border-radius: 8px !important;
  }
  .uw-console__head {
    padding-bottom: 0.75rem;
    margin-bottom: 0.875rem;
  }
  .uw-console__chip {
    font-size: 8.5px;
    padding: 0.25rem 0.5rem;
    letter-spacing: 0.18em;
  }
  .uw-console__live {
    font-size: 8.5px;
    padding: 0.25rem 0.5rem;
  }
  .uw-strip--console .uw-strip__confirm {
    font-size: 12px;
    padding: 0.875rem 1rem !important;
  }
  .uw-strip__confirm-ready { font-size: 9px; }
}

/* v36.20 — neutralize pill outline on quiet subtitle */
.uw-picker--console .uw-picker__head--quiet .uw-picker__sub {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  display: block !important;
  box-shadow: none !important;
  color: var(--c-ink-300, #9ca3af) !important;
  font-size: 0.875rem !important;
  letter-spacing: 0.01em !important;
}
.uw-picker--console .uw-picker__head--quiet .uw-picker__sub::before,
.uw-picker--console .uw-picker__head--quiet .uw-picker__sub::after {
  display: none !important;
}

/* =========================================================
 * v36.20a — SMART AUTO-FILL FIELD CHIPS
 * PRIMARY (amber, basic input) · AUTO (teal, smart-defaulted) · EDIT (locked after manual edit)
 * Used in Verdict underwriting forms — see app.js renderUwField + applySmartDefaults
 * ========================================================= */
.uw-field-wrap { position: relative; }

/* Field-label gains a tiny chip after the term span */
.uw-field-wrap .field-label {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 8px;
  row-gap: 4px;
}
.uw-field-chip {
  display: inline-flex;
  align-items: center;
  height: 16px;
  padding: 0 6px;
  border-radius: 4px;
  font-family: ui-monospace, "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  line-height: 1;
  vertical-align: middle;
  user-select: none;
  cursor: help;
  transition: opacity .15s ease, transform .15s ease;
  white-space: nowrap;
}
/* PRIMARY — amber, signals "most-needed input that powers auto-fill" */
.uw-field-chip--primary {
  color: #f59e0b;
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid rgba(245, 158, 11, 0.34);
}
/* v36.65 — calm intake: required marker. Gold asterisk sits after the label,
   replacing the noisier // PRIMARY chip. Keeps signal, drops volume. */
.uw-field-req {
  display: inline-block;
  color: #f59e0b;
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  margin-left: 4px;
  vertical-align: baseline;
  cursor: help;
  user-select: none;
}
/* AUTO — teal, signals "smart-defaulted from your basic inputs" */
.uw-field-chip--auto {
  color: #2dd4bf;
  background: rgba(45, 212, 191, 0.10);
  border: 1px solid rgba(45, 212, 191, 0.32);
}
/* EDIT — neutral, signals "you locked this field by editing it". v36.20b: clickable to reset. */
.uw-field-chip--edit {
  color: rgba(245, 246, 248, 0.78);
  background: rgba(245, 246, 248, 0.06);
  border: 1px solid rgba(245, 246, 248, 0.18);
  cursor: pointer;
}
.uw-field-chip--edit:hover,
.uw-field-chip--edit:focus-visible {
  color: #2dd4bf;
  background: rgba(45, 212, 191, 0.10);
  border-color: rgba(45, 212, 191, 0.40);
  outline: none;
}
.uw-field-chip--edit:focus-visible {
  box-shadow: 0 0 0 2px rgba(45, 212, 191, 0.30);
}

/* PRIMARY field gets a whisper of amber on focus only — no resting edge.
   v36.65: removed the always-on inset stripe and dimmed border to keep intake calm.
   Focus state still earns the amber glow so the user knows they're on a required field. */
.uw-field-wrap--primary input.field:focus,
.uw-field-wrap--primary select.field:focus {
  border-color: rgba(245, 158, 11, 0.45);
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.12);
}

/* AUTO field gets a faint teal left-edge while it's still auto-driven; clears once locked */
.uw-field-wrap--auto input.field {
  border-color: rgba(45, 212, 191, 0.22);
  box-shadow: inset 2px 0 0 0 rgba(45, 212, 191, 0.38);
}
.uw-field-wrap--auto input.field:focus {
  border-color: rgba(45, 212, 191, 0.45);
  box-shadow:
    inset 2px 0 0 0 rgba(45, 212, 191, 0.60),
    0 0 0 3px rgba(45, 212, 191, 0.12);
}
.uw-field-wrap--locked input.field {
  /* once user edits, drop the teal cue */
  box-shadow: none;
}

/* "N auto-filled" badge in the Advanced assumptions summary row */
.uw-assumptions__autobadge {
  display: inline-flex;
  align-items: center;
  height: 18px;
  padding: 0 7px;
  margin-left: 4px;
  border-radius: 999px;
  background: rgba(45, 212, 191, 0.12);
  color: #2dd4bf;
  border: 1px solid rgba(45, 212, 191, 0.30);
  font-family: ui-monospace, "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

/* Honor reduced-motion (no extra animation here, but keep chips static) */
@media (prefers-reduced-motion: reduce) {
  .uw-field-chip { transition: none; }
}

/* =========================================================
   v36.22 — STEP 00: Pick Your Side (Operator vs Lender)
   ========================================================= */
.side-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:14px;
}
.side-card{
  position:relative;
  text-align:left;
  background:rgba(10,13,18,0.55);
  border:1px solid rgba(245,246,248,0.10);
  border-radius:6px;
  padding:26px 24px;
  color:#f5f6f8;
  cursor:pointer;
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
  font-family:inherit;
  overflow:hidden;
}
.side-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 110%, var(--glow, transparent), transparent 65%);
  opacity:.55;
  pointer-events:none;
}
.side-card:hover,
.side-card:focus-visible{
  transform:translateY(-2px);
  border-color:var(--edge);
  box-shadow:0 18px 40px rgba(0,0,0,.45);
  outline:none;
}
/* v36.44 — side picker color split: I buy (operator) = teal, I fund (lender) = matrix/slime */
.side-card--operator{--glow:rgba(94,234,212,.18);--edge:#5eead4;}
.side-card--lender{--glow:rgba(0,230,57,.20);--edge:#00e639;}
.side-card__tag{
  font-family:'JetBrains Mono','SF Mono',monospace;
  font-size:10px;
  letter-spacing:.22em;
  color:var(--edge);
  text-transform:uppercase;
}
/* v36.22e — "FOR INVESTORS / FOR PRIVATE LENDERS" badge on each side card */
.side-card__taglane{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:14px;
}
.side-card__for{
  font-family:'JetBrains Mono','SF Mono',monospace;
  font-size:9.5px;
  letter-spacing:.24em;
  color:rgba(245,246,248,0.55);
  text-transform:uppercase;
  padding:4px 8px;
  border:1px solid rgba(245,246,248,0.18);
  border-radius:3px;
}
/* v36.44 — "FOR INVESTORS / FOR PRIVATE LENDERS" badges follow the new teal/slime split */
.side-card--operator .side-card__for{
  color:rgba(94,234,212,0.90);
  border-color:rgba(94,234,212,0.32);
}
.side-card--lender .side-card__for{
  color:rgba(0,230,57,0.90);
  border-color:rgba(0,230,57,0.32);
}
@media (max-width:640px){
  .side-card__taglane{ flex-wrap:wrap; gap:6px; }
  .side-card__for{ font-size:9px; padding:3px 6px; }
}
.side-card__title{
  font-size:30px;
  font-weight:700;
  letter-spacing:-0.01em;
  line-height:1.05;
  margin-bottom:6px;
}
.side-card__sub{
  font-family:'JetBrains Mono','SF Mono',monospace;
  font-size:11px;
  letter-spacing:.16em;
  color:rgba(245,246,248,0.55);
  text-transform:uppercase;
  margin-bottom:14px;
}
.side-card__line{
  color:rgba(245,246,248,0.72);
  font-size:14.5px;
  line-height:1.5;
  margin-bottom:18px;
}
.side-card__list{
  list-style:none;
  margin:0 0 22px;
  padding:0;
  font-size:13px;
  color:rgba(245,246,248,0.68);
}
.side-card__list li{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 0;
  border-top:1px dashed rgba(245,246,248,0.10);
  letter-spacing:.01em;
}
.side-card__list li:first-child{border-top:none;}
.side-card__list li::before{
  content:"";
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--edge);
  box-shadow:0 0 8px var(--edge);
  flex:none;
}
.side-card__cta{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-family:'JetBrains Mono','SF Mono',monospace;
  font-weight:700;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#0a0d12;
  background:var(--edge);
  border:1px solid var(--edge);
  padding:11px 18px;
  border-radius:4px;
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.04) inset,
    0 0 18px var(--edge-glow, rgba(245,158,11,.35)),
    0 8px 22px rgba(0,0,0,.35);
  transition:all .22s ease;
  overflow:hidden;
}
.side-card__cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 55%);
  pointer-events:none;
}
.side-card__cta::after{
  content:"";
  position:absolute;
  top:0; left:-60%;
  width:40%;
  height:100%;
  background:linear-gradient(110deg, transparent, rgba(255,255,255,.35), transparent);
  transform:skewX(-18deg);
  transition:left .55s ease;
}
/* v36.44 — CTA glow follows the new teal/slime split */
.side-card--operator .side-card__cta{--edge-glow:rgba(94,234,212,.55);}
.side-card--lender   .side-card__cta{--edge-glow:rgba(0,230,57,.55);}
.side-card:hover .side-card__cta{
  transform:translateY(-1px);
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.06) inset,
    0 0 28px var(--edge-glow),
    0 12px 30px rgba(0,0,0,.45);
}
.side-card:hover .side-card__cta::after{left:120%;}

/* iPad — keep two columns, tighten padding */
@media (max-width: 1024px) and (min-width: 721px){
  .side-card{padding:22px 20px;}
  .side-card__title{font-size:26px;}
  .side-card__list{font-size:12.5px;}
}

/* Mobile — stack, hide bullet list (keep tight) */
@media (max-width: 720px){
  .side-split{grid-template-columns:1fr;gap:14px;}
  .side-card{padding:22px 20px;}
  .side-card__title{font-size:24px;}
  .side-card__list{display:none;}
  .side-card__line{margin-bottom:22px;}
}

/* v36.22 — mobile hero header: keep "Welcome to Verdict." on one line */
.verdict-hero--wide .verdict-hero__line1{display:inline;}
@media (max-width: 640px){
  .verdict-hero--wide .verdict-hero__line1{
    display:inline !important;
    white-space:nowrap;
  }
  .verdict-hero--wide .verdict-hero__line1 .verdict-hero__welcome,
  .verdict-hero--wide .verdict-hero__line1 .verdict-hero__brand,
  .verdict-hero--wide .verdict-hero__line1 .verdict-hero__sep{
    display:inline !important;
  }
  .verdict-hero--wide .verdict-hero__tagline{
    display:block;
    margin-top:6px;
  }
}
/* iPad — Welcome to Verdict on its own line */
@media (min-width: 641px) and (max-width: 1024px){
  .verdict-hero--wide .verdict-hero__line1{display:block;}
  .verdict-hero--wide .verdict-hero__tagline{display:block;margin-top:6px;}
}

/* =========================================================
   v36.22c — SLIM STRIP MODE
   Strip lives above an active workspace, so it should feel
   minimal: shorter frame, smaller fonts, no redundant CTA /
   "tap a lane" hint / subtitle. Activated by .uw-picker--slim
   on #uw-picker.
   ========================================================= */
.uw-picker.uw-picker--slim {
  padding: 0.875rem 1rem 1rem;
}
.uw-picker.uw-picker--slim .uw-start-cue { display: none; }
.uw-picker.uw-picker--slim .uw-picker__head { display: none; }
.uw-picker.uw-picker--slim .uw-console__head {
  margin-bottom: 0.625rem;
  padding: 6px 8px;
}
.uw-picker.uw-picker--slim .uw-console__chip { font-size: 9px; }

/* Frame — was 228px / 76px band. Slim = 132px / 44px band. */
.uw-picker.uw-picker--slim .uw-strip { max-width: 640px; }
.uw-picker.uw-picker--slim .uw-strip__row { gap: 6px; }
.uw-picker.uw-picker--slim .uw-strip__chev { flex: 0 0 30px; }
.uw-picker.uw-picker--slim .uw-strip__frame { height: 132px; }
.uw-picker.uw-picker--slim .uw-strip__frame::before,
.uw-picker.uw-picker--slim .uw-strip__frame::after { height: 32px; }
.uw-picker.uw-picker--slim .uw-strip__band { height: 44px; }
.uw-picker.uw-picker--slim .uw-strip__item { height: 44px; padding: 0 18px; gap: 12px; }
.uw-picker.uw-picker--slim .uw-strip__item__num { font-size: 9px; min-width: 26px; }
.uw-picker.uw-picker--slim .uw-strip__item__name { font-size: 14px; }
.uw-picker.uw-picker--slim .uw-strip__item.is-center .uw-strip__item__name { font-size: 16px; }
.uw-picker.uw-picker--slim .uw-strip__item__hint { display: none; }
.uw-picker.uw-picker--slim .uw-strip__dots { right: 8px; gap: 4px; }
.uw-picker.uw-picker--slim .uw-strip__dot { width: 3px; height: 3px; }
.uw-picker.uw-picker--slim .uw-strip__dot.is-on { height: 10px; }

/* Controls row — drop the big amber/teal CTA and the long hint. */
.uw-picker.uw-picker--slim .uw-strip__controls {
  margin-top: 8px !important;
  padding: 0 !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
}
.uw-picker.uw-picker--slim .uw-strip__pager { font-size: 10px !important; letter-spacing: 0.22em !important; }
.uw-picker.uw-picker--slim .uw-strip__confirm { display: none !important; }
.uw-picker.uw-picker--slim .uw-strip__hint { display: none !important; }

/* Mobile — even tighter */
@media (max-width: 640px) {
  .uw-picker.uw-picker--slim { padding: 0.625rem 0.75rem 0.75rem; }
  .uw-picker.uw-picker--slim .uw-strip__frame { height: 120px; }
  .uw-picker.uw-picker--slim .uw-strip__band { height: 40px; }
  .uw-picker.uw-picker--slim .uw-strip__item { height: 40px; padding: 0 14px; gap: 10px; }
  .uw-picker.uw-picker--slim .uw-strip__item__name { font-size: 13px; }
  .uw-picker.uw-picker--slim .uw-strip__item.is-center .uw-strip__item__name { font-size: 15px; }
  .uw-picker.uw-picker--slim .uw-console__head { padding: 5px 6px; }
  .uw-picker.uw-picker--slim .uw-console__chip { font-size: 8.5px; }
}

/* =========================================================
   v36.22e — EMPTY RESULT STATE
   Shown in the result panel after a lane is selected but before
   the user has typed any input. Replaces the auto-rendered
   verdict-from-defaults that used to make the panel look like
   it had a real deal in it.
   ========================================================= */
.uw-empty-state{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  padding:28px 28px 32px;
  border:1px dashed rgba(45,212,191,0.22);
  border-radius:10px;
  background:linear-gradient(180deg, rgba(45,212,191,0.04), rgba(10,13,18,0.0));
}
.uw-empty-state__tag{
  font-family:'JetBrains Mono','SF Mono',monospace;
  font-size:10px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(45,212,191,0.85);
}
.uw-empty-state__title{
  font-size:22px;
  font-weight:600;
  letter-spacing:-0.005em;
  color:rgba(245,246,248,0.92);
}
.uw-empty-state__sub{
  color:rgba(245,246,248,0.58);
  font-size:14px;
  line-height:1.55;
  margin:0;
  max-width:46ch;
}
.uw-empty-state__hint{
  font-family:'JetBrains Mono','SF Mono',monospace;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(245,246,248,0.45);
  padding-top:6px;
  border-top:1px solid rgba(245,246,248,0.08);
  width:100%;
  margin-top:4px;
}
.uw-empty-state__hint strong{
  color:rgba(245,246,248,0.78);
  font-weight:600;
}
@media (max-width:640px){
  .uw-empty-state{ padding:22px 20px 24px; }
  .uw-empty-state__title{ font-size:18px; }
}

/* =========================================================
   v36.22h — UW GROUPED SECTIONS (Side B / lender lanes)
   Replaces a 30-field flat grid with named, collapsible
   panels. Hue stripe on the left edge follows the brand
   palette so the user can scan the form vertically:
   amber = primary deal/loan numbers
   teal  = collateral / protection
   violet= borrower
   ========================================================= */
/* Override Tailwind grid-cols-2 set on #uw-inputs when grouped */
#uw-inputs.uw-inputs--grouped,
.uw-inputs--grouped{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  grid-template-columns:none !important;
}
.uw-group{
  border:1px solid rgba(245,246,248,0.08);
  border-radius:10px;
  background:rgba(10,13,18,0.45);
  padding:0;
  overflow:hidden;
  position:relative;
  transition:border-color .18s ease, background .18s ease;
}
.uw-group::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:3px;
  background:rgba(245,246,248,0.18);
  transition:background .18s ease;
}
.uw-group--amber::before { background:linear-gradient(180deg, rgba(245,158,11,0.85), rgba(245,158,11,0.35)); }
.uw-group--teal::before  { background:linear-gradient(180deg, rgba(45,212,191,0.85), rgba(45,212,191,0.35)); }
.uw-group--violet::before{ background:linear-gradient(180deg, rgba(184,164,255,0.85), rgba(184,164,255,0.35)); }

.uw-group[open]{
  border-color:rgba(245,246,248,0.16);
  background:rgba(10,13,18,0.6);
}
.uw-group__summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 18px 14px 22px;
  user-select:none;
  outline:none;
}
.uw-group__summary::-webkit-details-marker{ display:none; }
.uw-group__summary:hover{
  background:rgba(245,246,248,0.025);
}
.uw-group__summary:focus-visible{
  box-shadow:inset 0 0 0 2px rgba(45,212,191,0.45);
  border-radius:8px;
}
.uw-group__step{
  font-family:'JetBrains Mono','SF Mono',monospace;
  font-size:10px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(245,246,248,0.45);
  flex-shrink:0;
}
.uw-group--amber  .uw-group__step{ color:rgba(245,158,11,0.85); }
.uw-group--teal   .uw-group__step{ color:rgba(45,212,191,0.85); }
.uw-group--violet .uw-group__step{ color:rgba(184,164,255,0.85); }

.uw-group__title{
  font-size:15px;
  font-weight:600;
  letter-spacing:-0.005em;
  color:rgba(245,246,248,0.92);
  flex:1 1 auto;
  min-width:0;
}
.uw-group__meta{
  display:flex;
  align-items:center;
  gap:12px;
  flex-shrink:0;
}
.uw-group__count{
  font-family:'JetBrains Mono','SF Mono',monospace;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(245,246,248,0.5);
  padding:3px 8px;
  border:1px solid rgba(245,246,248,0.12);
  border-radius:4px;
  background:rgba(245,246,248,0.02);
}
.uw-group__chev{
  font-size:14px;
  color:rgba(245,246,248,0.5);
  transition:transform .18s ease, color .18s ease;
  line-height:1;
}
.uw-group[open] .uw-group__chev{
  transform:rotate(180deg);
  color:rgba(245,246,248,0.85);
}
.uw-group__note{
  padding:0 18px 8px 22px;
  font-size:13px;
  color:rgba(245,246,248,0.58);
  line-height:1.5;
}
.uw-group__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  padding:6px 18px 20px 22px;
}
@media (max-width:640px){
  .uw-group__summary{ padding:12px 14px 12px 18px; gap:10px; }
  .uw-group__note{ padding:0 14px 6px 18px; font-size:12px; }
  .uw-group__grid{ grid-template-columns:1fr; gap:14px; padding:4px 14px 16px 18px; }
  .uw-group__step{ font-size:9px; letter-spacing:.2em; }
  .uw-group__title{ font-size:14px; }
  .uw-group__count{ font-size:9px; padding:2px 6px; }
}

/* =========================================================
   v36.22i — Workspace header (asset-class title + back link)
   Replaces the dead-end //Underwriting breadcrumb. Sits at the
   top of the workspace once a lane is selected. Side-aware tag
   (// OPERATOR or // LENDER) is set by selectDealType().
   ========================================================= */
.uw-workspace-head{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:1rem;
  padding:1rem 1.25rem;
  margin-bottom:1.5rem;
  background:rgba(217,156,36,0.04);
  border:1px solid rgba(217,156,36,0.22);
  border-left:3px solid var(--c-amber, #f59e0b);
  border-radius:2px;
}
.uw-workspace-back{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:transparent;
  border:1px solid rgba(255,255,255,0.14);
  color:var(--c-ink-200, #cbd0d8);
  font-family:"JetBrains Mono", monospace;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.18em;
  font-weight:600;
  padding:0.5rem 0.75rem;
  border-radius:2px;
  cursor:pointer;
  transition:color .15s ease, border-color .15s ease, background .15s ease;
  white-space:nowrap;
}
.uw-workspace-back:hover{
  color:var(--c-teal, #2dd4bf);
  border-color:var(--c-teal, #2dd4bf);
  background:rgba(45,212,191,0.06);
}
.uw-workspace-title{
  display:flex;
  flex-direction:column;
  gap:.25rem;
  min-width:0;
  text-align:center;
}
.uw-workspace-title__tag{
  font-family:"JetBrains Mono", monospace;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:0.25em;
  color:var(--c-amber, #f59e0b);
}
.uw-workspace-title__name{
  font-family:"Space Grotesk", sans-serif;
  font-size:1.5rem;
  line-height:1.15;
  font-weight:600;
  color:var(--c-ink-100, #f5f6f8);
  letter-spacing:-0.01em;
  margin:0;
}
.uw-workspace-head__actions{
  display:flex;
  align-items:center;
  gap:.5rem;
  justify-self:end;
}
/* Tablet / mobile — collapse to a stacked layout */
@media (max-width: 760px){
  .uw-workspace-head{
    grid-template-columns:1fr;
    text-align:left;
    gap:.65rem;
    padding:.85rem 1rem;
  }
  .uw-workspace-title{ text-align:left; }
  .uw-workspace-title__name{ font-size:1.25rem; }
  .uw-workspace-head__actions{ justify-self:start; }
}
/* Hide the legacy .uw-selected breadcrumb entirely — fully replaced. */
.uw-selected{ display:none !important; }

/* =========================================================
   v36.22j — Post-QA polish fixes (no engine/copy changes)

   1) Mobile minimize button shows only a dash when its label
      is hidden by the existing mobile rule. The back-link in
      .uw-workspace-head already covers the way out, so the
      minimize control is redundant on small screens. Hide it.

   2) Native <select> options in sectioned forms (carry/structure,
      emd/exitLocked, pml/state, etc.) carry long descriptive
      text that overflows the 178px two-column grid cell, causing
      visible truncation in the closed-state value (e.g.
      "Sub-To (take ove" instead of "Sub-To (take over existing)").
      Letting <select> fields span the full row inside grouped
      grids resolves this without touching copy or option labels.
   ========================================================= */
@media (max-width: 640px){
  #uw-minimize{ display:none !important; }
}
.uw-group__grid > [data-field-id]:has(select){
  grid-column: 1 / -1;
}

/* ==========================================================
   v36.22k — LANE CARD GRID picker
   Replaces vertical strip. Mobile = horizontal swipe row with
   per-card Select; iPad/desktop = 2 rows × 6 columns.
   ========================================================== */
.uw-lane-grid{
  display:grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-template-rows: repeat(2, auto);
  gap: 10px;
  margin: 18px 0 8px;
}
.uw-lane-grid__hint{
  margin: 2px 0 18px;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(245, 246, 248, 0.45);
  text-align: center;
}
.uw-lane-card{
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center; /* v36.67e — center horizontally */
  justify-content: center; /* v36.67b — title only, vertically centered */
  gap: 0;
  padding: 18px 16px;
  min-height: 96px;
  text-align: center; /* v36.67e — center text */
  background: rgba(28, 32, 40, 0.85);
  border: 1px solid rgba(94, 234, 191, 0.18);
  border-radius: 10px;
  color: #f5f6f8;
  cursor: pointer;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease, box-shadow 120ms ease;
  -webkit-tap-highlight-color: transparent;
}
.uw-lane-card:hover{
  border-color: rgba(94, 234, 191, 0.5);
  background: rgba(36, 42, 52, 0.92);
  transform: translateY(-1px);
}
.uw-lane-card:focus-visible{
  outline: 2px solid #5eead4;
  outline-offset: 2px;
}
.uw-lane-card[aria-selected="true"]{
  border-color: #5eead4;
  background: rgba(45, 212, 191, 0.08);
  box-shadow: inset 0 0 0 1px rgba(94, 234, 191, 0.35);
}
/* v36.67b — Lane card title in portal-hero font style (Space Grotesk 700) */
.uw-lane-card__name{
  font-family: "Space Grotesk", Inter, sans-serif;
  font-weight: 700;
  font-size: clamp(1.15rem, 1.6vw, 1.5rem);
  line-height: 0.95;
  letter-spacing: -0.02em;
  color: #f5f6f8;
}

/* iPad — keep 6 columns but tighten gaps */
@media (max-width: 1024px){
  .uw-lane-grid{ gap: 8px; }
  .uw-lane-card{ min-height: 88px; padding: 14px 12px; }
  .uw-lane-card__name{ font-size: 1.05rem; }
}

/* Tablet portrait — 4 cols × 3 rows */
@media (max-width: 820px){
  .uw-lane-grid{ grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(3, auto); }
}

/* Mobile — horizontal scroll-snap swipe row, Select CTA always visible */
@media (max-width: 640px){
  .uw-lane-grid{
    display: flex;
    grid-template-columns: none;
    grid-template-rows: none;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 10px;
    padding: 4px 4px 14px;
    margin-inline: -4px; /* full-bleed edges */
    scrollbar-width: thin;
  }
  .uw-lane-grid::-webkit-scrollbar{ height: 6px; }
  .uw-lane-grid::-webkit-scrollbar-thumb{ background: rgba(94, 234, 191, 0.3); border-radius: 3px; }
  .uw-lane-card{
    flex: 0 0 72%;
    max-width: 280px;
    scroll-snap-align: start;
    min-height: 110px;
    padding: 14px 14px 44px;
  }
  .uw-lane-card__cta{
    opacity: 1;
    transform: none;
    /* turn the CTA into a pill on mobile so it reads as the per-card Select button */
    padding: 5px 10px;
    border: 1px solid rgba(94, 234, 191, 0.5);
    border-radius: 999px;
    background: rgba(45, 212, 191, 0.1);
    font-size: 11px;
  }
  .uw-lane-card__name{ font-size: 15px; }
  .uw-lane-card__hint{ font-size: 12px; }
  .uw-lane-grid__hint{ margin-top: -6px; }
}

/* === § 04 Engine cards — operator/lender visual separation (v36.22m) === */
.eng-card__side{
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 4px;
  font-family: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1;
  margin-left: 8px;
}
.eng-card__side--operator{
  color: #f59e0b;
  background: rgba(245, 158, 11, 0.10);
  border: 1px solid rgba(245, 158, 11, 0.35);
}
.eng-card__side--lender{
  color: #5eead4;
  background: rgba(94, 234, 212, 0.10);
  border: 1px solid rgba(94, 234, 212, 0.40);
}
.eng-card--operator{
  border-top: 2px solid rgba(245, 158, 11, 0.55);
}
.eng-card--lender{
  border-top: 2px solid rgba(94, 234, 212, 0.65);
}
.eng-card__name-sub{
  font-family: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.62em;
  font-weight: 400;
  letter-spacing: 0.08em;
  color: rgba(245, 246, 248, 0.55);
  margin-left: 6px;
  text-transform: none;
}
@media (max-width: 640px){
  .eng-card__side{
    font-size: 9px;
    padding: 2px 6px;
    margin-left: 6px;
  }
}

/* keep idx on one line on mobile when side badge present (v36.22m) */
@media (max-width: 640px){
  .eng-card__idx{ white-space: nowrap; }
  .eng-card__head{ flex-wrap: wrap; gap: 8px; row-gap: 6px; }
}

/* === v36.22n — § 03 hero: OPEN MATH variant + black-box definition === */
/* Re-tune .acc-hero__num for word-mark instead of numeric "12 / 0".
   Slightly tighter, still cinematic, no shadow overpower. */
.acc-hero__num{
  font-size: clamp(1.85rem, 3.6vw, 2.65rem);
  letter-spacing: 0.02em;
  line-height: 1.05;
}
.acc-hero__def{
  margin-top: 0.95rem;
  padding-top: 0.85rem;
  border-top: 1px dashed rgba(94, 234, 212, 0.22);
  display: block;
  font-family: 'IBM Plex Mono', 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.7rem;
  line-height: 1.55;
  color: rgba(245, 246, 248, 0.62);
  letter-spacing: 0.01em;
  max-width: 320px;
}
.acc-hero__def-mark{
  color: #f59e0b;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-right: 4px;
}
.acc-hero__def-text{
  color: rgba(245, 246, 248, 0.72);
}
@media (max-width: 720px){
  .acc-hero__num{
    font-size: clamp(1.55rem, 6.5vw, 2.1rem);
  }
  .acc-hero__def{
    margin-top: 0.7rem;
    padding-top: 0.7rem;
    font-size: 0.66rem;
    max-width: none;
  }
}

/* ===== § 02 · DUAL SAMPLE ROTATOR (operator + lender, cinematic auto-rotate) — v36.22n ===== */
.verdict-rotator {
  position: relative;
  /* Reserve enough height so absolute slides don't collapse the layout.
     Tuned to fit the tallest mock (operator with 4 metrics). */
  min-height: 340px;
}
.verdict-rotator__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: translateY(8px) scale(0.985);
  transition: opacity 700ms cubic-bezier(0.22, 1, 0.36, 1),
              transform 900ms cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
  will-change: opacity, transform;
}
.verdict-rotator__slide.is-active {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}
/* First slide stays in normal flow to anchor rotator height; others are absolutely stacked on top */
.verdict-rotator > .verdict-card__mock:first-child { position: relative; inset: auto; }
.verdict-rotator > .verdict-card__mock:not(:first-child) { position: absolute; inset: 0; }
.verdict-rotator__dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 16px;
}
.verdict-rotator__dot {
  width: 28px; height: 3px;
  border: 0; padding: 0; margin: 0;
  background: rgba(94,234,212,0.18);
  cursor: pointer;
  transition: background 280ms ease, width 280ms ease, box-shadow 280ms ease;
  border-radius: 1px;
}
.verdict-rotator__dot:hover { background: rgba(94,234,212,0.4); }
.verdict-rotator__dot:focus-visible {
  outline: 2px solid #5eead4; outline-offset: 3px;
}
.verdict-rotator__dot.is-active {
  background: #5eead4;
  width: 44px;
  box-shadow: 0 0 10px rgba(94,234,212,0.55);
}
/* When the active slide is the lender, dots get teal already; when operator, accent the active dot amber */
.verdict-rotator[data-active-side="OPERATOR"] .verdict-rotator__dot.is-active {
  background: #f59e0b;
  box-shadow: 0 0 10px rgba(245,158,11,0.55);
}
@media (prefers-reduced-motion: reduce) {
  .verdict-rotator__slide { transition: opacity 1ms linear; transform: none; }
}
.verdict-card__mock-tag {
  font-family: "JetBrains Mono", monospace;
  font-size: 9px; letter-spacing: 0.22em; text-transform: uppercase;
  color: #f59e0b;
  margin-bottom: 8px;
  display: flex; align-items: center; gap: 6px;
}
.verdict-card__mock-tag::before {
  content: ""; display: inline-block;
  width: 5px; height: 5px; border-radius: 50%;
  background: #f59e0b;
  box-shadow: 0 0 6px rgba(245,158,11,0.6);
}
.verdict-card__mock-tag--teal { color: #5eead4; }
.verdict-card__mock-tag--teal::before {
  background: #5eead4;
  box-shadow: 0 0 6px rgba(94,234,212,0.6);
}
/* Operator (amber) variant overrides */
.verdict-card__mock--operator {
  border-color: rgba(245,158,11,0.32);
  box-shadow: 0 8px 32px -16px rgba(245,158,11,0.35);
}
.verdict-card__mock-type--amber { color: #f59e0b; }
.verdict-card__mock-score-num--amber {
  color: #f59e0b;
  text-shadow: 0 0 24px rgba(245,158,11,0.32);
}
.verdict-card__mock-score-bar--amber span {
  background: linear-gradient(90deg, #f59e0b, #fbbf24);
  box-shadow: 0 0 8px rgba(245,158,11,0.55);
}
/* Two-column metric grid (vs default four-up) — keeps dual mocks readable */
.verdict-card__mock-grid--two {
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 14px;
}
/* Tighten rotator interior on smaller widths */
@media (max-width: 900px) {
  .verdict-rotator { min-height: 360px; }
  .verdict-card__mock { padding: 18px 20px; }
  .verdict-card__mock-score-num { font-size: 52px; }
}
@media (max-width: 640px) {
  .verdict-card__visual { padding: 24px 18px; }
  .verdict-rotator { min-height: 320px; }
  .verdict-card__mock { padding: 16px 16px; }
  .verdict-card__mock-score-num { font-size: 48px; }
  .verdict-card__mock-score-num span { font-size: 15px; }
  .verdict-card__mock-head { font-size: 9px; }
  .verdict-card__mock-type { letter-spacing: 0.12em; }
  .verdict-card__mock-grid--two { gap: 8px 12px; }
  .verdict-card__mock-v { font-size: 13px; }
  .verdict-card__mock-tag { font-size: 8.5px; letter-spacing: 0.18em; }
  .verdict-rotator__dot { width: 22px; }
  .verdict-rotator__dot.is-active { width: 36px; }
}

/* CAUTION badge variant (amber pill, dark text — distinct from green PASS) */
.verdict-card__mock-pass--caution {
  background: #f59e0b;
  color: #0c0a09;
}
/* Warn-colored metric value (used inside CAUTION cards to flag the failing inputs) */
.verdict-card__mock-v--warn { color: #f59e0b; }

/* =========================================================
   v36.22r · UW CONSOLE — single-panel elevated workspace
   =========================================================
   Visual goal: the underwriter form + result render as one
   deliberate "console" that lifts away from the surrounding
   page (lane grid, hero, footer copy) the way the funding
   drawer lifts away from the landing page. Live recalc loop
   is preserved — this is a wrapper, not a modal.
   --------------------------------------------------------- */
.uw-console{
  position: relative;
  /* Slightly darker than the page so it reads as a deep workspace */
  background:
    linear-gradient(180deg, rgba(10,13,18,0.92) 0%, rgba(10,13,18,0.78) 100%),
    rgba(10,13,18,0.6);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 4px;
  padding: 56px 28px 28px;   /* top padding hosts the chrome bar */
  margin: 12px 0 20px;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.04) inset,
    0 24px 60px -28px rgba(0,0,0,0.65),
    0 4px 14px rgba(0,0,0,0.35);
  isolation: isolate;
}
/* Left accent stripe (amber for operator, teal for lender) */
.uw-console__stripe{
  position: absolute;
  top: 0; left: 0; bottom: 0;
  width: 3px;
  background: var(--c-amber, #f59e0b);
  border-radius: 4px 0 0 4px;
  transition: background .25s ease;
  z-index: 1;
}
.uw-console[data-uw-side="lender"] .uw-console__stripe{
  background: var(--c-teal, #2dd4bf);
}
/* Top chrome bar — drawer-style title strip */
.uw-console__chrome{
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px 0 22px;
  background:
    linear-gradient(180deg, rgba(245,158,11,0.08) 0%, rgba(245,158,11,0.02) 100%);
  border-bottom: 1px solid rgba(245,158,11,0.22);
  border-radius: 4px 4px 0 0;
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  color: var(--c-amber, #f59e0b);
  pointer-events: none;
  z-index: 1;
  transition: background .25s ease, border-color .25s ease, color .25s ease;
}
.uw-console[data-uw-side="lender"] .uw-console__chrome{
  background: linear-gradient(180deg, rgba(45,212,191,0.08) 0%, rgba(45,212,191,0.02) 100%);
  border-bottom-color: rgba(45,212,191,0.22);
  color: var(--c-teal, #2dd4bf);
}
.uw-console__chrome-tag{
  font-weight: 600;
}
.uw-console__chrome-status{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 9px;
  letter-spacing: 0.28em;
  color: rgba(255,255,255,0.55);
}
.uw-console__chrome-dot{
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-teal, #2dd4bf);
  box-shadow: 0 0 6px rgba(45,212,191,0.7);
  animation: uwc-pulse 2.2s ease-in-out infinite;
}
.uw-console[data-uw-side="operator"] .uw-console__chrome-dot{
  background: var(--c-amber, #f59e0b);
  box-shadow: 0 0 6px rgba(245,158,11,0.7);
}
@keyframes uwc-pulse{
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: 0.55; transform: scale(0.85); }
}
@media (prefers-reduced-motion: reduce){
  .uw-console__chrome-dot{ animation: none; }
}

/* The existing .uw-workspace-head sits inside the console — soften its
   own amber framing so the console chrome doesn't compete with it.    */
.uw-console .uw-workspace-head{
  background: transparent;
  border: none;
  border-left: 2px solid rgba(245,158,11,0.55);
  padding: .35rem 0 .35rem .85rem;
  margin: 0 0 1.25rem;
  border-radius: 0;
}
.uw-console[data-uw-side="lender"] .uw-workspace-head{
  border-left-color: rgba(45,212,191,0.55);
}
.uw-console[data-uw-side="lender"] .uw-workspace-title__tag{
  color: var(--c-teal, #2dd4bf);
}

/* Tablet — keep generous breathing room */
@media (max-width: 960px){
  .uw-console{
    padding: 52px 20px 22px;
    margin: 10px 0 18px;
  }
}
/* Mobile — tighten padding so inputs don't lose horizontal space */
@media (max-width: 640px){
  .uw-console{
    padding: 46px 14px 18px;
    margin: 8px 0 16px;
    border-radius: 3px;
  }
  .uw-console__chrome{
    height: 34px;
    padding: 0 12px 0 18px;
    font-size: 9px;
    letter-spacing: 0.22em;
  }
  .uw-console__chrome-status{ font-size: 8px; }
  .uw-console .uw-workspace-head{
    padding: .25rem 0 .25rem .7rem;
    margin: 0 0 1rem;
  }
}
/* Very narrow phones */
@media (max-width: 380px){
  .uw-console{ padding: 44px 12px 16px; }
  /* Drop the LIVE pill if it's competing for space */
  .uw-console__chrome-status{ display: none; }
}

/* =========================================================
   v36.22s — UNDERWRITER FORM REBALANCE + FUNDING PANEL
   ---------------------------------------------------------
   1. Form/result split → 55/45 (form-favoring)
   2. Bumped text on inputs (12px labels, 15px field text)
   3. Permanently hide top toolbar Apply CTA (replaced by
      contextual funding panel inside verdict card on PASS≥80)
   4. New .uw-funding panel — primary lane + secondaries +
      PML Match option, with "no guarantees" disclaimer
   5. New .uw-roadmap panel — promoted coaching for CAUTION
      scores (50–79), framing tips as a path to PASS
   ========================================================= */

/* ---- 1. 55/45 split (desktop only) ---- */
.uw-split{ display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 1024px){
  .uw-split{ grid-template-columns: 11fr 9fr; }
  .uw-split__form{ min-width: 0; }
  .uw-split__result{ min-width: 0; }
}

/* ---- 2. Bumped text — scoped to underwriter form only ---- */
.uw-split__form .field-label{
  font-size: 0.75rem;          /* 10px → 12px */
  letter-spacing: 0.22em;
  margin-bottom: 0.5rem;
}
.uw-split__form .field{
  font-size: 0.9375rem;        /* 13px → 15px */
  padding: 0.75rem 0.875rem;   /* 10/12 → 12/14 */
}
.uw-split__form .field-hint{
  font-size: 0.6875rem;        /* 10px → 11px */
  letter-spacing: 0.08em;
}
/* Make the small "Live recalc" header label scale gracefully */
.uw-split__form .uw-notes{
  font-size: 0.9375rem;
  padding: 0.75rem 0.875rem;
}
/* Qualitative chips & summary stay at their current sizes — they're
   already a different visual rhythm and don't compete with inputs. */

/* ---- 3. Hide premature top toolbar Apply CTA ---- */
.uw-toolbar #uw-apply{ display: none !important; }

/* ---- 4. Funding panel (PASS ≥ 80 only) ---- */
.uw-funding{
  margin-top: 1.25rem;
  padding: 1.25rem 1.25rem 1.125rem;
  background: linear-gradient(180deg, rgba(245,158,11,0.06), rgba(245,158,11,0.02));
  border: 1px solid rgba(245,158,11,0.32);
  border-left: 3px solid var(--c-amber);
  border-radius: 2px;
  position: relative;
}
.uw-funding__tag{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: var(--c-amber);
  margin-bottom: 0.5rem;
}
.uw-funding__head{
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--c-ink-100);
  margin-bottom: 0.5rem;
  letter-spacing: -0.01em;
}
.uw-funding__lead{
  font-size: 0.875rem;
  line-height: 1.55;
  color: var(--c-ink-200);
  margin-bottom: 1rem;
}
.uw-funding__lead strong{ color: var(--c-ink-100); }
.uw-funding__section-label{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: var(--c-ink-400);
  margin: 0.875rem 0 0.5rem;
}
.uw-funding__primary{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.875rem;
  padding: 0.875rem 1rem;
  background: var(--c-amber);
  color: #0a0d12;
  border: none;
  width: 100%;
  cursor: pointer;
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: -0.005em;
  border-radius: 2px;
  transition: filter 0.18s ease, transform 0.18s ease;
}
.uw-funding__primary:hover{ filter: brightness(1.05); transform: translateY(-1px); }
.uw-funding__primary-code{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  opacity: 0.65;
  letter-spacing: 0.15em;
}
.uw-funding__secondaries{
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5rem;
}
@media (min-width: 520px){
  .uw-funding__secondaries{ grid-template-columns: 1fr 1fr; }
}
.uw-funding__secondary{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.6875rem 0.875rem;
  background: transparent;
  color: var(--c-ink-100);
  border: 1px solid rgba(245,158,11,0.30);
  cursor: pointer;
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  text-align: left;
  border-radius: 2px;
  transition: border-color 0.18s ease, background 0.18s ease;
}
.uw-funding__secondary:hover{
  border-color: rgba(245,158,11,0.55);
  background: rgba(245,158,11,0.04);
}
.uw-funding__secondary-code{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.625rem;
  opacity: 0.55;
  letter-spacing: 0.15em;
  white-space: nowrap;
}
.uw-funding__pml{
  margin-top: 0.5rem;
  padding: 0.75rem 0.875rem;
  background: rgba(94,234,212,0.04);
  border: 1px dashed rgba(94,234,212,0.35);
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  cursor: pointer;
  color: var(--c-ink-100);
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  width: 100%;
  text-align: left;
  transition: border-color 0.18s ease, background 0.18s ease;
}
.uw-funding__pml:hover{
  border-color: rgba(94,234,212,0.65);
  background: rgba(94,234,212,0.07);
}
.uw-funding__pml-label{ flex: 1; }
.uw-funding__pml-label strong{ color: #5eead4; font-weight: 600; }
.uw-funding__pml-arrow{ color: #5eead4; font-weight: 600; }
.uw-funding__disclaimer{
  margin-top: 0.875rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(255,255,255,0.06);
  font-family: "JetBrains Mono", monospace;
  font-size: 0.625rem;
  letter-spacing: 0.05em;
  line-height: 1.55;
  color: var(--c-ink-400);
}

/* ---- 5. Roadmap panel (CAUTION 50–79 — promoted coaching) ---- */
.uw-roadmap{
  margin-top: 1.25rem;
  padding: 1.125rem 1.25rem 1rem;
  background: linear-gradient(180deg, rgba(184,164,255,0.05), rgba(184,164,255,0.015));
  border: 1px solid rgba(184,164,255,0.30);
  border-left: 3px solid #b8a4ff;
  border-radius: 2px;
}
.uw-roadmap__tag{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: #b8a4ff;
  margin-bottom: 0.5rem;
}
.uw-roadmap__head{
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--c-ink-100);
  letter-spacing: -0.01em;
  margin-bottom: 0.5rem;
}
.uw-roadmap__lead{
  font-size: 0.875rem;
  line-height: 1.55;
  color: var(--c-ink-200);
  margin-bottom: 0.875rem;
}
.uw-roadmap__lead strong{ color: var(--c-ink-100); }
.uw-roadmap__list{
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.uw-roadmap__list li{
  position: relative;
  padding-left: 1.5rem;
  font-size: 0.875rem;
  line-height: 1.55;
  color: var(--c-ink-200);
}
.uw-roadmap__list li::before{
  content: "→";
  position: absolute;
  left: 0;
  top: 0.05rem;
  color: #b8a4ff;
  font-weight: 600;
}
.uw-roadmap__list li strong{ color: var(--c-ink-100); }
.uw-roadmap__footer{
  margin-top: 0.875rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(255,255,255,0.06);
  font-family: "JetBrains Mono", monospace;
  font-size: 0.625rem;
  letter-spacing: 0.08em;
  line-height: 1.55;
  color: var(--c-ink-400);
}
.uw-roadmap__footer strong{ color: #b8a4ff; }

/* =========================================================================
   v36.22t — LENDER PERSONA PICKER (Step 00.5)
   2 primary tiles (PML, JV Partner) + muted Industry Reference details tile
   ========================================================================= */
.lender-picker {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 14px;
}
@media (min-width: 720px) {
  .lender-picker { grid-template-columns: 1fr 1fr; gap: 16px; }
}

.lender-card {
  position: relative;
  display: flex;
  flex-direction: column;
  text-align: left;
  padding: 22px 22px 18px;
  background: linear-gradient(180deg, rgba(45,212,191,0.05) 0%, rgba(10,13,18,0.65) 60%, rgba(10,13,18,0.85) 100%);
  border: 1px solid rgba(94,234,212,0.22);
  border-radius: 10px;
  color: #f5f6f8;
  font-family: inherit;
  cursor: pointer;
  transition: border-color 0.16s ease, background 0.16s ease, transform 0.12s ease;
  text-decoration: none;
}
.lender-card:hover, .lender-card:focus-visible {
  border-color: rgba(94,234,212,0.55);
  background: linear-gradient(180deg, rgba(45,212,191,0.09) 0%, rgba(10,13,18,0.7) 60%, rgba(10,13,18,0.9) 100%);
  outline: none;
}
.lender-card[aria-selected="true"] {
  border-color: #5eead4;
  box-shadow: 0 0 0 1px rgba(94,234,212,0.45) inset;
}
.lender-card--jv {
  background: linear-gradient(180deg, rgba(184,164,255,0.05) 0%, rgba(10,13,18,0.65) 60%, rgba(10,13,18,0.85) 100%);
  border-color: rgba(184,164,255,0.24);
}
.lender-card--jv:hover, .lender-card--jv:focus-visible {
  border-color: rgba(184,164,255,0.55);
  background: linear-gradient(180deg, rgba(184,164,255,0.09) 0%, rgba(10,13,18,0.7) 60%, rgba(10,13,18,0.9) 100%);
}
.lender-card__tag {
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-size: 10px;
  letter-spacing: 0.14em;
  color: #5eead4;
  margin-bottom: 12px;
  text-transform: uppercase;
}
.lender-card--jv .lender-card__tag { color: #b8a4ff; }
.lender-card__title {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin-bottom: 6px;
  color: #f5f6f8;
}
.lender-card__sub {
  font-size: 13px;
  color: rgba(245,246,248,0.72);
  margin-bottom: 14px;
  line-height: 1.4;
}
.lender-card__list {
  list-style: none;
  padding: 0;
  margin: 0 0 18px 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.lender-card__list li {
  font-size: 12px;
  color: rgba(245,246,248,0.78);
  padding-left: 14px;
  position: relative;
  line-height: 1.35;
}
.lender-card__list li::before {
  content: "▸";
  position: absolute;
  left: 0;
  top: 0;
  color: #5eead4;
  font-size: 10px;
}
.lender-card--jv .lender-card__list li::before { color: #b8a4ff; }
.lender-card__cta {
  margin-top: auto;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-size: 12px;
  letter-spacing: 0.06em;
  color: #5eead4;
  font-weight: 600;
  padding-top: 10px;
  border-top: 1px dashed rgba(94,234,212,0.25);
}
.lender-card--jv .lender-card__cta {
  color: #b8a4ff;
  border-top-color: rgba(184,164,255,0.25);
}

/* Industry Reference (muted, expandable details) */
.lender-ref {
  margin-top: 18px;
  border: 1px dashed rgba(245,246,248,0.18);
  border-radius: 8px;
  background: rgba(10,13,18,0.45);
  overflow: hidden;
}
.lender-ref[open] { border-color: rgba(245,246,248,0.32); }
.lender-ref__summary {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.lender-ref__summary::-webkit-details-marker { display: none; }
.lender-ref__tag {
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-size: 10px;
  letter-spacing: 0.12em;
  color: rgba(245,246,248,0.45);
  text-transform: uppercase;
}
.lender-ref__title {
  margin-left: auto;
  font-size: 14px;
  font-weight: 600;
  color: rgba(245,246,248,0.78);
}
.lender-ref__chev {
  font-family: ui-monospace, monospace;
  color: rgba(245,246,248,0.45);
  font-size: 16px;
  margin-left: 10px;
  transition: transform 0.16s ease;
}
.lender-ref[open] .lender-ref__chev { transform: rotate(45deg); }
.lender-ref__body {
  padding: 4px 16px 18px;
  font-size: 13px;
  color: rgba(245,246,248,0.7);
  line-height: 1.55;
}
.lender-ref__body p { margin: 0 0 12px; }
.lender-ref__industry {
  padding: 10px 12px;
  background: rgba(245,158,11,0.06);
  border-left: 2px solid rgba(245,158,11,0.5);
  font-size: 12px;
  border-radius: 0 6px 6px 0;
  color: rgba(245,246,248,0.82);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.lender-ref__industry-k {
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-size: 10px;
  letter-spacing: 0.12em;
  color: #f59e0b;
  text-transform: uppercase;
}
.lender-ref__cta {
  margin-top: 14px;
  background: transparent;
  border: 1px solid rgba(94,234,212,0.4);
  color: #5eead4;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 10px 18px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.14s ease;
}
.lender-ref__cta:hover, .lender-ref__cta:focus-visible {
  background: rgba(94,234,212,0.12);
  border-color: #5eead4;
  outline: none;
}

.lender-picker__footer {
  margin-top: 18px;
  display: flex;
  justify-content: center;
}
.lender-picker__back {
  background: transparent;
  border: none;
  color: rgba(245,246,248,0.5);
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-size: 12px;
  letter-spacing: 0.04em;
  cursor: pointer;
  padding: 8px 14px;
  transition: color 0.14s ease;
}
.lender-picker__back:hover, .lender-picker__back:focus-visible {
  color: #5eead4;
  outline: none;
}

/* ============================================================
 * v36.22u — Lane family color borders
 * Each operator lane card gets a left accent bar + family-colored
 * border + matching family tag in the // 01 · VELOCITY meta line.
 * Families: flip(amber) · hold(teal) · multi(violet) · build(cyan) · creative(rose)
 * ============================================================ */
.uw-lane-card{ overflow: hidden; }

/* v36.67c — Family-color gradient backgrounds, titles only, no meta line/bar.
   Gradient is the personality — each lane reads as its family at a glance. */
.uw-lane-card[data-family="flip"]    { --fam-color: #f59e0b; --fam-tint: rgba(245,158,11,0.22);  --fam-tint-hover: rgba(245,158,11,0.32);  }
.uw-lane-card[data-family="hold"]    { --fam-color: #2dd4bf; --fam-tint: rgba(45,212,191,0.22);  --fam-tint-hover: rgba(45,212,191,0.32);  }
.uw-lane-card[data-family="multi"]   { --fam-color: #b8a4ff; --fam-tint: rgba(184,164,255,0.22); --fam-tint-hover: rgba(184,164,255,0.32); }
.uw-lane-card[data-family="build"]   { --fam-color: #67e8f9; --fam-tint: rgba(103,232,249,0.22); --fam-tint-hover: rgba(103,232,249,0.32); }
.uw-lane-card[data-family="creative"]{ --fam-color: #fb7185; --fam-tint: rgba(251,113,133,0.22); --fam-tint-hover: rgba(251,113,133,0.32); }

.uw-lane-card[data-family]{
  border-color: color-mix(in srgb, var(--fam-color) 30%, transparent);
  background: linear-gradient(155deg, var(--fam-tint) 0%, rgba(28,32,40,0.82) 75%);
}
.uw-lane-card[data-family]:hover{
  border-color: color-mix(in srgb, var(--fam-color) 65%, transparent);
  background: linear-gradient(155deg, var(--fam-tint-hover) 0%, rgba(36,42,52,0.88) 80%);
  transform: translateY(-1px);
}
.uw-lane-card[data-family]:focus-visible{ outline-color: var(--fam-color); }
.uw-lane-card[data-family][aria-selected="true"]{
  border-color: var(--fam-color);
  background: linear-gradient(155deg, var(--fam-tint-hover) 0%, rgba(36,42,52,0.88) 80%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fam-color) 50%, transparent), 0 0 24px color-mix(in srgb, var(--fam-color) 18%, transparent);
}

/* Lane-grid intro hint copy — set the user-facing prompt above the grid */
.uw-lane-grid__hint{
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(245, 246, 248, 0.55);
}

/* v36.22u — operator lane picker back button alignment */
.uw-lane-picker__back-wrap{
  display: flex;
  justify-content: center;
  margin-top: 18px;
}

/* =========================================================================
   v36.23 — Lender-card wrap (PML tile sub-CTA → /partner)
   The grid expects each child to be a card; wrap the PML button + sub-note
   so the grid lands them as one column with sub-note tucked beneath.
   ========================================================================= */
.lender-card-wrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.lender-card-wrap > .lender-card { flex: 1 1 auto; }
.lender-card__sub-note {
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.04em;
  text-align: center;
  color: #8a93a0;
  padding: 9px 12px;
  background: rgba(245, 158, 11, 0.05);
  border: 1px solid rgba(245, 158, 11, 0.20);
  border-radius: 9px;
  line-height: 1.45;
}
.lender-card__sub-link {
  color: #fbbf24;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(251, 191, 36, 0.4);
  padding-bottom: 1px;
  transition: color 0.15s ease, border-color 0.15s ease;
  white-space: nowrap;
}
.lender-card__sub-link:hover {
  color: #f59e0b;
  border-color: #f59e0b;
}

/* v36.24 — Global nav active-state highlights (Funding/Verdict/Partner) */
.nav-link--active-amber {
  color: #ffb020 !important;
  border-bottom: 2px solid #ffb020;
  padding-bottom: calc(.55rem - 2px);
}
.nav-link--active-teal {
  color: #5eead4 !important;
  border-bottom: 2px solid #5eead4;
  padding-bottom: calc(.55rem - 2px);
}
.nav-link--active-violet {
  color: #b8a4ff !important;
  border-bottom: 2px solid #b8a4ff;
  padding-bottom: calc(.55rem - 2px);
}

/* =====================================================
   v36.25 — VERDICT Side Picker · Partner Network strip
   Sits under both side cards. Links to /partner. Brand violet.
   ===================================================== */
.uw-partner-strip {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 22px;
  padding: 16px 18px;
  border-radius: 12px;
  border: 1px solid rgba(184, 164, 255, 0.32);
  background: linear-gradient(180deg, rgba(184, 164, 255, 0.06) 0%, rgba(184, 164, 255, 0.02) 100%);
  text-decoration: none;
  color: #f5f6f8;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.uw-partner-strip:hover,
.uw-partner-strip:focus-visible {
  border-color: rgba(184, 164, 255, 0.62);
  background: linear-gradient(180deg, rgba(184, 164, 255, 0.10) 0%, rgba(184, 164, 255, 0.04) 100%);
  transform: translateY(-1px);
  outline: none;
}
.uw-partner-strip__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(184, 164, 255, 0.12);
  color: #b8a4ff;
}
.uw-partner-strip__body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}
.uw-partner-strip__tag {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10.5px;
  letter-spacing: 0.14em;
  color: #b8a4ff;
  text-transform: uppercase;
}
.uw-partner-strip__title {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 15.5px;
  font-weight: 700;
  letter-spacing: -0.005em;
  color: #f5f6f8;
}
.uw-partner-strip__sub {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 12.5px;
  line-height: 1.45;
  color: rgba(245, 246, 248, 0.66);
}
.uw-partner-strip__arrow {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 18px;
  color: #b8a4ff;
  flex-shrink: 0;
  transition: transform .18s ease;
}
.uw-partner-strip:hover .uw-partner-strip__arrow,
.uw-partner-strip:focus-visible .uw-partner-strip__arrow {
  transform: translateX(3px);
}
@media (max-width: 560px) {
  .uw-partner-strip { padding: 14px 14px; gap: 12px; }
  .uw-partner-strip__icon { width: 36px; height: 36px; }
  .uw-partner-strip__icon svg { width: 19px; height: 19px; }
  .uw-partner-strip__title { font-size: 14.5px; }
  .uw-partner-strip__sub { font-size: 12px; }
}

/* =====================================================
   v36.25 — In-form "Additional Industry Reference" block
   Rendered inside specific intakes (flip, dscr, buyhold,
   multifamily, pml) where the extra benchmarks sharpen
   the math. Reuses the visual language of the killed
   standalone reference tile, but lives inside the form.
   ===================================================== */
.uw-indref {
  margin-top: 22px;
  padding: 0;
  border-radius: 10px;
  border: 1px solid rgba(245, 246, 248, 0.16);
  background: rgba(245, 246, 248, 0.02);
  overflow: hidden;
}
.uw-indref[open] { border-color: rgba(245, 246, 248, 0.30); }
.uw-indref__summary {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.uw-indref__summary::-webkit-details-marker { display: none; }
.uw-indref__tag {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10.5px;
  letter-spacing: 0.14em;
  color: rgba(245, 246, 248, 0.55);
  text-transform: uppercase;
}
.uw-indref__title {
  flex: 1;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: rgba(245, 246, 248, 0.88);
  letter-spacing: -0.005em;
}
.uw-indref__chev {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 18px;
  color: rgba(245, 246, 248, 0.55);
  transition: transform .18s ease;
}
.uw-indref[open] .uw-indref__chev { transform: rotate(45deg); }
.uw-indref__body {
  padding: 4px 18px 16px;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 13px;
  line-height: 1.6;
  color: rgba(245, 246, 248, 0.72);
}
.uw-indref__body p { margin: 0 0 10px; }
.uw-indref__list {
  margin: 8px 0 4px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 6px;
}
.uw-indref__list li {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 12px;
  font-size: 12.5px;
}
.uw-indref__list li b {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.08em;
  color: #5eead4;
  text-transform: uppercase;
  align-self: start;
  padding-top: 2px;
}
.uw-indref__list li span {
  color: rgba(245, 246, 248, 0.72);
}
@media (max-width: 560px) {
  .uw-indref__list li { grid-template-columns: 1fr; gap: 2px; }
}

/* ============================================================
   v36.26 — UNIFIED HEADER (cross-portal)
   Promotes .global-nav-links + .global-nav-mobile from
   index.html inline <style> into the shared system so all four
   portals (Landing, Verdict, Funding, Partner) share one header.
   ============================================================ */

/* Desktop primary nav */
.global-nav-links { display: flex; align-items: center; gap: .25rem; }
.global-nav-links a,
.global-nav-links button.global-nav-link-btn {
  padding: .55rem .85rem;
  font-family: "JetBrains Mono", monospace;
  font-size: .7rem; letter-spacing: .15em; text-transform: uppercase;
  color: #b5bcc9;
  background: transparent;
  border: 1px solid transparent;
  cursor: pointer;
  transition: color .2s ease, border-color .2s ease, background .2s ease;
}
.global-nav-links a:hover,
.global-nav-links button.global-nav-link-btn:hover {
  color: #dfe3ec;
  border-color: rgba(184,164,255,.25);
}
.global-nav-links a.is-active--amber   { color: #ffb020; border-color: rgba(255,176,32,.3);  background: rgba(255,176,32,.05); }
.global-nav-links a.is-active--teal    { color: #5eead4; border-color: rgba(45,212,191,.3);  background: rgba(45,212,191,.05); }
.global-nav-links a.is-active--violet  { color: #b8a4ff; border-color: rgba(184,164,255,.3); background: rgba(184,164,255,.05); }
.global-nav-links a.is-active--neutral { color: #dfe3ec; border-color: rgba(223,227,236,.25); background: rgba(255,255,255,.04); }

/* Mobile + iPad fallback nav row (sits directly under the header bar) */
@media (max-width: 1023px){
  .global-nav-mobile {
    display: flex; gap: .35rem; padding: .6rem 1rem; overflow-x: auto;
    border-bottom: 1px solid rgba(26,31,42,.6); background: rgba(5,6,8,.85);
    font-family: "JetBrains Mono", monospace; font-size: .65rem;
    letter-spacing: .15em; text-transform: uppercase;
    scrollbar-width: none;
  }
  .global-nav-mobile::-webkit-scrollbar { display: none; }
  .global-nav-mobile a {
    padding: .4rem .7rem;
    color: #b5bcc9;
    border: 1px solid rgba(26,31,42,.9);
    background: rgba(14,17,22,.8);
    white-space: nowrap; flex-shrink: 0;
  }
  .global-nav-mobile a.is-active--amber   { color: #ffb020; border-color: #ffb020; }
  .global-nav-mobile a.is-active--teal    { color: #5eead4; border-color: #5eead4; }
  .global-nav-mobile a.is-active--violet  { color: #b8a4ff; border-color: #b8a4ff; }
  .global-nav-mobile a.is-active--neutral { color: #dfe3ec; border-color: #dfe3ec; }
}
@media (min-width: 1024px) { .global-nav-mobile { display: none; } }

/* v36.26 — bump the nav-bar wordmark +22% across all viewports.
   Originals (v36.14y): desktop 21px → 26px, tablet 20px → 24px, mobile 16px → 20px.
   Partner mobile keeps the tighter override (USA|PARTNER is wider) — bumped 14 → 17. */
.dc-lockup--nav .dc-wm,
.dc-lockup--nav .dc-wm--verdict-underwriter,
.dc-lockup--nav .dc-wm--dealcap-partner { font-size: 26px; }

@media (max-width: 1024px){
  .dc-lockup--nav .dc-wm,
  .dc-lockup--nav .dc-wm--verdict-underwriter,
  .dc-lockup--nav .dc-wm--dealcap-partner { font-size: 24px; }
}
@media (max-width: 640px){
  .dc-lockup--nav .dc-wm,
  .dc-lockup--nav .dc-wm--verdict-underwriter { font-size: 20px; }
  .dc-lockup--nav .dc-wm--dealcap-partner     { font-size: 17px; }
}

/* Also bump the SVG mark proportionally so it doesn't look small next to the bigger wordmark. */
.dc-lockup--nav .dc-mark { width: 46px; height: 39px; }
@media (max-width: 640px){
  .dc-lockup--nav .dc-mark { width: 38px; height: 32px; }
}

/* v36.26 — Verdict mobile: VERDICT|UNDERWRITER is wider than DEALCAP|USA.
   Step the mobile size down slightly so it doesn't overflow 390px viewports. */
@media (max-width: 640px){
  .dc-lockup--nav .dc-wm--verdict-underwriter { font-size: 17px; }
}

/* v36.26 — (replaced) the classification-bar meta strip is now lg:flex inline in each portal. */

/* v36.26b — narrow-mobile fit-ups:
   1) Tighten mobile nav so 5 buttons fit at 360–390px without clipping CONTACT.
   2) Hide the right-side classification meta on very narrow screens (the left text
      already carries enough context).
   3) Verdict lockup: at the very narrowest widths, suppress the LIVE chip and tighten
      the |UNDERWRITER segment so the wordmark doesn't overflow.
*/
@media (max-width: 640px){
  .global-nav-mobile { gap: .25rem; padding: .55rem .75rem; }
  .global-nav-mobile a {
    padding: .35rem .55rem;
    font-size: .6rem;
    letter-spacing: .12em;
  }
  /* Hide the right-side mobile fallback meta on narrow widths — left text covers it */
  .v36-26-classmeta-mobile { display: none !important; }
  /* Verdict: hide the LIVE badge on phone (still shows on iPad+desktop) */
  .v36-26-verdict-live-chip { display: none !important; }
}
@media (max-width: 380px){
  .dc-lockup--nav .dc-wm--verdict-underwriter { font-size: 15px; }
}

/* ─────────────────────────────────────────────────────────────
   v36.34f — Verdict POINTER (compact CTA on funding portal,
   pointing to full /verdict tool now that the preview lives on
   the hub).
   ───────────────────────────────────────────────────────────── */
.verdict-pointer{
  display:grid;
  grid-template-columns: 1fr auto;
  gap: 32px;
  align-items: center;
  padding: 28px 32px;
  border: 1px solid rgba(94,234,212,0.22);
  background:
    linear-gradient(135deg, rgba(94,234,212,0.05), rgba(94,234,212,0.01));
  border-radius: 2px;
  position: relative;
  overflow: hidden;
}
.verdict-pointer::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 8% 50%, rgba(94,234,212,0.10), transparent 40%);
  pointer-events:none;
}
.verdict-pointer__head{ position:relative; z-index:1; }
.verdict-pointer__tag{
  display:inline-block;
  font-family: ui-monospace, "JetBrains Mono", "SF Mono", Menlo, monospace;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--teal, #5eead4);
  margin-bottom: 8px;
}
.verdict-pointer__title{
  font-family: var(--font-display, ui-sans-serif, system-ui);
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.1;
  color: #e8eaed;
  margin: 0 0 8px;
}
.verdict-pointer__sub{
  color: #aaaeb5;
  max-width: 56ch;
  line-height: 1.55;
  margin: 0;
}
.verdict-pointer__cta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap: 8px;
  position:relative;
  z-index:1;
}
@media (max-width: 720px){
  .verdict-pointer{
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 22px 20px;
  }
  .verdict-pointer__cta{
    align-items: flex-start;
  }
}

/* Light-theme tuning */
html[data-theme="light"] .verdict-pointer{
  border-color: rgba(0, 230, 57, 0.30);
  background:
    linear-gradient(135deg, rgba(0, 230, 57, 0.06), rgba(0, 230, 57, 0.01));
}
html[data-theme="light"] .verdict-pointer::before{
  background:
    radial-gradient(circle at 8% 50%, rgba(0, 230, 57, 0.10), transparent 40%);
}
html[data-theme="light"] .verdict-pointer__tag{ color: #00e639; }
html[data-theme="light"] .verdict-pointer__title{ color: #0a0c0e; }
html[data-theme="light"] .verdict-pointer__title .text-teal{ color: #00e639 !important; }
html[data-theme="light"] .verdict-pointer__sub{ color: #4a5160; }
html[data-theme="light"] .verdict-pointer__meta{ color: #6b7280 !important; }

/* =============================================================
   v36.45 — Funding lanes: 6-card grid (desktop+tablet) + mobile accordion
   Replaces the v36.16 single-card swipe deck. Tablet now sees all 6 cards.
   ============================================================= */

/* Lane-card uses <details>. Force-open on desktop + tablet so it renders as
   a normal card. The chev is visually hidden above 768px. */
@media (min-width: 768px) {
  .lane-deck--grid .lane-card[open],
  .lane-deck--grid .lane-card {
    /* details element shouldn't override flex layout */
    display: flex;
    flex-direction: column;
  }
  .lane-deck--grid .lane-card .lane-card__summary {
    display: contents; /* dissolve summary so children flow as if direct lane-card kids */
  }
  .lane-deck--grid .lane-card .lane-card__chev { display: none; }
  .lane-deck--grid .lane-card .lane-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
  }
  /* Remove default details marker */
  .lane-deck--grid .lane-card > summary::-webkit-details-marker { display: none; }
  .lane-deck--grid .lane-card > summary { list-style: none; }
}

/* Mobile (<768px): accordion mode. Default closed (no open attr would be cleaner,
   but we keep open in HTML for SSR/desktop). Override to closed on mobile via CSS:
   we hide the body when not open and reveal on open. The open state is the user's
   tap toggle. We start each card collapsed by default on mobile by removing the
   open attribute via JS below. CSS here only handles the visible/hidden behaviour. */
@media (max-width: 767.98px) {
  /* Override Tailwind "grid" base class to a vertical stack on mobile */
  .lane-deck--grid .lane-deck__track {
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
  }
  .lane-deck--grid .lane-card {
    display: block;
    padding: 0;
    background: linear-gradient(180deg, var(--c-ink-900), var(--c-ink-850));
    border: 1px solid var(--c-ink-700);
    transition: border-color 0.2s ease;
  }
  .lane-deck--grid .lane-card + .lane-card { margin-top: 0.6rem; }
  .lane-deck--grid .lane-card > summary {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 1.1rem 1.15rem;
    cursor: pointer;
    list-style: none;
    -webkit-tap-highlight-color: transparent;
  }
  .lane-deck--grid .lane-card > summary::-webkit-details-marker { display: none; }
  .lane-deck--grid .lane-card .lane-card__head {
    flex: 1;
    margin: 0;
  }
  .lane-deck--grid .lane-card .lane-card__title {
    font-size: 1.2rem;
    margin-top: 0.1rem;
  }
  .lane-deck--grid .lane-card .lane-card__sub { display: none; }
  .lane-deck--grid .lane-card .lane-card__chev {
    flex-shrink: 0;
    width: 30px; height: 30px;
    display: grid; place-items: center;
    border: 1px solid rgba(245, 158, 11, 0.35);
    border-radius: 50%;
    color: var(--c-amber);
    font-family: 'JetBrains Mono', monospace;
    font-size: 1.05rem;
    line-height: 1;
    transition: transform 240ms cubic-bezier(0.4, 0, 0.2, 1), background 200ms ease;
  }
  .lane-deck--grid .lane-card[open] .lane-card__chev {
    transform: rotate(45deg);
    background: rgba(245, 158, 11, 0.12);
  }
  .lane-deck--grid .lane-card .lane-card__body {
    padding: 0 1.15rem 1.15rem;
    animation: lanecardExpand 280ms cubic-bezier(0.4, 0, 0.2, 1);
  }
  @keyframes lanecardExpand {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  /* tighten featured ribbon on the first lane in mobile collapsed form */
  .lane-deck--grid .lane-card--feature::before { display: none; }
}

/* ============================================================
   v36.46 — Header wordmark sizing (unified header pass)
   v56 — DEALCAP USA + VERDICT UNDERWRITER scaled DOWN 15% per user request.
   Partner sub-lockup intentionally UNCHANGED.
   Mark size also nudged proportionally to keep the lockup balanced.
   ============================================================ */
.dc-lockup--nav .dc-wm,
.dc-lockup--nav .dc-wm--verdict-underwriter { font-size: 26px; }   /* v56 −15% (was 31) */
.dc-lockup--nav .dc-wm--dealcap-partner    { font-size: 31px; }    /* partner unchanged */

@media (max-width: 1024px){
  .dc-lockup--nav .dc-wm,
  .dc-lockup--nav .dc-wm--verdict-underwriter { font-size: 25px; } /* v56 −15% tablet (was 29) */
  .dc-lockup--nav .dc-wm--dealcap-partner     { font-size: 29px; } /* partner unchanged */
}
@media (max-width: 640px){
  .dc-lockup--nav .dc-wm                      { font-size: 20px; } /* v56 −15% mobile (was 24) */
  .dc-lockup--nav .dc-wm--dealcap-partner     { font-size: 20px; } /* partner unchanged */
  /* Verdict mobile keeps its narrower step to avoid 360px overflow */
  .dc-lockup--nav .dc-wm--verdict-underwriter { font-size: 17px; } /* v56 −15% mobile (was 20) */
}
@media (max-width: 380px){
  .dc-lockup--nav .dc-wm,
  .dc-lockup--nav .dc-wm--verdict-underwriter { font-size: 15px; } /* v56 −15% small mobile (was 18) */
  .dc-lockup--nav .dc-wm--dealcap-partner     { font-size: 16px; } /* partner unchanged */
}

/* Proportional mark bump so it stays balanced with the larger wordmark */
.dc-lockup--nav .dc-mark { width: 55px; height: 47px; }           /* was 46×39 */
@media (max-width: 640px){
  .dc-lockup--nav .dc-mark { width: 44px; height: 37px; }         /* was 38×32 */
}

/* v36.46c — MARK STAYS FIXED. Only the wordmark TEXT grows so VERDICT|UNDERWRITER
   reads at the same letter-height as DEALCAP|USA across all portals.
   Verdict glyph is built slightly shorter than DEALCAP, so its font-size is pushed
   up ~3% to match the same rendered text height.
   v56 — all sizes scaled DOWN 15% per user request. */
.dc-lockup--nav .dc-wm--verdict-underwriter { font-size: 27px !important; }   /* v56 −15% (was 32) */
@media (max-width: 1024px){
  .dc-lockup--nav .dc-wm--verdict-underwriter { font-size: 26px !important; } /* v56 −15% (was 30) */
}
@media (max-width: 640px){
  .dc-lockup--nav .dc-wm--verdict-underwriter { font-size: 17px !important; } /* v56 −15% (was 20) */
}
@media (max-width: 380px){
  .dc-lockup--nav .dc-wm--verdict-underwriter { font-size: 15px !important; } /* v56 −15% (was 18) */
}

/* ============================================================
   v36.46 — Per-tab signature colors (always visible)
   Each tab keeps its brand color whether active or not. Active
   state adds a subtle border + tinted background. Matches the
   Verdict-style clean header simplicity across all 4 portals.
   Signature colors:
     HOME    → warm white / neutral (#e8e6df warm)
     FUNDING → violet (funding portal theme)
     VERDICT → teal
     PARTNER → violet-blue
     CONTACT → warm white / neutral
   ============================================================ */
.global-nav-links a[href="/"]         { color: #e8e6df; }
.global-nav-links a[href="/funding"]  { color: #b8a4ff; }
.global-nav-links a[href="/verdict"]  { color: #5eead4; }
.global-nav-links a[href="/partner"]  { color: #93b9ff; }
.global-nav-links a[data-open-support] { color: #e8e6df; }

/* Hover states — slightly brighter same-hue */
.global-nav-links a[href="/"]:hover         { color: #ffffff; border-color: rgba(232,230,223,.35); }
.global-nav-links a[href="/funding"]:hover  { color: #d4c5ff; border-color: rgba(184,164,255,.35); }
.global-nav-links a[href="/verdict"]:hover  { color: #99f6e4; border-color: rgba(94,234,212,.35); }
.global-nav-links a[href="/partner"]:hover  { color: #b8d3ff; border-color: rgba(147,185,255,.35); }
.global-nav-links a[data-open-support]:hover { color: #ffffff; border-color: rgba(232,230,223,.35); }

/* Mobile nav: same signature colors on the mobile strip */
@media (max-width: 1023px){
  .global-nav-mobile a[href="/"]         { color: #e8e6df; }
  .global-nav-mobile a[href="/funding"]  { color: #b8a4ff; }
  .global-nav-mobile a[href="/verdict"]  { color: #5eead4; }
  .global-nav-mobile a[href="/partner"]  { color: #93b9ff; }
  .global-nav-mobile a[data-open-support] { color: #e8e6df; }
}

/* Light-theme variants — must use !important to defeat theme-light.css blanket rule */
html[data-theme="light"] .global-nav-links a[href="/"]         { color: #4a4842 !important; }
html[data-theme="light"] .global-nav-links a[href="/funding"]  { color: #7c3aed !important; }
html[data-theme="light"] .global-nav-links a[href="/verdict"]  { color: #0d9488 !important; }
html[data-theme="light"] .global-nav-links a[href="/partner"]  { color: #1d4ed8 !important; }
html[data-theme="light"] .global-nav-links a[data-open-support] { color: #4a4842 !important; }
html[data-theme="light"] .global-nav-links a[href="/"]:hover         { color: #1f2328 !important; border-color: rgba(74,72,66,.35); }
html[data-theme="light"] .global-nav-links a[href="/funding"]:hover  { color: #5b21b6 !important; border-color: rgba(124,58,237,.35); }
html[data-theme="light"] .global-nav-links a[href="/verdict"]:hover  { color: #0f766e !important; border-color: rgba(13,148,136,.35); }
html[data-theme="light"] .global-nav-links a[href="/partner"]:hover  { color: #1e40af !important; border-color: rgba(29,78,216,.35); }
html[data-theme="light"] .global-nav-links a[data-open-support]:hover { color: #0a0c0e !important; border-color: rgba(74,72,66,.35); }

/* Active-state colors: keep the active tab in its signature color too (override is-active--amber etc on funding) */
html[data-theme="light"] .global-nav-links a[href="/funding"].is-active--amber { color: #7c3aed !important; border-color: rgba(124,58,237,.35) !important; background: rgba(124,58,237,.06) !important; }
html[data-theme="light"] .global-nav-links a[href="/partner"].is-active--violet { color: #1d4ed8 !important; border-color: rgba(29,78,216,.35) !important; background: rgba(29,78,216,.06) !important; }
html[data-theme="light"] .global-nav-links a[href="/verdict"].is-active--teal { color: #0d9488 !important; border-color: rgba(13,148,136,.35) !important; background: rgba(13,148,136,.06) !important; }

@media (max-width: 1023px){
  html[data-theme="light"] .global-nav-mobile a[href="/"]         { color: #4a4842 !important; }
  html[data-theme="light"] .global-nav-mobile a[href="/funding"]  { color: #7c3aed !important; }
  html[data-theme="light"] .global-nav-mobile a[href="/verdict"]  { color: #0d9488 !important; }
  html[data-theme="light"] .global-nav-mobile a[href="/partner"]  { color: #1d4ed8 !important; }
  html[data-theme="light"] .global-nav-mobile a[data-open-support] { color: #4a4842 !important; }
}


/* ============================================================
   v36.47 — Verdict portal: sequential reveal CTAs
   Sections 03–07 (Accuracy, Engine, Why, Flow, Fund) are hidden
   by default. Each is unveiled by a CTA button placed before it.
   Once opened, the next CTA button appears.
   ============================================================ */

.v-reveal[hidden] { display: none !important; }
.v-reveal-cta[hidden] { display: none !important; }

/* The CTA button block */
.v-reveal-cta {
  display: flex;
  justify-content: center;
  padding: 40px 16px 56px;
  background:
    radial-gradient(60% 100% at 50% 0%, rgba(94,234,212,.06), transparent 70%),
    transparent;
  border-bottom: 1px solid rgba(120, 120, 120, 0.12);
}
.v-reveal-cta__btn {
  appearance: none;
  border: 1px solid rgba(94, 234, 212, 0.45);
  background: linear-gradient(180deg, rgba(94, 234, 212, 0.08), rgba(94, 234, 212, 0.02));
  color: #5eead4;
  border-radius: 14px;
  padding: 18px 30px;
  font-family: 'Space Grotesk', sans-serif;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
  min-width: 280px;
  box-shadow: 0 8px 22px rgba(94, 234, 212, 0.08);
}
.v-reveal-cta__btn:hover {
  transform: translateY(-2px);
  border-color: rgba(94, 234, 212, 0.75);
  background: linear-gradient(180deg, rgba(94, 234, 212, 0.14), rgba(94, 234, 212, 0.04));
  box-shadow: 0 14px 32px rgba(94, 234, 212, 0.18);
}
.v-reveal-cta__btn:focus-visible {
  outline: 2px solid #5eead4;
  outline-offset: 3px;
}
.v-reveal-cta__eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(94, 234, 212, 0.85);
  font-weight: 500;
}
.v-reveal-cta__label {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.005em;
  color: #f5f5f4;
}
html[data-theme="light"] .v-reveal-cta__label { color: #0a0c0e; }
html[data-theme="light"] .v-reveal-cta__btn {
  border-color: rgba(13, 148, 136, 0.45);
  background: linear-gradient(180deg, rgba(13, 148, 136, 0.06), rgba(13, 148, 136, 0.01));
  color: #0d9488;
  box-shadow: 0 8px 22px rgba(13, 148, 136, 0.08);
}
html[data-theme="light"] .v-reveal-cta__btn:hover {
  border-color: rgba(13, 148, 136, 0.75);
  background: linear-gradient(180deg, rgba(13, 148, 136, 0.10), rgba(13, 148, 136, 0.02));
  box-shadow: 0 14px 32px rgba(13, 148, 136, 0.18);
}
html[data-theme="light"] .v-reveal-cta__eyebrow { color: rgba(13, 148, 136, 0.85); }
.v-reveal-cta__arrow {
  font-size: 14px;
  line-height: 1;
  margin-top: 2px;
  animation: vRevealArrow 1.8s ease-in-out infinite;
  opacity: 0.85;
}
@keyframes vRevealArrow {
  0%, 100% { transform: translateY(0); opacity: 0.7; }
  50%      { transform: translateY(4px); opacity: 1; }
}

/* Fade-in animation when a section is revealed */
.v-reveal[data-state="opening"],
.v-reveal[data-state="open"] {
  animation: vRevealFadeIn 700ms cubic-bezier(.22, .61, .36, 1) both;
}
@keyframes vRevealFadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* CTA hide animation when clicked */
.v-reveal-cta[data-state="dismissing"] {
  animation: vRevealCtaFadeOut 320ms ease forwards;
}
@keyframes vRevealCtaFadeOut {
  from { opacity: 1; transform: translateY(0); max-height: 200px; padding: 40px 16px 56px; }
  to   { opacity: 0; transform: translateY(-8px); max-height: 0;   padding: 0 16px; border-color: transparent; }
}

/* Respect reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .v-reveal[data-state="opening"],
  .v-reveal[data-state="open"],
  .v-reveal-cta[data-state="dismissing"] { animation: none !important; }
  .v-reveal-cta__arrow { animation: none !important; }
}

/* Mobile */
@media (max-width: 640px){
  .v-reveal-cta { padding: 28px 14px 40px; }
  .v-reveal-cta__btn { min-width: 0; width: 100%; padding: 16px 22px; }
  .v-reveal-cta__label { font-size: 16px; }
}
/* ============================================================
   v36.48 — ENGINE BUBBLE MAP + SECTION COLLAPSE + STRONGER CTAs
   ============================================================ */

/* ----- BUBBLE MAP STAGE ----- */
.eng-bubble {
  margin-top: 2.5rem;
  position: relative;
}
.eng-bubble__hint {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(94, 234, 212, 0.62);
  text-align: center;
  margin-bottom: 1.25rem;
}
html[data-theme="light"] .eng-bubble__hint {
  color: rgba(13, 148, 136, 0.72);
}

.eng-bubble__stage {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  aspect-ratio: 10 / 7;
  border-radius: 24px;
  background:
    radial-gradient(ellipse at center, rgba(20, 184, 166, 0.10) 0%, transparent 60%),
    linear-gradient(180deg, rgba(15, 23, 30, 0.55) 0%, rgba(8, 12, 16, 0.85) 100%);
  border: 1px solid rgba(94, 234, 212, 0.14);
  overflow: hidden;
  isolation: isolate;
}
html[data-theme="light"] .eng-bubble__stage {
  background:
    radial-gradient(ellipse at center, rgba(13, 148, 136, 0.06) 0%, transparent 60%),
    linear-gradient(180deg, #f8f9fa 0%, #f1f3f5 100%);
  border-color: rgba(13, 148, 136, 0.20);
}

/* Subtle drifting starfield */
.eng-bubble__stage::before,
.eng-bubble__stage::after {
  content: "";
  position: absolute;
  inset: -20%;
  background-image:
    radial-gradient(1px 1px at 12% 22%, rgba(94, 234, 212, 0.45) 50%, transparent 51%),
    radial-gradient(1px 1px at 78% 18%, rgba(94, 234, 212, 0.30) 50%, transparent 51%),
    radial-gradient(1px 1px at 38% 78%, rgba(94, 234, 212, 0.40) 50%, transparent 51%),
    radial-gradient(1px 1px at 88% 64%, rgba(94, 234, 212, 0.25) 50%, transparent 51%),
    radial-gradient(1px 1px at 28% 44%, rgba(94, 234, 212, 0.35) 50%, transparent 51%),
    radial-gradient(1px 1px at 62% 88%, rgba(94, 234, 212, 0.40) 50%, transparent 51%),
    radial-gradient(1px 1px at 8% 64%, rgba(94, 234, 212, 0.30) 50%, transparent 51%),
    radial-gradient(1px 1px at 92% 42%, rgba(94, 234, 212, 0.35) 50%, transparent 51%);
  animation: engStarDrift 60s linear infinite;
  pointer-events: none;
  z-index: 0;
}
.eng-bubble__stage::after {
  animation-direction: reverse;
  animation-duration: 90s;
  opacity: 0.5;
}
html[data-theme="light"] .eng-bubble__stage::before,
html[data-theme="light"] .eng-bubble__stage::after { display: none; }
@keyframes engStarDrift {
  from { transform: translate3d(0, 0, 0) rotate(0deg); }
  to   { transform: translate3d(0, -12%, 0) rotate(2deg); }
}
@media (prefers-reduced-motion: reduce) {
  .eng-bubble__stage::before,
  .eng-bubble__stage::after { animation: none !important; }
}

/* Connector lines SVG (decorative) */
.eng-bubble__lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
  opacity: 0.30;
}
html[data-theme="light"] .eng-bubble__lines { opacity: 0.20; }

/* ----- CENTRAL CORE ----- */
.eng-core {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 32%;
  max-width: 240px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 0;
  background: transparent;
  cursor: pointer;
  z-index: 3;
  transition: transform 320ms cubic-bezier(.22,.61,.36,1);
}
.eng-core:hover { transform: translate(-50%, -50%) scale(1.04); }
.eng-core:focus-visible {
  outline: 2px solid #5eead4;
  outline-offset: 6px;
  border-radius: 50%;
}

.eng-core__inner {
  position: absolute;
  inset: 18%;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, rgba(94, 234, 212, 0.30) 0%, rgba(20, 184, 166, 0.55) 40%, rgba(15, 118, 110, 0.85) 100%);
  border: 1px solid rgba(94, 234, 212, 0.60);
  box-shadow:
    0 0 40px rgba(94, 234, 212, 0.35),
    inset 0 0 30px rgba(8, 12, 16, 0.55);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1rem;
}
html[data-theme="light"] .eng-core__inner {
  background: radial-gradient(circle at 30% 30%, rgba(13, 148, 136, 0.20) 0%, rgba(13, 148, 136, 0.55) 40%, rgba(15, 118, 110, 0.90) 100%);
  border-color: rgba(13, 148, 136, 0.80);
  box-shadow:
    0 0 30px rgba(13, 148, 136, 0.30),
    inset 0 0 20px rgba(255, 255, 255, 0.20);
}

.eng-core__eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.65rem;
  letter-spacing: 0.18em;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 0.4rem;
}
.eng-core__title {
  font-family: 'Inter', sans-serif;
  font-weight: 800;
  font-size: clamp(1rem, 2.2vw, 1.5rem);
  letter-spacing: 0.04em;
  color: #ffffff;
  line-height: 1.1;
}
.eng-core__sub {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.65rem;
  letter-spacing: 0.14em;
  color: rgba(255, 255, 255, 0.65);
  margin-top: 0.5rem;
  text-transform: uppercase;
}

/* Pulsing rings around the core */
.eng-core__ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px solid rgba(94, 234, 212, 0.30);
  pointer-events: none;
}
.eng-core__ring--1 { animation: engCorePulse 4s ease-out infinite; }
.eng-core__ring--2 { animation: engCorePulse 4s ease-out infinite 1.3s; }
.eng-core__ring--3 { animation: engCorePulse 4s ease-out infinite 2.6s; }
html[data-theme="light"] .eng-core__ring { border-color: rgba(13, 148, 136, 0.45); }
@keyframes engCorePulse {
  0%   { transform: scale(1.00); opacity: 0.55; }
  100% { transform: scale(1.55); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .eng-core__ring { animation: none !important; opacity: 0.25; }
}

/* ----- BUBBLES ----- */
.eng-bubble__node {
  position: absolute;
  top: var(--y, 50%);
  left: var(--x, 50%);
  transform: translate(-50%, -50%);
  width: clamp(70px, 11vw, 110px);
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid rgba(94, 234, 212, 0.45);
  background:
    radial-gradient(circle at 30% 30%, rgba(94, 234, 212, 0.12) 0%, rgba(8, 12, 16, 0.85) 80%);
  color: #e5fffb;
  cursor: pointer;
  z-index: 2;
  padding: 0.4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.15rem;
  transition: transform 320ms cubic-bezier(.22,.61,.36,1), box-shadow 320ms ease, border-color 240ms ease;
  animation: engBubbleFloat 6s ease-in-out infinite;
  animation-delay: var(--d, 0s);
  box-shadow:
    0 4px 20px rgba(8, 12, 16, 0.55),
    inset 0 0 20px rgba(94, 234, 212, 0.08);
}

/* Lender variant — slightly cooler tone */
.eng-bubble__node--lender {
  border-color: rgba(56, 189, 248, 0.50);
  background:
    radial-gradient(circle at 30% 30%, rgba(56, 189, 248, 0.14) 0%, rgba(8, 12, 16, 0.85) 80%);
  box-shadow:
    0 4px 20px rgba(8, 12, 16, 0.55),
    inset 0 0 20px rgba(56, 189, 248, 0.10);
}

html[data-theme="light"] .eng-bubble__node {
  background:
    radial-gradient(circle at 30% 30%, rgba(13, 148, 136, 0.10) 0%, #ffffff 80%);
  border-color: rgba(13, 148, 136, 0.55);
  color: #0a3835;
  box-shadow:
    0 4px 16px rgba(13, 148, 136, 0.18),
    inset 0 0 16px rgba(13, 148, 136, 0.06);
}
html[data-theme="light"] .eng-bubble__node--lender {
  background:
    radial-gradient(circle at 30% 30%, rgba(56, 189, 248, 0.10) 0%, #ffffff 80%);
  border-color: rgba(2, 132, 199, 0.60);
  color: #0c4a6e;
  box-shadow:
    0 4px 16px rgba(56, 189, 248, 0.20),
    inset 0 0 16px rgba(56, 189, 248, 0.08);
}

.eng-bubble__node:hover {
  transform: translate(-50%, -50%) scale(1.10);
  border-color: rgba(94, 234, 212, 0.95);
  box-shadow:
    0 6px 30px rgba(94, 234, 212, 0.30),
    inset 0 0 30px rgba(94, 234, 212, 0.12);
}
.eng-bubble__node--lender:hover {
  border-color: rgba(56, 189, 248, 0.95);
  box-shadow:
    0 6px 30px rgba(56, 189, 248, 0.30),
    inset 0 0 30px rgba(56, 189, 248, 0.12);
}
.eng-bubble__node:focus-visible {
  outline: 2px solid #5eead4;
  outline-offset: 4px;
}
.eng-bubble__node[data-active="true"] {
  border-color: #ffd166;
  box-shadow:
    0 0 24px rgba(255, 209, 102, 0.55),
    inset 0 0 20px rgba(255, 209, 102, 0.20);
}

.eng-bubble__idx {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.6rem;
  letter-spacing: 0.14em;
  color: rgba(94, 234, 212, 0.80);
  line-height: 1;
}
.eng-bubble__node--lender .eng-bubble__idx { color: rgba(56, 189, 248, 0.85); }
html[data-theme="light"] .eng-bubble__idx { color: rgba(13, 148, 136, 0.85); }
html[data-theme="light"] .eng-bubble__node--lender .eng-bubble__idx { color: rgba(2, 132, 199, 0.90); }

.eng-bubble__label {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: clamp(0.7rem, 1.4vw, 0.92rem);
  letter-spacing: 0.01em;
  line-height: 1.1;
  color: inherit;
}
.eng-bubble__tag {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.55rem;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1;
}
html[data-theme="light"] .eng-bubble__tag { color: rgba(13, 30, 30, 0.62); }

/* Float idle animation */
@keyframes engBubbleFloat {
  0%, 100% { transform: translate(-50%, -50%) translateY(0px); }
  50%      { transform: translate(-50%, -50%) translateY(-8px); }
}
@media (prefers-reduced-motion: reduce) {
  .eng-bubble__node { animation: none !important; }
}

/* ----- DETAIL PANEL ----- */
.eng-detail {
  margin-top: 1.5rem;
  padding: 1.5rem 1.5rem 1.75rem;
  background: rgba(15, 23, 30, 0.85);
  border: 1px solid rgba(94, 234, 212, 0.20);
  border-radius: 16px;
  animation: engDetailIn 400ms cubic-bezier(.22,.61,.36,1) both;
}
.eng-detail[hidden] { display: none; }
html[data-theme="light"] .eng-detail {
  background: #ffffff;
  border-color: rgba(13, 148, 136, 0.25);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.06);
}

.eng-detail__head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  align-items: center;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.65rem;
  letter-spacing: 0.14em;
  margin-bottom: 0.75rem;
}
.eng-detail__idx { color: rgba(94, 234, 212, 0.75); }
.eng-detail__side {
  background: rgba(94, 234, 212, 0.12);
  color: #5eead4;
  padding: 0.18rem 0.55rem;
  border-radius: 4px;
}
.eng-detail__side--lender {
  background: rgba(56, 189, 248, 0.14);
  color: #38bdf8;
}
.eng-detail__tag { color: rgba(255, 255, 255, 0.55); }
html[data-theme="light"] .eng-detail__idx { color: rgba(13, 148, 136, 0.85); }
html[data-theme="light"] .eng-detail__side {
  background: rgba(13, 148, 136, 0.12); color: #0f766e;
}
html[data-theme="light"] .eng-detail__side--lender {
  background: rgba(2, 132, 199, 0.12); color: #0369a1;
}
html[data-theme="light"] .eng-detail__tag { color: rgba(13, 30, 30, 0.65); }

.eng-detail__name {
  font-family: 'Inter', sans-serif;
  font-weight: 800;
  font-size: 1.55rem;
  letter-spacing: -0.01em;
  color: #ffffff;
  margin-bottom: 0.5rem;
  line-height: 1.15;
}
.eng-detail__name-sub {
  display: inline-block;
  font-weight: 500;
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.62);
  margin-left: 0.4rem;
}
html[data-theme="light"] .eng-detail__name { color: #0a0c0e; }
html[data-theme="light"] .eng-detail__name-sub { color: rgba(13, 30, 30, 0.65); }

.eng-detail__formula {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.9rem;
  background: rgba(94, 234, 212, 0.08);
  color: #5eead4;
  padding: 0.7rem 0.95rem;
  border-radius: 8px;
  display: block;
  margin-bottom: 1rem;
  word-break: break-word;
  border: 1px solid rgba(94, 234, 212, 0.15);
}
html[data-theme="light"] .eng-detail__formula {
  background: rgba(13, 148, 136, 0.08);
  color: #0f766e;
  border-color: rgba(13, 148, 136, 0.20);
}

.eng-detail__plain { margin-bottom: 0.75rem; }
.eng-detail__plain-mark {
  display: block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.65rem;
  letter-spacing: 0.14em;
  color: rgba(94, 234, 212, 0.70);
  margin-bottom: 0.3rem;
}
.eng-detail__plain p {
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.55;
  margin-bottom: 0.4rem;
}
.eng-detail__plain p:last-child { margin-bottom: 0; }
html[data-theme="light"] .eng-detail__plain-mark { color: rgba(13, 148, 136, 0.80); }
html[data-theme="light"] .eng-detail__plain p { color: #1f2328; }

.eng-detail__example {
  color: rgba(255, 209, 102, 0.95) !important;
  font-size: 0.92rem;
}
html[data-theme="light"] .eng-detail__example {
  color: #92400e !important;
}

.eng-detail__meta {
  margin-top: 1rem;
  padding-top: 0.9rem;
  border-top: 1px solid rgba(94, 234, 212, 0.12);
  display: grid;
  gap: 0.45rem;
}
html[data-theme="light"] .eng-detail__meta { border-color: rgba(13, 148, 136, 0.20); }

.eng-detail__meta-row {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 0.75rem;
  font-size: 0.82rem;
}
@media (max-width: 640px) {
  .eng-detail__meta-row { grid-template-columns: 1fr; gap: 0.15rem; }
}
.eng-detail__meta-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.50);
  text-transform: uppercase;
}
.eng-detail__meta-val { color: rgba(255, 255, 255, 0.85); }
.eng-detail__meta-val a { color: #5eead4; text-decoration: underline; }
html[data-theme="light"] .eng-detail__meta-label { color: rgba(13, 30, 30, 0.55); }
html[data-theme="light"] .eng-detail__meta-val { color: #1f2328; }
html[data-theme="light"] .eng-detail__meta-val a { color: #0f766e; }

@keyframes engDetailIn {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .eng-detail { animation: none !important; }
}

/* ----- LEGEND ----- */
.eng-bubble__legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
  margin-top: 1rem;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  letter-spacing: 0.10em;
  color: rgba(255, 255, 255, 0.55);
  text-transform: uppercase;
}
html[data-theme="light"] .eng-bubble__legend { color: rgba(13, 30, 30, 0.62); }
.eng-bubble__legend-item { display: inline-flex; align-items: center; gap: 0.45rem; }
.eng-bubble__legend-dot {
  width: 10px; height: 10px; border-radius: 50%;
  display: inline-block;
}
.eng-bubble__legend-dot--op { background: #5eead4; }
.eng-bubble__legend-dot--lender { background: #38bdf8; }

/* ----- MOBILE SIZING ----- */
@media (max-width: 640px) {
  .eng-bubble__stage {
    aspect-ratio: 4 / 5;
    border-radius: 18px;
  }
  .eng-bubble__node {
    width: clamp(54px, 22vw, 78px);
  }
  .eng-bubble__label { font-size: 0.66rem; }
  .eng-bubble__tag { display: none; }
  .eng-core { width: 38%; }
  .eng-core__title { font-size: 0.95rem; }
  .eng-core__eyebrow,
  .eng-core__sub { font-size: 0.55rem; }
  .eng-detail__name { font-size: 1.2rem; }
  .eng-detail__formula { font-size: 0.78rem; }
}

/* ============================================================
   SECTION COLLAPSE — per-section × button + "Collapse all"
   ============================================================ */

.v-reveal { position: relative; }

.v-collapse {
  position: absolute;
  top: 0.85rem;
  right: 1rem;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  background: rgba(15, 23, 30, 0.62);
  border: 1px solid rgba(94, 234, 212, 0.28);
  color: rgba(94, 234, 212, 0.85);
  padding: 0.4rem 0.7rem;
  border-radius: 999px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.65rem;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 180ms ease;
}
.v-collapse:hover {
  background: rgba(94, 234, 212, 0.12);
  border-color: rgba(94, 234, 212, 0.55);
  color: #5eead4;
}
.v-collapse:focus-visible {
  outline: 2px solid #5eead4;
  outline-offset: 2px;
}
.v-collapse__x {
  font-size: 0.95rem;
  line-height: 1;
}
html[data-theme="light"] .v-collapse {
  background: rgba(255, 255, 255, 0.85);
  border-color: rgba(13, 148, 136, 0.30);
  color: rgba(13, 148, 136, 0.85);
}
html[data-theme="light"] .v-collapse:hover {
  background: rgba(13, 148, 136, 0.10);
  border-color: rgba(13, 148, 136, 0.55);
  color: #0f766e;
}

/* Collapse-all footer button — appears once all sections opened */
.v-collapse-all {
  display: none;
  width: 100%;
  max-width: 360px;
  margin: 2.5rem auto 1.5rem;
  padding: 0.85rem 1.25rem;
  background: transparent;
  border: 1px solid rgba(94, 234, 212, 0.40);
  border-radius: 999px;
  color: rgba(94, 234, 212, 0.90);
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  text-align: center;
  transition: all 200ms ease;
}
.v-collapse-all[data-visible="true"] {
  display: block;
  animation: vRevealFadeIn 500ms ease both;
}
.v-collapse-all:hover {
  background: rgba(94, 234, 212, 0.10);
  border-color: rgba(94, 234, 212, 0.75);
  color: #5eead4;
}
.v-collapse-all:focus-visible {
  outline: 2px solid #5eead4;
  outline-offset: 2px;
}
html[data-theme="light"] .v-collapse-all {
  border-color: rgba(13, 148, 136, 0.45);
  color: rgba(13, 148, 136, 0.90);
}
html[data-theme="light"] .v-collapse-all:hover {
  background: rgba(13, 148, 136, 0.08);
  border-color: rgba(13, 148, 136, 0.75);
  color: #0f766e;
}

/* Smooth fade-out when collapsing */
.v-reveal[data-state="collapsing"] {
  animation: vRevealFadeOut 320ms ease both;
}
@keyframes vRevealFadeOut {
  from { opacity: 1; transform: translateY(0); max-height: 4000px; }
  to   { opacity: 0; transform: translateY(-8px); max-height: 0; padding-top: 0; padding-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .v-reveal[data-state="collapsing"] { animation: none !important; }
}

/* v36.48 — Loop divider between Why-stripes and Flow timeline */
.loop-divider {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 3rem 0 2rem;
}
.loop-divider__line {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(94, 234, 212, 0.40), transparent);
}
.loop-divider__label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: rgba(94, 234, 212, 0.95);
  white-space: nowrap;
  text-transform: uppercase;
}
html[data-theme="light"] .loop-divider__line {
  background: linear-gradient(90deg, transparent, rgba(13, 148, 136, 0.45), transparent);
}
html[data-theme="light"] .loop-divider__label { color: rgba(13, 148, 136, 0.80); }
@media (max-width: 640px) {
  .loop-divider__label { font-size: 0.8rem; letter-spacing: 0.10em; white-space: normal; text-align: center; }
}

/* v36.48 — Bubble contrast boost (light mode legibility fix) */
html[data-theme="light"] .eng-bubble__node {
  background:
    radial-gradient(circle at 30% 30%, rgba(204, 251, 241, 0.95) 0%, rgba(240, 253, 250, 0.98) 80%);
  border-width: 1.5px;
  border-color: rgba(13, 148, 136, 0.75);
  color: #064e3b;
  box-shadow:
    0 6px 18px rgba(13, 148, 136, 0.25),
    inset 0 0 14px rgba(13, 148, 136, 0.08);
}
html[data-theme="light"] .eng-bubble__node--lender {
  background:
    radial-gradient(circle at 30% 30%, rgba(186, 230, 253, 0.95) 0%, rgba(240, 249, 255, 0.98) 80%);
  border-color: rgba(2, 132, 199, 0.75);
  color: #0c4a6e;
  box-shadow:
    0 6px 18px rgba(56, 189, 248, 0.25),
    inset 0 0 14px rgba(56, 189, 248, 0.10);
}
html[data-theme="light"] .eng-bubble__label {
  font-weight: 800;
}
html[data-theme="light"] .eng-bubble__idx { color: #0f766e; font-weight: 700; }
html[data-theme="light"] .eng-bubble__node--lender .eng-bubble__idx { color: #0369a1; }
html[data-theme="light"] .eng-bubble__tag { color: rgba(15, 23, 30, 0.72); font-weight: 600; }

/* Also boost stage contrast in light mode */
html[data-theme="light"] .eng-bubble__stage {
  background:
    radial-gradient(ellipse at center, rgba(13, 148, 136, 0.08) 0%, transparent 60%),
    linear-gradient(180deg, #f0fdfa 0%, #ecfeff 100%);
  border-color: rgba(13, 148, 136, 0.30);
}

/* v36.48 — Mobile bubble map refinement (avoid overlap) */
@media (max-width: 640px) {
  .eng-bubble__stage { aspect-ratio: 3 / 4; }
  .eng-bubble__node {
    width: clamp(56px, 17vw, 72px);
    padding: 0.25rem;
    gap: 0.05rem;
  }
  .eng-bubble__node .eng-bubble__label {
    font-size: 0.72rem;
    line-height: 1.05;
  }
  .eng-bubble__node .eng-bubble__idx {
    font-size: 0.55rem;
  }
  .eng-bubble__node .eng-bubble__tag {
    display: none; /* hide tags on mobile to save space */
  }
  .eng-core {
    width: clamp(110px, 30vw, 140px);
    height: clamp(110px, 30vw, 140px);
  }
  .eng-core__title { font-size: 1.05rem; }
  .eng-core__eyebrow, .eng-core__sub { font-size: 0.55rem; }
}

/* v36.48 — Light-theme contrast boost for bubble labels + detail name */
html[data-theme="light"] .eng-bubble__node {
  background: radial-gradient(circle at 30% 30%, rgba(204, 251, 241, 0.85) 0%, #ffffff 80%) !important;
  border-color: rgba(13, 148, 136, 0.65) !important;
  border-width: 1.5px !important;
  color: #064e3b !important;
}
html[data-theme="light"] .eng-bubble__node--lender {
  background: radial-gradient(circle at 30% 30%, rgba(186, 230, 253, 0.85) 0%, #ffffff 80%) !important;
  border-color: rgba(2, 132, 199, 0.70) !important;
  color: #0c4a6e !important;
}
html[data-theme="light"] .eng-bubble__node .eng-bubble__label {
  color: inherit !important;
  font-weight: 700 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,0.4);
}
html[data-theme="light"] .eng-bubble__node .eng-bubble__idx {
  color: rgba(13, 148, 136, 0.95) !important;
}
html[data-theme="light"] .eng-bubble__node--lender .eng-bubble__idx {
  color: rgba(2, 132, 199, 0.95) !important;
}
html[data-theme="light"] .eng-bubble__node .eng-bubble__tag {
  color: rgba(13, 30, 30, 0.70) !important;
}
html[data-theme="light"] .eng-bubble__node[data-active="true"] {
  background: radial-gradient(circle at 30% 30%, #ffd166 0%, #ffeaa0 80%) !important;
  border-color: #f59e0b !important;
  color: #78350f !important;
  box-shadow: 0 6px 20px rgba(245, 158, 11, 0.35) !important;
}
html[data-theme="light"] .eng-detail__name {
  color: #0a0c0e !important;
  font-weight: 800 !important;
}
html[data-theme="light"] .eng-detail__name-sub {
  color: #475569 !important;
}

/* ============================================================
   v36.49 — Engine bubble map: orbital + in-bubble expansion
   ============================================================ */

/* Stage gets a richer background + animated dots */
.eng-bubble--v49 .eng-bubble__stage{
  position: relative;
  background:
    radial-gradient(ellipse at center, rgba(45,212,191,0.08) 0%, rgba(45,212,191,0.03) 35%, transparent 70%),
    radial-gradient(ellipse at 20% 80%, rgba(0,230,57,0.05) 0%, transparent 40%),
    radial-gradient(ellipse at 80% 20%, rgba(125,211,252,0.05) 0%, transparent 40%),
    linear-gradient(180deg, rgba(8,9,11,0.45) 0%, rgba(8,9,11,0.85) 100%);
  border: 1px solid rgba(45,212,191,0.18);
  border-radius: 18px;
  overflow: hidden;
  isolation: isolate;
  min-height: 620px;
}
html[data-theme="light"] .eng-bubble--v49 .eng-bubble__stage{
  background:
    radial-gradient(ellipse at center, rgba(13,148,136,0.06) 0%, rgba(13,148,136,0.02) 35%, transparent 70%),
    radial-gradient(ellipse at 20% 80%, rgba(5,150,105,0.04) 0%, transparent 40%),
    radial-gradient(ellipse at 80% 20%, rgba(56,178,255,0.04) 0%, transparent 40%),
    linear-gradient(180deg, #fafbfc 0%, #f1f5f9 100%);
  border: 1px solid rgba(13,148,136,0.22);
}

/* Animated orbital rings (dotted, slowly rotating) */
.eng-bubble--v49 .eng-orbit{
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 1px dashed rgba(45,212,191,0.22);
  pointer-events: none;
  animation: eng-orbit-spin 80s linear infinite;
}
html[data-theme="light"] .eng-bubble--v49 .eng-orbit{ border-color: rgba(13,148,136,0.28); }
.eng-bubble--v49 .eng-orbit--1{ width: 34%; padding-bottom: 34%; height: 0; }
.eng-bubble--v49 .eng-orbit--2{ width: 64%; padding-bottom: 64%; height: 0; animation-duration: 120s; animation-direction: reverse; border-style: dotted; border-color: rgba(125,211,252,0.18); }
html[data-theme="light"] .eng-bubble--v49 .eng-orbit--2{ border-color: rgba(56,178,255,0.25); }
.eng-bubble--v49 .eng-orbit--3{ width: 86%; padding-bottom: 86%; height: 0; animation-duration: 200s; border-style: dotted; border-color: rgba(0,230,57,0.14); }
html[data-theme="light"] .eng-bubble--v49 .eng-orbit--3{ border-color: rgba(5,150,105,0.22); }
@keyframes eng-orbit-spin{ to{ transform: translate(-50%,-50%) rotate(360deg); } }

/* Constellation dots */
.eng-bubble--v49 .eng-stars{
  position: absolute; inset: 0;
  background-image:
    radial-gradient(1px 1px at 14% 22%, rgba(45,212,191,0.6) 50%, transparent 100%),
    radial-gradient(1px 1px at 78% 18%, rgba(125,211,252,0.55) 50%, transparent 100%),
    radial-gradient(1.5px 1.5px at 26% 84%, rgba(0,230,57,0.5) 50%, transparent 100%),
    radial-gradient(1px 1px at 88% 78%, rgba(45,212,191,0.45) 50%, transparent 100%),
    radial-gradient(1px 1px at 56% 92%, rgba(125,211,252,0.4) 50%, transparent 100%),
    radial-gradient(1px 1px at 7% 56%, rgba(0,230,57,0.4) 50%, transparent 100%),
    radial-gradient(1.5px 1.5px at 95% 42%, rgba(45,212,191,0.55) 50%, transparent 100%);
  animation: eng-stars-twinkle 5s ease-in-out infinite alternate;
  pointer-events: none;
}
html[data-theme="light"] .eng-bubble--v49 .eng-stars{
  background-image:
    radial-gradient(1px 1px at 14% 22%, rgba(13,148,136,0.5) 50%, transparent 100%),
    radial-gradient(1px 1px at 78% 18%, rgba(56,178,255,0.5) 50%, transparent 100%),
    radial-gradient(1.5px 1.5px at 26% 84%, rgba(5,150,105,0.45) 50%, transparent 100%),
    radial-gradient(1px 1px at 88% 78%, rgba(13,148,136,0.45) 50%, transparent 100%),
    radial-gradient(1px 1px at 56% 92%, rgba(56,178,255,0.4) 50%, transparent 100%),
    radial-gradient(1px 1px at 7% 56%, rgba(5,150,105,0.4) 50%, transparent 100%),
    radial-gradient(1.5px 1.5px at 95% 42%, rgba(13,148,136,0.5) 50%, transparent 100%);
}
@keyframes eng-stars-twinkle{ 0%{ opacity: 0.55; } 100%{ opacity: 1; } }

/* Cinematic core: bigger, gradient, diamond accent */
.eng-bubble--v49 .eng-core{
  width: 152px; height: 152px;
  background: radial-gradient(circle at 35% 30%, #2dd4bf 0%, #14b8a6 35%, #0d9488 70%, #064e3b 100%);
  box-shadow:
    0 0 0 2px rgba(45,212,191,0.35),
    0 0 32px rgba(45,212,191,0.45),
    0 0 64px rgba(45,212,191,0.25),
    inset 0 0 24px rgba(255,255,255,0.18);
  z-index: 5;
}
html[data-theme="light"] .eng-bubble--v49 .eng-core{
  background: radial-gradient(circle at 35% 30%, #5eead4 0%, #2dd4bf 30%, #0d9488 70%, #115e59 100%);
  box-shadow:
    0 0 0 2px rgba(13,148,136,0.45),
    0 0 32px rgba(13,148,136,0.4),
    0 0 64px rgba(13,148,136,0.18),
    inset 0 0 24px rgba(255,255,255,0.25);
}
.eng-bubble--v49 .eng-core__diamond{
  position: absolute;
  inset: -16px;
  border: 1px solid rgba(45,212,191,0.4);
  transform: rotate(45deg);
  pointer-events: none;
  animation: eng-diamond-pulse 4s ease-in-out infinite;
}
html[data-theme="light"] .eng-bubble--v49 .eng-core__diamond{ border-color: rgba(13,148,136,0.55); }
@keyframes eng-diamond-pulse{
  0%, 100% { opacity: 0.35; transform: rotate(45deg) scale(1); }
  50% { opacity: 0.7; transform: rotate(45deg) scale(1.06); }
}
.eng-bubble--v49 .eng-core__inner{
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 4px;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0,0,0,0.4);
}
.eng-bubble--v49 .eng-core__eyebrow{
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.55rem; letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.85);
}
.eng-bubble--v49 .eng-core__title{
  font-weight: 800; font-size: 1.05rem; letter-spacing: 0.06em;
  color: #fff;
}
.eng-bubble--v49 .eng-core__sub{
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.6rem; letter-spacing: 0.12em;
  color: rgba(255,255,255,0.7);
}

/* Stronger glow rings around the core */
.eng-bubble--v49 .eng-core__ring{
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(45,212,191,0.4);
  pointer-events: none;
  animation: eng-core-ring 3.2s ease-out infinite;
}
.eng-bubble--v49 .eng-core__ring--1{ inset: -8px; animation-delay: 0s; }
.eng-bubble--v49 .eng-core__ring--2{ inset: -8px; animation-delay: 1s; }
.eng-bubble--v49 .eng-core__ring--3{ inset: -8px; animation-delay: 2s; }
@keyframes eng-core-ring{
  0% { transform: scale(1); opacity: 0.6; }
  100% { transform: scale(1.8); opacity: 0; }
}

/* Bubbles — orbital positioning (no random drift) */
.eng-bubble--v49 .eng-bubble__node{
  position: absolute;
  left: var(--x);
  top: var(--y);
  transform: translate(-50%, -50%);
  width: clamp(86px, 9.5vw, 108px);
  height: clamp(86px, 9.5vw, 108px);
  border-radius: 50%;
  border: 1.5px solid rgba(45,212,191,0.55);
  background: radial-gradient(circle at 35% 30%, rgba(45,212,191,0.22) 0%, rgba(45,212,191,0.12) 50%, rgba(8,9,11,0.6) 100%);
  color: #2dd4bf;
  cursor: pointer;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 2px;
  font-family: 'JetBrains Mono', monospace;
  padding: 8px 4px;
  text-align: center;
  transition: transform .4s cubic-bezier(.2,.8,.2,1), opacity .4s ease, box-shadow .3s ease, border-color .3s ease, background .3s ease;
  animation: eng-float 7s ease-in-out infinite;
  animation-delay: var(--d, 0s);
  box-shadow: 0 0 16px rgba(45,212,191,0.15), inset 0 0 12px rgba(45,212,191,0.06);
  z-index: 3;
}
.eng-bubble--v49 .eng-bubble__node:hover{
  transform: translate(-50%, -50%) scale(1.08);
  box-shadow: 0 0 24px rgba(45,212,191,0.55), inset 0 0 16px rgba(45,212,191,0.12);
  border-color: rgba(45,212,191,0.9);
}
.eng-bubble--v49 .eng-bubble__node--lender{
  border-color: rgba(0,230,57,0.6);
  background: radial-gradient(circle at 35% 30%, rgba(0,230,57,0.20) 0%, rgba(0,230,57,0.10) 50%, rgba(8,9,11,0.6) 100%);
  color: #4ade80;
  box-shadow: 0 0 16px rgba(0,230,57,0.18), inset 0 0 12px rgba(0,230,57,0.06);
}
.eng-bubble--v49 .eng-bubble__node--lender:hover{
  box-shadow: 0 0 24px rgba(0,230,57,0.6), inset 0 0 16px rgba(0,230,57,0.14);
  border-color: rgba(0,230,57,0.95);
}
html[data-theme="light"] .eng-bubble--v49 .eng-bubble__node{
  border: 2px solid rgba(13,148,136,0.55);
  background: radial-gradient(circle at 35% 30%, rgba(204,251,241,0.95) 0%, rgba(153,246,228,0.85) 60%, rgba(94,234,212,0.75) 100%);
  color: #0d9488;
  box-shadow: 0 6px 18px rgba(13,148,136,0.12), inset 0 0 10px rgba(255,255,255,0.4);
}
html[data-theme="light"] .eng-bubble--v49 .eng-bubble__node--lender{
  border-color: rgba(5,150,105,0.6);
  background: radial-gradient(circle at 35% 30%, rgba(220,252,231,0.95) 0%, rgba(187,247,208,0.85) 60%, rgba(134,239,172,0.75) 100%);
  color: #047857;
  box-shadow: 0 6px 18px rgba(5,150,105,0.14), inset 0 0 10px rgba(255,255,255,0.4);
}

/* Floating drift — tighter on orbital layout (subtle) */
@keyframes eng-float{
  0%, 100% { transform: translate(-50%, -50%) translateY(0); }
  50% { transform: translate(-50%, -50%) translateY(-4px); }
}

.eng-bubble--v49 .eng-bubble__idx{
  font-size: 0.55rem; letter-spacing: 0.12em;
  color: currentColor; opacity: 0.7;
}
.eng-bubble--v49 .eng-bubble__label{
  font-weight: 700; font-size: 0.78rem; letter-spacing: 0.02em;
  color: currentColor;
  line-height: 1.1;
}
.eng-bubble--v49 .eng-bubble__tag{
  font-size: 0.5rem; letter-spacing: 0.1em;
  text-transform: uppercase;
  color: currentColor; opacity: 0.55;
}

/* Dimmed state — when another bubble is active, fade these out completely */
.eng-bubble--v49[data-mode="expanded"] .eng-bubble__node[data-dimmed="true"]{
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(0.85);
}
.eng-bubble--v49[data-mode="expanded"] .eng-orbit,
.eng-bubble--v49[data-mode="expanded"] .eng-stars,
.eng-bubble--v49[data-mode="expanded"] .eng-bubble__lines{
  opacity: 0.25;
  transition: opacity .4s ease;
}
.eng-bubble--v49[data-mode="expanded"] .eng-core{
  opacity: 0.4;
  transform: translate(-50%, -50%) scale(0.78);
  transition: opacity .4s ease, transform .4s ease;
}

/* ACTIVE bubble — expands to fill center with detail content INSIDE */
.eng-bubble--v49 .eng-bubble__node[data-active="true"]{
  left: 50% !important; top: 50% !important;
  width: min(560px, 88%);
  height: auto;
  min-height: 380px;
  max-height: 540px;
  border-radius: 22px;
  padding: 28px 28px 32px;
  z-index: 20;
  animation: none;
  cursor: default;
  overflow-y: auto;
  text-align: left;
  align-items: stretch;
  justify-content: flex-start;
  gap: 12px;
  border-width: 2px;
  background: linear-gradient(180deg, rgba(8,9,11,0.96) 0%, rgba(13,17,23,0.98) 100%);
  box-shadow:
    0 0 0 1px rgba(45,212,191,0.4),
    0 0 48px rgba(45,212,191,0.35),
    0 24px 80px rgba(0,0,0,0.6);
  transition: all .55s cubic-bezier(.2,.8,.2,1);
}
.eng-bubble--v49 .eng-bubble__node--lender[data-active="true"]{
  box-shadow:
    0 0 0 1px rgba(0,230,57,0.45),
    0 0 48px rgba(0,230,57,0.35),
    0 24px 80px rgba(0,0,0,0.6);
}
html[data-theme="light"] .eng-bubble--v49 .eng-bubble__node[data-active="true"]{
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow:
    0 0 0 2px rgba(13,148,136,0.5),
    0 0 36px rgba(13,148,136,0.25),
    0 24px 60px rgba(15,23,42,0.18);
}
html[data-theme="light"] .eng-bubble--v49 .eng-bubble__node--lender[data-active="true"]{
  box-shadow:
    0 0 0 2px rgba(5,150,105,0.55),
    0 0 36px rgba(5,150,105,0.25),
    0 24px 60px rgba(15,23,42,0.18);
}

/* Close (collapse) button inside expanded bubble */
.eng-bubble--v49 .eng-bubble__close{
  position: absolute;
  top: 14px; right: 16px;
  background: transparent;
  border: 1px solid rgba(45,212,191,0.4);
  color: #2dd4bf;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  padding: 6px 10px;
  border-radius: 6px;
  cursor: pointer;
  z-index: 5;
  transition: all .2s ease;
}
.eng-bubble--v49 .eng-bubble__close:hover{
  background: rgba(45,212,191,0.12);
  border-color: rgba(45,212,191,0.7);
}
.eng-bubble--v49 .eng-bubble__node--lender .eng-bubble__close{
  border-color: rgba(0,230,57,0.45);
  color: #4ade80;
}
.eng-bubble--v49 .eng-bubble__node--lender .eng-bubble__close:hover{
  background: rgba(0,230,57,0.12);
  border-color: rgba(0,230,57,0.7);
}
html[data-theme="light"] .eng-bubble--v49 .eng-bubble__close{
  border-color: rgba(13,148,136,0.5);
  color: #0d9488;
}
html[data-theme="light"] .eng-bubble--v49 .eng-bubble__node--lender .eng-bubble__close{
  border-color: rgba(5,150,105,0.55);
  color: #047857;
}

.eng-bubble--v49 .eng-bubble__detail-inner{
  margin-top: 26px;
  display: flex; flex-direction: column;
  gap: 14px;
  font-family: 'Inter', system-ui, sans-serif;
}
.eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__head{
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__name{
  font-size: 1.4rem; font-weight: 700; letter-spacing: -0.01em; margin: 0;
}
.eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__name-sub{
  font-weight: 500; font-size: 1.05rem;
}
.eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__formula{
  display: block; padding: 12px 14px;
  border-radius: 10px;
  font-family: 'JetBrains Mono', monospace; font-size: 0.92rem;
  background: rgba(45,212,191,0.10);
  border: 1px solid rgba(45,212,191,0.25);
  color: #5eead4;
  word-break: break-word;
}
.eng-bubble--v49 .eng-bubble__node--lender .eng-detail__formula{
  background: rgba(0,230,57,0.10);
  border-color: rgba(0,230,57,0.28);
  color: #6ee7b7;
}
html[data-theme="light"] .eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__formula{
  background: rgba(204,251,241,0.7);
  border-color: rgba(13,148,136,0.3);
  color: #0f766e !important;
}
html[data-theme="light"] .eng-bubble--v49 .eng-bubble__node--lender .eng-detail__formula{
  background: rgba(220,252,231,0.7);
  border-color: rgba(5,150,105,0.3);
  color: #047857 !important;
}

/* Plain English block — make sure it's readable in both modes */
.eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__plain{
  border-left: 2px solid currentColor;
  padding-left: 12px;
}
.eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__plain-mark{
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.6rem; letter-spacing: 0.14em;
  color: currentColor;
  display: block;
  margin-bottom: 4px;
}
.eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__plain p{
  margin: 0; font-size: 0.94rem; line-height: 1.5;
}
.eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__example{
  font-size: 0.88rem;
  font-style: italic;
  margin: 0;
}
.eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__meta{
  margin-top: 6px;
  border-top: 1px solid rgba(255,255,255,0.08);
  padding-top: 12px;
  display: flex; flex-direction: column; gap: 6px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
}
html[data-theme="light"] .eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__meta{
  border-top-color: rgba(15,23,42,0.1);
}
.eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__meta-row{
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 10px;
  align-items: baseline;
}
.eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__meta-label{
  color: rgba(255,255,255,0.45);
  letter-spacing: 0.12em;
}
html[data-theme="light"] .eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__meta-label{
  color: #64748b !important;
}
.eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__meta-val a{
  color: #2dd4bf;
  text-decoration: underline;
  text-underline-offset: 2px;
}
html[data-theme="light"] .eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__meta-val a{
  color: #0d9488 !important;
}
.eng-bubble--v49 .eng-bubble__node--lender .eng-detail__meta-val a{
  color: #4ade80;
}
html[data-theme="light"] .eng-bubble--v49 .eng-bubble__node--lender .eng-detail__meta-val a{
  color: #047857 !important;
}

/* Sidebar badges inside detail */
.eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__idx{
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  color: rgba(255,255,255,0.55);
}
html[data-theme="light"] .eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__idx{
  color: #64748b !important;
}
.eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__side{
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.6rem; letter-spacing: 0.14em;
  padding: 3px 7px;
  border-radius: 4px;
  background: rgba(45,212,191,0.16);
  color: #2dd4bf;
}
.eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__side--lender{
  background: rgba(0,230,57,0.16);
  color: #4ade80;
}
html[data-theme="light"] .eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__side{
  background: rgba(204,251,241,0.8) !important;
  color: #0f766e !important;
}
html[data-theme="light"] .eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__side--lender{
  background: rgba(220,252,231,0.85) !important;
  color: #047857 !important;
}
.eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__tag{
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  color: rgba(255,255,255,0.55);
}
html[data-theme="light"] .eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__tag{
  color: #64748b !important;
}

/* Mobile: tighter stage, smaller bubbles, compact expanded card */
@media (max-width: 720px){
  .eng-bubble--v49 .eng-bubble__stage{ min-height: 540px; aspect-ratio: 1 / 1.05; }
  .eng-bubble--v49 .eng-bubble__node{
    width: clamp(58px, 18vw, 76px);
    height: clamp(58px, 18vw, 76px);
    padding: 4px 2px;
  }
  .eng-bubble--v49 .eng-bubble__label{ font-size: 0.6rem; }
  .eng-bubble--v49 .eng-bubble__idx{ font-size: 0.45rem; }
  .eng-bubble--v49 .eng-bubble__tag{ display: none; }
  .eng-bubble--v49 .eng-core{ width: 108px; height: 108px; }
  .eng-bubble--v49 .eng-core__title{ font-size: 0.85rem; }
  .eng-bubble--v49 .eng-core__sub{ font-size: 0.5rem; }
  .eng-bubble--v49 .eng-bubble__node[data-active="true"]{
    width: 92%;
    min-height: 360px;
    padding: 20px 16px 22px;
  }
  .eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__name{ font-size: 1.15rem; }
  .eng-bubble--v49 .eng-bubble__detail-inner .eng-detail__formula{ font-size: 0.78rem; }
}

/* ============================================================
   v36.49 — Side picker (I buy / I fund) facelift
   ============================================================ */
.side-card--operator{
  position: relative;
  background: linear-gradient(180deg, rgba(45,212,191,0.08) 0%, rgba(45,212,191,0.04) 100%) !important;
  border: 1.5px solid rgba(45,212,191,0.35) !important;
  box-shadow: 0 0 0 1px rgba(45,212,191,0.08), 0 12px 36px rgba(45,212,191,0.10) !important;
  transition: all .35s ease;
  overflow: hidden;
}
.side-card--operator:hover{
  border-color: rgba(45,212,191,0.65) !important;
  box-shadow: 0 0 0 1px rgba(45,212,191,0.18), 0 18px 48px rgba(45,212,191,0.22) !important;
  transform: translateY(-2px);
}
.side-card--operator::before{
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(circle at 90% 10%, rgba(45,212,191,0.18) 0%, transparent 60%);
  pointer-events: none;
}
.side-card--lender{
  position: relative;
  background: linear-gradient(180deg, rgba(0,230,57,0.07) 0%, rgba(0,230,57,0.03) 100%) !important;
  border: 1.5px solid rgba(0,230,57,0.40) !important;
  box-shadow: 0 0 0 1px rgba(0,230,57,0.08), 0 12px 36px rgba(0,230,57,0.10) !important;
  transition: all .35s ease;
  overflow: hidden;
}
.side-card--lender:hover{
  border-color: rgba(0,230,57,0.70) !important;
  box-shadow: 0 0 0 1px rgba(0,230,57,0.22), 0 18px 48px rgba(0,230,57,0.26) !important;
  transform: translateY(-2px);
}
.side-card--lender::before{
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(circle at 90% 10%, rgba(0,230,57,0.18) 0%, transparent 60%);
  pointer-events: none;
}

/* Title color: operator teal, lender matrix-slime */
.side-card--operator .side-card__title{
  color: #2dd4bf !important;
  text-shadow: 0 0 18px rgba(45,212,191,0.35);
}
.side-card--lender .side-card__title{
  color: #4ade80 !important;
  text-shadow: 0 0 18px rgba(0,230,57,0.35);
}
html[data-theme="light"] .side-card--operator .side-card__title{
  color: #0d9488 !important;
  text-shadow: 0 0 14px rgba(13,148,136,0.18);
}
html[data-theme="light"] .side-card--lender .side-card__title{
  color: #047857 !important;
  text-shadow: 0 0 14px rgba(5,150,105,0.18);
}

/* RUN VERDICT pill — bigger, glowing, neon per side */
.side-card__cta{
  display: inline-block;
  padding: 12px 22px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase;
  border-radius: 10px !important;
  transition: all .25s ease !important;
  position: relative;
  z-index: 2;
}
.side-card--operator .side-card__cta{
  background: linear-gradient(135deg, #2dd4bf 0%, #14b8a6 100%) !important;
  color: #052e26 !important;
  border: 1.5px solid rgba(45,212,191,0.7) !important;
  box-shadow: 0 0 0 1px rgba(45,212,191,0.25), 0 8px 22px rgba(45,212,191,0.4), inset 0 1px 0 rgba(255,255,255,0.3) !important;
}
.side-card--operator:hover .side-card__cta{
  box-shadow: 0 0 0 1px rgba(45,212,191,0.4), 0 12px 32px rgba(45,212,191,0.6), inset 0 1px 0 rgba(255,255,255,0.4) !important;
  transform: scale(1.04);
}
.side-card--lender .side-card__cta{
  background: linear-gradient(135deg, #4ade80 0%, #16a34a 100%) !important;
  color: #052e16 !important;
  border: 1.5px solid rgba(0,230,57,0.75) !important;
  box-shadow: 0 0 0 1px rgba(0,230,57,0.28), 0 8px 22px rgba(0,230,57,0.45), inset 0 1px 0 rgba(255,255,255,0.3) !important;
}
.side-card--lender:hover .side-card__cta{
  box-shadow: 0 0 0 1px rgba(0,230,57,0.4), 0 12px 32px rgba(0,230,57,0.65), inset 0 1px 0 rgba(255,255,255,0.4) !important;
  transform: scale(1.04);
}

/* "FOR INVESTORS" / "FOR PRIVATE LENDERS" chip — themed */
.side-card--operator .side-card__for{
  background: rgba(45,212,191,0.16) !important;
  color: #5eead4 !important;
  border: 1px solid rgba(45,212,191,0.4) !important;
  padding: 4px 10px;
  border-radius: 6px;
  font-weight: 700;
}
.side-card--lender .side-card__for{
  background: rgba(0,230,57,0.16) !important;
  color: #6ee7b7 !important;
  border: 1px solid rgba(0,230,57,0.45) !important;
  padding: 4px 10px;
  border-radius: 6px;
  font-weight: 700;
}
html[data-theme="light"] .side-card--operator .side-card__for{
  background: rgba(204,251,241,0.85) !important;
  color: #0f766e !important;
  border-color: rgba(13,148,136,0.4) !important;
}
html[data-theme="light"] .side-card--lender .side-card__for{
  background: rgba(220,252,231,0.85) !important;
  color: #047857 !important;
  border-color: rgba(5,150,105,0.4) !important;
}

/* ============================================================
   v36.49 — Lender persona titles (PML / JV Partner)
   ============================================================ */
.lender-card__title{
  color: #4ade80 !important;
  text-shadow: 0 0 14px rgba(0,230,57,0.28);
}
html[data-theme="light"] .lender-card__title{
  color: #047857 !important;
  text-shadow: 0 0 12px rgba(5,150,105,0.18);
}

/* Showcase the RUN VERDICT button within the lender persona cards */
.lender-card .uw-run,
.lender-card button[type="submit"]{
  background: linear-gradient(135deg, #4ade80 0%, #16a34a 100%) !important;
  color: #052e16 !important;
  border: 1.5px solid rgba(0,230,57,0.7) !important;
  box-shadow: 0 0 0 1px rgba(0,230,57,0.25), 0 8px 22px rgba(0,230,57,0.4), inset 0 1px 0 rgba(255,255,255,0.3) !important;
  font-weight: 800 !important;
  letter-spacing: 0.10em !important;
}
.lender-card .uw-run:hover,
.lender-card button[type="submit"]:hover{
  box-shadow: 0 0 0 1px rgba(0,230,57,0.4), 0 12px 32px rgba(0,230,57,0.6), inset 0 1px 0 rgba(255,255,255,0.4) !important;
  transform: scale(1.03);
}

/* ============================================================
   v36.49 — Intake form theming (operator teal / lender slime)
   ============================================================ */
.uw-form[data-uw-side="operator"] input,
.uw-form[data-uw-side="operator"] select,
.uw-form[data-uw-side="operator"] textarea,
.uw-panel--operator input,
.uw-panel--operator select,
.uw-panel--operator textarea{
  border-color: rgba(45,212,191,0.30) !important;
  background: rgba(45,212,191,0.04) !important;
  transition: all .2s ease;
}
.uw-form[data-uw-side="operator"] input:focus,
.uw-form[data-uw-side="operator"] select:focus,
.uw-form[data-uw-side="operator"] textarea:focus,
.uw-panel--operator input:focus,
.uw-panel--operator select:focus,
.uw-panel--operator textarea:focus{
  border-color: rgba(45,212,191,0.7) !important;
  box-shadow: 0 0 0 3px rgba(45,212,191,0.18) !important;
  outline: none !important;
}
.uw-form[data-uw-side="lender"] input,
.uw-form[data-uw-side="lender"] select,
.uw-form[data-uw-side="lender"] textarea,
.uw-panel--lender input,
.uw-panel--lender select,
.uw-panel--lender textarea{
  border-color: rgba(0,230,57,0.35) !important;
  background: rgba(0,230,57,0.04) !important;
  transition: all .2s ease;
}
.uw-form[data-uw-side="lender"] input:focus,
.uw-form[data-uw-side="lender"] select:focus,
.uw-form[data-uw-side="lender"] textarea:focus,
.uw-panel--lender input:focus,
.uw-panel--lender select:focus,
.uw-panel--lender textarea:focus{
  border-color: rgba(0,230,57,0.75) !important;
  box-shadow: 0 0 0 3px rgba(0,230,57,0.20) !important;
  outline: none !important;
}

/* Label / hint accent */
.uw-panel--operator label,
.uw-form[data-uw-side="operator"] label{ color: #5eead4 !important; }
.uw-panel--lender label,
.uw-form[data-uw-side="lender"] label{ color: #6ee7b7 !important; }
html[data-theme="light"] .uw-panel--operator label,
html[data-theme="light"] .uw-form[data-uw-side="operator"] label{ color: #0f766e !important; }
html[data-theme="light"] .uw-panel--lender label,
html[data-theme="light"] .uw-form[data-uw-side="lender"] label{ color: #047857 !important; }

/* Active panel ring */
.uw-panel--operator{ border-color: rgba(45,212,191,0.25) !important; }
.uw-panel--lender{ border-color: rgba(0,230,57,0.30) !important; }

/* ============================================================
   v36.49 — Verdict footer brand-mark white-on-dark fix
   Verdict page renders data-theme="light" but has dark footer surface.
   theme-light.css applies grayscale/darken filter to .dc-wm--chrome-amber
   which makes the wordmark invisible on dark. Override here.
   ============================================================ */
html[data-theme="light"] body.verdict-page footer .dc-mark{
  color: #2dd4bf !important;
}
html[data-theme="light"] body.verdict-page footer .dc-wm__sub{
  color: #ffffff !important;
  opacity: 1 !important;
}
/* Kill the inherited dark-on-light filter so wordmark shows in brand amber */
html[data-theme="light"] body.verdict-page footer .dc-wm--chrome-amber,
html[data-theme="light"] body.verdict-page footer .dc-wm--dealcap-usa{
  filter: none !important;
}
html[data-theme="light"] body.verdict-page footer .dc-wm--chrome-amber .dc-wm__part,
html[data-theme="light"] body.verdict-page footer .dc-wm--dealcap-usa .dc-wm__part{
  background-color: #f59e0b !important;
  background-image: none !important;
  filter: none !important;
  opacity: 1 !important;
}
/* Tagline + legal/telemetry text — lift readability on dark */
html[data-theme="light"] body.verdict-page footer .footer-tagline{
  color: #e5e7eb !important;
}
html[data-theme="light"] body.verdict-page footer .footer-legal__line{
  color: rgba(229, 231, 235, 0.70) !important;
}
html[data-theme="light"] body.verdict-page footer .footer-legal__links a,
html[data-theme="light"] body.verdict-page footer .footer-legal__links span{
  color: rgba(229, 231, 235, 0.75) !important;
}
html[data-theme="light"] body.verdict-page footer{
  color: rgba(229, 231, 235, 0.85) !important;
}
html[data-theme="light"] body.verdict-page footer .footer-mail{
  color: #2dd4bf !important;
}


/* ============================================================
   v50 — VERDICT FOOTER: LIGHT BAND (congruent w/ other portals)
   The verdict page runs dark; only the footer breaks to a light
   surface so it flows visually with index/partner/funding footers.
   These selectors override the v49 dark-footer rules above.
   ============================================================ */
html[data-theme="light"] body.verdict-page footer.v-footer-light{
  background: #ffffff !important;
  color: #1f2328 !important;
  margin-top: 0;
  position: relative;
  z-index: 1;
}
/* Top border on the inner divider — soften to match other portals */
html[data-theme="light"] body.verdict-page footer.v-footer-light .border-t{
  border-top-color: #e1e4e8 !important;
}
/* Restore chrome-amber wordmark on light surface (kill v49 dark hacks) */
html[data-theme="light"] body.verdict-page footer.v-footer-light .dc-wm--chrome-amber,
html[data-theme="light"] body.verdict-page footer.v-footer-light .dc-wm--dealcap-usa{
  filter: none !important;
  opacity: 1 !important;
}
html[data-theme="light"] body.verdict-page footer.v-footer-light .dc-wm--chrome-amber .dc-wm__part,
html[data-theme="light"] body.verdict-page footer.v-footer-light .dc-wm--dealcap-usa .dc-wm__part{
  background-color: #f59e0b !important;
  background-image: none !important;
  filter: none !important;
}
html[data-theme="light"] body.verdict-page footer.v-footer-light .dc-wm--chrome-amber .dc-wm__sub,
html[data-theme="light"] body.verdict-page footer.v-footer-light .dc-wm--dealcap-usa .dc-wm__sub{
  color: #0a0c0e !important;
}
/* Mark — verdict teal accent (keeps page identity inside light footer) */
html[data-theme="light"] body.verdict-page footer.v-footer-light svg.dc-mark{
  color: #14b8a6 !important;
}
/* Tagline + body type back to dark ink on light */
html[data-theme="light"] body.verdict-page footer.v-footer-light .footer-tagline{
  color: #0a0c0e !important;
}
html[data-theme="light"] body.verdict-page footer.v-footer-light{
  color: #1f2328 !important;
}
html[data-theme="light"] body.verdict-page footer.v-footer-light .footer-legal__line{
  color: rgba(31, 35, 40, 0.78) !important;
}
html[data-theme="light"] body.verdict-page footer.v-footer-light .footer-legal__links a,
html[data-theme="light"] body.verdict-page footer.v-footer-light .footer-legal__links span{
  color: rgba(31, 35, 40, 0.85) !important;
}
html[data-theme="light"] body.verdict-page footer.v-footer-light .footer-legal__links a:hover{
  color: #0a0c0e !important;
}
html[data-theme="light"] body.verdict-page footer.v-footer-light .footer-mail{
  color: #0d9488 !important;
}
html[data-theme="light"] body.verdict-page footer.v-footer-light .text-ink-400{
  color: rgba(31, 35, 40, 0.70) !important;
}
/* Telemetry readout — very subtle on light */
html[data-theme="light"] body.verdict-page footer.v-footer-light .dc-telemetry,
html[data-theme="light"] body.verdict-page footer.v-footer-light #dc-telemetry-readout{
  color: rgba(31, 35, 40, 0.45) !important;
}

/* Hide collapse-all button if it was anchored to support section visual */
/* (the button is independent — leave alone) */

/* ========================================================================
   v51 — Verdict polish (carousel, swap-sides btn, collapse-all visibility,
   per-section collapse-all icons, footer wordmark black, sticky header)
   ======================================================================== */

/* --- v51 #1 — ENG CAROUSEL (replaces v49 bubble map) ------------------- */
.eng-carousel {
  margin: 28px 0 20px;
  padding: 16px 4px 8px;
  position: relative;
  outline: none;
}
.eng-carousel:focus-visible {
  outline: 2px solid rgba(94,234,212,0.5);
  outline-offset: 4px;
  border-radius: 12px;
}
.eng-carousel__hint {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  color: rgba(94,234,212, 0.85);
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 14px;
}
.eng-carousel__stage {
  position: relative;
  width: 100%;
  height: 460px;
  perspective: 1400px;
  overflow: hidden;
  border-radius: 18px;
  background:
    radial-gradient(ellipse at center, rgba(94,234,212,0.06) 0%, rgba(10,12,14,0) 65%),
    linear-gradient(180deg, rgba(255,255,255,0.015) 0%, rgba(255,255,255,0) 100%);
}
.eng-carousel__track {
  position: absolute;
  inset: 0;
  display: block;
  transform-style: preserve-3d;
}
.eng-carousel__stage .eng-card {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 360px !important;
  max-width: calc(100vw - 80px);
  min-height: 280px;
  padding: 22px 22px 50px !important;
  background: #11161c !important;
  border: 1px solid rgba(94,234,212,0.28);
  border-radius: 14px;
  color: #e6e8eb;
  text-align: left;
  cursor: pointer;
  display: block !important;
  flex-direction: initial !important;
  gap: 0 !important;
  animation: none !important;
  transform-origin: center center;
  transform: translate3d(-50%, -50%, 0) scale(0.4) !important;
  opacity: 0 !important;
  transition:
    transform 460ms cubic-bezier(.22,.61,.36,1),
    opacity 460ms ease,
    box-shadow 320ms ease,
    border-color 220ms ease,
    min-height 320ms ease !important;
  box-shadow: 0 4px 18px rgba(0,0,0,0.35);
  z-index: 0;
  pointer-events: none;
}
.eng-carousel__stage .eng-card.eng-card--lender { border-color: rgba(110, 231, 183, 0.32); }

/* Positions on the ring */
.eng-carousel__stage .eng-card[data-pos="center"] {
  transform: translate3d(-50%, -50%, 0) scale(1) !important;
  opacity: 1 !important;
  z-index: 5;
  pointer-events: auto;
  box-shadow: 0 18px 50px rgba(0,0,0,0.55), 0 0 0 1px rgba(94,234,212,0.45) inset;
}
.eng-carousel__stage .eng-card[data-pos="side"][data-dir="l"] {
  transform: translate3d(calc(-50% - 240px), -50%, -80px) scale(0.9) rotateY(18deg) !important;
  opacity: 0.78 !important;
  z-index: 3;
  pointer-events: auto;
  filter: brightness(0.85);
}
.eng-carousel__stage .eng-card[data-pos="side"][data-dir="r"] {
  transform: translate3d(calc(-50% + 240px), -50%, -80px) scale(0.9) rotateY(-18deg) !important;
  opacity: 0.78 !important;
  z-index: 3;
  pointer-events: auto;
  filter: brightness(0.85);
}
.eng-carousel__stage .eng-card[data-pos="far"][data-dir="l"] {
  transform: translate3d(calc(-50% - 380px), -50%, -180px) scale(0.78) rotateY(28deg) !important;
  opacity: 0.34 !important;
  z-index: 1;
  pointer-events: auto;
  filter: brightness(0.65) blur(0.4px);
}
.eng-carousel__stage .eng-card[data-pos="far"][data-dir="r"] {
  transform: translate3d(calc(-50% + 380px), -50%, -180px) scale(0.78) rotateY(-28deg) !important;
  opacity: 0.34 !important;
  z-index: 1;
  pointer-events: auto;
  filter: brightness(0.65) blur(0.4px);
}
.eng-carousel__stage .eng-card[data-pos="hidden"] {
  transform: translate3d(-50%, -50%, -300px) scale(0.6) !important;
  opacity: 0 !important;
  pointer-events: none;
}

.eng-carousel__stage .eng-card:hover[data-pos="center"] { box-shadow: 0 22px 60px rgba(0,0,0,0.6), 0 0 0 1px rgba(94,234,212,0.7) inset; }
.eng-carousel__stage .eng-card:hover[data-pos="side"] { opacity: 0.92 !important; filter: brightness(1); }

.eng-card__head {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.eng-card__idx {
  display: inline-block;
  padding: 3px 7px;
  background: rgba(94,234,212,0.16);
  color: #5eead4;
  border-radius: 4px;
  font-weight: 700;
}
.eng-card--lender .eng-card__idx { background: rgba(110, 231, 183, 0.18); color: #6ee7b7; }
.eng-card__side {
  color: rgba(255,255,255,0.78);
  font-weight: 600;
}
.eng-card__tag { color: rgba(255,255,255,0.5); }

.eng-card__name {
  font-family: "Space Grotesk", Inter, sans-serif;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.01em;
  margin-bottom: 10px;
  color: #fafbfc;
}
.eng-card__sub {
  font-size: 0.85rem;
  font-weight: 500;
  color: rgba(255,255,255,0.62);
}
.eng-card__formula {
  display: block;
  padding: 9px 11px;
  background: rgba(94,234,212,0.07);
  border-left: 2px solid rgba(94,234,212,0.55);
  border-radius: 4px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.78rem;
  color: #5eead4;
  line-height: 1.5;
  margin-bottom: 10px;
  white-space: normal;
}
.eng-card--lender .eng-card__formula { color: #6ee7b7; border-left-color: rgba(110, 231, 183, 0.55); background: rgba(110, 231, 183, 0.07); }
.eng-card__plain {
  font-size: 0.86rem;
  line-height: 1.5;
  color: rgba(255,255,255,0.78);
}
.eng-card__expand {
  max-height: 0;
  overflow: hidden;
  transition: max-height 360ms ease, margin-top 360ms ease;
  margin-top: 0;
}
.eng-card[data-expanded="true"] .eng-card__expand {
  max-height: 600px;
  margin-top: 14px;
}
.eng-card[data-expanded="true"] {
  min-height: 420px;
}
.eng-card__example {
  font-size: 0.82rem;
  color: #f59e0b;
  font-style: italic;
  margin-bottom: 10px;
  line-height: 1.5;
}
.eng-card__meta-row {
  display: flex;
  gap: 8px;
  align-items: baseline;
  margin-top: 8px;
  font-size: 0.75rem;
  line-height: 1.45;
}
.eng-card__meta-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.62rem;
  color: rgba(94,234,212,0.85);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  flex-shrink: 0;
  min-width: 68px;
}
.eng-card__meta-val { color: rgba(255,255,255,0.78); }
.eng-card__meta-val a { color: #5eead4; text-decoration: underline; }

.eng-card__hint {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 14px;
  text-align: center;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.6rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(94,234,212, 0.5);
  opacity: 0;
  transition: opacity 220ms ease;
  pointer-events: none;
}
.eng-card[data-pos="center"]:not([data-expanded="true"]) .eng-card__hint { opacity: 1; }

/* Controls */
.eng-carousel__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 22px;
}
.eng-carousel__nav {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(94,234,212, 0.08);
  border: 1px solid rgba(94,234,212, 0.4);
  color: #5eead4;
  border-radius: 999px;
  cursor: pointer;
  transition: all 180ms ease;
}
.eng-carousel__nav:hover {
  background: rgba(94,234,212, 0.18);
  border-color: rgba(94,234,212, 0.75);
  transform: scale(1.05);
}
.eng-carousel__nav:focus-visible { outline: 2px solid #5eead4; outline-offset: 3px; }
.eng-carousel__counter {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.85rem;
  letter-spacing: 0.18em;
  color: #5eead4;
  min-width: 88px;
  text-align: center;
}
.eng-carousel__dots {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.eng-carousel__dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(94,234,212, 0.22);
  border: 0;
  padding: 0;
  cursor: pointer;
  transition: all 180ms ease;
}
.eng-carousel__dot[data-active="true"] {
  background: #5eead4;
  transform: scale(1.4);
  box-shadow: 0 0 8px rgba(94,234,212, 0.45);
}
.eng-carousel__legend {
  margin-top: 18px;
  display: flex;
  justify-content: center;
  gap: 26px;
  flex-wrap: wrap;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  color: rgba(255,255,255,0.65);
  text-transform: uppercase;
}
.eng-carousel__legend-item { display: inline-flex; align-items: center; gap: 8px; }
.eng-carousel__legend-dot {
  display: inline-block;
  width: 9px; height: 9px;
  border-radius: 999px;
  background: #5eead4;
}
.eng-carousel__legend-dot--lender { background: #6ee7b7; }

/* Mobile tuning */
@media (max-width: 640px) {
  .eng-carousel__stage { height: 480px; }
  .eng-card { width: 86vw; padding: 18px 16px 44px; min-height: 290px; }
  .eng-card[data-pos="side"][data-dir="l"] { transform: translate3d(calc(-50% - 78vw), -50%, -80px) scale(0.86) rotateY(20deg); opacity: 0.55; }
  .eng-card[data-pos="side"][data-dir="r"] { transform: translate3d(calc(-50% + 78vw), -50%, -80px) scale(0.86) rotateY(-20deg); opacity: 0.55; }
  .eng-card[data-pos="far"] { opacity: 0; }
  .eng-card__name { font-size: 1.15rem; }
}

/* Light mode (verdict page stays dark, but other portals using these cards) */
html[data-theme="light"] body:not(.verdict-page) .eng-card {
  background: #ffffff;
  border-color: #e1e4e8;
  color: #1f2328;
}
html[data-theme="light"] body:not(.verdict-page) .eng-card__name { color: #0a0c0e; }
html[data-theme="light"] body:not(.verdict-page) .eng-card__plain,
html[data-theme="light"] body:not(.verdict-page) .eng-card__meta-val { color: #334155; }
html[data-theme="light"] body:not(.verdict-page) .eng-card__formula { color: #0d9488; background: rgba(13,148,136,0.06); border-left-color: rgba(13,148,136,0.55); }
html[data-theme="light"] body:not(.verdict-page) .eng-card__sub { color: #475569; }
html[data-theme="light"] body:not(.verdict-page) .eng-card__example { color: #b45309; }

/* --- v51 #2 — Persistent floating SWAP SIDES button ----------------- */
.uw-swap-sides {
  position: fixed;
  right: 14px;
  bottom: 90px;
  z-index: 60;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 16px;
  background: #11161c;
  border: 1px solid rgba(94,234,212, 0.55);
  color: #5eead4;
  border-radius: 999px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 10px 30px rgba(0,0,0,0.5), 0 0 0 1px rgba(94,234,212,0.15) inset;
  transition: all 200ms ease;
}
.uw-swap-sides:hover {
  background: rgba(94,234,212, 0.14);
  border-color: rgba(94,234,212, 0.85);
  transform: translateY(-1px);
  color: #99f6e4;
}
.uw-swap-sides:focus-visible { outline: 2px solid #5eead4; outline-offset: 3px; }
.uw-swap-sides[hidden] { display: none !important; }
@media (max-width: 640px) {
  .uw-swap-sides { right: 10px; bottom: 80px; padding: 10px 12px; }
  .uw-swap-sides__label { display: none; }
}

/* --- v51 #3 — Fix collapse buttons visibility (dark text on light bg) -- */
/* Per-section collapse pill (was hard to see on dark bg too). Make it pop. */
.v-collapse {
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(255,255,255,0.22) !important;
  color: #e6e8eb !important;
}
.v-collapse:hover {
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(94,234,212, 0.55) !important;
  color: #5eead4 !important;
}
/* Light theme variant — dark text on light bg */
html[data-theme="light"] .v-collapse {
  background: #ffffff !important;
  border-color: #d1d5db !important;
  color: #0a0c0e !important;
}
html[data-theme="light"] .v-collapse:hover {
  background: #f1f3f5 !important;
  border-color: #0d9488 !important;
  color: #0a0c0e !important;
}

/* Collapse-all footer button — solid contrast on both themes */
.v-collapse-all {
  background: #11161c !important;
  border-color: rgba(94,234,212, 0.55) !important;
  color: #5eead4 !important;
}
.v-collapse-all:hover {
  background: rgba(94,234,212, 0.14) !important;
  color: #99f6e4 !important;
  border-color: rgba(94,234,212, 0.9) !important;
}
html[data-theme="light"] .v-collapse-all {
  background: #ffffff !important;
  border-color: #0d9488 !important;
  color: #0a0c0e !important;
}
html[data-theme="light"] .v-collapse-all:hover {
  background: #f1f3f5 !important;
  color: #0a0c0e !important;
  border-color: #0a4f4a !important;
}

/* --- v51 #5 — Per-section collapse-all icon at end of each section ----- */
.v-section-collapse-all {
  display: flex;
  justify-content: center;
  margin: 28px auto 4px;
}
.v-section-collapse-all__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(94,234,212, 0.35);
  border-radius: 999px;
  color: #5eead4;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.65rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 200ms ease;
}
.v-section-collapse-all__btn:hover {
  background: rgba(94,234,212, 0.12);
  border-color: rgba(94,234,212, 0.7);
  color: #99f6e4;
}
.v-section-collapse-all__btn:focus-visible { outline: 2px solid #5eead4; outline-offset: 2px; }
html[data-theme="light"] .v-section-collapse-all__btn {
  background: #ffffff;
  color: #0a0c0e;
  border-color: rgba(13,148,136, 0.5);
}
html[data-theme="light"] .v-section-collapse-all__btn:hover {
  background: #f1f3f5;
  color: #0a0c0e;
  border-color: #0d9488;
}

/* --- v51 #6 — Footer wordmark: change DEALCAP USA from amber to all black on VERDICT page footer */
html[data-theme="light"] body.verdict-page footer.v-footer-light .dc-wm--chrome-amber .dc-wm__part,
html[data-theme="light"] body.verdict-page footer.v-footer-light .dc-wm--dealcap-usa .dc-wm__part {
  background-color: #0a0c0e !important;
  background-image: none !important;
  filter: none !important;
  -webkit-text-fill-color: #0a0c0e !important;
  color: #0a0c0e !important;
}
html[data-theme="light"] body.verdict-page footer.v-footer-light .dc-wm--chrome-amber .dc-wm__sub,
html[data-theme="light"] body.verdict-page footer.v-footer-light .dc-wm--dealcap-usa .dc-wm__sub {
  color: #0a0c0e !important;
  background-color: transparent !important;
  -webkit-text-fill-color: #0a0c0e !important;
}

/* --- v51 #7 — Make full page header (classification + ticker + nav) fully fixed/sticky ---
   The existing markup uses sticky top-0 + sticky top-9. Per v51 user request, the entire
   header bundle (classification strip + ticker + nav) must remain visible at all times.
   We promote it to a single fixed band on the verdict page. */
body.verdict-page > .min-h-screen > .border-b.border-teal\/30,
body.verdict-page .border-b.border-teal\/30.sticky.top-0.z-50 {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 60 !important;
}
/* Ticker fixed under classification */
body.verdict-page .market-ticker {
  position: fixed !important;
  top: 36px !important; /* h-9 = 36px */
  left: 0 !important;
  right: 0 !important;
  z-index: 59 !important;
}
/* Nav fixed under ticker */
body.verdict-page header.sticky.top-9 {
  position: fixed !important;
  top: 76px !important; /* 36 classification + ~40 ticker */
  left: 0 !important;
  right: 0 !important;
  z-index: 58 !important;
}
/* Push main content down to avoid being hidden under the fixed header stack */
body.verdict-page main { padding-top: 156px; } /* class(36) + ticker(40) + nav(64) + safety */
@media (max-width: 640px) {
  body.verdict-page .market-ticker { top: 36px !important; }
  body.verdict-page header.sticky.top-9 { top: 70px !important; }
  body.verdict-page main { padding-top: 178px; } /* extra for mobile sub-strip nav */
}

/* --- v53 — Generalize fixed header stack to hub/partner/funding portals ---
   Mirrors the verdict-page pattern above so the classification strip + market
   ticker + nav stay pinned at the top of the viewport across all four portals.
   Verdict-page rules above remain authoritative for that page; this block is
   scoped to .hub-page, .partner-page, .funding-page to avoid touching it. */
body.hub-page > .border-b.sticky.top-0.z-50,
body.partner-page > .border-b.sticky.top-0.z-50,
body.funding-page > .border-b.sticky.top-0.z-50 {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 60 !important;
}
body.hub-page .market-ticker,
body.partner-page .market-ticker,
body.funding-page .market-ticker {
  position: fixed !important;
  top: 36px !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 59 !important;
}
body.hub-page header.sticky.top-9,
body.partner-page header.sticky.top-9,
body.funding-page header.sticky.top-9 {
  position: fixed !important;
  top: 76px !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 58 !important;
}
/* Push flow content down. Hub uses <main>; partner/funding may not, so we
   also pad the body as a fallback. Both are safe because the fixed elements
   are positioned relative to the viewport, not the body's padding box. */
body.hub-page main { padding-top: 156px; }
body.partner-page { padding-top: 156px; }
body.funding-page main { padding-top: 156px; }
@media (max-width: 640px) {
  body.hub-page .market-ticker,
  body.partner-page .market-ticker,
  body.funding-page .market-ticker { top: 36px !important; }
  body.hub-page header.sticky.top-9,
  body.partner-page header.sticky.top-9,
  body.funding-page header.sticky.top-9 { top: 70px !important; }
  body.hub-page main { padding-top: 178px; }
  body.partner-page { padding-top: 178px; }
  body.funding-page main { padding-top: 178px; }
}


/* =================================================================
   v52N — Funding lane-card unison fix (final approach)
   Why this is hard: each lane card is a <details> element, and
   Chromium's <details> ignores flex-grow on its content children
   even when display:flex is set. So flex/grid based "fill the card"
   strategies do not work.
   Solution: take the submit button OUT of the normal flow and pin
   it to the bottom of the card with position:absolute. The card is
   position:relative and already grid-stretched to equal heights by
   the parent track grid. Add bottom padding to the card so content
   doesn't slide under the pinned button. Stat cells get a uniform
   height so the LIMIT/FEE and UPFRONT/SPEED rows align across cards.
   ================================================================= */
@media (min-width: 768px) {
  /* Card stretches via parent grid + position context for the pinned
     submit button. Reserve bottom space (button height + gap) so the
     copy/specs above don't overlap the absolute-positioned button. */
  .lane-deck--grid .lane-deck__track > .lane-card,
  .lane-deck--grid .lane-card[open] {
    position: relative;
    height: 100%;
    padding-bottom: 5rem; /* room for the pinned submit button */
  }

  /* Uniform stat cell height — locks LIMIT/FEE row and UPFRONT/SPEED
     row to the same y position across all cards in the same row. */
  .lane-deck--grid .lane-card .lane-card__specs > div {
    min-height: 76px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }
  .lane-deck--grid .lane-card .lane-card__specs dd {
    line-height: 1.25;
  }

  /* Pin the submit button to the bottom of every card.
     IMPORTANT: width:auto overrides .btn-zero--full { width:100% } so
     left+right offsets define the size instead of overflowing the card. */
  .lane-deck--grid .lane-card .lane-card__body > .btn-zero,
  .lane-deck--grid .lane-card .lane-card__body > button[data-open-drawer] {
    position: absolute;
    left: 1.5rem;
    right: 1.5rem;
    bottom: 1.5rem;
    width: auto;
    margin: 0;
  }
}

/* =================================================================
   v53g — Lender Persona Cards: Matrix HUD live treatment
   Verdict-page only. PML = neon matrix slime (#00e639), JV = neon teal
   (#2dd4bf). Animated scan-line, corner brackets, breathing glow, lifted
   hover, CTA pulse arrow. Preserves layout & copy; pure visual liveness.
   ============================================================== */

/* Card base — verdict-page scope only */
body.verdict-page .lender-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(0, 230, 57, 0.10), rgba(0, 230, 57, 0) 55%),
    linear-gradient(180deg, rgba(0, 230, 57, 0.05) 0%, rgba(10, 13, 18, 0.78) 55%, rgba(10, 13, 18, 0.95) 100%);
  border: 1px solid rgba(0, 230, 57, 0.32);
  box-shadow:
    0 0 0 1px rgba(0, 230, 57, 0.08) inset,
    0 0 24px -8px rgba(0, 230, 57, 0.28);
  transition: transform 0.22s cubic-bezier(.2,.7,.2,1),
              border-color 0.22s ease,
              box-shadow 0.22s ease,
              background 0.22s ease;
}

/* JV variant — neon teal */
body.verdict-page .lender-card--jv {
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(45, 212, 191, 0.12), rgba(45, 212, 191, 0) 55%),
    linear-gradient(180deg, rgba(45, 212, 191, 0.05) 0%, rgba(10, 13, 18, 0.78) 55%, rgba(10, 13, 18, 0.95) 100%);
  border-color: rgba(45, 212, 191, 0.34);
  box-shadow:
    0 0 0 1px rgba(45, 212, 191, 0.08) inset,
    0 0 24px -8px rgba(45, 212, 191, 0.32);
}

/* Breathing glow keyframes */
@keyframes vlender-pml-pulse {
  0%, 100% { box-shadow: 0 0 0 1px rgba(0,230,57,0.10) inset, 0 0 22px -10px rgba(0,230,57,0.30); }
  50%      { box-shadow: 0 0 0 1px rgba(0,230,57,0.18) inset, 0 0 38px -6px  rgba(0,230,57,0.55); }
}
@keyframes vlender-jv-pulse {
  0%, 100% { box-shadow: 0 0 0 1px rgba(45,212,191,0.10) inset, 0 0 22px -10px rgba(45,212,191,0.32); }
  50%      { box-shadow: 0 0 0 1px rgba(45,212,191,0.18) inset, 0 0 38px -6px  rgba(45,212,191,0.55); }
}
body.verdict-page .lender-card { animation: vlender-pml-pulse 3.6s ease-in-out infinite; }
body.verdict-page .lender-card--jv { animation: vlender-jv-pulse 3.6s ease-in-out infinite; }

/* Scan-line sweep — subtle horizontal pass that catches the eye */
@keyframes vlender-scan {
  0%   { transform: translateY(-110%); opacity: 0; }
  12%  { opacity: 1; }
  60%  { opacity: 1; }
  100% { transform: translateY(220%); opacity: 0; }
}
body.verdict-page .lender-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, rgba(0,230,57,0) 8%, rgba(0,230,57,0.85) 50%, rgba(0,230,57,0) 92%, transparent 100%);
  filter: blur(1px) drop-shadow(0 0 8px rgba(0,230,57,0.7));
  z-index: 0;
  pointer-events: none;
  animation: vlender-scan 5.2s linear infinite;
  animation-delay: 0.4s;
}
body.verdict-page .lender-card--jv::before {
  background: linear-gradient(90deg, transparent 0%, rgba(45,212,191,0) 8%, rgba(45,212,191,0.85) 50%, rgba(45,212,191,0) 92%, transparent 100%);
  filter: blur(1px) drop-shadow(0 0 8px rgba(45,212,191,0.7));
  animation-delay: 1.6s;
}

/* Corner brackets — top-right + bottom-left, HUD style */
body.verdict-page .lender-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background:
    /* top-left corner */
    linear-gradient(to right, currentColor 0, currentColor 14px, transparent 14px) top left/14px 1.5px no-repeat,
    linear-gradient(to bottom, currentColor 0, currentColor 14px, transparent 14px) top left/1.5px 14px no-repeat,
    /* top-right corner */
    linear-gradient(to left, currentColor 0, currentColor 14px, transparent 14px) top right/14px 1.5px no-repeat,
    linear-gradient(to bottom, currentColor 0, currentColor 14px, transparent 14px) top right/1.5px 14px no-repeat,
    /* bottom-left corner */
    linear-gradient(to right, currentColor 0, currentColor 14px, transparent 14px) bottom left/14px 1.5px no-repeat,
    linear-gradient(to top, currentColor 0, currentColor 14px, transparent 14px) bottom left/1.5px 14px no-repeat,
    /* bottom-right corner */
    linear-gradient(to left, currentColor 0, currentColor 14px, transparent 14px) bottom right/14px 1.5px no-repeat,
    linear-gradient(to top, currentColor 0, currentColor 14px, transparent 14px) bottom right/1.5px 14px no-repeat;
  color: rgba(0, 230, 57, 0.85);
  filter: drop-shadow(0 0 6px rgba(0,230,57,0.55));
}
body.verdict-page .lender-card--jv::after {
  color: rgba(45, 212, 191, 0.85);
  filter: drop-shadow(0 0 6px rgba(45,212,191,0.6));
}

/* Lift content above scan/corners */
body.verdict-page .lender-card > * { position: relative; z-index: 2; }

/* Re-color tag, title, bullets, CTA with neon palette */
body.verdict-page .lender-card .lender-card__tag {
  color: #00e639;
  text-shadow: 0 0 12px rgba(0, 230, 57, 0.55);
}
body.verdict-page .lender-card--jv .lender-card__tag {
  color: #2dd4bf;
  text-shadow: 0 0 12px rgba(45, 212, 191, 0.55);
}
/* v53h4 — pure bright white titles. Strong, clean, no color tint.
   !important needed to beat the v36.49 green !important rule above. */
body.verdict-page .lender-card .lender-card__title,
body.verdict-page .lender-card--jv .lender-card__title {
  color: #ffffff !important;
  font-weight: 800;
  letter-spacing: -0.015em;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) !important;
  animation: none !important;
}
@keyframes vlender-title-pml { from{} to{} }
@keyframes vlender-title-jv { from{} to{} }
@media (prefers-reduced-motion: reduce) {
  body.verdict-page .lender-card .lender-card__title,
  body.verdict-page .lender-card--jv .lender-card__title { animation: none !important; }
}
body.verdict-page .lender-card .lender-card__sub { color: rgba(245, 255, 245, 0.82); }
body.verdict-page .lender-card .lender-card__list li { color: rgba(245, 255, 245, 0.88); }
body.verdict-page .lender-card .lender-card__list li::before {
  content: "▸";
  color: #00e639;
  text-shadow: 0 0 6px rgba(0, 230, 57, 0.7);
}
body.verdict-page .lender-card--jv .lender-card__list li::before {
  color: #2dd4bf;
  text-shadow: 0 0 6px rgba(45, 212, 191, 0.7);
}
body.verdict-page .lender-card .lender-card__cta {
  color: #00e639;
  border-top: 1px dashed rgba(0, 230, 57, 0.45);
  text-shadow: 0 0 10px rgba(0, 230, 57, 0.6);
  letter-spacing: 0.08em;
}
body.verdict-page .lender-card--jv .lender-card__cta {
  color: #2dd4bf;
  border-top-color: rgba(45, 212, 191, 0.45);
  text-shadow: 0 0 10px rgba(45, 212, 191, 0.6);
}

/* Arrow micro-bounce */
@keyframes vlender-arrow {
  0%, 100% { transform: translateX(0); }
  50%      { transform: translateX(4px); }
}
body.verdict-page .lender-card .lender-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
body.verdict-page .lender-card .lender-card__cta::after {
  content: "";
  display: inline-block;
  width: 0; /* hidden — we keep the original "→" in the text */
}
/* Animate the trailing arrow already in the text */
body.verdict-page .lender-card { --arrow-x: 0px; }
body.verdict-page .lender-card:hover .lender-card__cta,
body.verdict-page .lender-card:focus-visible .lender-card__cta {
  animation: vlender-arrow 0.9s ease-in-out infinite;
}

/* Hover/focus lift + brighter outline */
body.verdict-page .lender-card:hover,
body.verdict-page .lender-card:focus-visible {
  transform: translateY(-3px);
  border-color: #00e639;
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(0, 230, 57, 0.18), rgba(0, 230, 57, 0) 55%),
    linear-gradient(180deg, rgba(0, 230, 57, 0.08) 0%, rgba(10, 13, 18, 0.78) 55%, rgba(10, 13, 18, 0.95) 100%);
  outline: none;
}
body.verdict-page .lender-card--jv:hover,
body.verdict-page .lender-card--jv:focus-visible {
  border-color: #2dd4bf;
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(45, 212, 191, 0.20), rgba(45, 212, 191, 0) 55%),
    linear-gradient(180deg, rgba(45, 212, 191, 0.08) 0%, rgba(10, 13, 18, 0.78) 55%, rgba(10, 13, 18, 0.95) 100%);
}

/* Selected state */
body.verdict-page .lender-card[aria-selected="true"] {
  border-color: #00e639;
  box-shadow:
    0 0 0 1px rgba(0, 230, 57, 0.55) inset,
    0 0 40px -4px rgba(0, 230, 57, 0.55);
}
body.verdict-page .lender-card--jv[aria-selected="true"] {
  border-color: #2dd4bf;
  box-shadow:
    0 0 0 1px rgba(45, 212, 191, 0.55) inset,
    0 0 40px -4px rgba(45, 212, 191, 0.55);
}

/* Reduce motion: kill animations but keep colors/lift */
@media (prefers-reduced-motion: reduce) {
  body.verdict-page .lender-card,
  body.verdict-page .lender-card::before,
  body.verdict-page .lender-card .lender-card__cta { animation: none !important; }
}

/* =================================================================
   v54 — Side Picker Cards: Matrix HUD live treatment
   Mirrors v53g lender-card pattern. Operator (I buy deals) = teal
   (#2dd4bf), Lender (I fund deals) = matrix slime (#00e639).
   Animated scan-line, corner brackets, breathing glow.
   Verdict-page only.
   ============================================================== */

/* Card base — verdict-page scope only */
body.verdict-page .side-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: transform 0.22s cubic-bezier(.2,.7,.2,1),
              border-color 0.22s ease,
              box-shadow 0.22s ease,
              background 0.22s ease;
}

/* Operator variant (I buy deals) — teal */
body.verdict-page .side-card--operator {
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(45, 212, 191, 0.12), rgba(45, 212, 191, 0) 55%),
    linear-gradient(180deg, rgba(45, 212, 191, 0.05) 0%, rgba(10, 13, 18, 0.78) 55%, rgba(10, 13, 18, 0.95) 100%);
  border: 1px solid rgba(45, 212, 191, 0.34);
  box-shadow:
    0 0 0 1px rgba(45, 212, 191, 0.08) inset,
    0 0 24px -8px rgba(45, 212, 191, 0.32);
}

/* Lender variant (I fund deals) — matrix slime */
body.verdict-page .side-card--lender {
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(0, 230, 57, 0.10), rgba(0, 230, 57, 0) 55%),
    linear-gradient(180deg, rgba(0, 230, 57, 0.05) 0%, rgba(10, 13, 18, 0.78) 55%, rgba(10, 13, 18, 0.95) 100%);
  border: 1px solid rgba(0, 230, 57, 0.32);
  box-shadow:
    0 0 0 1px rgba(0, 230, 57, 0.08) inset,
    0 0 24px -8px rgba(0, 230, 57, 0.28);
}

/* Breathing glow keyframes (reuses naming, scoped to side cards) */
@keyframes vside-operator-pulse {
  0%, 100% { box-shadow: 0 0 0 1px rgba(45,212,191,0.10) inset, 0 0 22px -10px rgba(45,212,191,0.32); }
  50%      { box-shadow: 0 0 0 1px rgba(45,212,191,0.18) inset, 0 0 38px -6px  rgba(45,212,191,0.55); }
}
@keyframes vside-lender-pulse {
  0%, 100% { box-shadow: 0 0 0 1px rgba(0,230,57,0.10) inset, 0 0 22px -10px rgba(0,230,57,0.30); }
  50%      { box-shadow: 0 0 0 1px rgba(0,230,57,0.18) inset, 0 0 38px -6px  rgba(0,230,57,0.55); }
}
body.verdict-page .side-card--operator { animation: vside-operator-pulse 3.6s ease-in-out infinite; }
body.verdict-page .side-card--lender   { animation: vside-lender-pulse 3.6s ease-in-out infinite; }

/* Scan-line sweep — subtle horizontal pass that catches the eye */
@keyframes vside-scan {
  0%   { transform: translateY(-110%); opacity: 0; }
  12%  { opacity: 1; }
  60%  { opacity: 1; }
  100% { transform: translateY(220%); opacity: 0; }
}
body.verdict-page .side-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  z-index: 0;
  pointer-events: none;
  animation: vside-scan 5.2s linear infinite;
}
body.verdict-page .side-card--operator::before {
  background: linear-gradient(90deg, transparent 0%, rgba(45,212,191,0) 8%, rgba(45,212,191,0.85) 50%, rgba(45,212,191,0) 92%, transparent 100%);
  filter: blur(1px) drop-shadow(0 0 8px rgba(45,212,191,0.7));
  animation-delay: 0.4s;
}
body.verdict-page .side-card--lender::before {
  background: linear-gradient(90deg, transparent 0%, rgba(0,230,57,0) 8%, rgba(0,230,57,0.85) 50%, rgba(0,230,57,0) 92%, transparent 100%);
  filter: blur(1px) drop-shadow(0 0 8px rgba(0,230,57,0.7));
  animation-delay: 1.6s;
}

/* Corner brackets — HUD style (all 4 corners) */
body.verdict-page .side-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background:
    /* top-left corner */
    linear-gradient(to right, currentColor 0, currentColor 14px, transparent 14px) top left/14px 1.5px no-repeat,
    linear-gradient(to bottom, currentColor 0, currentColor 14px, transparent 14px) top left/1.5px 14px no-repeat,
    /* top-right corner */
    linear-gradient(to left, currentColor 0, currentColor 14px, transparent 14px) top right/14px 1.5px no-repeat,
    linear-gradient(to bottom, currentColor 0, currentColor 14px, transparent 14px) top right/1.5px 14px no-repeat,
    /* bottom-left corner */
    linear-gradient(to right, currentColor 0, currentColor 14px, transparent 14px) bottom left/14px 1.5px no-repeat,
    linear-gradient(to top, currentColor 0, currentColor 14px, transparent 14px) bottom left/1.5px 14px no-repeat,
    /* bottom-right corner */
    linear-gradient(to left, currentColor 0, currentColor 14px, transparent 14px) bottom right/14px 1.5px no-repeat,
    linear-gradient(to top, currentColor 0, currentColor 14px, transparent 14px) bottom right/1.5px 14px no-repeat;
}
body.verdict-page .side-card--operator::after {
  color: rgba(45, 212, 191, 0.85);
  filter: drop-shadow(0 0 6px rgba(45,212,191,0.6));
}
body.verdict-page .side-card--lender::after {
  color: rgba(0, 230, 57, 0.85);
  filter: drop-shadow(0 0 6px rgba(0,230,57,0.55));
}

/* Lift content above scan/corners */
body.verdict-page .side-card > * { position: relative; z-index: 2; }

/* Hover/focus lift + brighter outline */
body.verdict-page .side-card--operator:hover,
body.verdict-page .side-card--operator:focus-visible {
  transform: translateY(-3px);
  border-color: #2dd4bf;
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(45, 212, 191, 0.20), rgba(45, 212, 191, 0) 55%),
    linear-gradient(180deg, rgba(45, 212, 191, 0.08) 0%, rgba(10, 13, 18, 0.78) 55%, rgba(10, 13, 18, 0.95) 100%);
  outline: none;
}
body.verdict-page .side-card--lender:hover,
body.verdict-page .side-card--lender:focus-visible {
  transform: translateY(-3px);
  border-color: #00e639;
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(0, 230, 57, 0.18), rgba(0, 230, 57, 0) 55%),
    linear-gradient(180deg, rgba(0, 230, 57, 0.08) 0%, rgba(10, 13, 18, 0.78) 55%, rgba(10, 13, 18, 0.95) 100%);
  outline: none;
}

/* Selected state */
body.verdict-page .side-card--operator[aria-selected="true"] {
  border-color: #2dd4bf;
  box-shadow:
    0 0 0 1px rgba(45, 212, 191, 0.55) inset,
    0 0 40px -4px rgba(45, 212, 191, 0.55);
}
body.verdict-page .side-card--lender[aria-selected="true"] {
  border-color: #00e639;
  box-shadow:
    0 0 0 1px rgba(0, 230, 57, 0.55) inset,
    0 0 40px -4px rgba(0, 230, 57, 0.55);
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce) {
  body.verdict-page .side-card,
  body.verdict-page .side-card::before { animation: none !important; }
}

/* =================================================================
   v54b — Operator CTA: restore solid teal fill with black text.
   theme-light.css forces transparent + light teal text via
   html[data-theme="light"] body.verdict-page #underwriting selector.
   We match that specificity (4 classes + element + 2 IDs ~ similar)
   and bump with html[data-theme="light"] prefix so light-mode rule
   loses to our later declaration. !important required.
   ============================================================== */
html[data-theme="light"] body.verdict-page #underwriting .side-card--operator .side-card__cta,
body.verdict-page #underwriting .side-card--operator .side-card__cta {
  background: linear-gradient(135deg, #2dd4bf 0%, #14b8a6 100%) !important;
  background-color: #2dd4bf !important;
  color: #0a0c0e !important;
  border: 1.5px solid rgba(45,212,191,0.7) !important;
  box-shadow:
    0 0 0 1px rgba(45,212,191,0.28),
    0 8px 22px rgba(45,212,191,0.4),
    inset 0 1px 0 rgba(255,255,255,0.3) !important;
  text-shadow: none !important;
}
html[data-theme="light"] body.verdict-page #underwriting .side-card--operator:hover .side-card__cta,
body.verdict-page #underwriting .side-card--operator:hover .side-card__cta {
  background: linear-gradient(135deg, #5eead4 0%, #2dd4bf 100%) !important;
  color: #0a0c0e !important;
  box-shadow:
    0 0 0 1px rgba(45,212,191,0.5),
    0 12px 32px rgba(45,212,191,0.6),
    inset 0 1px 0 rgba(255,255,255,0.4) !important;
}


/* v54f — Funding hero tag-row: matches hub/verdict/partner pattern.
   Replaces the legacy .redaction hatched bar with a clean filled block
   in icy electric purple, matching the funding portal secondary hue. */
.funding-tag-row { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }
.funding-tag-row__bar { display: inline-block; width: 28px; height: 6px; background: #8b5cf6; }
.funding-tag-row__tag {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 12px; text-transform: uppercase; letter-spacing: 0.3em;
  color: #8b5cf6; font-weight: 600;
}

/* v54j — Funding hero H1: harmonized with hub/verdict/partner hero sizing.
   Matches the .hub-hero h1 / #hero h1 / #verdict-intro h1 clamp formula
   so all four portal heroes render identically at every breakpoint. */
.funding-hero__h1 {
  font-family: "Space Grotesk", Inter, sans-serif;
  font-weight: 700;
  line-height: 0.95;
  letter-spacing: -0.02em;
  font-size: clamp(2.25rem, 6vw, 6rem);
  margin: 0;
}

/* v54j — Suppress section-header underline accent inside centered CTA
   sections (#cta on hub + funding). The 64px amber bar is left-aligned
   by default and looks orphaned in a centered layout. */
#cta .section-header__title::after,
.applyA-section .section-header__title::after {
  display: none;
}

/* ==============================================================
   v55 — FAQ standardization + utility nav link
   ============================================================== */

/* Utility links in the global nav (FAQ tucked between portal tabs and Contact) */
.global-nav-divider {
  color: rgba(255,255,255,0.18);
  font-weight: 300;
  padding: 0 0.15rem;
  user-select: none;
  pointer-events: none;
}
.global-nav-utility {
  opacity: 0.72;
}
.global-nav-utility:hover {
  opacity: 1;
}

/* Centered section header variant (used by FAQ sections only) */
.section-header--centered {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.section-header--centered .section-header__title::after {
  margin-left: auto;
  margin-right: auto;
}
.section-header--centered .section-header__sub {
  margin-left: auto;
  margin-right: auto;
}

/* FAQ section centered alignment helper:
   keeps the existing faq-shell card centered & restrains its width nicely. */
.faq-centered .faq-shell {
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.faq-centered .faq-shell__summary {
  margin-left: auto;
  margin-right: auto;
}
.faq-centered .faq-list {
  width: 100%;
}
.faq-centered .faq-footnote {
  justify-content: center;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

/* =========================================================
   v36.65 — MATH TRAIL / SHOW YOUR WORK panel
   Universal collapsible inside Stage 01. Lets Tier-2 operators
   verify the engine's chain: inputs → derived → gates → verdict.
   Uses explicit rgba/hex colors so it renders correctly on the
   permanently-dark VERDICT page (theme-light.css overrides the
   --c-ink-* vars globally, so we can't rely on them here).
   ========================================================= */
.uw-trail {
  margin-top: 1rem;
  background: linear-gradient(180deg, #0e1116, #0a0c0e);
  border: 1px solid rgba(245,246,248,.08);
  border-left: 3px solid #2dd4bf; /* teal accent — secondary VERDICT color */
  border-radius: 12px;
  overflow: hidden;
  animation: uwFadeIn 0.35s ease;
}
.uw-trail[open] { border-color: #2dd4bf; }
.uw-trail__head {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.85rem 1rem;
  cursor: pointer;
  list-style: none;
  user-select: none;
  transition: background 0.18s ease;
}
.uw-trail__head::-webkit-details-marker { display: none; }
.uw-trail__head:hover { background: rgba(45, 212, 191, 0.05); }
.uw-trail__phase {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.66rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #5eead4;
  flex-shrink: 0;
}
.uw-trail__title {
  font-size: 0.96rem;
  font-weight: 600;
  color: rgba(245,246,248,.95);
  letter-spacing: -0.01em;
}
.uw-trail__hint {
  flex: 1 1 auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.66rem;
  color: rgba(245,246,248,.45);
  text-align: right;
  letter-spacing: 0.05em;
}
.uw-trail__chev {
  font-size: 0.85rem;
  color: #5eead4;
  transition: transform 0.22s ease;
  flex-shrink: 0;
}
.uw-trail[open] .uw-trail__chev { transform: rotate(180deg); }
@media (max-width: 640px) {
  .uw-trail__head { gap: 0.55rem; padding: 0.75rem 0.85rem; flex-wrap: wrap; }
  .uw-trail__hint { display: none; }
  .uw-trail__title { font-size: 0.88rem; }
}
.uw-trail__body {
  padding: 0.6rem 1rem 1.1rem;
  border-top: 1px dashed rgba(245,246,248,.08);
}
.uw-trail__step {
  padding: 0.85rem 0;
  border-bottom: 1px dashed rgba(245,246,248,.06);
}
.uw-trail__step:last-of-type { border-bottom: none; }
.uw-trail__stepnum {
  display: inline-block;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.66rem;
  letter-spacing: 0.18em;
  color: #2dd4bf;
  margin-bottom: 0.25rem;
}
.uw-trail__stephead {
  font-size: 0.9rem;
  font-weight: 600;
  color: rgba(245,246,248,.95);
  margin-bottom: 0.55rem;
  letter-spacing: -0.005em;
}
.uw-trail__stepbody { font-size: 0.85rem; color: rgba(245,246,248,.82); }
.uw-trail__group { margin-bottom: 0.85rem; }
.uw-trail__group:last-child { margin-bottom: 0; }
.uw-trail__grouphead {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.64rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(245,246,248,.55);
  margin-bottom: 0.3rem;
}
.uw-trail__tbl {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
}
.uw-trail__tbl th {
  text-align: left;
  font-weight: 400;
  color: rgba(245,246,248,.62);
  padding: 0.3rem 0.6rem 0.3rem 0;
  vertical-align: top;
  width: 55%;
}
.uw-trail__tbl td {
  text-align: right;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  color: rgba(245,246,248,.95);
  padding: 0.3rem 0;
  vertical-align: top;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.uw-trail__kpi--good td { color: #00e639; }
.uw-trail__kpi--warn td { color: #f59e0b; }
.uw-trail__kpi--bad td  { color: #ff5577; }
.uw-trail__kpival { font-weight: 600; }
.uw-trail__kpitone {
  display: inline-block;
  margin-left: 0.65rem;
  font-size: 0.7rem;
  color: rgba(245,246,248,.45);
  font-weight: 400;
}
.uw-trail__gates {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.82rem;
}
.uw-trail__gates li {
  padding: 0.35rem 0 0.35rem 1.1rem;
  position: relative;
  color: rgba(245,246,248,.85);
  border-bottom: 1px dashed rgba(245,246,248,.05);
}
.uw-trail__gates li:last-child { border-bottom: none; }
.uw-trail__gates li::before {
  content: "⚠";
  position: absolute;
  left: 0;
  color: #f59e0b;
}
.uw-trail__gates--clean {
  padding: 0.5rem 0.75rem;
  color: #00e639;
  font-size: 0.82rem;
  background: rgba(0, 230, 57, 0.06);
  border-radius: 6px;
}
.uw-trail__verdict {
  padding: 0.7rem 0.9rem;
  border-radius: 8px;
  border-left: 3px solid rgba(245,246,248,.08);
  background: rgba(255, 255, 255, 0.02);
}
.uw-trail__verdict--pass    { border-left-color: #00e639; }
.uw-trail__verdict--caution { border-left-color: #f59e0b; }
.uw-trail__verdict--fail    { border-left-color: #ff5577; }
.uw-trail__verdictlabel {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: rgba(245,246,248,.95);
  margin-bottom: 0.25rem;
}
.uw-trail__verdict--pass .uw-trail__verdictlabel    { color: #00e639; }
.uw-trail__verdict--caution .uw-trail__verdictlabel { color: #f59e0b; }
.uw-trail__verdict--fail .uw-trail__verdictlabel    { color: #ff5577; }
.uw-trail__verdictsummary {
  font-size: 0.8rem;
  color: rgba(245,246,248,.75);
  line-height: 1.45;
}
.uw-trail__foot {
  margin-top: 0.85rem;
  padding-top: 0.7rem;
  border-top: 1px dashed rgba(245,246,248,.08);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.68rem;
  color: rgba(245,246,248,.45);
  line-height: 1.5;
}


/* ──────────────────────────────────────────────────────────
   v36.66 — PER-SECTION GLOSSARY
   Neon-teal "Glossary" chip in section header. Inline slide-down
   panel listing every jargon term in that section with plain-English
   definition + formula on separate line where applicable.
   ────────────────────────────────────────────────────────── */
.vg-section-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 22px;
  padding: 0 8px;
  margin-left: 8px;
  background: #2dd4bf;
  color: #000;
  border: 1px solid #2dd4bf;
  border-radius: 3px;
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .15s ease, box-shadow .15s ease, transform .12s ease;
  white-space: nowrap;
}
.vg-section-chip:hover,
.vg-section-chip:focus-visible {
  background: #5eead4;
  border-color: #5eead4;
  box-shadow: 0 0 0 2px rgba(45, 212, 191, 0.28);
  outline: none;
}
.vg-section-chip[aria-expanded="true"] {
  background: #14b8a6;
  border-color: #14b8a6;
  box-shadow: 0 0 0 2px rgba(45, 212, 191, 0.35),
              inset 0 1px 2px rgba(0, 0, 0, 0.25);
}
/* All chip children explicitly black-on-teal. The site-wide sweep rule
   html[data-theme="light"] #underwriting span { color: #e6e8eb } would
   otherwise paint them white. Use !important to win specificity cleanly. */
.vg-section-chip,
.vg-section-chip * {
  color: #000 !important;
}
/* v36.66b — info glyph (ⓘ). The Unicode character IS the circled-i, so no
   background pill needed. Sized to align optically with the uppercase label. */
.vg-section-chip__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-sans, system-ui, -apple-system, sans-serif);
  font-size: 13px;
  font-weight: 400;
  font-style: normal;
  line-height: 1;
  letter-spacing: 0;
  margin-top: -1px; /* optical baseline nudge against caps */
}
.vg-section-chip__label {
  letter-spacing: 0.14em;
}

/* Inline panel — slides into section body */
.vg-section-panel {
  margin: 10px 0 14px;
  padding: 14px 16px 16px;
  background: rgba(15, 18, 22, 0.96);
  border: 1px solid rgba(45, 212, 191, 0.32);
  border-left: 3px solid #2dd4bf;
  border-radius: 4px;
  box-shadow:
    0 4px 14px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(45, 212, 191, 0.08);
  animation: vgSectionSlideIn .18s ease-out;
}
.vg-section-panel[hidden] { display: none; }

@keyframes vgSectionSlideIn {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

.vg-section__head {
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #2dd4bf;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px dashed rgba(45, 212, 191, 0.22);
  font-weight: 700;
}
.vg-section__count {
  color: rgba(245, 246, 248, 0.62);
  font-weight: 500;
}

.vg-section__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.vg-section__item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px 10px;
  background: rgba(255, 255, 255, 0.015);
  border-left: 2px solid rgba(45, 212, 191, 0.22);
  border-radius: 0 3px 3px 0;
}

.vg-section__term {
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #00e639;
  text-shadow: 0 0 8px rgba(0, 230, 57, 0.22);
}

.vg-section__def {
  font-size: 13px;
  line-height: 1.55;
  color: rgba(245, 246, 248, 0.88);
}

.vg-section__formula {
  margin-top: 4px;
  padding: 6px 10px;
  background: rgba(0, 230, 57, 0.06);
  border: 1px solid rgba(0, 230, 57, 0.22);
  border-radius: 3px;
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 12px;
  line-height: 1.5;
  color: rgba(245, 246, 248, 0.94);
  display: flex;
  align-items: flex-start;
  gap: 8px;
  flex-wrap: wrap;
}

.vg-section__formula-tag {
  display: inline-flex;
  align-items: center;
  padding: 0 6px;
  height: 16px;
  background: #00e639;
  color: #000;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.14em;
  border-radius: 2px;
  flex-shrink: 0;
}

/* Mobile tweaks */
@media (max-width: 640px) {
  .vg-section-chip {
    height: 24px;
    padding: 0 9px;
    font-size: 10px;
  }
  .vg-section-panel {
    padding: 12px 12px 14px;
    margin: 8px 0 12px;
  }
  .vg-section__item {
    padding: 8px 8px;
  }
  .vg-section__formula {
    font-size: 11.5px;
  }
}

/* Light-theme override — keep panel dark for VERDICT (tool stays dark always),
   but ensure the chip is legible on light surfaces if it ever appears there */
html[data-theme="light"] .vg-section-chip {
  background: #2dd4bf;
  color: #000;
  border-color: #2dd4bf;
}

/* =========================================================
   v36.67f — Tinted section header strips
   Each .uw-group__summary picks up its group's hue so the
   header reads as a distinct colored bar, not blending into
   the panel body. Title uses Space Grotesk 700 (matches lane
   card titles). Applied to operator AND lender sides — both
   use the same amber/teal/violet hue palette.
   ========================================================= */
.uw-group__summary{
  background:linear-gradient(90deg,
    var(--sec-tint, rgba(245,246,248,0.04)) 0%,
    var(--sec-tint-mid, rgba(245,246,248,0.02)) 60%,
    var(--sec-tint-fade, rgba(245,246,248,0)) 100%);
  border-bottom:1px solid var(--sec-edge, transparent);
  transition:background .18s ease, border-color .18s ease;
}
.uw-group:not([open]) > .uw-group__summary{ border-bottom-color:transparent; }

.uw-group--amber  > .uw-group__summary{
  --sec-tint:rgba(245,158,11,0.30);
  --sec-tint-mid:rgba(245,158,11,0.18);
  --sec-tint-fade:rgba(245,158,11,0.06);
  --sec-edge:rgba(245,158,11,0.32);
}
.uw-group--teal   > .uw-group__summary{
  --sec-tint:rgba(45,212,191,0.30);
  --sec-tint-mid:rgba(45,212,191,0.18);
  --sec-tint-fade:rgba(45,212,191,0.06);
  --sec-edge:rgba(45,212,191,0.32);
}
.uw-group--violet > .uw-group__summary{
  --sec-tint:rgba(184,164,255,0.32);
  --sec-tint-mid:rgba(184,164,255,0.20);
  --sec-tint-fade:rgba(184,164,255,0.06);
  --sec-edge:rgba(184,164,255,0.34);
}
.uw-group--rose   > .uw-group__summary{
  --sec-tint:rgba(251,113,133,0.30);
  --sec-tint-mid:rgba(251,113,133,0.18);
  --sec-tint-fade:rgba(251,113,133,0.06);
  --sec-edge:rgba(251,113,133,0.32);
}
.uw-group--cyan   > .uw-group__summary{
  --sec-tint:rgba(103,232,249,0.30);
  --sec-tint-mid:rgba(103,232,249,0.18);
  --sec-tint-fade:rgba(103,232,249,0.06);
  --sec-edge:rgba(103,232,249,0.32);
}

/* Hover lightens the tint slightly */
.uw-group__summary:hover{
  background:linear-gradient(90deg,
    color-mix(in srgb, var(--sec-tint) 130%, transparent) 0%,
    color-mix(in srgb, var(--sec-tint-mid) 130%, transparent) 60%,
    var(--sec-tint-fade) 100%);
}

/* Title style — Space Grotesk 700 to match lane card titles */
.uw-group__title{
  font-family:'Space Grotesk', system-ui, -apple-system, sans-serif;
  font-weight:700;
  font-size:16px;
  letter-spacing:-0.01em;
  color:rgba(245,246,248,0.98);
}

/* Count chip — semi-transparent on tinted strip */
.uw-group__count{
  border-color:rgba(245,246,248,0.22);
  color:rgba(245,246,248,0.85);
  background:rgba(10,13,18,0.30);
}

/* =========================================================================
   v36.69 — VERDICT separator + Stage 02 What-If + Amber-Pulse CTA
   Three subtle structural moves so the result panel reads as a distinct
   "the answer arrived" moment instead of bleeding from the intake form.
   ========================================================================= */

/* 1. VERDICT GATEWAY — the seam between intake and result.
   A horizontal accent strip with eyebrow text + a verdict-keyed signal pulse.
   Sits above the result card on mobile; reinforces the seam on desktop too. */
.uw-verdict-gateway{
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 0.75rem 1.125rem;
  margin: 0 0 0.875rem;
  background: linear-gradient(90deg,
    rgba(8,10,14,0.85) 0%,
    rgba(8,10,14,0.55) 100%);
  border: 1px solid var(--gw-edge, rgba(245,158,11,0.32));
  border-left: 3px solid var(--gw-accent, var(--c-amber));
  border-radius: 2px;
  position: relative;
  overflow: hidden;
  animation: gw-fade-in 0.5s cubic-bezier(.22,.61,.36,1) both;
}
/* outcome-keyed colors set via CSS custom props on the element */
.uw-verdict-gateway--pass{
  --gw-accent: var(--c-go, #34d399);
  --gw-edge: rgba(52,211,153,0.38);
  --gw-text: var(--c-go, #34d399);
}
.uw-verdict-gateway--caution{
  --gw-accent: var(--c-amber);
  --gw-edge: rgba(245,158,11,0.42);
  --gw-text: var(--c-amber);
}
.uw-verdict-gateway--fail{
  --gw-accent: var(--c-crimson, #f43f5e);
  --gw-edge: rgba(244,63,94,0.42);
  --gw-text: var(--c-crimson, #f43f5e);
}
.uw-verdict-gateway__dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--gw-accent);
  box-shadow: 0 0 0 0 var(--gw-accent);
  animation: gw-pulse 2.2s cubic-bezier(.22,.61,.36,1) infinite;
  flex-shrink: 0;
}
.uw-verdict-gateway__eyebrow{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.28em;
  color: var(--gw-text);
  font-weight: 500;
}
.uw-verdict-gateway__sep{
  width: 1px;
  height: 14px;
  background: rgba(255,255,255,0.12);
}
.uw-verdict-gateway__sub{
  font-family: "JetBrains Mono", monospace;
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: var(--c-ink-300);
}
.uw-verdict-gateway__score{
  margin-left: auto;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  color: var(--gw-text);
  font-weight: 600;
}
/* sweep highlight on first render — a single shimmer that travels across the bar */
.uw-verdict-gateway::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg,
    transparent 0%,
    transparent 35%,
    rgba(255,255,255,0.06) 50%,
    transparent 65%,
    transparent 100%);
  transform: translateX(-100%);
  animation: gw-sweep 1.2s cubic-bezier(.22,.61,.36,1) 0.15s 1 both;
  pointer-events: none;
}
@keyframes gw-fade-in{
  from{ opacity: 0; transform: translateY(-4px); }
  to  { opacity: 1; transform: translateY(0); }
}
@keyframes gw-pulse{
  0%   { box-shadow: 0 0 0 0 var(--gw-accent); opacity: 1; }
  60%  { box-shadow: 0 0 0 8px transparent;   opacity: 0.7; }
  100% { box-shadow: 0 0 0 0 transparent;     opacity: 1; }
}
@keyframes gw-sweep{
  to{ transform: translateX(100%); }
}

/* 2. RESULT CARD HALO — outer atmosphere keyed to verdict outcome.
   Subtle. Adds spatial separation from the intake side without a heavy border. */
.uw-card--stepped.uw-card--pass{
  box-shadow:
    0 0 0 1px rgba(52,211,153,0.18),
    0 12px 40px -16px rgba(52,211,153,0.22),
    0 24px 80px -32px rgba(52,211,153,0.18);
}
.uw-card--stepped.uw-card--caution{
  box-shadow:
    0 0 0 1px rgba(245,158,11,0.18),
    0 12px 40px -16px rgba(245,158,11,0.20),
    0 24px 80px -32px rgba(245,158,11,0.16);
}
.uw-card--stepped.uw-card--fail{
  box-shadow:
    0 0 0 1px rgba(244,63,94,0.18),
    0 12px 40px -16px rgba(244,63,94,0.18),
    0 24px 80px -32px rgba(244,63,94,0.14);
}

/* 3. PROMOTED WHAT-IF STAGE — same chrome as other stages, lives between 01 and Stress Test */
.uw-stage--whatif{
  /* inherits .uw-stage base; this just adds a faint amber rail accent
     so live-tuning panel reads as an interactive zone vs. the static report stages */
}
.uw-stage--whatif .uw-stage__num{
  color: var(--c-amber);
}
.uw-stage--whatif .uw-stage__phase{
  color: rgba(245,158,11,0.85);
}

/* 4. AMBER-PULSE QUALIFIED CTA — strong, breathing, identifiable.
   Applied only when verdict is PASS AND primary lane is an in-house funding lane
   (i.e., the deal actually qualifies for direct DealCap USA funding).
   IMPORTANT: verdict page scope remaps --c-amber → --c-teal, so we use
   literal amber hex values throughout this block. Text on amber stays BLACK. */
.uw-funding--qualified{
  background: linear-gradient(180deg, rgba(245,158,11,0.10), rgba(245,158,11,0.04)) !important;
  border: 1px solid rgba(245,158,11,0.55) !important;
  border-left: 3px solid #f59e0b !important;
  box-shadow:
    0 0 0 1px rgba(245,158,11,0.20),
    0 0 24px -6px rgba(245,158,11,0.35),
    0 0 48px -12px rgba(245,158,11,0.24) !important;
  position: relative;
  animation: qual-breathe 4.2s cubic-bezier(.22,.61,.36,1) infinite;
}
/* electric pulse stripe — runs across the panel on first render and then settles */
.uw-funding--qualified::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg,
    transparent 0%,
    #f59e0b 30%,
    #ffd479 50%,
    #f59e0b 70%,
    transparent 100%);
  background-size: 200% 100%;
  animation: qual-electric 2.8s linear infinite;
  opacity: 0.9;
  pointer-events: none;
  z-index: 1;
}
.uw-funding--qualified .uw-funding__tag{
  color: #ffce6b !important;
  letter-spacing: 0.26em;
}
.uw-funding--qualified .uw-funding__head{
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -0.015em;
}
/* PRIMARY BUTTON — all-amber gradient, black text, no teal anywhere */
.uw-funding--qualified > .uw-funding__primary:not([data-lane="request"]),
.uw-funding--qualified > .uw-funding-btn:not([data-lane="request"]){
  background: linear-gradient(180deg, #ffce6b 0%, #f59e0b 50%, #d97f06 100%) !important;
  background-color: #f59e0b !important;
  color: #0a0d12 !important;
  box-shadow:
    0 0 0 1px rgba(255,206,107,0.55),
    0 4px 14px -4px rgba(245,158,11,0.50),
    0 0 22px -4px rgba(245,158,11,0.30) !important;
  padding: 1rem 1.125rem;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.005em;
  transition: filter 0.2s ease, transform 0.2s ease, box-shadow 0.3s ease;
  text-shadow: none !important;
}
.uw-funding--qualified > .uw-funding__primary:not([data-lane="request"]) span:not(.uw-funding__primary-code),
.uw-funding--qualified > .uw-funding-btn:not([data-lane="request"]) span:not(.uw-funding__primary-code){
  color: #0a0d12 !important;
}
/* Code chip on amber CTA — dark text on slightly-tinted background, readable */
.uw-funding--qualified > .uw-funding__primary:not([data-lane="request"]) .uw-funding__primary-code,
.uw-funding--qualified > .uw-funding-btn:not([data-lane="request"]) .uw-funding__primary-code{
  color: rgba(10,13,18,0.78) !important;
  background: rgba(10,13,18,0.12) !important;
  border-radius: 3px !important;
  padding: 3px 7px !important;
  opacity: 1 !important;
  letter-spacing: 0.12em !important;
}
/* (old code-chip block removed; replaced by higher-specificity rule above) */
.uw-funding--qualified > .uw-funding__primary:not([data-lane="request"]):hover,
.uw-funding--qualified > .uw-funding-btn:not([data-lane="request"]):hover{
  filter: brightness(1.06);
  transform: translateY(-1px);
  box-shadow:
    0 0 0 1px rgba(255,206,107,0.70),
    0 6px 22px -4px rgba(245,158,11,0.60),
    0 0 34px -4px rgba(245,158,11,0.44) !important;
}
.uw-funding--qualified > .uw-funding__primary:not([data-lane="request"])::before{
  content: "▲";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  margin-right: 0.625rem;
  border-radius: 999px;
  background: #0a0d12 !important;
  color: #f59e0b !important;
  font-size: 0.625rem;
  flex-shrink: 0;
  box-shadow: 0 0 0 1.5px rgba(10,13,18,0.85);
  animation: qual-icon-pulse 2.2s cubic-bezier(.22,.61,.36,1) infinite;
}
/* SECONDARY — EMD or other "Also worth considering" tile gets a lighter amber treatment.
   Same family of color but quieter, no animation, calmer border. */
.uw-funding--qualified .uw-funding__secondaries .uw-funding-btn,
.uw-funding--qualified .uw-funding__secondaries [data-lane]{
  background: linear-gradient(180deg, rgba(245,158,11,0.10), rgba(245,158,11,0.05)) !important;
  background-color: transparent !important;
  border: 1px solid rgba(245,158,11,0.45) !important;
  border-left: 2px solid rgba(245,158,11,0.85) !important;
  color: #ffce6b !important;
  box-shadow: 0 0 0 1px rgba(245,158,11,0.10), 0 2px 10px -4px rgba(245,158,11,0.25) !important;
  transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.uw-funding--qualified .uw-funding__secondaries .uw-funding-btn span,
.uw-funding--qualified .uw-funding__secondaries [data-lane] span{
  color: #ffce6b !important;
}
.uw-funding--qualified .uw-funding__secondaries .uw-funding-btn:hover,
.uw-funding--qualified .uw-funding__secondaries [data-lane]:hover{
  background: linear-gradient(180deg, rgba(245,158,11,0.18), rgba(245,158,11,0.08)) !important;
  border-color: rgba(245,158,11,0.70) !important;
  box-shadow: 0 0 0 1px rgba(245,158,11,0.30), 0 4px 14px -4px rgba(245,158,11,0.40) !important;
  transform: translateY(-1px);
}
/* surround the qualified funding stage with a subtle amber rail in the parent stage block */
.uw-stage--next:has(.uw-funding--qualified){
  background: linear-gradient(180deg, rgba(245,158,11,0.04), transparent 60%);
  border-radius: 2px;
}
.uw-stage--next:has(.uw-funding--qualified) .uw-stage__num{
  color: #f59e0b !important;
}
.uw-stage--next:has(.uw-funding--qualified) .uw-stage__phase{
  color: rgba(245,158,11,0.90) !important;
}
@keyframes qual-breathe{
  0%, 100%{
    box-shadow:
      0 0 0 1px rgba(245,158,11,0.18),
      0 0 24px -6px rgba(245,158,11,0.32),
      0 0 48px -12px rgba(245,158,11,0.22);
  }
  50%{
    box-shadow:
      0 0 0 1px rgba(245,158,11,0.28),
      0 0 36px -6px rgba(245,158,11,0.45),
      0 0 64px -12px rgba(245,158,11,0.32);
  }
}
@keyframes qual-electric{
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
@keyframes qual-icon-pulse{
  0%, 100%{ box-shadow: 0 0 0 1.5px rgba(10,13,18,0.85), 0 0 0 0 rgba(245,158,11,0.6); }
  50%     { box-shadow: 0 0 0 1.5px rgba(10,13,18,0.85), 0 0 0 4px rgba(245,158,11,0); }
}

/* Reduced-motion safety — kill all animations for users who request it */
@media (prefers-reduced-motion: reduce){
  .uw-verdict-gateway,
  .uw-verdict-gateway__dot,
  .uw-verdict-gateway::after,
  .uw-funding--qualified,
  .uw-funding--qualified::before,
  .uw-funding--qualified .uw-funding__primary::before{
    animation: none !important;
  }
}

/* ============================================================
   v36.70 — VERDICT results stage header bars
   Light bar with dark text for clear section separation on the dark verdict theme
   User request: white background section header bars with black text
   ============================================================ */

/* Defensively hide any leftover phase chips that didn't get cleaned out of app.js */
.uw-stage__phase{ display: none !important; }

/* Light header bar — applies to both collapsible (.uw-stage__head) and non-collapsible (.uw-stage__rail).
   Uses !important to override theme-light.css blanket [class^="uw-"] dark-restore rule that
   keeps the VERDICT tool dark on the light theme. The bar is the only intentional light element. */
body.verdict-page details.uw-stage > summary.uw-stage__head,
body.verdict-page .uw-stage__rail{
  background-color: #ffffff !important;
  border-radius: 4px;
  padding: 0.85rem 1.05rem;
  margin: 0.35rem 0.35rem 0.5rem;
  box-shadow: 0 1px 0 rgba(0,0,0,0.04);
}

/* Hover state subtle */
body.verdict-page details.uw-stage > summary.uw-stage__head:hover{
  background-color: #f4f6f8 !important;
}

/* Stage number — dark on white, no glow.
   Force transparent bg to override theme-light.css blanket [class^="uw-"] dark bg. */
body.verdict-page .uw-stage__head .uw-stage__num,
body.verdict-page .uw-stage__rail .uw-stage__num{
  background-color: transparent !important;
  color: #0a0d12 !important;
  text-shadow: none !important;
  font-size: 2.1rem;
  border-color: transparent !important;
}

/* Stage title — dark text on white */
body.verdict-page .uw-stage__head .uw-stage__title,
body.verdict-page .uw-stage__rail .uw-stage__title{
  background-color: transparent !important;
  color: #0a0d12 !important;
  font-weight: 600;
  border-color: transparent !important;
}

/* Chevron — dark */
body.verdict-page .uw-stage__head .uw-stage__chev{
  background-color: transparent !important;
  color: #0a0d12 !important;
  border-color: transparent !important;
}

/* Non-collapsible wrapper padding tweak so the light bar sits cleanly */
body.verdict-page .uw-stage--wrap,
body.verdict-page .uw-stage--next{
  padding: 0.35rem 0.35rem 1.1rem;
}

/* Collapsible body padding restored after the light bar */
body.verdict-page details.uw-stage > .uw-stage__body{
  padding: 0.35rem 1.25rem 1.35rem;
}

/* ============================================================
   MISSION STATEMENT (v36.71)
   Lives between The Man Behind the Brand title and the photo+copy grid.
   Functions as the section anchor before founder copy delivers the personal "why".
   ============================================================ */
.about-mission{
  max-width: 64rem;
  margin: 0 auto 4rem auto;
  padding: 2.25rem 2rem 2.5rem 2rem;
  border-top: 1px solid rgba(245, 158, 11, 0.35);
  border-bottom: 1px solid rgba(245, 158, 11, 0.18);
  text-align: center;
}
.about-mission__eyebrow{
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.7rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: #f59e0b;
  margin-bottom: 1.25rem;
}
.about-mission__lede{
  font-size: 1.85rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.1;
  color: #f4f4f5;
  margin: 0 0 1.1rem 0;
}
.about-mission__body{
  font-size: 1.15rem;
  line-height: 1.55;
  color: rgba(244, 244, 245, 0.9);
  max-width: 52ch;
  margin: 0 auto 1.4rem auto;
  font-weight: 400;
}
.about-mission__payoff{
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.78rem;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #f59e0b;
  margin: 0;
}
@media (max-width: 640px){
  .about-mission{
    padding: 1.75rem 1rem 1.85rem 1rem;
    margin-bottom: 2.75rem;
  }
  .about-mission__lede{ font-size: 1.5rem; }
  .about-mission__body{ font-size: 1.0rem; line-height: 1.6; }
  .about-mission__payoff{ font-size: 0.7rem; letter-spacing: 0.28em; }
}

/* ============================================================
   ABOUT ASIDE (v36.71) — replaces .about-pullquote
   Inline italic line, no decoration. Lets the words carry weight.
   ============================================================ */
.about-aside{
  font-size: 1.0625rem;
  line-height: 1.65;
  color: rgba(244, 244, 245, 0.85);
  margin: 1.5rem 0;
  font-weight: 400;
}
.about-aside em{
  font-style: italic;
  color: #f4f4f5;
}
@media (max-width: 767px){
  .about-aside{ font-size: 1rem; }
}

/* ============================================================
   PLAIN ENGLISH BLOCK (v36.74) — injected at the bottom of
   Stage 04 (Operator Plays) and Stage 05 (Next Step). Centered,
   3rd-grade reading level. Visually distinct from the engineering
   blocks above it so the eye knows "this part is for you."
   ============================================================ */
/* ===== Plain English pill (collapsible) =====
   Default: just a centered pill labeled "Plain English — Breakdown ▾".
   Expanded: same pill with caret rotated, body card slides open below.
*/
.uw-plain{
  display: block;
  margin: 1.25rem auto 0;
  max-width: 56ch;
  text-align: center;
}
.uw-plain[open]{
  margin-bottom: 0.15rem;
}
.uw-plain > summary{
  list-style: none;
  cursor: pointer;
}
.uw-plain > summary::-webkit-details-marker{ display: none; }
/* Neon teal pill — high contrast, black text. Lives on dark VERDICT background.
   Specificity bumped + !important to defeat light-theme clobbers on the verdict page. */
html details.uw-plain > summary.uw-plain__pill{
  display: inline-flex !important;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 1.05rem 0.55rem 1.15rem;
  border-radius: 999px !important;
  background: #2dd4bf !important;
  border: 1px solid #2dd4bf !important;
  box-shadow:
    0 0 0 1px rgba(45, 212, 191, 0.18),
    0 0 18px rgba(45, 212, 191, 0.32),
    0 4px 14px rgba(0, 0, 0, 0.35) !important;
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #0a0a0a !important;
  transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.12s ease;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}
html details.uw-plain > summary.uw-plain__pill:hover,
html details.uw-plain > summary.uw-plain__pill:focus-visible{
  background: #3dedd6 !important;
  border-color: #3dedd6 !important;
  box-shadow:
    0 0 0 1px rgba(61, 237, 214, 0.28),
    0 0 24px rgba(61, 237, 214, 0.5),
    0 4px 16px rgba(0, 0, 0, 0.4) !important;
  outline: none;
  transform: translateY(-1px);
}
html details.uw-plain > summary.uw-plain__pill:active{ transform: translateY(0); }
html details.uw-plain > summary .uw-plain__pill-label,
html details.uw-plain > summary .uw-plain__pill-sep,
html details.uw-plain > summary .uw-plain__pill-action,
html details.uw-plain > summary .uw-plain__pill-caret{
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  color: #0a0a0a !important;
}
html details.uw-plain > summary .uw-plain__pill-sep{ opacity: 0.55; letter-spacing: 0; font-weight: 600; }
html details.uw-plain > summary .uw-plain__pill-caret{
  font-size: 0.78em;
  line-height: 1;
  margin-left: 0.1rem;
  transition: transform 0.22s ease;
  display: inline-block;
}
html details.uw-plain[open] > summary .uw-plain__pill-caret{ transform: rotate(-180deg); }
html details.uw-plain[open] > summary.uw-plain__pill{
  background: #3dedd6 !important;
  border-color: #3dedd6 !important;
  box-shadow:
    0 0 0 1px rgba(61, 237, 214, 0.32),
    0 0 24px rgba(61, 237, 214, 0.55),
    0 4px 16px rgba(0, 0, 0, 0.4) !important;
}

.uw-plain__body{
  font-family: var(--font-sans, "Inter", system-ui, sans-serif);
  font-size: 0.9375rem;
  line-height: 1.65;
  color: rgba(244, 244, 245, 0.9);
  margin: 0.75rem auto 0;
  padding: 1rem 1.15rem 1.05rem;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  font-weight: 400;
  animation: uwPlainFade 0.24s ease;
}
@keyframes uwPlainFade{
  from{ opacity: 0; transform: translateY(-4px); }
  to{ opacity: 1; transform: translateY(0); }
}

/* Coach stage variant — lighter body fill */
.uw-stage--coach .uw-plain__body{
  background: rgba(255, 255, 255, 0.035);
  border-color: rgba(255, 255, 255, 0.1);
}

/* Next-step variant — warmer amber tint so it sits with the CTA above */
.uw-stage--next .uw-plain__body{
  background: rgba(255, 184, 58, 0.04);
  border-color: rgba(255, 184, 58, 0.14);
}

/* Mobile — pill stays inline, body card goes full width */
@media (max-width: 640px){
  .uw-plain{
    margin-top: 1rem;
    max-width: 100%;
  }
  .uw-plain__pill{
    font-size: 0.6625rem;
    letter-spacing: 0.14em;
    padding: 0.45rem 0.85rem;
    gap: 0.45rem;
  }
  .uw-plain__body{
    font-size: 0.875rem;
    line-height: 1.6;
    padding: 0.9rem 0.95rem 0.95rem;
    margin-top: 0.65rem;
  }
}

/* Light theme override — handled inline via theme-light when used.
   For dark VERDICT (which stays dark permanently), the above is the
   final styling. */

/* ============================================================
   v36.75 — Stage 03 collapse fix
   Previously Stage 03 was a static <div class="uw-stage--wrap">
   containing a <details class="uw-stress">. Now Stage 03 is a
   real <details class="uw-stage uw-stage--wrap"> like the other
   stages, with .uw-stress as a plain <div> inside.
   ============================================================ */

/* Stage 03 wrapper now behaves like the other stage <details> blocks.
   Keep the comfy interior padding it had as a static block. */
details.uw-stage--wrap{
  padding: 0; /* let summary + body manage their own padding */
}
details.uw-stage--wrap > summary.uw-stage__head{
  cursor: pointer;
  list-style: none;
}
details.uw-stage--wrap > summary.uw-stage__head::-webkit-details-marker{ display: none; }
details.uw-stage--wrap > .uw-stage__body{
  padding: 0 1.25rem 1.25rem;
}

/* Stress block is now a plain <div>. Match the old card look without a toggle. */
.uw-stage--wrap > .uw-stage__body > .uw-stress{
  margin: 0;
  border: 1px solid rgba(94,234,212,0.14);
  background: rgba(94,234,212,0.02);
  border-radius: 2px;
  padding-bottom: 16px;
}
.uw-stress__head--static{
  display: flex;
  align-items: center;
  padding: 0.85rem 1rem 0;
  cursor: default;
}
/* Stress body should sit inside the static-headed card */
.uw-stage--wrap > .uw-stage__body > .uw-stress > .uw-stress__body{
  padding: 0 1rem 0;
  margin-top: 12px;
}

/* ============================================================
   v36.75 — Mobile lane picker vertical peek carousel
   Mobile-only refinement of .uw-lane-grid. Was horizontal swipe;
   now vertical with focal card centered, prev/next peeking
   above and below at reduced scale + opacity. Snap-scrolling.
   Desktop / iPad / tablet untouched.
   ============================================================ */
@media (max-width: 640px){
  /* Override the previous horizontal mobile flow */
  .uw-lane-grid{
    display: flex;
    flex-direction: column;
    grid-template-columns: none;
    grid-template-rows: none;
    overflow-y: auto;
    overflow-x: hidden;
    scroll-snap-type: y mandatory;
    -webkit-overflow-scrolling: touch;
    /* Frame shows ~3 cards: focal + 1 above + 1 below.
       3 × 64px + 2 × 8px gap = 208px */
    height: 208px;
    padding: 72px 4px; /* (208 − 64) / 2 = 72 so first/last card can center */
    gap: 8px;
    margin-inline: -4px;
    scrollbar-width: none;
    scroll-behavior: smooth;
    /* soft top/bottom fade so peek cards melt into the section edge */
    -webkit-mask-image: linear-gradient(to bottom,
      transparent 0,
      #000 56px,
      #000 calc(100% - 56px),
      transparent 100%);
            mask-image: linear-gradient(to bottom,
      transparent 0,
      #000 56px,
      #000 calc(100% - 56px),
      transparent 100%);
  }
  .uw-lane-grid::-webkit-scrollbar{ width: 0; height: 0; }

  .uw-lane-card{
    /* Uniform tile size — NO transform-scale on peeks so widths stay identical.
       Differentiation comes from opacity, glow ring, and title scale. */
    flex: 0 0 auto;
    width: 92%;
    max-width: none;
    align-self: center;
    min-height: 64px;
    padding: 14px 16px;
    scroll-snap-align: center;
    scroll-snap-stop: always;
    /* Default state: peek (dim, no glow) */
    opacity: 0.38;
    transform: none;
    transition: opacity 240ms ease,
                border-color 240ms ease,
                background 240ms ease,
                box-shadow 280ms ease;
  }
  .uw-lane-card__name{
    font-size: 15px;
    transition: font-size 240ms ease, letter-spacing 240ms ease, color 240ms ease;
  }
  /* Focal card — set by JS as you scroll. Same size; brighter + glowing. */
  .uw-lane-card.is-focal{
    opacity: 1;
    border-color: rgba(94, 234, 191, 0.55);
    background: rgba(36, 42, 52, 0.96);
    /* Outer teal glow + subtle inner highlight for a "lit pill" feel */
    box-shadow:
      0 0 0 1px rgba(94, 234, 191, 0.35),
      0 10px 28px -10px rgba(94, 234, 191, 0.45),
      0 0 24px -6px rgba(94, 234, 191, 0.40),
      inset 0 1px 0 rgba(255, 255, 255, 0.04);
  }
  .uw-lane-card.is-focal .uw-lane-card__name{
    font-size: 17px;        /* +13% bump on focal title */
    letter-spacing: -0.01em;
    color: #ffffff;
  }
  /* Selected lane (after tap) — teal accent persists even when not focal */
  .uw-lane-card[aria-selected="true"]{
    border-color: #5eead4;
    background: rgba(45, 212, 191, 0.10);
    box-shadow: inset 0 0 0 1px rgba(94, 234, 191, 0.40);
  }
  /* Selected + focal — layer the glow on top of the selected accent */
  .uw-lane-card[aria-selected="true"].is-focal{
    box-shadow:
      0 0 0 1px rgba(94, 234, 191, 0.55),
      inset 0 0 0 1px rgba(94, 234, 191, 0.45),
      0 10px 28px -10px rgba(94, 234, 191, 0.50),
      0 0 24px -6px rgba(94, 234, 191, 0.45);
  }

  .uw-lane-grid__hint{
    margin-top: 4px;
    font-size: 10px;
  }
}
