:root{--opp-violet:#221e59;--opp-yellow:#ffc32b;--opp-shadow:0 20px 40px rgba(34,30,89,.15);--opp-radius:20px}.opp-form-section{padding:80px 20px;background:linear-gradient(to bottom,#fff 50%,#f9fafb 50%);font-family:'Outfit',sans-serif}.opp-form-container{max-width:900px;margin:0 auto;background:#fff;border-radius:var(--opp-radius);box-shadow:var(--opp-shadow);padding:60px;border-top:6px solid var(--opp-yellow)}.opp-form-header{text-align:center;margin-bottom:40px}.opp-form-header h2{color:var(--opp-violet);font-size:1.9rem;margin-bottom:10px;line-height:1.3}.opp-form-header p{color:#718096;font-size:1rem}#opp-form-response{padding:14px 18px;border-radius:10px;margin-bottom:24px;font-size:.95rem;font-weight:500}#opp-form-response.opp-success{background-color:#d1fae5;color:#065f46;border:1px solid #6ee7b7}#opp-form-response.opp-error{background-color:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.opp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-bottom:25px}.opp-input-group{display:flex;flex-direction:column}.opp-input-group.opp-full{grid-column:span 2}.opp-input-group label,.opp-input-group>label{font-weight:600;margin-bottom:8px;color:#1a1a1a;font-size:.95rem;display:block}.opp-form-container input[type=text],.opp-form-container input[type=tel],.opp-form-container input[type=email],.opp-form-container input[type=date],.opp-form-container select,.opp-form-container textarea{padding:14px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:1rem;font-family:'Outfit',sans-serif;transition:all .3s ease;background-color:#fcfcfc;color:#1a1a1a;width:100%;box-sizing:border-box}.opp-form-container input[type=text]:focus,.opp-form-container input[type=tel]:focus,.opp-form-container input[type=email]:focus,.opp-form-container input[type=date]:focus,.opp-form-container select:focus,.opp-form-container textarea:focus{border-color:var(--opp-violet);box-shadow:0 0 0 3px rgba(34,30,89,.1);background-color:#fff;outline:none}.opp-radio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:5px}.opp-radio-card{position:relative;cursor:pointer}.opp-radio-card input[type=radio]{position:absolute;opacity:0;width:0;height:0}.opp-radio-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .25s ease;font-size:.95rem;color:#4a4a4a;font-weight:500;text-align:center}.opp-radio-card input[type=radio]:checked+.opp-radio-content{border-color:var(--opp-violet);background-color:rgba(34,30,89,.05);color:var(--opp-violet);font-weight:700}.opp-radio-card input[type=radio]:checked+.opp-radio-content:after{content:'✓';position:absolute;top:6px;right:10px;color:var(--opp-violet);font-size:12px;font-weight:700}.opp-upload-area{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding:14px 16px;border:2px dashed #e2e8f0;border-radius:10px;background:#fcfcfc}.opp-upload-area input[type=file]{border:none;background:0 0;padding:0;font-size:.9rem}.opp-upload-note{font-size:.8rem;color:#a0aec0}.opp-file-list{margin-top:10px;font-size:.85rem;color:#4a4a4a}.opp-file-list .opp-file-item{display:flex;align-items:center;gap:8px;padding:4px 0}.opp-file-item .opp-file-icon{color:var(--opp-violet)}.opp-file-item .opp-file-size{color:#a0aec0;font-size:.78rem}.opp-file-item .opp-file-warn{color:#e53e3e;font-size:.78rem}.opp-submit-btn{background-color:var(--opp-violet);color:#fff;font-size:1.1rem;font-weight:600;padding:16px;border:none;border-radius:10px;cursor:pointer;width:100%;transition:transform .2s,background-color .2s,box-shadow .2s;font-family:'Outfit',sans-serif}.opp-submit-btn:hover:not(:disabled){background-color:#1a1744;transform:translateY(-2px);box-shadow:0 10px 20px rgba(34,30,89,.2)}.opp-submit-btn:disabled{opacity:.65;cursor:not-allowed}@media (max-width:900px){.opp-form-container{padding:40px 30px}}@media (max-width:600px){.opp-form-row{grid-template-columns:1fr}.opp-input-group.opp-full{grid-column:span 1}.opp-radio-grid{grid-template-columns:1fr}.opp-form-container{padding:30px 20px}.opp-form-header h2{font-size:1.4rem}}