/* Apex Academy — one question, one clear next step. */
.registration-page{min-height:100svh}
.registration-view .site-footer{display:none}
.registration-view .site-header{height:84px}
.registration-view .desktop-nav,.registration-view .header-cta{display:none}
.registration{--registration-accent:#716084;--registration-muted:#76717e;width:min(720px,calc(100% - 48px));min-height:100svh;margin:0 auto;padding:88px 0 22px;color:var(--ink,#2b2c31);font-family:var(--sans,sans-serif)}
.registration *{box-sizing:border-box}
.registration button,.registration input,.registration select{font:inherit}
.registration button,.registration a,.registration input,.registration select{touch-action:manipulation}
.registration button,.registration a{color:inherit}
.registration :focus-visible{outline:2px solid var(--registration-accent);outline-offset:5px}
.registration button:disabled{cursor:not-allowed;opacity:.4}
.registration [hidden]{display:none!important}
.registration .sr-only,.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__header{text-align:center;margin:0 0 14px}
.registration__eyebrow{display:block;margin:0 0 13px;font-size:10px;font-weight:500;line-height:1.5;letter-spacing:.15em;text-transform:uppercase}
.registration__header .registration__eyebrow{font-size:9px;letter-spacing:.17em;color:var(--registration-muted);margin-bottom:5px}
.registration__header h1{font:400 23px/1.4 var(--serif,Georgia,serif);letter-spacing:.025em;margin:0}
.registration__header>p:last-child:not(.registration__eyebrow){display:none}
.registration__progress{max-width:560px;margin:0 auto 16px}
.registration__progress-label{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px;font-size:10px;line-height:1.5;color:var(--registration-muted)}
.registration__progress-label>span:last-child{font:500 13px/1.4 var(--serif,Georgia,serif);font-variant-numeric:tabular-nums;letter-spacing:.08em;white-space:nowrap}
.registration__track{height:2px;background:#7d73821c;overflow:hidden}
.registration__track>span{display:block;max-width:100%;height:100%;background:linear-gradient(90deg,#9bbac7,#8f7baf);transition:width 250ms ease}
.registration__panel{padding:26px 40px 20px;background:#ffffff8c;border:1px solid #ffffffd9;border-radius:20px;box-shadow:0 20px 65px #59436b06;min-width:0}
.registration__question{margin:0;min-width:0;animation:registration-question-enter 250ms ease both}
.registration__question-heading{text-align:center;margin:0 0 18px}
.registration__question-heading .registration__eyebrow{color:var(--registration-accent);font-size:9px;margin-bottom:8px}
.registration__question-heading h2{font:400 clamp(30px,4vw,36px)/1.35 var(--serif,Georgia,serif);letter-spacing:-.035em;margin:0 0 9px;overflow-wrap:anywhere}
.registration__question-heading h2:focus:not(:focus-visible){outline:none}
.registration__question-heading>p{font-size:12px;line-height:1.7;color:var(--registration-muted);margin:0 auto;max-width:45ch}
.registration__field{display:block;margin:0;min-width:0;text-align:left}
.registration__field>span:not(.sr-only):not(.registration__sr-only){display:block;font-size:11px;line-height:1.6;margin-bottom:9px;color:var(--registration-muted)}
.registration__field input,.registration__field select{display:block;width:100%;max-width:100%;min-width:0;border:0;border-bottom:1px solid #85808d5c;border-radius:0;background:transparent;color:var(--ink,#2b2c31);padding:13px 0 16px;font-size:28px;font-weight:400;line-height:1.4;box-shadow:none;transition:border-color 180ms ease}
.registration__field select{font-size:20px;padding:16px 35px 18px 0;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#77707e 50%),linear-gradient(135deg,#77707e 50%,transparent 50%);background-position:calc(100% - 11px) 50%,calc(100% - 6px) 50%;background-size:5px 5px;background-repeat:no-repeat;cursor:pointer;text-overflow:ellipsis}
.registration__field select option{font-size:15px;background:var(--paper,#f7f7f4);color:var(--ink,#2b2c31)}
.registration__field input::placeholder{color:#928b9a;opacity:.58}
.registration__field input:hover,.registration__field select:hover{border-bottom-color:var(--registration-accent)}
.registration__field input:focus,.registration__field select:focus{outline:none;border-bottom:2px solid var(--registration-accent);padding-bottom:15px}
.registration__field select:focus{padding-bottom:17px}
.registration__field input[aria-invalid=true],.registration__field select[aria-invalid=true]{border-bottom-color:#9a5362}
.registration__selection{margin-top:17px;text-align:left;font-size:11px;line-height:1.8;color:var(--registration-muted);overflow-wrap:anywhere}
.registration__selection-empty{font-size:11px;line-height:1.7;color:var(--registration-muted);text-align:left;margin:13px 0 0}
.registration__selection>p{margin:0 0 7px}
.registration__selection>p:first-child,.registration__selection h3,.registration__selection strong{font-size:13px;line-height:1.7;color:var(--ink,#2b2c31);font-weight:400;margin:0 0 7px}
.registration__selection>span,.registration__selection-meta{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:baseline;gap:5px 18px;font-size:11px}
.registration__selection-meta>span{min-width:0}
.registration__selection-meta strong{font:400 23px/1.25 var(--serif,Georgia,serif);margin:0}
.registration__date-field{padding:0;border:0;margin:0;min-width:0}
.registration__date-field legend{font-size:11px;line-height:1.7;color:var(--registration-muted);padding:0;margin-bottom:12px}
.registration__dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.registration__date-option{display:flex;align-items:flex-start;gap:11px;min-width:0;min-height:62px;padding:16px;border:1px solid #88808c38;border-radius:9px;background:#ffffff38;cursor:pointer;font-size:13px;line-height:1.7;text-align:left;transition:border-color 180ms ease,background 180ms ease}
.registration__date-field>.registration__date-option+.registration__date-option{margin-top:10px}
.registration__date-option:hover{border-color:#8b7c9c}
.registration__date-option:has(input:checked){border-color:#8e7b9e;background:#eee8f43d}
.registration__date-option:has(input:focus-visible){outline:2px solid var(--registration-accent);outline-offset:3px}
.registration__date-option input{accent-color:var(--registration-accent);flex:none;width:15px;height:15px;margin:4px 0 0}
.registration__date-option>span{min-width:0;overflow-wrap:anywhere}
.registration__date-option small{display:block;font-size:10px;color:var(--registration-muted);margin-top:4px}
.registration__error{font-size:12px;line-height:1.7;color:#914b5b;text-align:left;margin:12px 0 0}
.registration__actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}
.registration__back{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 4px;border:0;background:none;color:var(--registration-muted)!important;font-size:12px;text-decoration:none;cursor:pointer}
.registration__back:hover{color:var(--ink,#2b2c31)!important;text-decoration:underline;text-underline-offset:5px}
.registration__primary{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:50px;min-width:148px;max-width:100%;padding:13px 24px;border:1px solid var(--ink,#2b2c31);border-radius:6px;background:var(--ink,#2b2c31);color:var(--paper,#f7f7f4)!important;font-size:13px;line-height:1.6;text-decoration:none;cursor:pointer;transition:background 180ms ease,border-color 180ms ease,transform 180ms ease}
.registration__primary:hover{background:#62566e;border-color:#62566e}
.registration__primary:active{transform:translateY(1px)}
.registration__primary>span{font-size:18px;line-height:1}
.registration__hint{display:block;text-align:right;color:#928b99;font:11px/1.5 var(--serif,Georgia,serif);letter-spacing:.04em;margin:7px 0 0}
.registration__context{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #887b901f;padding:13px 0 0;margin-top:16px;min-width:0;font-size:11px;line-height:1.7;text-align:left}
.registration__context>div{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.registration__context>div>span{font-size:11px;line-height:1.6;color:var(--registration-muted);overflow-wrap:anywhere}
.registration__context small{min-width:0;font-size:10px;color:var(--registration-muted);overflow-wrap:anywhere;flex:1}
.registration__context>span{flex:none;font:500 17px/1.2 var(--serif,Georgia,serif);white-space:nowrap}
.registration__context button{flex:none;border:0;background:none;padding:8px 0 8px 5px;min-height:38px;color:var(--registration-muted);font-size:10px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.registration__preview-note{font-size:10px;line-height:1.8;color:var(--registration-muted);text-align:center;max-width:53ch;margin:17px auto 0;overflow-wrap:anywhere}
.registration__complete{text-align:center;padding:10px 0 0;animation:registration-question-enter 250ms ease both}
.registration__complete-mark{display:grid;place-items:center;width:55px;height:55px;margin:0 auto 20px;border:1px solid #9b8ba7;border-radius:50%;background:#ebe5f02b;color:#776484;font-size:23px;font-weight:300}
.registration__complete .registration__eyebrow{font-size:9px;color:var(--registration-accent)}
.registration__complete h2{font:400 clamp(30px,4vw,40px)/1.45 var(--serif,Georgia,serif);letter-spacing:-.035em;margin:0 0 17px;overflow-wrap:anywhere}
.registration__complete>p{font-size:12px;line-height:1.9;color:var(--registration-muted);max-width:44ch;margin:0 auto 13px}
.registration__complete-summary{display:flex;flex-direction:column;gap:7px;border-top:1px solid #887b9026;border-bottom:1px solid #887b9026;margin:23px 0 0;padding:18px 0;font-size:11px;line-height:1.8;color:var(--registration-muted)}
.registration__complete-summary strong{font-weight:400;font-size:15px;color:var(--ink,#2b2c31);overflow-wrap:anywhere}
.registration__complete-summary span{overflow-wrap:anywhere}
.registration__complete .registration__actions{justify-content:center;flex-wrap:wrap;gap:12px 22px;margin-top:23px}
@keyframes registration-question-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.registration{width:calc(100% - 36px);padding-top:99px;padding-bottom:25px}.registration__header{margin-bottom:22px}.registration__header h1{font-size:21px}.registration__header>p:last-child:not(.registration__eyebrow){font-size:11px}.registration__progress{margin-bottom:20px;padding:0 5px}.registration__panel{padding:29px 26px 22px;border-radius:16px}.registration__question-heading{margin-bottom:22px}.registration__question-heading h2{font-size:34px}.registration__field input{font-size:26px}.registration__field select{font-size:18px}.registration__dates{gap:9px}.registration__date-option{padding:13px 11px;gap:8px;font-size:12px}.registration__actions{margin-top:24px}.registration__context{gap:10px;margin-top:18px;padding-top:14px}.registration__preview-note{font-size:9px;margin-top:14px}.registration__complete h2{font-size:34px}}
@media(max-width:420px){.registration{width:calc(100% - 28px);padding-top:95px}.registration__header{margin-bottom:18px}.registration__header .registration__eyebrow{font-size:8px}.registration__header h1{font-size:20px;margin-bottom:5px}.registration__header>p:last-child:not(.registration__eyebrow){font-size:10px}.registration__progress{margin-bottom:17px}.registration__progress-label{font-size:9px}.registration__panel{padding:25px 20px 20px;border-radius:14px}.registration__question-heading{margin-bottom:18px}.registration__question-heading h2{font-size:30px;line-height:1.5;margin-bottom:10px}.registration__question-heading>p{font-size:11px;line-height:1.8}.registration__field input{font-size:24px;padding-top:10px}.registration__field select{font-size:16px;padding-top:13px;padding-right:25px}.registration__primary{min-width:132px;min-height:49px;padding:12px 17px;font-size:12px;gap:20px}.registration__back{font-size:11px}.registration__actions{gap:12px;margin-top:21px}.registration__date-option{font-size:11px;padding:11px 9px;gap:7px}.registration__date-option input{width:13px;height:13px;margin-top:3px}.registration__date-option small{font-size:9px}.registration__context{gap:8px}.registration__context>span{font-size:15px}.registration__context small,.registration__context button{font-size:9px}.registration__complete h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){.registration *,.registration *:before,.registration *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
