.form-panel [hidden] { display: none !important; }
.form-step { padding: 0; margin: 28px 0 0; border: 0; min-width: 0; }
.form-step legend { padding: 0 0 18px; font-weight: 650; font-size: 16px; color: #234d34; }
.form-progress { display: flex; gap: 14px; padding: 0; margin: 24px 0 0; list-style-position: inside; font-size: 12px; color: #516355; }
.form-progress li { flex: 1; padding-bottom: 10px; border-bottom: 2px solid #dce4d8; }
.form-progress [aria-current] { color: #133d31; border-color: #133d31; font-weight: 700; }
.form-actions { display: flex; gap: 12px; margin-top: 25px; }
.form-actions .btn { flex: 1; min-height: 46px; }
.form-actions .full-btn { width: auto; }
.form-demo { background: #eef2e9; border-left: 3px solid #52704e; padding: 12px; font-size: 13px; line-height: 1.6; }
.form-result { padding: 22px 0; line-height: 1.65; }
.form-result h3 { font-family: var(--serif, Georgia, serif); font-size: 28px; font-weight: 400; }
.form-result p { font-size: 14px; }
.photo-feedback { display: block; font-weight: 400; font-size: 12px; line-height: 1.5; margin-top: 9px; overflow-wrap: anywhere; }
.photo-remove { margin-top: 8px; border: 0; background: transparent; color: #234d34; text-decoration: underline; padding: 8px 0; font: inherit; cursor: pointer; }
.form-panel :focus-visible { outline: 2px solid #133d31; outline-offset: 3px; }
.form-panel [aria-invalid="true"] { border-color: #a13c34; }
.form-panel button:disabled { opacity: .55; cursor: wait; transform: none; }
@media(max-width: 440px) { .form-progress { gap: 8px; font-size: 11px; } .form-actions .btn { padding: 13px 12px; } .form-step legend { font-size: 15px; } }
