/* ============================================================
   workflow.css — Module 3: How It Works
   ============================================================ */

#workflow {
  background: var(--navy);
  padding: var(--section-pad);
  position: relative;
  overflow: hidden;
}

.workflow-wrap {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 32px;
  align-items: start;
}

/* Step list */
.step-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  position: relative;
}

.step-list::before {
  content: '';
  position: absolute;
  left: 15px; top: 18px; bottom: 18px;
  width: 0.5px;
  background: var(--border-dim);
}

.step-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 10px 12px;
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: background var(--transition-mid);
  position: relative;
}

.step-item:hover { background: var(--surface-1); }
.step-item.active { background: rgba(200,146,42,0.08); }

.step-num-wrap {
  width: 30px; height: 30px;
  border-radius: 50%;
  border: 0.5px solid var(--border-mid);
  background: var(--surface-1);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: border-color var(--transition-mid), background var(--transition-mid);
  position: relative; z-index: 1;
}

.step-item.active .step-num-wrap { border-color: rgba(200,146,42,0.5); background: rgba(200,146,42,0.12); }
.step-item.done .step-num-wrap   { border-color: rgba(200,146,42,0.3); background: rgba(200,146,42,0.06); }

.step-num { font-size: 11px; font-weight: 500; color: var(--text-dim); }
.step-item.active .step-num { color: var(--amber); }
.step-item.done .step-num   { color: rgba(200,146,42,0.55); }

.step-text { font-size: 12px; font-weight: 400; color: var(--text-dim); line-height: 1.4; padding-top: 6px; }
.step-item.active .step-text { color: var(--text-bright); font-weight: 500; }
.step-item.done .step-text   { color: rgba(255,255,255,0.45); }

/* Detail panel */
.detail-panel {
  background: var(--surface-1);
  border: 0.5px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-xl);
  padding: 36px;
  min-height: 360px;
  position: relative;
  overflow: hidden;
}

.detail-panel::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, rgba(200,146,42,0.6), rgba(200,146,42,0.1), transparent);
  border-radius: var(--radius-xl) var(--radius-xl) 0 0;
}

.detail-step-bg-num {
  font-family: var(--font-serif);
  font-size: 72px;
  font-weight: 400;
  color: rgba(200,146,42,0.07);
  line-height: 1;
  position: absolute;
  top: 20px; right: 28px;
  user-select: none;
  pointer-events: none;
}

.detail-tag { display:inline-block; font-size:14px; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; padding:4px 10px; border-radius:var(--radius-sm); background:rgba(200,146,42,0.1); color:var(--amber); border:0.5px solid rgba(200,146,42,0.25); margin-bottom:18px; }

.detail-title { font-family:var(--font-serif); font-size:28px; font-weight:500; color:var(--text-bright); line-height:1.2; margin:0 0 12px; max-width:440px; }
.detail-body { font-size:13.5px; font-weight:300; line-height:1.8; color:var(--text-mid); margin:0 0 16px; max-width:460px; }

.detail-points { display:flex; flex-direction:column; gap:9px; }
.detail-point { display:flex; align-items:flex-start; gap:10px; font-size:14px; font-weight:300; color:var(--text-mid); line-height:1.5; }
.point-dot { width:5px;height:5px;border-radius:50%;background:var(--amber);flex-shrink:0;margin-top:6px;opacity:0.6; }

/* Two-track box */
.two-track { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:14px 0 18px; }
.track-box { border-radius:var(--radius-md); padding:14px 16px; border:0.5px solid var(--border-dim); }
.track-inbound { background:var(--surface-1); }
.track-proactive { background:rgba(200,146,42,0.07); border-color:rgba(200,146,42,0.2); }
.track-label { font-size:11.5px; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; margin-bottom:8px; }
.track-label-in { color:rgba(255,255,255,0.35); }
.track-label-pro { color:var(--amber); }
.track-desc { font-size:14px; font-weight:300; line-height:1.55; color:var(--text-mid); }

/* Gate badge */
.gate-badge { display:inline-flex; align-items:center; gap:8px; background:var(--amber-surface-sm); border:0.5px solid rgba(200,146,42,0.25); border-radius:var(--radius-md); padding:9px 14px; margin-bottom:16px; }
.gate-badge-text { font-size:14px; font-weight:400; color:rgba(229,168,61,0.9); line-height:1.4; }

/* Req grid */
.req-section-title { font-size:14px; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; color:var(--text-dim); margin-bottom:12px; }
.req-two-col { display:grid; grid-template-columns:1fr 1fr; gap:8px 20px; }
.req-row { display:flex; align-items:flex-start; gap:8px; }
.req-check { width:14px;height:14px;border-radius:50%;border:0.5px solid rgba(200,146,42,0.4);background:rgba(200,146,42,0.08);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px; }
.req-check-inner { width:5px;height:5px;border-radius:50%;background:rgba(200,146,42,0.65); }
.req-row-text { font-size:14px; font-weight:300; color:var(--text-mid); line-height:1.45; }
.req-row-text strong { font-weight:500; color:var(--text-bright); display:block; }

/* Nav arrows */
.step-nav-row { display:flex; justify-content:space-between; align-items:center; margin-top:28px; }
.step-progress { display:flex; gap:5px; }
.prog-dot { width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,0.12);transition:background var(--transition-mid),width var(--transition-mid); }
.prog-dot.active { background:var(--amber); width:18px; border-radius:3px; }
.prog-dot.done { background:rgba(200,146,42,0.35); }
