.form-section{background-color:#0a0a1a;padding:80px 20px;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center}
.form-header-text{text-align:center;margin-bottom:40px;max-width:700px}
.form-tagline{font-size:1.8rem;color:#fff;margin-bottom:10px;font-weight:400;line-height:1.4}
.form-tagline .highlight-purple{color:#a855f7;font-weight:600}
.form-main-title{font-size:4rem;color:#a855f7;font-weight:700;font-style:italic;margin:0}
.form-card{background:#fff;border-radius:16px;padding:40px 50px;max-width:750px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.form-step{display:block}.form-step.hidden{display:none}
.form-progress{margin-bottom:30px}
.progress-text{font-size:.95rem;color:#333;margin-bottom:10px;display:block}
.progress-bar-container{background:#e5e7eb;border-radius:50px;height:24px;overflow:hidden;position:relative}
.progress-bar-fill{background:linear-gradient(90deg,#22d3ee,#3b82f6);height:100%;border-radius:50px;display:flex;align-items:center;justify-content:center;transition:width .4s ease}
.progress-percent{color:#fff;font-size:.75rem;font-weight:600}
.application-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.application-form .form-group{display:flex;flex-direction:column}
.application-form .form-group.full-width{margin-bottom:20px}
.application-form label{font-size:.95rem;color:#1f2937;margin-bottom:8px;font-weight:500}
.application-form label .required{color:#ef4444}
.application-form input[type="text"],.application-form input[type="email"],.application-form input[type="tel"],.application-form select{padding:14px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;color:#374151;background:#fff;transition:border-color .2s ease,box-shadow .2s ease;width:100%;box-sizing:border-box}
.application-form input::placeholder{color:#9ca3af}
.application-form input:focus,.application-form select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.1)}
.application-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:20px;padding-right:40px;cursor:pointer}
.phone-input-wrapper{position:relative;display:flex;border:1px solid #d1d5db;border-radius:8px;overflow:visible}
.phone-input-wrapper:focus-within{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.1)}
.country-code-selector{display:flex;align-items:center;gap:6px;padding:14px 12px;background:#f9fafb;border-right:1px solid #d1d5db;cursor:pointer;min-width:100px;transition:background .2s}
.country-code-selector:hover{background:#f3f4f6}
.selected-flag{font-size:1.3rem}.selected-code{font-size:.9rem;color:#374151;font-weight:500}
.dropdown-arrow{font-size:.6rem;color:#6b7280;margin-left:auto}
.phone-input-wrapper input[type="tel"]{border:none;flex:1;padding:14px 16px;border-radius:0 8px 8px 0;min-width:0}
.phone-input-wrapper input[type="tel"]:focus{outline:none;box-shadow:none}
.country-dropdown{position:absolute;top:100%;left:0;width:280px;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.15);z-index:1000;display:none;margin-top:4px}
.country-dropdown.active{display:block}
.country-search{width:100%;padding:12px 16px;border:none;border-bottom:1px solid #e5e7eb;font-size:.95rem;border-radius:8px 8px 0 0}
.country-search:focus{outline:none;box-shadow:none}
.country-list{list-style:none;margin:0;padding:0;max-height:200px;overflow-y:auto}
.country-list li{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .2s}
.country-list li:hover{background:#f3f4f6}
.country-list li .flag{font-size:1.2rem}.country-list li .name{flex:1;color:#374151}.country-list li .code{color:#6b7280;font-size:.9rem}
.radio-group{margin-bottom:30px}
.question-label{font-size:1rem;color:#1f2937;font-weight:600;margin-bottom:15px;display:block;line-height:1.5}
.radio-options{display:flex;flex-direction:column;gap:12px}
.radio-option{display:flex;align-items:flex-start;cursor:pointer;padding:12px 16px;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s ease}
.radio-option:hover{border-color:#6366f1;background:#f8f9ff}
.radio-option input[type="radio"]{display:none}
.radio-custom{width:20px;height:20px;border:2px solid #d1d5db;border-radius:50%;margin-right:12px;flex-shrink:0;position:relative;transition:all .2s ease;margin-top:2px}
.radio-option input[type="radio"]:checked+.radio-custom{border-color:#6366f1}
.radio-option input[type="radio"]:checked+.radio-custom::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:#6366f1;border-radius:50%}
.radio-text{color:#374151;font-size:.95rem;line-height:1.4}
.form-actions{display:flex;justify-content:flex-end;margin-top:30px}
.form-actions-dual{justify-content:space-between}
.btn-siguiente,.btn-aplicar{background:#6366f1;color:#fff;border:none;padding:14px 40px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease}
.btn-siguiente:hover,.btn-aplicar:hover{background:#4f46e5;transform:translateY(-2px)}
.btn-back{background:transparent;color:#6b7280;border:1px solid #d1d5db;padding:14px 30px;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}
.btn-back:hover{background:#f3f4f6;border-color:#9ca3af}
.btn-aplicar:disabled{background:#9ca3af;cursor:not-allowed;transform:none}
.btn-aplicar.loading{position:relative;color:transparent}
.btn-aplicar.loading::after{content:'';position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid #fff;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:768px){.form-section{padding:60px 15px}.form-tagline{font-size:1.4rem}.form-main-title{font-size:2.8rem}.form-card{padding:30px 25px}.application-form .form-row{grid-template-columns:1fr;gap:15px}.country-dropdown{width:100%}}
@media(max-width:480px){.form-tagline{font-size:1.2rem}.form-main-title{font-size:2.2rem}.form-card{padding:25px 20px}.btn-siguiente,.btn-aplicar{width:100%}.form-actions{flex-direction:column;gap:15px}.form-actions-dual{flex-direction:column-reverse}.btn-back{width:100%}}
