.northland-registration-form{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1000px;padding:20px}.form-logo{margin-bottom:30px;text-align:center}.form-logo img{height:auto;max-width:200px}.form-header{margin-bottom:40px;text-align:center}.form-header h1{color:#1f2937;font-size:32px;font-weight:700;margin:0 0 10px}.form-subtitle{color:#6b7280;font-size:18px;font-weight:400;margin:0}.step-description{color:#6b7280;font-size:16px;line-height:1.5;margin-bottom:25px}.form-progress{justify-content:center;margin-bottom:40px;padding:0 20px}.form-progress,.progress-step{align-items:center;display:flex}.progress-step{flex-direction:column;min-width:100px;text-align:center}.step-number{align-items:center;background-color:#e5e7eb;border-radius:50%;display:flex;font-weight:700;height:40px;justify-content:center;margin-bottom:8px;width:40px}.step-label,.step-number{color:#6b7280;transition:all .3s ease}.step-label{font-size:14px}.progress-step.active .step-number{background-color:var(--progress-active-bg,#3b82f6);color:#fff}.progress-step.active .step-label{color:var(--progress-active-bg,#3b82f6);font-weight:600}.progress-step.completed .step-number{background-color:var(--completed-step-bg,#10b981);color:#fff}.progress-step.completed .step-label{color:var(--completed-step-bg,#10b981)}.progress-line{background-color:#e5e7eb;flex:1;height:2px;margin:0 20px;position:relative;top:-15px}.progress-line.completed{background-color:var(--completed-step-bg,#10b981)}.form-section{background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px 0 rgba(0,0,0,.1);margin-bottom:24px;padding:24px}.form-section.hidden{display:none}.section-title{color:#374151;font-size:1.5rem;font-weight:600;margin-bottom:16px}.form-section h2{color:#1f2937;font-size:24px;font-weight:600;margin:0 0 10px}.form-section p{color:#6b7280;font-size:16px;line-height:1.5;margin:0 0 25px}.form-group{margin-bottom:24px}.form-label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-input,.form-select{background:#fff;border:2px solid #d1d5db;border-radius:8px;font-size:16px;padding:12px 16px;transition:all .2s ease;width:100%}.form-input:focus,.form-select:focus{border-color:var(--input-focus-border,#3b82f6);box-shadow:0 0 0 3px var(--brand-primary-light,rgba(59,130,246,.1));outline:none}.form-input:invalid,.form-select:invalid{border-color:#ef4444}.field-error{color:#ef4444;font-size:14px;margin-top:6px;min-height:20px}.cost-display{background:var(--cost-display-bg,linear-gradient(135deg,#667eea 0,#764ba2 100%));border-radius:12px;box-shadow:0 4px 15px var(--progress-active-shadow,rgba(102,126,234,.3));color:#fff;margin:20px 0;padding:20px;text-align:center}.cost-label{font-size:16px;margin-bottom:15px;opacity:.9}.cost-amount{font-size:32px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}.cost-breakdown{backdrop-filter:blur(10px);background:hsla(0,0%,100%,.15);border-radius:8px;margin-top:15px;padding:15px;text-align:left}.breakdown-item{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.2);display:flex;font-size:14px;justify-content:space-between;padding:8px 0}.breakdown-item:last-child{border-bottom:none}.breakdown-item.required .item-name:after{content:" ✓";font-size:12px;opacity:.8}.breakdown-item.optional .item-name{font-style:italic}.breakdown-total{border-top:2px solid hsla(0,0%,100%,.3);font-size:16px;margin-top:8px;padding-top:8px}.item-name{color:hsla(0,0%,100%,.95);flex:1}.item-price{color:#fff;font-weight:600;min-width:80px;text-align:right}.summary-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:20px 0;padding:20px}.summary-content{display:flex;flex-direction:column;gap:0}.total-row{border-top:2px solid #e2e8f0;font-size:18px;font-weight:700;margin-top:8px;padding-top:12px}.total-row .summary-label{color:#1f2937}.total-row .summary-value{color:#1f2937;font-weight:700}.registration-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:20px 0;padding:20px}.registration-summary h3{color:#1e293b;font-size:18px;margin:0 0 15px}.summary-row{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:8px 0}.summary-row:last-child{border-bottom:none;font-size:16px;font-weight:600}.summary-label{color:#64748b}.summary-value{color:#1e293b;font-weight:500}.payment-element-container{margin:25px 0}#payment-element,.payment-element{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:16px;width:100%}#payment-errors,.payment-errors{color:#dc2626;font-size:.875rem;margin-top:8px}.submit-btn{background:var(--button-primary-bg,linear-gradient(135deg,#667eea 0,#764ba2 100%));border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;letter-spacing:.5px;padding:16px 24px;text-transform:uppercase;transition:all .3s ease;width:100%}.submit-btn:hover{box-shadow:0 8px 25px var(--progress-active-shadow,rgba(102,126,234,.4));transform:translateY(-2px)}.submit-btn:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.form-actions{display:flex;justify-content:center;margin-top:32px}.form-actions .btn{max-width:300px;min-width:200px;width:auto}.form-actions .btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.success-message{padding:40px 20px;text-align:center}.success-icon{font-size:48px;margin-bottom:20px}.success-message h2{color:var(--success-icon-color,#10b981);margin-bottom:15px}.success-message p{color:#6b7280;margin-bottom:15px}.success-message a{color:var(--input-focus-border,#3b82f6);text-decoration:none}.success-message a:hover{text-decoration:underline}.thank-you-content{font-size:16px;line-height:1.6;margin-bottom:20px}.additional-info{color:#6b7280;font-size:14px;line-height:1.5}.payment-note{margin-top:8px}.payment-note small{color:#6b7280;font-style:italic}.loading-overlay{align-items:center;background:rgba(0,0,0,.75);display:flex;flex-direction:column;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.loading-overlay.hidden{display:none}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f4f6;border-radius:50%;border-top:4px solid var(--progress-active-bg,#3b82f6);height:40px;margin-bottom:20px;width:40px}.loading-text{color:#fff;font-size:16px;text-align:center}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.form-section{transition:all .3s ease-in-out}.form-section.slide-out{opacity:0;transform:translateX(-100%)}.form-section.slide-in{opacity:1;transform:translateX(0)}.team-selection-layout{margin-bottom:30px}.selection-row{display:grid;gap:20px;grid-template-columns:1fr;margin-bottom:25px}@media (min-width:768px){.selection-row{gap:25px;grid-template-columns:repeat(2,1fr)}}.selection-row .form-group,.teams-selection{margin-bottom:0}.team-selection-layout select{font-size:16px;font-weight:500}.team-selection-layout select:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.form-progress{overflow-x:auto;padding:0 10px}.progress-step{flex-shrink:0}@media (max-width:768px){.northland-registration-form{padding:15px}.form-section{padding:20px}.form-progress{gap:5px;padding:0 5px}.progress-step{min-width:70px}.step-number{font-size:12px;height:30px;width:30px}.step-label{font-size:10px}.progress-line{margin:0 5px;min-width:15px}.cost-amount{font-size:28px}.summary-row{align-items:flex-start;flex-direction:column;gap:4px}.summary-row:last-child{align-items:center;flex-direction:row;justify-content:space-between}}@media (max-width:480px){.progress-step{min-width:60px}.step-number{font-size:11px;height:25px;width:25px}.step-label{font-size:9px}.progress-line{margin:0 3px;min-width:10px}}.products-compact{display:flex;flex-direction:column;gap:16px}.base-product-compact{align-items:center;background:#fff;border:2px solid #10b981;border-radius:8px;display:flex;justify-content:space-between;padding:16px}.product-info{display:flex;flex-direction:column}.product-required{color:#059669;font-size:.75rem;font-weight:500}.optional-products-compact{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:16px}.optional-title{color:#374151;font-weight:600;margin-bottom:12px}.optional-grid{display:grid;gap:8px;grid-template-columns:1fr}.product-item{align-items:center;background:#f9fafb;border-radius:4px;display:flex;gap:8px;padding:8px}.product-item input[type=checkbox]{height:16px;margin:0;width:16px}.product-item label{cursor:pointer;flex:1;font-size:.875rem;margin:0}.product-item.selected{background-color:var(--brand-primary-light,rgba(59,130,246,.05));border-color:var(--progress-active-bg,#3b82f6)}.product-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.product-name{color:#111827;font-size:14px;font-weight:600}.product-price{color:#1f2937;font-size:1.125rem;font-weight:600}.product-description{color:#6b7280;font-size:13px;line-height:1.4}.product-checkbox{margin-right:8px}@media (max-width:768px){.optional-grid{grid-template-columns:1fr}.product-item{padding:10px}}.promo-code-checkbox-container{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:16px;transition:all .2s ease}.promo-code-checkbox-container:hover{background:#f1f5f9;border-color:#cbd5e1}.promo-checkbox{display:none}.promo-checkbox-label{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:12px;margin:0;user-select:none;width:100%}.checkbox-icon{background:#fff;border:2px solid #d1d5db;border-radius:4px;flex-shrink:0;height:20px;position:relative;transition:all .2s ease;width:20px}.promo-checkbox:checked+.promo-checkbox-label .checkbox-icon{background:var(--brand-primary,#2563eb);border-color:var(--brand-primary,#2563eb)}.promo-checkbox:checked+.promo-checkbox-label .checkbox-icon:after{color:#fff;content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.promo-checkbox:checked+.promo-checkbox-label{color:var(--brand-primary,#2563eb)}.promo-code-input-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:16px;max-height:500px;opacity:1;overflow:hidden;padding:16px;transition:all .3s ease}.promo-code-input-section.hidden{background:none;border:none;margin-top:0;max-height:0;opacity:0;padding:0 16px}.promo-code-input-container{align-items:flex-start;display:flex;gap:12px}.promo-code-input-container .form-input{flex:1;text-transform:uppercase}.btn-promo{background-color:#059669;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;min-width:80px;padding:12px 20px;transition:all .2s ease;white-space:nowrap}.btn-promo:hover{background-color:#047857;transform:translateY(-1px)}.btn-promo:disabled{background-color:#9ca3af;cursor:not-allowed;transform:none}.promo-success{background:#f0fdf4;border:1px solid #bbf7d0;border-left:4px solid #059669;border-radius:8px;margin-top:16px;padding:16px}.promo-success.hidden{display:none}.promo-success-content{align-items:center;display:flex;gap:12px}.promo-success-icon{align-items:center;background:#059669;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.875rem;font-weight:700;height:24px;justify-content:center;width:24px}.promo-success-details{flex:1}.promo-success-text{color:#059669;display:block;font-weight:600;margin-bottom:4px}.promo-success-description{color:#047857;display:block;font-size:.875rem}.promo-remove{background:none;border:1px solid #d1d5db;border-radius:4px;color:#6b7280;cursor:pointer;font-size:.75rem;padding:6px 12px;transition:all .2s ease}.promo-remove:hover{background:#f9fafb;border-color:#9ca3af;color:#374151}#hubspot-form-container .hs-form{max-width:100%}#hubspot-form-container .hs-form-field{margin-bottom:20px}#hubspot-form-container .hs-fieldtype-date input,#hubspot-form-container .hs-fieldtype-email input,#hubspot-form-container .hs-fieldtype-phonenumber input,#hubspot-form-container .hs-fieldtype-select select,#hubspot-form-container .hs-fieldtype-text input{border:2px solid #d1d5db;border-radius:8px;font-size:16px;padding:12px 16px;width:100%}#hubspot-form-container .hs-form-required{color:#ef4444}#hubspot-form-container .hs-button{background:var(--button-primary-bg,linear-gradient(135deg,#667eea 0,#764ba2 100%));border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:16px 24px;transition:all .3s ease}#hubspot-form-container .hs-button:hover{box-shadow:0 8px 25px var(--progress-active-shadow,rgba(102,126,234,.4));transform:translateY(-2px)}.modal{align-items:center;background-color:rgba(0,0,0,.5);display:none;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal.hidden{display:none!important}.modal-content{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);max-height:80vh;max-width:500px;overflow-y:auto;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:20px;padding:24px 24px 0}.modal-header h2{color:#1f2937;font-size:20px;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:all .2s ease;width:30px}.modal-close:hover{background-color:#f3f4f6;color:#1f2937}.modal-body{color:#6b7280;line-height:1.6;padding:0 24px 24px}.modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px 24px}.btn.btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.btn.btn-secondary:hover{background:#e5e7eb}.payment-breakdown-section{border-left:4px solid var(--brand-primary,#3b82f6)}.breakdown-content{display:flex;flex-direction:column;gap:16px}.breakdown-header .breakdown-description{color:#374151;font-weight:600;margin:0}.breakdown-details{display:flex;flex-direction:column;gap:8px}.breakdown-row{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.breakdown-row.remaining-payments{border-top:1px solid #e2e8f0;margin-top:4px;padding-top:12px}.breakdown-label{color:#64748b;font-weight:500}.breakdown-value{color:#1f2937;font-weight:600}.breakdown-note{background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;margin-top:8px;padding:12px}.breakdown-note p{color:#0c4a6e;font-size:14px;margin:0}.hidden{display:none!important}