:root{--primary:#003366;--primary-hover:#004d80;--secondary:#F3F4F6;--text:#1F2937;--text-light:#6B7280}body{font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.container.mt-5{margin-bottom:30px;max-width:960px}.step-indicator[data-step="1"]{display:none!important}.progress{height:5px;background-color:#e5e7eb;border-radius:3px}#form-progress-bar{background:linear-gradient(90deg,#003366,#0066cc);transition:width 0.5s ease}.form-header{box-shadow:0 4px 6px -1px rgba(0,0,0,0.1);transition:all 0.3s ease;background:linear-gradient(135deg,#003366,#004d80)!important;border-radius:0.5rem 0.5rem 0 0}.form-header h3{color:#ffffff!important}.form-tips{background-color:rgba(0,51,102,0.05);border-left:4px solid #003366;padding:1rem;margin-top:1rem;margin-bottom:1.5rem;border-radius:0 0.5rem 0.5rem 0}.tip-content{display:flex;align-items:flex-start}.tip-icon{color:#FFC107;font-size:1.2rem;margin-right:0.75rem;margin-top:0.25rem;flex-shrink:0}.tip-content p{margin-bottom:0;color:#4B5563;font-size:0.95rem}.form-card{border:1px solid #E5E7EB;border-top:none;transition:transform 0.3s ease,box-shadow 0.3s ease;min-height:200px}.form-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,0.1)}.form-floating{position:relative;margin-bottom:1.5rem}.form-floating:last-child{margin-bottom:0}.form-floating label{color:var(--text-light);transition:all 0.2s ease-in-out;position:absolute;top:0;left:0;height:100%;padding:1rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;font-size:1rem;opacity:0.7}.form-control:focus~label,.form-control:not(:placeholder-shown)~label,.form-select:focus~label,.form-select:not([value=""]):valid~label,.form-control[value]:not([value=""])~label{transform:scale(0.75) translateY(-0.5rem) translateX(0.15rem);background-color:white;padding:0.25rem 0.5rem;height:auto;opacity:1;color:var(--primary);font-weight:500;z-index:2}.form-floating input:not(:placeholder-shown)~label,.form-floating select:not([value=""])~label,.form-floating input[value]:not([value=""])~label{transform:scale(0.75) translateY(-0.5rem) translateX(0.15rem);background-color:white;padding:0.25rem 0.5rem;height:auto;opacity:1;color:var(--primary);font-weight:500;z-index:2}.form-control,.form-select{border-radius:8px;padding:0.75rem 1rem;height:auto;min-height:calc(2.75rem + 2px);line-height:1.25;border:2px solid #E5E7EB;transition:border-color 0.3s ease,box-shadow 0.3s ease;background-color:white;position:relative;z-index:1}.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,51,102,0.1);outline:none}.form-label{display:block;margin-bottom:0.5rem;font-weight:600;color:#374151;font-size:0.95rem}.form-control.has-value,.form-select:not([value=""]){border-color:var(--primary)}.step-indicator{text-align:center;z-index:1;width:80px}.step-bubble{width:42px;height:42px;border-radius:50%;background:#f1f5f9;color:#94a3b8;border:2px solid #e2e8f0;display:flex;align-items:center;justify-content:center;margin:0 auto 6px;font-size:1rem;transition:all 0.3s ease}.step-indicator.active .step-bubble{background:var(--primary);color:white;border-color:var(--primary);transform:scale(1.1);box-shadow:0 0 0 4px rgba(0,51,102,0.12)}.step-indicator.completed .step-bubble{background:#10B981;color:white;border-color:#10B981}.step-title{display:block;font-size:0.75rem;color:var(--text-light);font-weight:500;transition:color 0.3s ease;letter-spacing:0.01em}.step-indicator .step-title-small{display:block;font-size:0.65rem!important;color:var(--text-light);font-weight:400!important;transition:color 0.3s ease;letter-spacing:0.02em;text-transform:uppercase;line-height:1.2}.step-indicator.active .step-title,.step-indicator.active .step-title-small{color:var(--primary);font-weight:600!important}.progress-line{position:absolute;top:21px;left:45px;right:45px;height:2px;background:#e2e8f0;z-index:0}.btn-primary{background:var(--primary);border:none;padding:12px 24px;font-size:1rem;transition:all 0.3s ease}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 6px -1px rgba(0,51,102,0.2)}.btn-outline-secondary{color:#374151;border:2px solid #d1d5db;background:#ffffff;transition:all 0.3s ease;font-weight:600}.btn-outline-secondary:hover{background:#f3f4f6;border-color:#9ca3af;color:#1f2937}.btn-success{background:linear-gradient(135deg,#10B981,#059669);border:none;transition:all 0.3s ease;font-weight:600;letter-spacing:0.3px}.btn-success:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 12px rgba(5,150,105,0.3)}.btn-success:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);opacity:0.7;cursor:not-allowed;transform:none;box-shadow:none}.btn-lg{padding:0.85rem 2rem;border-radius:12px;font-weight:600;font-size:1rem}.form-step{opacity:0;transform:translateY(20px);transition:all 0.4s ease;display:none;margin-bottom:0}.form-step.active{opacity:1;transform:translateY(0);display:block}.witness-section{background-color:#F9FAFB;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;border-left:4px solid var(--primary)}.witness-section:last-child{margin-bottom:0}.witness-title{color:var(--primary);font-weight:600}.deed-poll-option{border:2px solid #E5E7EB;border-radius:16px;padding:1.5rem;cursor:pointer;height:100%;transition:all 0.3s ease;background:#FFFFFF;position:relative;overflow:hidden}.deed-poll-label{display:flex;flex-direction:column;align-items:center;cursor:pointer;width:100%;height:100%}.deed-poll-icon{width:90px;height:90px;margin-bottom:1.25rem;display:flex;align-items:center;justify-content:center;background:rgba(0,51,102,0.05);border-radius:50%;padding:15px;transition:all 0.3s ease}.deed-poll-option:hover .deed-poll-icon,.deed-poll-option.selected .deed-poll-icon{background:rgba(0,51,102,0.1);transform:scale(1.05)}.deed-poll-text h5{font-size:1.15rem;font-weight:600;color:var(--primary);margin-bottom:0.5rem}.deed-poll-option:hover{border-color:var(--primary);transform:translateY(-5px);box-shadow:0 15px 30px rgba(0,51,102,0.1)}.deed-poll-option:before{content:'';position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border:2px solid transparent;border-radius:16px;transition:all 0.3s ease}.deed-poll-radio:checked+.deed-poll-label .deed-poll-option:before,.deed-poll-option.selected:before{border-color:var(--primary);background:linear-gradient(to bottom right,rgba(0,51,102,0),rgba(0,51,102,0.05))}.deed-poll-radio:checked+.deed-poll-label .deed-poll-text h5,.deed-poll-option.selected .deed-poll-text h5{color:var(--primary);font-weight:700}.card-body{padding:1.5rem;height:100%}#step-4 .form-card,#step-5 .form-card{min-height:250px}.form-floating:last-of-type{margin-bottom:0}.is-invalid{border-color:#dc3545!important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.has-error{border:1px solid #dc3545;border-radius:8px;padding:8px;background-color:rgba(220,53,69,0.05)}.error-message{font-size:0.85rem;margin-top:0.25rem;color:#dc3545}.validation-alert{position:relative;margin-top:15px;margin-bottom:15px;border-radius:8px}.form-floating .is-invalid~label{color:#dc3545}.form-floating .is-invalid:focus~label{color:#dc3545}.form-check .is-invalid{background-image:none}.form-check.has-error{background-color:transparent;border:none;padding-left:0}.form-check .error-message{margin-left:1.5rem}#special-sections-container.active{display:block!important;height:auto!important;overflow:visible!important;position:static!important;left:auto!important;visibility:visible!important;z-index:1!important}#child-deed-poll-section.active{display:block!important;height:auto!important;overflow:visible!important;position:static!important;left:auto!important;visibility:visible!important;z-index:1!important}.validation-alert{margin-bottom:1rem}.confirmation-section{background-color:rgba(0,51,102,0.02);border:1px solid rgba(0,51,102,0.1);border-radius:0.5rem;padding:1.25rem;margin-top:1.5rem}.confirmation-section .form-check{margin-bottom:0}.confirmation-section .form-check-input{width:1.25rem;height:1.25rem;border:2px solid #003366;border-radius:0.25rem;margin-right:0.75rem;margin-top:0.125rem}.confirmation-section .form-check-input:checked{background-color:#003366;border-color:#003366}.confirmation-section .form-check-input:focus{border-color:#004d80;outline:0;box-shadow:0 0 0 0.25rem rgba(0,51,102,0.25)}.confirmation-section .form-check-input.is-invalid{border-color:#dc3545;animation:shake 0.3s ease-in-out}.confirmation-section .form-check-label{font-size:0.95rem;color:#374151;line-height:1.5;cursor:pointer;font-weight:500}.btn.next-step:disabled{background-color:#9CA3AF;border-color:#9CA3AF;color:#6B7280;cursor:not-allowed;opacity:0.6}.btn.next-step:disabled:hover{background-color:#9CA3AF;border-color:#9CA3AF;transform:none}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@media (max-width:768px){.step-indicator{width:50px;margin:0 1px}.step-bubble{width:32px;height:32px;font-size:0.75rem;margin-bottom:5px;border-width:1.5px}.step-indicator .step-title-small{font-size:0.5rem!important;line-height:1.1;word-wrap:break-word;max-width:50px;overflow:visible;text-overflow:clip;white-space:normal;text-align:center;height:auto}.progress-line{left:25px;right:25px;top:16px}.d-flex.justify-content-between{gap:12px;padding:0 4px}.d-flex.justify-content-between .btn-lg{padding:0.75rem 1.25rem;font-size:0.95rem;border-radius:10px;flex:1}.form-select,.mobile-friendly-select{font-size:0.9rem!important;padding:0.75rem 0.5rem!important;max-width:100%!important;width:100%!important;box-sizing:border-box!important;word-wrap:break-word!important;overflow:hidden!important;text-overflow:ellipsis!important}.form-select option,.mobile-friendly-select option{font-size:0.85rem!important;padding:0.5rem!important;white-space:normal!important;word-wrap:break-word!important}.delivery-method-group{margin-bottom:1.5rem!important}.form-card{margin:0 auto!important;border-radius:0.5rem!important;max-width:100%!important;box-sizing:border-box!important}.card-body{padding:1.25rem!important}#delivery-address-section>.d-flex.justify-content-between{flex-direction:column!important;align-items:stretch!important;gap:0.75rem!important}#delivery-checkbox-container{width:100%!important;justify-content:center!important}}@media (max-width:480px){.step-indicator{width:42px;margin:0 1px}.step-bubble{width:26px;height:26px;font-size:0.65rem;margin-bottom:4px;border-width:1.5px}.step-indicator .step-title-small{font-size:0.45rem!important;max-width:42px;line-height:1.0;white-space:normal;overflow:visible}.progress-line{left:20px;right:20px;top:13px}.d-flex.justify-content-between{padding:0 2px;gap:10px}.d-flex.justify-content-between .btn-lg{padding:0.7rem 1rem;font-size:0.9rem}.form-select,.mobile-friendly-select{font-size:0.8rem!important;padding:0.6rem 0.4rem!important;max-width:100%!important;width:100%!important;box-sizing:border-box!important;word-wrap:break-word!important;border-radius:0.375rem!important}.form-select option,.mobile-friendly-select option{font-size:0.75rem!important;padding:0.4rem!important;white-space:normal!important;word-wrap:break-word!important;line-height:1.2!important}.delivery-method-group{margin-bottom:1rem!important}.form-label{font-size:0.9rem!important;margin-bottom:0.5rem!important;font-weight:600!important}.form-text{font-size:0.75rem!important;margin-top:0.25rem!important}.form-card{margin:0 auto!important;border-radius:0.25rem!important;max-width:100%!important;box-sizing:border-box!important}.card-body{padding:1rem!important}.container,.container-fluid{padding-left:0.75rem!important;padding-right:0.75rem!important;max-width:100%!important;overflow-x:hidden!important;box-sizing:border-box!important}#step-4 .form-card,#step-5 .form-card{margin-left:0!important;margin-right:0!important}}.child-form-header,div.child-form-header,.container .child-form-header{position:relative;background:#003366;color:white;padding:2.5rem 2rem 2rem;border-radius:12px 12px 0 0;margin-bottom:1.5rem;overflow:hidden;height:auto;display:block;text-align:center}.child-form-header h1,.child-form-header h2{color:white!important;font-size:1.75rem;font-weight:700;margin-bottom:0.25rem}.child-form-header p{color:rgba(255,255,255,0.8)!important;margin-bottom:0;font-size:1rem;font-weight:400}.header-background{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#667eea 0%,#764ba2 50%,#4facfe 100%);background-size:400% 400%;animation:gradientShift 8s ease infinite;border-radius:20px}.header-background::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,0.1) 0%,transparent 50%),radial-gradient(circle at 70% 80%,rgba(255,255,255,0.1) 0%,transparent 50%);border-radius:20px}.header-content{position:relative;z-index:3;text-align:center}.icon-wrapper{position:relative;display:inline-block;margin-bottom:1.5rem}.header-icon{font-size:4rem;color:white;position:relative;z-index:2;animation:iconFloat 3s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(255,255,255,0.3))}.icon-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100px;height:100px;background:radial-gradient(circle,rgba(255,255,255,0.2) 0%,transparent 70%);border-radius:50%;animation:pulse 2s ease-in-out infinite}.header-title{font-size:2.5rem;font-weight:700;margin:0 0 0.5rem 0;text-shadow:0 2px 10px rgba(0,0,0,0.2);letter-spacing:-0.5px;animation:slideInFromTop 1s ease-out}.header-subtitle{font-size:1.2rem;font-weight:400;margin:0 0 1.5rem 0;opacity:0.95;text-shadow:0 1px 5px rgba(0,0,0,0.1);animation:slideInFromBottom 1s ease-out 0.2s both}.decorative-line{width:80px;height:3px;background:linear-gradient(90deg,transparent,white,transparent);margin:0 auto;border-radius:2px;animation:lineGlow 2s ease-in-out infinite alternate}.floating-shapes{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;pointer-events:none}.shape{position:absolute;background:rgba(255,255,255,0.1);border-radius:50%;animation:floatShape 6s ease-in-out infinite}.shape-1{width:60px;height:60px;top:20%;left:10%;animation-delay:0s}.shape-2{width:40px;height:40px;top:60%;right:15%;animation-delay:2s}.shape-3{width:80px;height:80px;bottom:20%;left:20%;animation-delay:4s}.child-requirements-showcase{background:linear-gradient(135deg,#f8fbff 0%,#e8f4fd 100%);border-radius:16px;padding:0;margin:2rem 0;box-shadow:0 8px 32px rgba(102,126,234,0.1);overflow:hidden;width:100%;display:block;position:relative;clear:both;animation:slideInFromLeft 1s ease-out 0.5s both}.requirements-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:white;padding:1.5rem;display:flex;align-items:center;gap:1rem;margin:0;width:100%;box-sizing:border-box}.header-icon-wrapper{width:50px;height:50px;background:rgba(255,255,255,0.2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;color:white;animation:rotateIcon 3s ease-in-out infinite}.requirements-title{margin:0;font-size:1.3rem;font-weight:600;color:white;text-shadow:0 1px 3px rgba(0,0,0,0.1);line-height:1.2}.requirements-content{padding:2rem;background:transparent}.requirements-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;margin:0;padding:0;list-style:none}@media (min-width:768px){.requirements-grid{grid-template-columns:1fr 1fr;gap:1.5rem}}.requirement-card{display:flex;align-items:flex-start;gap:1.25rem;padding:1.75rem 1.5rem;background:white;border-radius:16px;box-shadow:0 4px 12px rgba(0,0,0,0.05);transition:all 0.3s ease;border:1px solid #f0f4f8;position:relative;overflow:hidden;margin:0;list-style:none;width:100%;box-sizing:border-box}.requirement-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#667eea 0%,#764ba2 100%);opacity:0;transition:opacity 0.3s ease}.requirement-card:hover::before{opacity:1}.requirement-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(102,126,234,0.15);border-color:#667eea}.card-icon{width:56px;height:56px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:16px;display:flex;align-items:center;justify-content:center;color:white;font-size:1.4rem;flex-shrink:0;box-shadow:0 6px 20px rgba(102,126,234,0.3);position:relative;overflow:hidden;margin:0}.card-icon::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,0.1),transparent);transform:rotate(45deg);transition:transform 0.6s ease}.requirement-card:hover .card-icon::before{transform:rotate(45deg) translate(100%,100%)}.card-content{display:flex;flex-direction:column;gap:0.5rem;flex:1;margin:0;padding:0}.card-title{color:#2c3e50;font-weight:600;font-size:1.1rem;line-height:1.2;margin:0 0 0.25rem 0;display:block;padding:0}.card-description{color:#64748b;font-size:0.95rem;line-height:1.5;display:block;margin:0.25rem 0 0 0;padding:0}.form-step{display:none}.form-step.active{display:block}.step-title{font-size:0.75rem;font-weight:500;letter-spacing:0.01em}.step-indicator .step-title-small{display:block;font-size:0.65rem!important;color:var(--text-light);font-weight:400!important;transition:color 0.3s ease;letter-spacing:0.02em;text-transform:uppercase;line-height:1.2}.step-indicator.active .step-title,.step-indicator.active .step-title-small{color:var(--primary);font-weight:600!important}.form-tips{background:linear-gradient(135deg,#e3f2fd 0%,#bbdefb 100%);border-left:4px solid #2196f3;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.tip-content{display:flex;align-items:flex-start;gap:0.75rem}.tip-icon{color:#1976d2;font-size:1.1rem;margin-top:0.1rem;flex-shrink:0}.tip-content p{margin-bottom:0;color:#1565c0;font-weight:500}.form-select:focus,.form-control:focus{border-color:#ff6b6b;box-shadow:0 0 0 0.2rem rgba(255,107,107,0.25)}.form-floating label{color:#666;font-weight:500}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select:focus~label,.form-floating>.form-select:not([value=""])~label{color:#ff6b6b;font-weight:600}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}@keyframes iconFloat{0%,100%{transform:translateY(0px)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,100%{opacity:0.3;transform:translate(-50%,-50%) scale(1)}50%{opacity:0.6;transform:translate(-50%,-50%) scale(1.1)}}@keyframes slideInFromTop{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromBottom{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes lineGlow{0%{opacity:0.6}100%{opacity:1;box-shadow:0 0 20px rgba(255,255,255,0.5)}}@keyframes floatShape{0%,100%{transform:translateY(0px) rotate(0deg)}33%{transform:translateY(-20px) rotate(120deg)}66%{transform:translateY(10px) rotate(240deg)}}@keyframes rotateIcon{0%,100%{transform:rotate(0deg)}50%{transform:rotate(5deg)}}@media (max-width:768px){.step-indicator{width:40px!important;margin:0 1px!important}.step-bubble{width:28px!important;height:28px!important;font-size:0.7rem!important;margin-bottom:4px!important;border-width:1.5px!important}.step-indicator .step-title-small{font-size:0.48rem!important;line-height:1.1!important;max-width:40px!important;white-space:normal!important;word-wrap:break-word!important;overflow:visible!important;text-overflow:clip!important;text-align:center!important;height:auto!important}.progress-line{left:20px!important;right:20px!important;top:14px!important}.form-select{font-size:0.9rem!important;padding:0.75rem 0.5rem!important;max-width:100%!important;width:100%!important;box-sizing:border-box!important;word-wrap:break-word!important;overflow:hidden!important;text-overflow:ellipsis!important}.form-select option{font-size:0.85rem!important;padding:0.5rem!important;white-space:normal!important;word-wrap:break-word!important}.delivery-method-group{margin-bottom:1.5rem!important}.form-card{margin:0 auto!important;border-radius:0.5rem!important;max-width:100%!important;box-sizing:border-box!important}.card-body{padding:1.25rem!important}}@media (max-width:480px){.step-indicator{width:34px!important;margin:0 0px!important}.step-bubble{width:24px!important;height:24px!important;font-size:0.6rem!important;margin-bottom:3px!important;border-width:1.5px!important}.step-indicator .step-title-small{font-size:0.42rem!important;max-width:34px!important;line-height:1.0!important;white-space:normal!important;overflow:visible!important}.progress-line{left:17px!important;right:17px!important;top:12px!important}.form-select{font-size:0.8rem!important;padding:0.6rem 0.4rem!important;max-width:100%!important;width:100%!important;box-sizing:border-box!important;word-wrap:break-word!important;border-radius:0.375rem!important}.form-select option{font-size:0.75rem!important;padding:0.4rem!important;white-space:normal!important;word-wrap:break-word!important;line-height:1.2!important}.delivery-method-group{margin-bottom:1rem!important}.form-label{font-size:0.9rem!important;margin-bottom:0.5rem!important;font-weight:600!important}.form-text{font-size:0.75rem!important;margin-top:0.25rem!important}.form-card{margin:0 auto!important;border-radius:0.25rem!important;max-width:100%!important;box-sizing:border-box!important}.card-body{padding:1rem!important}.container,.container-fluid{padding-left:0.75rem!important;padding-right:0.75rem!important;max-width:100%!important;overflow-x:hidden!important;box-sizing:border-box!important}}