.section-sim { padding: 44px 0 48px; position: relative; }
.section-sim::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(138,43,226,0.12) 0%, transparent 60%);
  pointer-events: none;
}
.hero-tag {
  font-size: 0.72rem; letter-spacing: 5px; color: #9b7ecf;
  text-transform: uppercase; font-weight: 500; text-align: center; margin-bottom: 6px;
}
.hero-title {
  font-size: clamp(1.6rem, 5vw, 2.6rem); font-weight: 900; text-align: center;
  line-height: 1.25; margin-bottom: 14px;
  background: linear-gradient(135deg, #d4b8ff, #ff8adb, #b89aff);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.hero-desc {
  font-size: clamp(0.88rem, 2.2vw, 1.05rem); color: var(--text-dim);
  text-align: center; max-width: 620px; margin: 0 auto 28px; line-height: 1.7;
}
.hero-desc strong { color: #d4b8ff; }

.ctx-card {
  background: linear-gradient(135deg, rgba(138,43,226,0.12), rgba(255,138,219,0.06));
  border: 1px solid var(--purple-dim); border-radius: 16px;
  padding: 20px 28px; max-width: 600px; margin: 0 auto 32px;
  display: flex; flex-wrap: wrap; gap: 14px 24px; justify-content: center; align-items: center;
}
.ctx-cell { text-align: center; }
.ctx-label { font-size: 0.78rem; color: var(--text-dim); margin-bottom: 2px; }
.ctx-sub { font-size: 0.72rem; color: #7a6a92; }
.ctx-val { font-size: 1.55rem; font-weight: 900; }
.ctx-val.red { color: var(--red); }
.ctx-val.green { color: var(--green); }
.ctx-arrow { color: #555; font-size: 1.2rem; }
.ctx-pct { font-size: 0.85rem; color: #b89aff; font-weight: 500; }
.ctx-pct strong { font-size: 1.2rem; font-weight: 900; color: #ff8adb; }

.btn-wrap { text-align: center; margin-bottom: 30px; }
.btn-sim {
  background: rgba(255,255,255,0.04); border: 1px solid var(--purple-dim);
  color: #d4b8ff; border-radius: 28px; padding: 14px 32px;
  font-size: 0.98rem; font-weight: 600; font-family: inherit;
  cursor: pointer; transition: all 0.3s; display: inline-flex; align-items: center; gap: 8px;
}
.btn-sim:hover { background: rgba(138,43,226,0.18); transform: translateY(-1px); }
.btn-sim.active { background: rgba(138,43,226,0.3); box-shadow: 0 0 24px rgba(138,43,226,0.25); }
.btn-sim:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }

@media (max-width: 600px) {
  .ctx-card { padding: 16px 14px; gap: 10px 12px; }
  .ctx-val { font-size: 1.3rem; }
  .btn-sim { padding: 12px 22px; font-size: 0.9rem; }
}
