.registration-page{background:var(--paper)}.registration-main{padding:36px 0 48px;min-height:calc(100svh - 120px);background:radial-gradient(ellipse at 100% 0,#e5edfa,transparent 60%)}.registration-workspace{max-width:1120px}.registration-page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.registration-page-heading h1{font-size:clamp(38px,4vw,52px);letter-spacing:-.5px}.registration-page-heading h1 em{color:var(--blue);font:italic 500 .85em/1.2 var(--serif);letter-spacing:-1.5px}.online-registration{background:#fff;border:1px solid #dce3ee;border-radius:var(--radius-lg);box-shadow:0 12px 45px #071a3a06}.online-registration [hidden]{display:none!important}.registration-progress{padding:24px 40px;border-bottom:1px solid #e6ebf3}.registration-progress ol{list-style:none;display:flex;padding:0;margin:0 auto;max-width:960px}.registration-progress li{display:flex;align-items:center;flex:1;min-width:0}.registration-progress li:last-child{flex:0 0 auto}.registration-progress li:not(:last-child):after{content:"";height:1px;flex:1;margin:0 24px;background:var(--line)}.registration-progress button{display:flex;gap:11px;align-items:center;padding:0;border:0;background:none;font-size:16px;font-weight:600;color:var(--muted);min-height:44px}.registration-progress button[aria-current=step]{color:var(--ink)}.step-dot{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:#edf1f7;font-size:14px;font-weight:700}[aria-current=step] .step-dot{background:var(--red);color:#fff}.registration-progress .is-complete .step-dot{background:var(--blue);color:#fff}.registration-stage{padding:32px 40px 28px;min-height:435px}.registration-step-heading{margin-bottom:28px}.registration-stage h2{font-size:clamp(36px,3.8vw,46px);letter-spacing:-.5px;line-height:1.12}.registration-stage h2 em{color:var(--blue);letter-spacing:-1px}.registration-stage h2:focus{outline:none}.registration-step-heading p{color:var(--muted);font-size:16px;margin-top:9px}.class-choice-fieldset,.card-preview-fields{margin:0;padding:0;border:0;min-width:0}.registration-course-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.registration-course-card{position:relative;display:block;border:2px solid #e0e6ef;border-radius:var(--radius-md);cursor:pointer;transition:border-color .18s,box-shadow .18s}.registration-course-card:hover{border-color:#94b0d9}.registration-course-card:has(input:checked){border-color:var(--blue);box-shadow:0 0 0 1px var(--blue);background:#f4f8ff}.registration-course-card>input,.registration-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.registration-course-card:has(input:focus-visible){outline:3px solid var(--bright-red);outline-offset:5px}.course-choice-photo{display:block;position:relative}.course-choice-photo img{height:170px;width:100%;border-radius:10px 10px 0 0;object-fit:cover}.registration-course-card:nth-child(1) img{object-position:45% 50%}.registration-course-card:nth-child(2) img{object-position:50% 32%}.registration-course-card:nth-child(3) img{object-position:50% 6%}.course-check{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:27px;height:27px;border:1px solid #fff;border-radius:50%;background:#fffef7f2;box-shadow:0 1px 6px #071a3a30}input:checked+.course-choice-photo .course-check{background:var(--blue)}input:checked+.course-choice-photo .course-check:after{content:"";width:6px;height:11px;border:solid white;border-width:0 2px 2px 0;transform:translateY(-2px) rotate(45deg)}.course-choice-copy{display:block;padding:15px 17px}.course-choice-copy>strong{display:block;font-size:21px;line-height:1.3;letter-spacing:-.4px;margin-bottom:5px}.course-choice-copy>span{display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--muted);font-size:15px}.course-choice-copy b{color:var(--blue);font-size:19px}.placement-choice{display:inline-flex;gap:10px;align-items:center;min-height:44px;cursor:pointer;font-size:16px}.placement-choice{margin-top:18px}.placement-choice input{width:18px;height:18px;margin:0;accent-color:var(--blue)}.registration-inline-error{color:#b3152d;font-size:15px;margin-top:5px}.details-step,.extras-step{max-width:700px;margin-inline:auto}.registration-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}.registration-fields label{display:block;font-size:16px;font-weight:600}.online-registration input:not([type=checkbox]):not([type=radio]),.online-registration select,.online-registration textarea{display:block;width:100%;min-height:51px;border:1px solid #c7d2e2;border-radius:var(--radius-sm);background:#fff;padding:11px 13px;margin-top:7px;font:17px/1.5 var(--body);color:var(--ink)}.online-registration textarea{resize:vertical}.registration-note{grid-column:1 / -1}.registration-partner{margin-top:24px;padding:18px 20px;border:1px solid #dce3ee;border-radius:var(--radius-md);background:#f5f7fb}.partner-choice{display:flex;align-items:center;gap:11px;min-height:36px;cursor:pointer;font-size:16px}.partner-choice input{width:18px;height:18px;margin:0;accent-color:var(--blue)}.partner-choice strong{flex:1;font-weight:600}#partner-price{color:var(--blue);font-weight:600;white-space:nowrap}#partner-course-note{margin-left:29px;color:var(--muted);font-size:14px}#partner-details{border:0;border-top:1px solid #dce3ee;padding:20px 0 0;margin:18px 0 0;min-width:0}#partner-details small,.registration-note small{color:var(--muted);font-weight:400;font-size:13px}.review-partner{margin-top:14px}.review-partner>span{display:block;font-size:13px;margin-bottom:2px}.registration-order-item small{display:block;color:var(--muted);font-size:13px;margin-top:4px}.registration-review-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px}.registration-summary{padding:23px;background:#f5f7fb;border-radius:var(--radius-md)}.review-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}.review-section-heading h3,.card-payment-heading h3{font:700 17px/1.5 var(--body);letter-spacing:0}.registration-edit{font-size:14px;color:var(--blue);background:transparent;border:0;padding:7px 0 7px 12px;text-decoration:underline;text-underline-offset:3px}.registration-order-item{display:flex;justify-content:space-between;gap:15px;margin-bottom:12px;font-size:15px}.registration-order-item>span:last-child{white-space:nowrap}.review-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #dce3ee;padding-top:12px;margin-top:16px;gap:15px}.review-total strong{font-size:26px}.course-date-note{font-size:13px;color:var(--muted);margin-top:5px}.review-contact{border-top:1px solid #dce3ee;margin-top:20px;padding-top:12px}#review-details{font-size:15px;color:var(--muted);overflow-wrap:anywhere}#review-details strong{color:var(--ink);font-weight:500}.card-payment-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.payment-timing{border:0;padding:0;margin:0 0 20px;min-width:0}.payment-timing legend{font-size:17px;font-weight:700;margin-bottom:15px}.payment-timing-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.payment-timing-options label{display:flex;align-items:center;gap:9px;padding:13px 12px;min-height:56px;border:1px solid #c7d2e2;border-radius:var(--radius-sm);font-size:15px;line-height:1.4;cursor:pointer}.payment-timing-options label:has(input:checked){color:var(--blue);background:#f4f8ff;border-color:var(--blue)}.payment-timing-options input{margin:0;width:17px;height:17px;flex-shrink:0;accent-color:var(--blue)}.studio-payment{padding:20px;border-radius:var(--radius-md);background:#f4f8ff;border:1px solid #dce5f4}.studio-payment-total{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:5px 15px;font-size:16px}.studio-payment-total strong{font-size:24px;color:var(--blue)}.studio-payment p{margin-top:10px;font-size:15px;color:var(--muted)}.registration-complete #completion-payment{font-size:16px;font-weight:600;color:var(--blue);margin-bottom:0}.card-payment-heading>span{font-size:16px;font-weight:700;color:var(--muted)}.card-preview-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card-preview-fields label{font-size:15px;font-weight:500}.card-number-field,.card-postal-field{grid-column:1 / -1}.card-number-input{display:block;position:relative}.card-number-input .icon{position:absolute;right:13px;top:14px;width:22px;color:var(--muted)}.online-registration .card-number-input input{padding-right:46px}.online-registration .card-preview-fields input:disabled{opacity:1;color:var(--muted);cursor:not-allowed}.card-preview-fields input::placeholder{color:#78859b;opacity:1}.card-payment-status{margin-top:12px;color:var(--muted);font-size:13px}.registration-agreement{border-top:1px solid #e0e6ef;margin-top:20px;padding-top:18px}.agreement-choice{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:1.6}.agreement-choice input{width:18px;height:18px;margin:4px 0 0;flex-shrink:0;accent-color:var(--blue)}.agreement-choice label{cursor:pointer}.agreement-required{margin-left:7px;color:var(--red);font-size:13px;font-weight:600}#terms-button{padding:0;border:0;background:none;color:var(--blue);font:inherit;text-decoration:underline;text-underline-offset:3px}.registration-terms-copy{margin-block:24px;font-size:16px;color:var(--muted)}.registration-terms-copy h3{font:700 18px/1.4 var(--body);color:var(--ink);margin-block:25px 8px}.registration-terms-copy>p+p{margin-top:14px}.registration-terms-status{display:inline-block;color:var(--blue);font-size:13px;font-weight:600;background:var(--paper);border-radius:30px;padding:5px 12px}.registration-actions{display:flex;align-items:center;gap:24px;border-top:1px solid #e6ebf3;padding:22px 40px}.registration-back{display:flex;align-items:center;gap:8px;border:0;background:none;padding:12px 12px 12px 0;color:var(--muted);font-size:16px;margin-right:auto}.registration-back .icon{transform:rotate(180deg);width:19px}.registration-running-total{display:flex;flex:1;flex-wrap:wrap;gap:4px 14px;align-items:baseline}.registration-running-total>span{font-size:15px;color:var(--muted)}.registration-running-total>strong{font-size:25px;font-weight:700}.registration-next{min-width:185px}.registration-preview-note,.registration-no-script{text-align:center;color:var(--muted);font-size:13px;margin-top:18px}.registration-no-script a{color:var(--blue);text-decoration:underline}.registration-complete{text-align:center;padding:25px 0 35px;max-width:550px;margin:auto}.completion-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#edf3fd;color:var(--blue);margin:0 auto 22px}.completion-mark .icon{width:28px;height:28px}.registration-complete p{margin:20px 0 28px;font-size:17px;color:var(--muted)}.registration-complete p a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.registration-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.registration-complete .button{max-width:100%}@media(max-width:900px){.registration-progress,.registration-stage,.registration-actions{padding-inline:25px}.registration-progress ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.registration-progress li,.registration-progress li:last-child{display:block}.registration-progress li:not(:last-child):after{display:none}.registration-progress button{width:100%;flex-direction:column;gap:7px;font-size:14px}.registration-progress button>span:last-child{line-height:1.4;text-align:center}.registration-course-cards{gap:13px}.course-choice-photo img{height:150px}.course-choice-copy{padding:13px}.course-choice-copy>strong{font-size:19px}.registration-review-grid{gap:25px}}@media(max-width:650px){.registration-main{padding-block:24px 30px}.registration-page-heading{margin-bottom:20px;gap:10px}.registration-page-heading h1{font-size:37px}.registration-progress{padding:18px 15px}.registration-progress ol{justify-content:space-between;gap:4px}.registration-progress li,.registration-progress li:last-child{flex:1;justify-content:center}.registration-progress li:not(:last-child):after{display:none}.registration-progress button{flex-direction:column;gap:7px;font-size:12px;white-space:normal}.registration-progress button>span:last-child{max-width:85px;min-height:34px}.step-dot{flex-basis:29px;width:29px;height:29px}.registration-stage{padding:25px 20px 22px;min-height:0}.registration-stage h2{font-size:35px}.registration-step-heading{margin-bottom:22px}.registration-step-heading p{font-size:15px}.registration-course-cards{grid-template-columns:1fr;gap:12px}.registration-course-card{display:grid;grid-template-columns:94px minmax(0,1fr);align-items:center;min-height:99px}.course-choice-photo{height:100%}.course-choice-photo img{height:100%;position:absolute;inset:0;border-radius:10px 0 0 10px}.registration-course-card:nth-child(2) img{object-position:59% 50%}.course-check{top:7px;right:7px;width:22px;height:22px}.course-choice-copy{padding:14px}.course-choice-copy>strong{font-size:18px}.course-choice-copy>span{font-size:13px;gap:5px}.course-choice-copy b{font-size:17px}.placement-choice{margin-top:14px;font-size:15px}.registration-fields{grid-template-columns:1fr;gap:17px}.registration-review-grid{grid-template-columns:1fr;gap:25px}.registration-summary{padding:18px}.registration-actions{flex-wrap:wrap;justify-content:space-between;gap:10px;padding:17px 20px 20px}.registration-running-total{justify-content:flex-end;gap:10px}.registration-running-total>span{font-size:13px}.registration-running-total>strong{font-size:22px}.registration-next{flex-basis:100%;min-height:53px}.registration-preview-note{font-size:12px}.registration-complete{padding-block:15px}.registration-complete .button{gap:10px;padding-inline:15px;font-size:15px}}@media(max-width:360px){.registration-workspace.container{width:calc(100% - 28px)}.registration-stage,.registration-actions{padding-inline:15px}.registration-course-card{grid-template-columns:78px minmax(0,1fr)}.course-choice-copy{padding:12px}.course-choice-copy>span{font-size:12px}.registration-stage h2{font-size:31px}}@media(prefers-reduced-motion:reduce){.registration-course-card{transition:none}}.registration-save-status{margin:0 38px 24px;padding:15px 18px;border-radius:10px;background:#edf3ff;color:var(--blue);font-size:16px}.registration-save-status.is-error{color:#a0162c;background:#fff0f2}#completion-reference{font-size:15px;color:var(--muted)}.staff-registration>header:not(.staff-registration-header),.staff-registration>footer{display:none}.staff-registration .skip-link:not(:focus){clip-path:inset(50%)}.staff-registration .staff-registration-header{position:static;background:#071a3a;padding:22px 0;color:#fff}.staff-registration-header>div{display:flex;align-items:center;justify-content:space-between;gap:20px}.staff-registration-header a{color:#fff;font-weight:600}.staff-registration-header span{font-size:14px;color:#c2cee1}.staff-registration .registration-main{min-height:calc(100svh - 70px)}.staff-registration .payment-timing-options{grid-template-columns:repeat(3,minmax(0,1fr))}.staff-registration .payment-timing-options label{min-height:54px;padding:14px 12px}.staff-registration .payment-timing-options label>span{font-size:16px}.staff-payment-record{padding-top:22px;margin-top:24px;border-top:1px solid #d5dfef}.staff-name-label{display:grid;gap:9px;font-weight:600}.staff-name-label input{width:100%;padding:13px;border:1px solid #c9d5e6;border-radius:9px;font:inherit;background:#fff;color:#091e41}.staff-paid-choice{display:flex;align-items:center;gap:11px;min-height:52px;cursor:pointer;margin-top:14px}.staff-paid-choice input{width:21px;height:21px;accent-color:#0647ad}.staff-paid-choice small{display:inline-block;font-size:12px;color:#52617a;background:#edf2fa;padding:3px 7px;border-radius:5px;margin-left:4px}#staff-payment-status,.staff-terms-note{color:#52617a;font-size:14px;line-height:1.6}.staff-terms-note{margin:0 0 12px}.staff-return-link{display:block;width:fit-content;margin:22px auto 0;color:#0647ad;text-decoration:underline}@media(max-width:600px){.staff-registration-header>div{flex-wrap:wrap;gap:12px}.staff-registration-header span{width:100%}.staff-registration .payment-timing-options label{padding:12px 8px;gap:7px}.staff-registration .payment-timing-options label>span{font-size:14px}}
