.proso-request { margin: 28px 0 8px; max-width: 680px; font-size: 18px; }
.proso-request h2, .proso-request h3 { font-size: 24px; margin: 0 0 12px; }
.proso-request__field { margin: 0 0 20px; }
.proso-request label { display: block; font-weight: 600; margin-bottom: 7px; }
.proso-request input:not([type=hidden]):not([type=radio]):not([type=checkbox]), .proso-request textarea, .proso-request select { display: block; width: 100%; min-height: 48px; border: 1px solid #a7b6ae; border-radius: 8px; background: #fff; color: #17261d; padding: 10px 12px; font: inherit; }
.proso-request textarea { resize: vertical; }
.proso-request input:focus-visible, .proso-request textarea:focus-visible, .proso-request select:focus-visible, .proso-request button:focus-visible { outline: 2px solid var(--primary, #2f7a46); outline-offset: 2px; }
.proso-request__channels { padding: 0; border: 0; min-width: 0; }
.proso-request .proso-request__legend { font: inherit; font-weight: 600; margin: 0 0 7px; }
.proso-request__channels .form-check { display: flex; align-items: center; gap: .5rem; min-height: 44px; padding: 8px 0; }
.proso-request__channels .form-check-input { position: static; flex: 0 0 auto; margin: 0; }
.proso-request .form-check-label { font-weight: 400; margin: 0; min-width: 0; overflow-wrap: anywhere; cursor: pointer; }
.proso-request .btn { white-space: normal; min-height: 48px; font-size: 18px; padding: 12px 22px; }
.proso-request [hidden] { display: none !important; }
.proso-request .proso-request__trap { display: none; }
.proso-request .proso-request__error { color: #a72020; font-size: 16px; line-height: 1.5; margin: 5px 0 0; }
.proso-request__error:empty { display: none; }
.proso-request [aria-invalid=true] { border: 2px solid #a72020; }
.proso-request .proso-request__hint, .proso-request__optional { font-size: 16px; color: #485b4f; line-height: 1.5; font-weight: 400; margin: 7px 0 0; }
.proso-request .proso-request__message-hint { margin: 0 0 10px; }
.proso-request .proso-request__notice { border-left: 4px solid #a72020; padding: 12px 16px; background: #fff4f2; margin: 16px 0 0; overflow-wrap: anywhere; }
.proso-request .proso-request__notice.is-success { border-color: #2e7a46; background: #edf7ee; }
.proso-request [disabled] { cursor: wait; opacity: .65; }
@media (max-width: 575.98px) { .proso-request .btn { width: 100%; } }
