.tf-card{position:relative;display:flex;flex-direction:column;max-width:640px;margin:0 auto;padding:28px 36px 30px;background:var(--color-bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.tf-progress{position:absolute;top:0;left:0;right:0;height:4px;background:var(--color-border-soft)}.tf-progress__bar{display:block;height:100%;background:var(--wp--preset--color--text-link);border-radius:0 4px 4px 0;transition:width .35s ease}.tf-step{display:flex;flex-direction:column;min-height:250px;padding-top:26px;animation:tf-slide-in .3s ease both}.tf-step--forward{animation-name:tf-slide-forward}.tf-step--back{animation-name:tf-slide-back}@keyframes tf-slide-forward{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@keyframes tf-slide-back{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:translate(0)}}.tf-step__meta{display:block;margin-bottom:14px;color:var(--wp--preset--color--text-light);font-size:.8rem;font-weight:500;letter-spacing:.04em}.tf-question{display:block;margin-bottom:10px;color:var(--wp--preset--color--text-dark);font-family:stolzl,sans-serif;font-size:clamp(1.3rem,2vw,1.7rem);font-weight:500;line-height:1.35}.tf-question__required{color:var(--wp--preset--color--text-link)}.tf-sublabel{margin:0 0 18px;color:var(--wp--preset--color--text-light);font-size:.95rem;line-height:1.6}.tf-input{width:100%;height:60px;padding:0 18px;box-sizing:border-box;border:1px solid var(--color-border-strong);border-radius:16px;background:var(--color-bg-surface);color:var(--wp--preset--color--text-dark);font-family:inherit;font-size:1.05rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.tf-input--area{height:auto;min-height:130px;padding:16px 18px;resize:vertical;line-height:1.6}.tf-input::placeholder{color:var(--wp--preset--color--text-light);opacity:.75}.tf-input:focus{border-color:var(--wp--preset--color--text-link);box-shadow:0 0 0 3px #00a2d726}.tf-error{margin:10px 0 0;color:#c0392b;font-size:.85rem;font-weight:500}.tf-error--submit{margin:0 0 14px;padding:12px 16px;border:1px solid #d78f80;border-radius:var(--radius-sm);background:#fff5f2;color:#842a18}.tf-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:26px;min-height:52px}.tf-btn{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid var(--color-border-strong);border-radius:50%;background:var(--color-bg-surface);color:var(--wp--preset--color--text-dark);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.tf-btn:hover{background:var(--color-bg-muted);border-color:var(--wp--preset--color--text-link);color:var(--wp--preset--color--text-link)}.tf-btn--next{background:var(--wp--preset--color--text-link);border-color:var(--wp--preset--color--text-link);color:#fff}.tf-btn--next:hover{background:var(--wp--preset--color--text-hover);border-color:var(--wp--preset--color--text-hover);color:#fff;transform:translateY(-2px)}.tf-btn--next:disabled,.tf-btn--back:disabled{opacity:.55;cursor:not-allowed;transform:none}.tf-submit{min-width:220px}.tf-submit:disabled{opacity:.55;cursor:not-allowed}.tf-helper{margin:18px 0 0;color:var(--wp--preset--color--text-light);font-size:.8rem}.tf-card--success{align-items:center;justify-content:center;min-height:340px;padding:60px 40px;text-align:center}.tf-success__icon{display:flex;align-items:center;justify-content:center;width:68px;height:68px;margin-bottom:22px;border-radius:50%;background:var(--wp--preset--color--text-link);color:#fff}.tf-success__eyebrow{color:var(--wp--preset--color--text-hover);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.tf-success__title{margin:10px 0 8px;color:var(--wp--preset--color--text-dark);font-size:clamp(1.5rem,2.5vw,2rem)}.tf-success__body{margin:0;color:var(--wp--preset--color--text-light);line-height:1.6}.tf-success__ref{display:block;margin-top:14px;color:var(--wp--preset--color--text-light)}.tf-success__action{margin-top:26px}@media(max-width:560px){.tf-card{padding:22px 20px 26px}.tf-step{min-height:220px}.tf-actions{justify-content:space-between}.tf-btn{flex:0 0 52px}.tf-submit{flex:1 1 auto;min-width:0}}@media(prefers-reduced-motion:reduce){.tf-step{animation:none}.tf-progress__bar{transition:none}}
