.form{display:flex;justify-content:center;align-items:center;min-height:80vh;padding:20px;margin:5vh 0;scroll-margin-top:15vh}.form-container{background-color:#fff;width:100%;max-width:700px;padding:2.5rem;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,.05);position:relative}.form-container h2{color:#111;font-weight:700;margin-bottom:.5rem;font-size:1.8rem;text-align:center}.form-container .subtitle{color:#666;text-align:center;margin-bottom:2rem;font-size:.95rem}.ajax-form{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.full-width{grid-column:span 2}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:#444;font-weight:600}.form-group input:invalid,.form-group select:invalid{border-color:transparent}.form-group input[type=email],.form-group input[type=number],.form-group input[type=tel],.form-group input[type=text],.form-group select,.form-group textarea{background-color:#f3f4f6;border:2px solid transparent;border-radius:10px;padding:.8rem 1rem;font-size:1rem;color:#333;outline:0;transition:.3s;width:100%;font-family:Inter,sans-serif}.form-group textarea{resize:vertical;min-height:80px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background-color:#fff;border-color:#e5e7eb;box-shadow:0 0 0 4px rgba(0,0,0,.05)}.radio-group{display:flex;gap:1.5rem;padding-top:.3rem}.radio-option{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:#333;cursor:pointer}.radio-option input[type=radio]{appearance:none;-webkit-appearance:none;width:20px;height:20px;border:2px solid #ccc;border-radius:50%;margin:0;display:grid;place-content:center;transition:.2s}.radio-option input[type=radio]::before{content:"";width:10px;height:10px;border-radius:50%;transform:scale(0);transition:transform 120ms ease-in-out;box-shadow:inset 1em 1em #111}.radio-option input[type=radio]:checked{border-color:#111}.radio-option input[type=radio]:checked::before{transform:scale(1)}.submit-btn{background-color:#00a3ff;color:#fff;padding:1rem;border:none;border-radius:6px;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;transition:background-color .3s,transform .2s;margin-top:1rem;cursor:pointer}.submit-btn:hover{background-color:#008be5;transform:translateY(-2px)}.error-banner{background-color:#fee2e2;color:#991b1b;padding:1rem;border-radius:8px;margin-bottom:1.5rem;text-align:center;border:1px solid #f87171;font-weight:600;font-size:.95rem;animation:.3s ease-out slideDown}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.hidden{display:none!important}.fade-in{animation:.5s ease-in-out forwards fadeIn}.fade-out{animation:.5s ease-in-out forwards fadeOut}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.success-message{text-align:center;padding:3rem 1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:40vh}.success-icon{width:60px;height:60px;margin-bottom:1.5rem;color:#10b981;background-color:#d1fae5;border-radius:50%;padding:12px;display:flex;align-items:center;justify-content:center;animation:.5s cubic-bezier(.175,.885,.32,1.275) forwards popIn;transform:scale(0)}.success-icon svg{width:100%;height:100%;stroke-dasharray:50;stroke-dashoffset:50;animation:.6s ease-out .3s forwards drawCheck}@keyframes popIn{to{transform:scale(1)}}@keyframes drawCheck{to{stroke-dashoffset:0}}.success-message h3{color:#111;font-size:1.5rem;margin-bottom:.5rem}.success-message p{color:#666;margin-bottom:2rem}.new-quote-btn{background-color:transparent;color:#111;border:2px solid #111;padding:.8rem 1.5rem;border-radius:8px;font-weight:600;transition:.3s;cursor:pointer}.new-quote-btn:hover{background-color:#111;color:#fff}@media (max-width:600px){.ajax-form{grid-template-columns:1fr}.full-width{grid-column:span 1}}