.mobile-form-container{scroll-margin-top:20px}.mobile-form-start{margin-top:max(20px,env(safe-area-inset-top));scroll-snap-type:y mandatory;scroll-snap-align:start}@media (max-width:640px){.mobile-form-container{scroll-behavior:smooth}.form-scroll-anchor{scroll-margin-top:60px;scroll-snap-align:start}}.back-button,.compact-form button,.contact-form button,.form-button,.next-button,.service-card,.submit-button{min-height:44px;min-width:44px;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,0);user-select:none}.service-card{min-height:80px;padding:16px;border-radius:12px;transition:all .2s ease}.service-card:active{transform:scale(.98);transition:transform .1s ease}@media (max-width:768px){.compact-form-input,.contact-form-input,.form-textarea{min-height:48px;font-size:16px;padding:12px 16px;border-radius:8px;touch-action:manipulation}.contact-form-input-group{gap:16px}.contact-form-input-wrapper{margin-bottom:20px}.service-selection-grid{grid-template-columns:1fr;gap:12px;margin:20px 0}.form-progress{margin:16px 0 24px}.form-progress-step{min-height:44px;display:flex;align-items:center;justify-content:center}.form-navigation-buttons{gap:12px;position:sticky;bottom:0;background:var(--background);border-top:1px solid var(--border);margin:0 -20px;padding:20px}.next-button,.submit-button{min-height:48px;padding:0 24px;font-size:16px;font-weight:600;border-radius:8px;width:100%}.back-button{min-height:48px;padding:0 20px;background:transparent;border:2px solid var(--border);color:var(--foreground)}.compact-form{padding:20px;border-radius:12px}.compact-form-input{min-height:48px;font-size:16px;padding:12px 16px;margin-bottom:16px}.compact-form-submit-button{min-height:48px;width:100%;font-size:16px;font-weight:600;padding:0 24px;border-radius:8px;background:var(--primary);color:var(--primary-foreground);border:none;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,0)}.compact-form-submit-button:disabled{opacity:.6;cursor:not-allowed}.compact-form-submit-button:not(:disabled):active{transform:scale(.98);transition:transform .1s ease}.form-loading{pointer-events:none}.form-loading .compact-form-submit-button,.form-loading .submit-button{position:relative;color:transparent}.form-loading .compact-form-submit-button:after,.form-loading .submit-button:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid;border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.contact-form-step{padding:0 20px 20px;min-height:calc(100vh - 200px)}.step-title{font-size:20px;margin-bottom:20px;text-align:center}.message-type-grid{grid-template-columns:1fr;gap:12px}.message-type-card{min-height:80px;padding:16px;text-align:left;display:flex;align-items:center;gap:16px}.message-type-icon{flex-shrink:0;width:40px;height:40px}.form-error{background:var(--destructive);color:var(--destructive-foreground);padding:12px 16px;border-radius:8px;margin:16px 0;font-size:14px;min-height:44px}.form-error,.form-success{display:flex;align-items:center}.form-success{background:var(--success);color:var(--success-foreground);padding:16px;border-radius:12px;margin:20px 0;text-align:center;min-height:60px;justify-content:center}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.message-type-card,.service-card{border-width:.5px}}@media (prefers-reduced-motion:reduce){.compact-form-submit-button,.message-type-card,.service-card,.submit-button{transition:none}.form-loading .compact-form-submit-button:after,.form-loading .submit-button:after{animation:none}}@media (prefers-color-scheme:dark){.message-type-card:active,.service-card:active{background:rgba(255,255,255,.1)}}.compact-form button:focus,.contact-form button:focus,.message-type-card:focus,.service-card:focus{outline:2px solid var(--ring);outline-offset:2px}.back-button,.form-button,.message-type-card,.next-button,.service-card,.submit-button{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@supports (-webkit-touch-callout:none){.compact-form-input,.contact-form-input,.form-textarea{-webkit-appearance:none;border-radius:8px}.compact-form-submit-button,.next-button,.submit-button{-webkit-appearance:none}}