.registration-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:start;padding-top:68px;padding-bottom:80px}
.registration-aside{padding-top:40px;max-width:440px}.registration-aside h2{font-size:clamp(32px,4vw,52px);line-height:1.12;color:#142c56;margin:20px 0}.registration-aside p{color:#526078;line-height:1.8}.registration-aside>a{display:inline-flex;gap:12px;align-items:center;color:#173c85;font-weight:700;margin-top:16px}
.registration-card{background:#fff;border:1px solid #dce4ef;border-radius:22px;padding:32px;box-shadow:0 16px 50px #173c850d;color:#162e51;min-width:0;scroll-margin-top:36px}
.registration-brand{display:flex;align-items:center;gap:18px;padding-bottom:20px;border-bottom:1px solid #e4eaf2}.registration-brand img{width:76px;height:76px;object-fit:contain;flex-shrink:0}.registration-brand p{font-size:20px;line-height:1.3;font-weight:700;margin:0;color:#173c85;max-width:260px}
.registration-intro{padding:23px 0 8px}.registration-edition{display:inline-block;font-size:11px;font-weight:800;letter-spacing:1.7px;color:#8d5818;background:#fcf0d9;border-radius:5px;padding:6px 10px}.registration-intro h2{font-size:27px;line-height:1.2;letter-spacing:-.5px;margin:13px 0 10px;color:#162e51}.registration-intro p{color:#617087;font-size:14px;line-height:1.6;margin:0 0 8px}
.registration-required{font-size:12px;color:#617087;margin:8px 0 16px}.registration-required span,.registration-field label span{color:#a42f39}.registration-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px 18px}.registration-field{min-width:0;display:flex;flex-direction:column;gap:7px}.registration-wide{grid-column:1/-1}.registration-field label{font-size:13px;font-weight:650;color:#233955}.registration-field input{display:block;width:100%;box-sizing:border-box;border:1px solid #cbd5e3;border-radius:8px;min-height:46px;padding:11px 12px;background:#fbfcfe;color:#162e51;font:inherit;font-size:15px;line-height:1.4}.registration-field input:focus{outline:3px solid #2869c730;border-color:#2869c7;background:#fff}.registration-field input[aria-invalid=true]{border-color:#b63742}.registration-field-error{color:#a52935;font-size:12px;line-height:1.4}
.registration-submit{display:flex;justify-content:center;align-items:center;gap:14px;width:100%;margin:23px 0 12px;min-height:48px;padding:12px 16px;border:0;border-radius:8px;background:#173c85;color:#fff;font:inherit;font-weight:700;font-size:14px;cursor:pointer;transition:background .15s}.registration-submit:hover{background:#102e6a}.registration-submit:disabled{opacity:.7;cursor:wait}.registration-note{font-size:12px;color:#617087;text-align:center;margin:0;line-height:1.5}.registration-submit-status{font-size:13px;color:#173c85;text-align:center}.registration-card .notice{margin:16px 0;padding:14px;border-radius:8px;font-size:14px;line-height:1.5}.registration-result:focus{outline:3px solid #2869c750}
.registration-dialog{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(590px,calc(100% - 28px));max-height:calc(100dvh - 28px);overflow:auto;border:0;border-radius:22px;padding:0;box-shadow:0 28px 100px #06152c66;background:#fff;color:#162e51}.registration-dialog::backdrop{background:#071c3abf}.registration-dialog:not([open]){display:none}.registration-dialog .registration-card{border:0;box-shadow:none;border-radius:0;padding:28px 32px 14px}.registration-close{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #dce4ef;border-radius:50%;background:#f4f7fb;color:#173c85;font-size:27px;line-height:1;cursor:pointer;z-index:1}.registration-close:focus-visible,.registration-page-link:focus-visible{outline:3px solid #2869c7;outline-offset:2px}.registration-page-link{display:block;width:fit-content;margin:2px auto 22px;text-align:center;color:#173c85;font-size:12px;text-decoration:underline;text-underline-offset:3px}.registration-dialog .registration-brand{padding-right:20px}.registration-dialog .registration-intro{padding-top:18px}
@media(max-width:800px){.registration-section{grid-template-columns:1fr;gap:28px;padding-top:28px;padding-bottom:40px}.registration-aside{max-width:none;padding-top:0}.registration-aside h2 br{display:none}}
@media(max-width:480px){.registration-card{padding:23px 19px}.registration-dialog .registration-card{padding:22px 20px 12px}.registration-fields{grid-template-columns:1fr;gap:13px}.registration-brand{gap:12px}.registration-brand img{width:60px;height:60px}.registration-brand p{font-size:17px}.registration-intro h2{font-size:23px}.registration-close{width:32px;height:32px;top:7px;right:7px}.registration-dialog .registration-brand{padding-right:18px}.registration-field input{font-size:16px;min-height:44px}.registration-submit{font-size:13px}}
@media(prefers-reduced-motion:reduce){.registration-submit{transition:none}}
/* Registration revision 2: compact popup and persistent in-place receipts. */
.registration-card [hidden]{display:none!important}
.registration-inline-error{padding:10px 12px;margin:0 0 12px;border:1px solid #edbdc2;border-radius:7px;background:#fff3f4;color:#932635;font-size:13px;line-height:1.4}
.registration-confirmation{text-align:center;padding:18px 4px 6px;outline:none}.registration-success-icon{display:grid;place-items:center;margin:0 auto 12px;width:48px;height:48px;border-radius:50%;background:#e5f5ed;color:#187149;font-size:28px}.registration-confirmation h3{margin:0 0 12px;font-size:22px;color:#166044;line-height:1.25}.registration-confirmation>p{font-size:14px;line-height:1.6;color:#526078}.registration-confirmation .registration-reference{margin:18px 0;padding:16px;border:1px solid #cfe1f0;background:#f3f8ff;border-radius:10px;font-size:12px;color:#526078}.registration-reference strong{display:block;margin-top:6px;color:#173c85;font-size:28px;letter-spacing:1px;line-height:1.2}.registration-is-complete .registration-intro{display:none}.registration-confirmation:focus-visible{outline:2px solid #2869c750;outline-offset:4px}
.registration-dialog{width:min(680px,calc(100% - 24px));max-height:calc(100dvh - 24px);border-radius:16px}
.registration-dialog .registration-card{padding:20px 24px 8px}
.registration-dialog .registration-brand{gap:12px;padding:0 30px 12px 0;min-height:48px}
.registration-dialog .registration-brand img{width:48px;height:48px}
.registration-dialog .registration-brand p{font-size:18px;line-height:1.25;max-width:none;margin:0}
.registration-dialog .registration-intro{padding:12px 0 0}
.registration-dialog .registration-intro h2{font-size:23px;margin:0 0 10px;line-height:1.2}
.registration-dialog .registration-edition,.registration-dialog .registration-intro>p,.registration-dialog .registration-note{display:none}
.registration-dialog .registration-required{font-size:11px;line-height:1.3;margin:0 0 10px}
.registration-dialog .registration-fields{grid-template-columns:1fr 1fr;gap:10px 16px}
.registration-dialog .registration-field{gap:4px}
.registration-dialog .registration-field label{font-size:12px;line-height:1.25}
.registration-dialog .registration-field input{min-height:40px;padding:8px 10px;line-height:1.4;font-size:15px}
.registration-dialog .registration-submit{min-height:42px;padding:10px 12px;margin:14px 0 4px;font-size:14px;line-height:1.4}
.registration-dialog .registration-page-link{font-size:11px;margin:4px auto 15px;line-height:1.4}
.registration-dialog .registration-field-error{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.registration-dialog .registration-inline-error{font-size:12px;padding:8px 10px;margin-bottom:10px}
.registration-dialog .registration-confirmation{padding:18px 0 8px}
@media(max-width:480px){
 .registration-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}
 .registration-dialog .registration-card{padding:16px 16px 6px}
 .registration-dialog .registration-brand{padding:0 22px 10px 0;gap:9px}
 .registration-dialog .registration-brand img{width:42px;height:42px}
 .registration-dialog .registration-brand p{font-size:16px;max-width:230px}
 .registration-dialog .registration-intro{padding-top:10px}
 .registration-dialog .registration-intro h2{font-size:20px;margin-bottom:8px}
 .registration-dialog .registration-fields{gap:9px 10px}
 .registration-dialog .registration-field label{font-size:11px;line-height:1.3}
 .registration-dialog .registration-field input{min-height:40px;padding:8px;font-size:16px}
 .registration-dialog .registration-submit{font-size:13px;margin-top:12px}
 .registration-dialog .registration-page-link{margin-bottom:12px}
 .registration-dialog .registration-confirmation h3{font-size:20px}
}
@media(max-height:560px){
 .registration-dialog .registration-card{padding-top:12px;padding-bottom:4px}
 .registration-dialog .registration-brand{min-height:36px;padding-bottom:8px}
 .registration-dialog .registration-brand img{width:36px;height:36px}
 .registration-dialog .registration-brand p{font-size:15px}
 .registration-dialog .registration-intro{padding-top:8px}
 .registration-dialog .registration-intro h2{font-size:20px;margin-bottom:6px}
 .registration-dialog .registration-required{margin-bottom:6px}
 .registration-dialog .registration-fields{row-gap:7px}
 .registration-dialog .registration-field input{min-height:36px;padding:6px 8px}
 .registration-dialog .registration-submit{min-height:36px;padding:8px 10px;margin-top:10px}
 .registration-dialog .registration-page-link{margin-bottom:10px}
}
@media(max-height:450px) and (min-width:600px){
 .registration-dialog .registration-fields{grid-template-columns:1fr 1fr 1fr}
 .registration-dialog .registration-wide{grid-column:span 2}
 .registration-dialog .registration-intro{padding-top:6px}
 .registration-dialog .registration-intro h2{font-size:18px}
 .registration-dialog .registration-required{display:none}
 .registration-dialog .registration-confirmation{padding:8px 0 0}
 .registration-dialog .registration-success-icon{width:32px;height:32px;font-size:22px;margin-bottom:6px}
 .registration-dialog .registration-confirmation h3{font-size:18px;margin-bottom:6px}
 .registration-dialog .registration-confirmation>p{font-size:12px;margin:8px 0}
 .registration-dialog .registration-confirmation .registration-reference{margin:8px 0;padding:8px}
 .registration-dialog .registration-reference strong{font-size:22px;margin-top:3px}
}

@media(max-height:560px){.registration-dialog .registration-inline-error{font-size:11px;line-height:1.3;padding:6px 8px;margin-bottom:8px}}
