.registration-page{background:#f8fafc;min-height:100vh;font-family:Lato,sans-serif}.reg-hero{text-align:center;background:linear-gradient(#e8f0f8 0%,#f8fafc 100%);padding:140px 24px 60px}.reg-hero-content{max-width:600px;margin:0 auto}.reg-label{letter-spacing:.2em;text-transform:uppercase;color:var(--secondary);margin-bottom:16px;font-size:.6875rem;font-weight:700;display:inline-block}.reg-title{letter-spacing:-.03em;color:var(--charcoal);margin-bottom:12px;font-size:max(2rem,min(5vw,3rem));font-weight:900}.reg-subtitle{color:#1a1a1a99;font-size:1.125rem;font-weight:400}.reg-progress-container{margin-bottom:48px;padding:0 24px}.reg-progress{justify-content:space-between;align-items:flex-start;max-width:600px;margin:0 auto;display:flex;position:relative}.reg-progress-step{z-index:2;flex-direction:column;align-items:center;gap:8px;display:flex}.reg-step-number{color:#1a1a1a66;background:#fff;border:2px solid #1a1a1a26;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:.875rem;font-weight:700;transition:all .3s;display:flex}.reg-progress-step.active .reg-step-number,.reg-progress-step.completed .reg-step-number{background:var(--primary);border-color:var(--primary);color:#fff}.reg-step-label{color:#1a1a1a66;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600;transition:color .3s}.reg-progress-step.active .reg-step-label,.reg-progress-step.completed .reg-step-label{color:var(--primary)}.reg-progress-line{z-index:1;background:#1a1a1a1a;height:2px;position:absolute;top:20px;left:60px;right:60px}.reg-progress-fill{background:var(--primary);height:100%;transition:width .4s}.reg-form-section{padding:0 24px 80px}.reg-form{background:#fff;border-radius:20px;max-width:800px;margin:0 auto;padding:max(32px,min(6vw,48px));box-shadow:0 4px 40px #0000000f}.reg-step-header{text-align:center;margin-bottom:32px}.reg-step-header h2{letter-spacing:-.02em;color:var(--charcoal);margin-bottom:8px;font-size:1.5rem;font-weight:900}.reg-step-header p{color:#1a1a1a80;font-size:.9375rem}.reg-form-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}@media (max-width:640px){.reg-form-grid{grid-template-columns:1fr}}.reg-input-group{flex-direction:column;gap:8px;display:flex}.reg-input-group.full-width{grid-column:1/-1}.reg-input-group label{color:var(--charcoal);font-size:.8125rem;font-weight:600}.reg-input-group input,.reg-input-group select,.reg-input-group textarea{width:100%;color:var(--charcoal);background:#f8fafc;border:1.5px solid #0000;border-radius:10px;outline:none;padding:14px 16px;font-family:Lato,sans-serif;font-size:.9375rem;transition:all .3s}.reg-input-group input::placeholder,.reg-input-group textarea::placeholder{color:#1a1a1a59}.reg-input-group input:focus,.reg-input-group select:focus,.reg-input-group textarea:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px #08347514}.reg-input-group select{cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%231a1a1a' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;padding-right:40px}.reg-input-group textarea{resize:vertical;min-height:100px}.reg-section-divider{text-align:center;margin:32px 0 24px;position:relative}.reg-section-divider:before{content:"";background:#1a1a1a1a;height:1px;position:absolute;top:50%;left:0;right:0}.reg-section-divider span{letter-spacing:.1em;text-transform:uppercase;color:#1a1a1a66;background:#fff;padding:0 20px;font-size:.75rem;font-weight:700;position:relative}.reg-programs-section{margin-bottom:32px}.reg-section-label{color:var(--charcoal);margin-bottom:16px;font-size:.8125rem;font-weight:600;display:block}.reg-programs-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (max-width:640px){.reg-programs-grid{grid-template-columns:1fr}}.reg-program-card{cursor:pointer;background:#f8fafc;border:2px solid #0000;border-radius:12px;align-items:center;gap:14px;padding:16px 20px;transition:all .3s;display:flex;position:relative}.reg-program-card:hover{background:#f0f4f8}.reg-program-card.selected{border-color:var(--primary);background:#0834750a}.reg-program-icon{background:#08347514;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.reg-program-icon i{color:var(--primary);font-size:1rem}.reg-program-label{color:var(--charcoal);flex:1;font-size:.9375rem;font-weight:600}.reg-program-check{border:2px solid #1a1a1a26;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:all .3s;display:flex}.reg-program-check i{color:#0000;font-size:.625rem;transition:color .3s}.reg-program-card.selected .reg-program-check{background:var(--primary);border-color:var(--primary)}.reg-program-card.selected .reg-program-check i{color:#fff}.reg-schedule-section{margin-bottom:32px}.reg-schedule-options{flex-direction:column;gap:12px;display:flex}.reg-schedule-option{cursor:pointer;background:#f8fafc;border:2px solid #0000;border-radius:12px;align-items:center;gap:16px;padding:20px 24px;transition:all .3s;display:flex}.reg-schedule-option:hover{background:#f0f4f8}.reg-schedule-option.selected{border-color:var(--primary);background:#0834750a}.reg-schedule-option input{display:none}.reg-schedule-content{flex-direction:column;flex:1;gap:4px;display:flex}.reg-schedule-name{color:var(--charcoal);font-size:1rem;font-weight:700}.reg-schedule-time{color:#1a1a1a80;font-size:.875rem}.reg-schedule-check{border:2px solid #1a1a1a26;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:all .3s;display:flex}.reg-schedule-check i{color:#0000;font-size:.625rem}.reg-schedule-option.selected .reg-schedule-check{background:var(--primary);border-color:var(--primary)}.reg-schedule-option.selected .reg-schedule-check i{color:#fff}.reg-review-sections{flex-direction:column;gap:24px;display:flex}.reg-review-section{background:#f8fafc;border-radius:12px;padding:24px}.reg-review-header{border-bottom:1px solid #1a1a1a14;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.reg-review-header h3{color:var(--primary);letter-spacing:.02em;align-items:center;gap:10px;font-size:.875rem;font-weight:700;display:flex}.reg-review-header h3 i{font-size:.875rem}.reg-edit-btn{color:var(--primary);cursor:pointer;background:#08347514;border:none;border-radius:6px;padding:6px 14px;font-size:.75rem;font-weight:600;transition:all .3s}.reg-edit-btn:hover{background:#0834751f}.reg-review-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (max-width:640px){.reg-review-grid{grid-template-columns:1fr}}.reg-review-item{flex-direction:column;gap:4px;display:flex}.reg-review-item.full-width{grid-column:1/-1}.reg-review-label{letter-spacing:.05em;text-transform:uppercase;color:#1a1a1a66;font-size:.6875rem;font-weight:600}.reg-review-value{color:var(--charcoal);text-transform:capitalize;font-size:.9375rem;font-weight:500}.reg-terms{border-top:1px solid #1a1a1a14;margin-top:32px;padding-top:24px}.reg-checkbox-label{cursor:pointer;align-items:flex-start;gap:12px;display:flex}.reg-checkbox-label input{width:20px;height:20px;accent-color:var(--primary);cursor:pointer;margin-top:2px}.reg-checkbox-label span{color:#1a1a1a99;font-size:.875rem;line-height:1.6}.reg-checkbox-label a{color:var(--primary);font-weight:600;text-decoration:none}.reg-checkbox-label a:hover{text-decoration:underline}.reg-form-nav{border-top:1px solid #1a1a1a14;justify-content:space-between;align-items:center;gap:16px;margin-top:40px;padding-top:32px;display:flex}.reg-btn-primary,.reg-btn-secondary,.reg-btn-submit{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:10px;padding:14px 28px;font-family:Lato,sans-serif;font-size:.9375rem;font-weight:700;transition:all .3s;display:inline-flex}.reg-btn-primary{background:var(--primary);color:#fff;margin-left:auto}.reg-btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 8px 20px -4px #0834754d}.reg-btn-secondary{color:var(--charcoal);background:0 0;border:1.5px solid #1a1a1a26}.reg-btn-secondary:hover{background:#f8fafc;border-color:#1a1a1a40}.reg-btn-submit{background:linear-gradient(135deg, var(--secondary) 0%, var(--secondary-dark) 100%);color:var(--primary);margin-left:auto}.reg-btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px -4px #f0c54166}.reg-btn-submit:disabled{opacity:.7;cursor:not-allowed}.reg-spinner{border:2px solid #0000;border-top-color:var(--primary);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.reg-success-container{justify-content:center;align-items:center;min-height:calc(100vh - 160px);padding:120px 24px 80px;display:flex}.reg-success-card{text-align:center;background:#fff;border-radius:20px;max-width:500px;padding:48px;box-shadow:0 4px 40px #0000000f}.reg-success-icon{background:#22c55e1a;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 24px;display:flex}.reg-success-icon i{color:#22c55e;font-size:2.5rem}.reg-success-card h1{letter-spacing:-.02em;color:var(--charcoal);margin-bottom:12px;font-size:1.75rem;font-weight:900}.reg-success-card>p{color:#1a1a1a99;margin-bottom:32px;font-size:1rem;line-height:1.7}.reg-success-info{background:#f8fafc;border-radius:12px;margin-bottom:32px;padding:20px}.reg-success-detail{color:#1a1a1ab3;align-items:center;gap:12px;padding:10px 0;font-size:.875rem;display:flex}.reg-success-detail:first-child{border-bottom:1px solid #1a1a1a14}.reg-success-detail i{width:20px;color:var(--primary)}.reg-success-buttons{justify-content:center;gap:12px;display:flex}.reg-success-buttons .reg-btn-primary,.reg-success-buttons .reg-btn-secondary{padding:12px 24px;font-size:.875rem;text-decoration:none}@media (max-width:768px){.reg-hero{padding:120px 20px 48px}.reg-form{border-radius:16px;padding:24px 20px}.reg-progress{gap:0}.reg-step-label{display:none}.reg-step-number{width:36px;height:36px;font-size:.8125rem}.reg-progress-line{top:18px;left:40px;right:40px}.reg-form-nav{flex-direction:column-reverse}.reg-btn-primary,.reg-btn-secondary,.reg-btn-submit{justify-content:center;width:100%}.reg-btn-primary{margin-left:0}.reg-success-buttons{flex-direction:column}}@media (max-width:480px){.reg-title{font-size:1.75rem}.reg-subtitle{font-size:1rem}.reg-review-section{padding:16px}.reg-success-card{padding:32px 24px}}
