.enroll-backdrop{z-index:9000;-webkit-backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:1rem;animation:.2s enroll-fade-in;display:flex;position:fixed;inset:0}@keyframes enroll-fade-in{0%{opacity:0}to{opacity:1}}.enroll-modal{background:var(--cream);border-radius:var(--radius);width:100%;max-width:540px;max-height:90vh;box-shadow:var(--shadow-lg);flex-direction:column;animation:.25s enroll-slide-up;display:flex;position:relative;overflow-y:auto}@keyframes enroll-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.enroll-modal::-webkit-scrollbar{width:5px}.enroll-modal::-webkit-scrollbar-track{background:0 0}.enroll-modal::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:10px}.enroll-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:1.75rem 2rem 1.25rem;position:relative}.enroll-header-label{text-transform:uppercase;letter-spacing:.18em;color:var(--accent-warm);align-items:center;gap:.4rem;margin-bottom:.5rem;font-size:.7rem;font-weight:700;display:flex}.enroll-header-label:before{content:"";background:var(--accent-warm);width:18px;height:2px;display:inline-block}.enroll-header h2{font-family:var(--serif);color:var(--dark);margin:0;font-size:1.55rem;font-weight:700;line-height:1.2}.enroll-header h2 em{color:var(--accent);font-style:italic}.enroll-close{background:var(--bg-2);border:1px solid var(--border);cursor:pointer;width:34px;height:34px;color:var(--muted);font-size:1.1rem;line-height:1;font-family:var(--sans);border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .2s,color .2s;display:flex;position:absolute;top:1.25rem;right:1.25rem}.enroll-close:hover{background:var(--bg-3);color:var(--dark)}.enroll-form-body{flex-direction:column;gap:1.25rem;padding:1.5rem 2rem 2rem;display:flex}.enroll-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.enroll-field{flex-direction:column;gap:.4rem;display:flex}.enroll-field label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.78rem;font-weight:700}.enroll-field label .req{color:var(--accent-warm);margin-left:2px}.enroll-input,.enroll-select,.enroll-textarea{border:1.5px solid var(--border-mid);border-radius:calc(var(--radius) - 4px);width:100%;font-family:var(--sans);color:var(--dark);appearance:none;background:#fff;outline:none;padding:.65rem .85rem;font-size:.92rem;line-height:1.4;transition:border-color .18s,box-shadow .18s}.enroll-input::placeholder,.enroll-textarea::placeholder{color:var(--muted);opacity:.6}.enroll-input:focus,.enroll-select:focus,.enroll-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2a60491f}.enroll-input.error,.enroll-select.error,.enroll-textarea.error{border-color:#c0392b;box-shadow:0 0 0 3px #c0392b1a}.enroll-select-wrap{position:relative}.enroll-select-wrap:after{content:"▾";color:var(--muted);pointer-events:none;font-size:.8rem;position:absolute;top:50%;right:.85rem;transform:translateY(-50%)}.enroll-select{cursor:pointer;padding-right:2.25rem}.enroll-textarea{resize:vertical;min-height:80px}.enroll-radio-group{flex-wrap:wrap;gap:.5rem;display:flex}.enroll-radio-label{border:1.5px solid var(--border-mid);cursor:pointer;color:var(--muted);-webkit-user-select:none;user-select:none;background:#fff;border-radius:100px;align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.85rem;font-weight:600;transition:border-color .18s,color .18s,background .18s;display:flex}.enroll-radio-label:hover{border-color:var(--accent);color:var(--accent)}.enroll-radio-label input[type=radio]{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.enroll-radio-label.selected{border-color:var(--accent);color:var(--accent);background:#2a604914}.enroll-radio-group.error .enroll-radio-label{border-color:#c0392b59}.enroll-check-group{flex-direction:column;gap:.4rem;display:flex}.enroll-check-label{cursor:pointer;color:var(--muted);-webkit-user-select:none;user-select:none;align-items:center;gap:.6rem;font-size:.88rem;font-weight:500;transition:color .15s;display:flex}.enroll-check-label:hover{color:var(--dark)}.enroll-check-box{border:1.5px solid var(--border-mid);background:#fff;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:border-color .18s,background .18s;display:flex}.enroll-check-label input[type=checkbox]{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.enroll-check-label.checked .enroll-check-box{background:var(--accent);border-color:var(--accent)}.enroll-check-label.checked .enroll-check-box:after{content:"";border:2px solid #fff;border-top:none;border-left:none;width:5px;height:9px;display:block;transform:rotate(45deg)translateY(-1px)}.enroll-check-label.checked{color:var(--dark)}.enroll-error{color:#c0392b;margin-top:-.2rem;font-size:.75rem;font-weight:600}.enroll-submit-row{padding-top:.5rem}.enroll-submit-btn{background:var(--accent);color:#fff;width:100%;font-family:var(--sans);letter-spacing:.04em;cursor:pointer;border:none;border-radius:100px;padding:.875rem 1.5rem;font-size:.95rem;font-weight:700;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:0 4px 14px #2a604959}.enroll-submit-btn:hover{background:var(--accent-dark);transform:translateY(-1px);box-shadow:0 6px 20px #2a604973}.enroll-submit-btn:active{transform:translateY(0)}.enroll-success{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:260px;padding:3rem 2rem;display:flex}.enroll-success-icon{background:#2a60491a;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:.5rem;display:flex}.enroll-success-icon svg{width:32px;height:32px;stroke:var(--accent);fill:none}.enroll-success h3{font-family:var(--serif);color:var(--dark);font-size:1.4rem;font-weight:700;line-height:1.3}.enroll-success p{color:var(--muted);max-width:320px;font-size:.92rem;line-height:1.65}@media (max-width:600px){.enroll-backdrop{align-items:flex-end;padding:0}.enroll-modal{border-radius:var(--radius) var(--radius) 0 0;max-width:100%;max-height:95vh;animation:.28s enroll-slide-sheet}@keyframes enroll-slide-sheet{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.enroll-row{grid-template-columns:1fr}.enroll-header{padding:1.5rem 1.25rem 1rem}.enroll-form-body{padding:1.25rem 1.25rem 2rem}.enroll-success{padding:2.5rem 1.25rem}}
