/* Modern Form Validation Styles */
.form-control.is-invalid::after,.form-control.is-valid::after{right:10px;top:50%;transform:translateY(-50%);position:absolute;font-weight:700}.form-group,.form-loading{position:relative}.audit-success-message .cta-buttons .btn,.form-results{transition:.3s}.form-control.is-valid{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-control.is-invalid{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25);animation:.5s ease-in-out shake}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.form-results{border-radius:8px;padding:15px;margin-top:15px;font-weight:500}.form-results.alert-success{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:1px solid #c3e6cb;color:#155724}.form-results.alert-danger{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:1px solid #f5c6cb;color:#721c24}.btn:disabled{opacity:.7;cursor:not-allowed}.spinner-border-sm{width:1rem;height:1rem;border-width:.15em}#free-audit-form .form-control:focus,.homepage-cta-form .form-control:focus{border-color:#de347f;box-shadow:0 0 0 .2rem rgba(222,52,127,.25)}.form-control{transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control.is-valid::after{content:'✓';color:#28a745}.form-control.is-invalid::after{content:'✗';color:#dc3545}@media (max-width:768px){.form-results{font-size:14px;padding:12px}.form-control.is-invalid,.form-control.is-valid{box-shadow:none;border-width:2px}}.form-loading{pointer-events:none;opacity:.9;transition:opacity .3s}.form-loading::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(248,249,250,.95));z-index:10;border-radius:8px;backdrop-filter:blur(2px)}.btn.loading::after,.btn.success::after,.form-loading::after{position:absolute;top:50%;left:50%}.form-loading::after{content:'';width:40px;height:40px;margin:-20px 0 0 -20px;border:3px solid rgba(222,52,127,.2);border-top:3px solid #de347f;border-radius:50%;animation:1.2s linear infinite professional-spin;z-index:11;box-shadow:0 4px 15px rgba(222,52,127,.1)}.success-checkmark,.success-checkmark.animate{animation:.4s ease-in-out .4s forwards fill,.3s ease-in-out .9s both scale}@keyframes professional-spin{0%{transform:rotate(0);opacity:1}50%{opacity:.8}100%{transform:rotate(360deg);opacity:1}}.btn.loading{position:relative;color:transparent!important;pointer-events:none}.btn.loading::after{content:'';width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #fff;border-radius:50%;animation:1s linear infinite professional-spin}.btn-gradient-pink-orange:hover:not(:disabled):not(.loading){transform:translateY(-1px);box-shadow:0 4px 15px rgba(222,52,127,.3);transition:.3s}.btn-gradient-pink-orange:active:not(:disabled):not(.loading){transform:translateY(0)}.btn.success{background:linear-gradient(135deg,#28a745,#20c997)!important;border:none;color:#fff}.success-checkmark,.success-checkmark .check-icon{height:80px;position:relative;border-radius:50%;width:80px}.btn.success::after{content:'✓';transform:translate(-50%,-50%);font-size:18px;font-weight:700}.btn:focus,.form-control:focus{outline:0}select.form-control{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px 12px;padding-right:40px}select.form-control:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23de347f' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e")}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.success-checkmark{display:block;stroke-width:3;stroke:#28a745;stroke-miterlimit:10;margin:0 auto;box-shadow:inset 0 0 0 #28a745}.success-checkmark .check-icon{box-sizing:border-box;border:3px solid #28a745}.success-checkmark .check-icon::before{top:3px;left:-2px;width:30px;transform-origin:100% 50%;border-radius:100px 0 0 100px}.success-checkmark .check-icon::after{top:0;left:30px;width:60px;transform-origin:0 50%;border-radius:0 100px 100px 0;animation:4.25s ease-in rotate-circle}.success-checkmark .check-icon::after,.success-checkmark .check-icon::before{content:'';height:100px;position:absolute;background:#fff;transform:rotate(-45deg)}.success-checkmark .icon-line{height:3px;background-color:#28a745;display:block;border-radius:2px;position:absolute;z-index:10}.success-checkmark .icon-line.line-tip{top:46px;left:14px;width:25px;transform:rotate(45deg);animation:.75s icon-line-tip}.success-checkmark .icon-line.line-long{top:38px;right:8px;width:47px;transform:rotate(-45deg);animation:.75s icon-line-long}.success-checkmark .icon-circle{top:-3px;left:-3px;z-index:10;width:80px;height:80px;border-radius:50%;position:absolute;box-sizing:content-box;border:3px solid #28a745}.success-checkmark .icon-fix{top:8px;width:5px;left:26px;z-index:1;height:85px;position:absolute;transform:rotate(-45deg);background-color:#fff}@keyframes rotate-circle{0%,5%{transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg)}}@keyframes icon-line-tip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes icon-line-long{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@keyframes fill{100%{box-shadow:inset 0 0 0 60px #28a745}}@keyframes scale{0%,100%{transform:none}50%{transform:scale3d(1.1,1.1,1)}}.audit-success-message .next-steps{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid rgba(0,0,0,.05)}.audit-success-message .step-item{text-align:center}.audit-success-message .cta-buttons .btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(0,0,0,.2)}