/* ── Velocity workflow card grid ─── */
.vworkflow-grid { margin-top: 48px; }
.vworkflow-note { font-size: 13px; line-height: 1.5; color: var(--text-secondary); border: 1px solid oklch(85% 0.06 50); background: oklch(99% 0.015 50); border-radius: 10px; padding: 12px 18px; }
.vwn-hl { color: oklch(60% 0.14 50); font-weight: 600; }
.vworkflow-cards { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--border-subtle); border: 1px solid var(--border-subtle); border-radius: 14px; overflow: hidden; margin-top: 16px; }
.vw-card { background: var(--bg-canvas); padding: 18px 16px 20px; display: flex; flex-direction: column; transition: background 180ms ease; }
.vw-card:hover { background: var(--bg-subtle); }
.vw-card.vw-start { box-shadow: inset 0 0 0 2px var(--accent); z-index: 1; background: color-mix(in srgb, var(--accent) 5%, var(--bg-canvas)); }
.vw-card-top { display: flex; align-items: center; gap: 8px; margin-bottom: 9px; }
.vw-num { font-family: var(--font-mono); font-size: 11px; color: var(--text-tertiary); font-weight: 500; }
.vw-badge { font-family: var(--font-mono); font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; padding: 2px 6px; border-radius: 3px; }
.vw-soon { color: var(--text-tertiary); background: var(--bg-surface); border: 1px solid var(--border-subtle); }
.vw-start-badge { color: #fff; background: var(--accent); }
.vw-title { font-size: 14.5px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.25; color: var(--text-primary); margin: 0 0 7px; }
.vw-card:not(.vw-live):not(.vw-start) .vw-title { color: var(--text-secondary); }
.vw-desc { font-size: 12.5px; line-height: 1.5; color: var(--text-tertiary); margin: 0; flex: 1; text-wrap: pretty; }
.vw-open { font-family: var(--font-mono); font-size: 12px; font-weight: 600; color: var(--accent); text-decoration: none; margin-top: 12px; align-self: flex-start; display: block; }
.vw-open:hover { text-decoration: underline; }
@media (max-width: 900px) { .vworkflow-cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .vworkflow-cards { grid-template-columns: 1fr; } }
/* ── Section h2 em highlight ─── */
.sec-head .h2 em { font-style: normal; color: var(--accent); font-weight: 600; }
/* ── Overview stat grid ─── */
.vov-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--border-subtle); border: 1px solid var(--border-subtle); border-radius: 16px; overflow: hidden; margin-top: 48px; }
.vov-item { background: var(--bg-canvas); padding: 32px 28px 34px; display: flex; flex-direction: column; position: relative; transition: background 180ms ease; }
.vov-item::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 0; background: var(--accent); transition: width 260ms cubic-bezier(.22,1,.36,1); }
.vov-item:hover { background: var(--bg-subtle); }
.vov-item:hover::before { width: 3px; }
.vov-n { font-family: var(--font-mono); font-size: clamp(36px, 4vw, 52px); font-weight: 700; letter-spacing: -0.03em; color: var(--accent); line-height: 1; }
.vov-l { font-size: 13.5px; font-weight: 500; color: var(--text-secondary); margin-top: 8px; }
@media (max-width: 640px) { .vov-grid { grid-template-columns: repeat(2, 1fr); } }

/* ── CTE Feature Card ─── */
.cte-card {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px;
  margin-top: 48px; padding: 44px 48px; text-decoration: none;
  border: 1px solid var(--border-subtle); border-radius: 20px;
  background: var(--bg-elevated);
  position: relative; overflow: hidden;
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms cubic-bezier(.22,1,.36,1);
}
.cte-card::before {
  content: ""; position: absolute; left: 0; top: 0; right: 0; height: 3px;
  background: var(--accent); transform: scaleX(0); transform-origin: left;
  transition: transform 340ms cubic-bezier(.22,1,.36,1);
}
.cte-card:hover { border-color: var(--border-default); box-shadow: 0 28px 64px -40px rgba(9,9,11,0.28); transform: translateY(-2px); }
.cte-card:hover::before { transform: scaleX(1); }
.cte-tag { display: inline-flex; align-items: center; gap: 9px; font-family: var(--font-mono); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--accent); }
.cte-dot { width: 7px; height: 7px; border-radius: 999px; background: var(--accent); box-shadow: 0 0 0 3px var(--accent-subtle); flex: none; }
.cte-title { margin-top: 16px; font-size: clamp(26px, 2.8vw, 36px); font-weight: 600; letter-spacing: -0.02em; line-height: 1.1; color: var(--text-primary); }
.cte-sub { margin-top: 10px; font-size: 17px; font-weight: 500; color: var(--text-secondary); line-height: 1.4; }
.cte-sub em { color: var(--accent); font-style: normal; }
.cte-desc { margin-top: 16px; font-size: 15.5px; line-height: 1.6; color: var(--text-secondary); max-width: 46ch; text-wrap: pretty; }
.cte-cta { display: inline-flex; align-items: center; gap: 8px; margin-top: 28px; font-family: var(--font-mono); font-size: 13px; font-weight: 600; color: var(--accent); transition: gap 160ms ease; }
.cte-card:hover .cte-cta { gap: 14px; }
.cte-feats { list-style: none; display: flex; flex-direction: column; gap: 18px; padding-top: 4px; }
.cte-feats li { display: grid; grid-template-columns: 16px 1fr; gap: 12px; font-size: 15px; line-height: 1.55; color: var(--text-secondary); }
.cte-feats .mk { color: var(--accent); font-family: var(--font-mono); font-size: 12px; padding-top: 3px; }
.cte-feats li strong { color: var(--text-primary); font-weight: 600; }
@media (max-width: 860px) { .cte-card { grid-template-columns: 1fr; gap: 32px; padding: 32px 28px; } }

/* ── CTE section highlight ─── */
.sec-cte-highlight {
  background: color-mix(in srgb, var(--accent) 4%, var(--bg-canvas));
  border-top: 1px solid color-mix(in srgb, var(--accent) 18%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--accent) 18%, transparent);
}
.sec-cte-highlight .cte-card {
  border-color: color-mix(in srgb, var(--accent) 28%, var(--border-subtle));
  background: var(--bg-canvas);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 10%, transparent), 0 20px 56px -32px rgba(9,9,11,0.18);
}