.form{max-width:600px;margin:0 auto;padding:2rem;background-color:var(--color-surface);border-radius:8px;border:1px solid var(--color-border)}.form__group{margin-bottom:1.5rem}.form__label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--color-text-primary);font-size:1rem}.form__input,.form__textarea{width:100%;padding:.75rem;border:2px solid var(--color-border);border-radius:4px;background-color:var(--color-background);color:var(--color-text-primary);font-size:1rem;transition:border-color .3s,box-shadow .3s}.form__input:focus,.form__textarea:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(78,187,80,.1)}.form__input::placeholder,.form__textarea::placeholder{color:var(--color-text-secondary)}.form__textarea{resize:vertical;min-height:120px}.form__submit{padding:.75rem 2rem;border:none;border-radius:4px;background-color:var(--color-primary);color:var(--color-surface);font-size:1.1rem;font-weight:600;cursor:pointer;transition:background-color .3s,transform .2s;min-width:120px}.form__submit:hover{background-color:#45a047;transform:translateY(-1px)}.form__submit:focus{outline:0;box-shadow:0 0 0 3px rgba(78,187,80,.3)}.form__submit:disabled{background-color:var(--color-text-secondary);cursor:not-allowed;transform:none}.form__option-group{border:none;padding:0;margin:0 0 1.5rem}.form__option-group legend{color:var(--color-text-primary);font-weight:600;margin-bottom:1rem;font-size:1rem}.form__option{display:flex;align-items:center;margin-bottom:.75rem;padding:.5rem;border-radius:4px;transition:background-color .2s}.form__option:hover{background-color:var(--color-background)}.form__radio{margin-right:.75rem;accent-color:var(--color-primary)}.form__option-label{color:var(--color-text-primary);cursor:pointer;font-size:.95rem}.form__message{font-size:.9rem;margin-top:1rem;padding:.75rem;border-radius:4px;text-align:center;font-weight:500;tabindex:0}.form__message--error{color:#ff6b6b;background-color:rgba(255,107,107,.1);border:1px solid rgba(255,107,107,.3)}.form__message--success{color:#51cf66;background-color:rgba(81,207,102,.1);border:1px solid rgba(81,207,102,.3)}.form__input--error{border-color:#ff6b6b}.form__input--error:focus{border-color:#ff6b6b;box-shadow:0 0 0 3px rgba(255,107,107,.1)}.form__input--success{border-color:#51cf66}.form__input--success:focus{border-color:#51cf66;box-shadow:0 0 0 3px rgba(81,207,102,.1)}.form__label--required::after{content:" *";color:#ff6b6b}.form__submit--loading{position:relative;color:transparent}.form__submit--loading::after{content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;margin-top:-8px;margin-left:-8px;border:2px solid transparent;border-top-color:var(--color-surface);border-radius:50%;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@media (max-width:768px){.form{padding:1.5rem;margin:0 1rem}.form__input,.form__submit,.form__textarea{font-size:1rem}.form__submit{width:100%;padding:1rem}.form__message{font-size:.85rem}}@media (max-width:480px){.form{padding:1rem}.form__input,.form__label,.form__textarea{font-size:.9rem}}@media (prefers-contrast:high){.form__input,.form__textarea{border-width:3px}.form__submit{border:2px solid var(--color-primary)}.form__message--error,.form__message--success{border-width:2px}}@media (prefers-reduced-motion:reduce){.form__input,.form__option,.form__submit,.form__textarea{transition:none}.form__submit:hover{transform:none}.form__submit--loading::after{animation:none}}