.tfm-intake { max-width: 720px; margin: 0 auto; }
.tfm-intake h2 { margin: 0 0 12px; font-size: 28px; }
.tfm-intake label { display:block; font-weight:600; margin: 14px 0 6px; }
.tfm-intake input, .tfm-intake select, .tfm-intake textarea {
  width: 100%; padding: 12px 14px; border: 1px solid #ddd; border-radius: 10px;
}
.tfm-step { display:none; padding: 20px; border: 1px solid #eee; border-radius: 16px; }
.tfm-step.is-active { display:block; }

.tfm-actions { display:flex; gap: 10px; margin-top: 18px; }
.tfm-actions button {
  padding: 12px 16px; border-radius: 12px; border: 0; cursor: pointer;
}
.tfm-next, .tfm-submit { font-weight: 700; }
.tfm-back { opacity: 0.85; }

.tfm-progress { margin: 0 0 14px; }
.tfm-progress-bar { height: 8px; background: #111; border-radius: 999px; }
.tfm-progress-text { margin-top: 8px; font-size: 14px; opacity: 0.8; }

.tfm-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 8px; }
.tfm-check { display:flex; align-items:center; gap: 10px; padding: 10px 12px; border: 1px solid #eee; border-radius: 12px; }
.tfm-check input { width: auto; }

.tfm-status { margin-top: 12px; font-size: 14px; }
.tfm-conditional { margin-top: 10px; }

.tfm-hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }