.enrollment-page{padding-block:35px 70px}.back-link{font-size:.85rem;margin-bottom:28px}.form-heading{display:flex;justify-content:space-between;align-items:center;gap:30px}.form-heading h1{font-size:3.2rem;margin-bottom:15px}.form-heading p:not(.eyebrow){color:var(--muted);max-width:720px}.form-help{border-left:2px solid var(--yellow);padding-left:20px;flex-shrink:0;font-size:.9rem}.form-help strong,.form-help a{display:block}.form-help a{color:var(--green);text-decoration:underline}.form-progress{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--border);margin:26px 0 32px;gap:10px}.form-progress li{padding:13px 0 18px;color:var(--muted);font-size:.9rem;font-weight:600;border-bottom:3px solid transparent;margin-bottom:-1px}.form-progress span{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#edf2ee;margin-right:8px;font-size:.85rem}.form-progress li[aria-current]{color:var(--green);border-color:var(--green)}.form-progress li[aria-current] span,.form-progress li.done span{background:var(--green);color:white}.enrollment-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:30px;align-items:start}.form-card{border:1px solid var(--border);border-radius:12px;padding:32px;background:white}.required-note{font-size:.8rem;color:var(--muted);margin-bottom:24px}.form-step h2{font-size:1.65rem;letter-spacing:-.03em;margin-bottom:12px}.step-intro{font-size:.95rem;color:var(--muted);margin-bottom:26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{min-width:0}.field label,fieldset legend{font-size:.9rem;font-weight:700;display:block;margin-bottom:8px}.field label span,legend span{color:var(--orange)}.field input,.field select,.field textarea{width:100%;border:1px solid #bccfc5;border-radius:6px;min-height:48px;font:1rem/1.4 var(--body);padding:11px 13px;color:var(--ink);background:white}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--green);outline-offset:1px}.field [aria-invalid=true]{border-color:#b33424}.field small,.field-hint{display:block;color:var(--muted);font-size:.8rem;line-height:1.5;margin-top:6px}.field textarea{resize:vertical}.wide{grid-column:1/-1}.field-error{font-size:.85rem;color:#a52d20;margin:5px 0 0;line-height:1.5}.field-error:empty{display:none}.subheading{font-size:1.05rem;letter-spacing:-.02em;margin:30px 0 20px}.subheading span{font-weight:400;font-size:.9rem;color:var(--muted)}.guardian-box{background:var(--mint);border-radius:9px;padding:24px;margin-top:30px}.guardian-box h3{font-size:1.25rem;margin-bottom:9px}.guardian-box>p{color:var(--muted);font-size:.9rem}.check-line{display:flex;gap:10px;align-items:start;font-size:.9rem;line-height:1.6;margin-top:22px;cursor:pointer}.check-line input{width:19px;height:19px;accent-color:var(--green);flex-shrink:0;margin-top:3px}.form-controls{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:32px;border-top:1px solid var(--border);padding-top:24px}.form-controls span{font-size:.8rem;color:var(--muted);margin-right:auto}.button.secondary{color:var(--green);background:white;border-color:#adc9bd}.button.secondary:hover{background:var(--mint)}.button:disabled{opacity:.6;cursor:wait;transform:none}.form-sidebar{position:sticky;top:135px}.sidebar-note{background:var(--mint);padding:26px;border-radius:10px}.sidebar-note .eyebrow{font-size:.65rem}.sidebar-note h3{font-size:1.4rem;line-height:1.4;letter-spacing:-.03em}.sidebar-note p{font-size:.85rem;color:var(--muted)}.sidebar-note strong{font-size:.9rem}.sidebar-note hr{border:0;border-top:1px solid var(--border);margin:24px 0}.sidebar-note .text-link{font-size:.9rem}fieldset{border:0;margin:0;padding:0}.course-options,.day-options{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.choice{display:flex;align-items:center;gap:9px;border:1px solid var(--border);border-radius:7px;min-height:47px;padding:10px 12px;font-size:.9rem;cursor:pointer}.choice input{accent-color:var(--green);width:17px;height:17px;flex-shrink:0}.choice:has(input:checked){border-color:var(--green);background:var(--mint);color:var(--green)}.days-field{margin-top:24px}.soft-notice{background:var(--mint);border-left:3px solid var(--green);padding:15px 18px;font-size:.85rem;color:var(--muted);margin:24px 0 0}.form-alert{padding:14px 16px;border:1px solid #e8b7af;border-radius:7px;background:#fff4f0;color:#a52d20;margin-bottom:22px;font-size:.9rem}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.review-group{border:1px solid var(--border);border-radius:8px;padding:19px;margin-bottom:16px}.review-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.review-heading h3{font-size:1rem;margin-bottom:10px;letter-spacing:-.02em}.review-heading button{background:none;border:none;color:var(--green);font-size:.85rem;text-decoration:underline}.review-group dl{display:grid;grid-template-columns:1fr 1.5fr;gap:8px 18px;font-size:.85rem;margin:0}.review-group dt{color:var(--muted)}.review-group dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.privacy{border-top:1px solid var(--border);padding-block:20px;margin-top:25px;font-size:.85rem}.privacy summary{font-weight:700;cursor:pointer}.privacy p{color:var(--muted);margin-top:14px;overflow-wrap:anywhere}.privacy a{text-decoration:underline}.success-card{max-width:800px;margin:25px auto}.success-mark{width:52px;height:52px;display:grid;place-items:center;background:var(--mint);color:var(--green);border-radius:50%;font-size:2rem;margin-bottom:22px}.success-card h2{font-size:2.3rem}.success-card>p{color:var(--muted)}.protocol{font-size:.9rem;overflow-wrap:anywhere;padding:15px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}#receipt-content{margin-top:30px}.admin-header{padding-top:45px}.admin-toolbar{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin:25px 0}.admin-toolbar input{padding:12px;font:inherit;border:1px solid var(--border);border-radius:6px;flex:1;min-width:220px}.registration-record{border:1px solid var(--border);border-radius:10px;padding:22px;margin-bottom:15px}.registration-record summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.registration-record summary strong{font-size:1.1rem}.record-date{margin-left:auto;font-size:.8rem;color:var(--muted)}.admin-count{color:var(--muted)}.empty-state{padding:40px;text-align:center;color:var(--muted);background:var(--mint);border-radius:10px}
@media(max-width:1000px){.enrollment-layout{grid-template-columns:minmax(0,1fr) 235px;gap:20px}.form-card{padding:24px}.sidebar-note{padding:20px}}@media(max-width:760px){.enrollment-page{padding-block:25px 45px}.form-heading{display:block}.form-heading h1{font-size:2.6rem}.form-help{margin-top:20px;display:flex;gap:15px;align-items:center;flex-wrap:wrap}.form-progress{gap:3px}.form-progress li{font-size:.74rem;display:flex;flex-direction:column;align-items:center;gap:8px}.form-progress span{margin:0}.enrollment-layout{grid-template-columns:1fr}.form-card{padding:23px 18px}.form-grid{grid-template-columns:1fr;gap:18px}.form-sidebar{position:static}.guardian-box{padding:20px 15px}.choice{font-size:.8rem;padding:9px}.form-controls{gap:12px}.form-controls .button{font-size:.9rem;padding-inline:16px}.form-controls span{font-size:.73rem}.review-group{padding:15px}.review-group dl{grid-template-columns:1fr;gap:3px}.review-group dd{margin-bottom:10px}.success-card h2{font-size:2rem}.record-date{margin-left:0}}
@media print{.header,footer,.back-link,.form-heading,.form-progress,.enrollment-layout,.success-card .hero-actions{display:none!important}.success-card{border:0;padding:0}.enrollment-page{max-width:none;padding:0}body{font-family:Arial,sans-serif;color:black}.review-group{break-inside:avoid}.review-heading button{display:none}}
.monthly-quote{background:var(--mint);border:1px solid #c1dcd0;border-radius:9px;padding:22px;margin-top:25px}.monthly-quote .eyebrow{font-size:.7rem;margin-bottom:9px}.monthly-quote strong{font-family:var(--heading);font-size:1.6rem;color:var(--green);letter-spacing:-.035em;line-height:1.4;display:block}.monthly-quote>p{color:var(--muted);font-size:.875rem;margin:12px 0 16px}.monthly-quote>a{font-size:.85rem}@media(max-width:760px){.monthly-quote{padding:18px}.monthly-quote strong{font-size:1.4rem}}
