.registration-page{max-width:1120px;margin:auto;padding:34px 0 56px}
.registration-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--ink);font-size:.875rem;text-decoration:none;margin-bottom:24px}
.registration-back:hover{color:var(--purple)}
.registration-heading{max-width:760px;margin-bottom:34px}
.registration-heading .eyebrow{color:var(--purple);font-size:.8125rem;margin-bottom:14px;letter-spacing:.1em}
.registration-heading h1{font-size:clamp(2.4rem,4vw,3.3rem);max-width:700px;line-height:1.15;letter-spacing:-.045em;margin-bottom:16px}
.registration-heading>p:last-child{color:var(--ink);font-size:1.05rem;line-height:1.7;max-width:640px;margin:0}
.registration-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:28px;align-items:start}
.registration-layout [hidden]{display:none!important}
.registration-main{min-width:0}
.agency-registration-form{padding:28px;border:1px solid #e3e7ef;border-radius:24px;background:#fff;box-shadow:0 8px 28px #080d5105}
.registration-required{margin:0 0 28px;color:var(--ink);font-size:.8125rem;line-height:1.6}
.registration-honeypot{display:none}
.registration-section{min-width:0;border:0;padding:0 0 28px;margin:0 0 28px;border-bottom:1px solid var(--line)}
.registration-section-last{padding-bottom:0;margin-bottom:24px;border-bottom:0}
.registration-section legend{float:left;width:100%;display:flex;align-items:center;gap:11px;padding:0;margin:0 0 22px;color:var(--navy);font-family:var(--display);font-size:1.125rem;font-weight:700;line-height:1.4}
.registration-section legend+*{clear:both}
.registration-section legend>span{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--pale-mint);font-size:.8125rem}
.registration-section:nth-of-type(2) legend>span{background:#eee6ff}
.registration-section:nth-of-type(3) legend>span{background:#fff0b3}
.registration-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}
.registration-field{min-width:0}
.registration-field-wide{grid-column:1/-1}
.registration-field label{display:block;color:var(--navy);font-size:.875rem;font-weight:700;line-height:1.5;margin-bottom:7px}
.registration-field input,.registration-field select,.registration-field textarea{display:block;width:100%;min-width:0;max-width:100%;border:1px solid #d8deeb;border-radius:10px;padding:11px 12px;background:#fff;color:var(--navy);font-family:var(--font);font-size:1rem;line-height:1.5}
.registration-field input,.registration-field select{min-height:48px}
.registration-field select:focus-visible{outline:3px solid var(--purple);outline-offset:4px}
.registration-field textarea{resize:vertical;min-height:98px}
.registration-field input::placeholder,.registration-field textarea::placeholder{color:#737d94;opacity:1}
.registration-help{margin:6px 0 0;color:#63708a;font-size:.75rem;line-height:1.5}
.registration-documents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.registration-document{min-width:0;padding:18px 15px;border:1px solid #d9eee8;border-radius:16px;background:#f4fbf8}
.registration-document:nth-child(2){background:#faf7ff;border-color:#e7dff8}
.registration-document h2{font-size:1rem;line-height:1.4;letter-spacing:-.02em;min-height:2.8em;margin-bottom:8px}
.registration-document>p{font-size:.8125rem;color:var(--ink);line-height:1.55;margin:0 0 18px;min-height:3.1em}
.registration-document .registration-field+.registration-field{margin-top:16px}
.registration-document input[type=file]{padding:8px;font-size:.75rem;overflow:hidden}
.registration-document input[type=file]::file-selector-button{padding:9px 10px;margin-right:8px;border:0;border-radius:7px;background:#e1d5ff;color:var(--navy);font-family:var(--font);font-size:.75rem;font-weight:700;cursor:pointer}
.registration-consent{display:flex;align-items:flex-start;gap:11px;color:var(--ink);font-size:.8125rem;line-height:1.6;margin:0 0 24px;min-height:44px}
.registration-consent input{flex-shrink:0;width:19px;height:19px;margin:3px 0 0;accent-color:var(--purple)}
.registration-submit-row{display:flex;align-items:flex-start;flex-direction:column;gap:10px}
.registration-submit{min-height:54px;max-width:100%;gap:12px;text-align:center}
.registration-submit:disabled{cursor:wait;opacity:.65}
.registration-status{font-size:.8125rem;line-height:1.6;color:var(--ink);margin:0}
.registration-error{padding:14px 16px;border:1px solid #f0c4cc;border-radius:10px;background:#fff5f6;color:#8f243d;font-size:.875rem;line-height:1.6;margin:0 0 18px}
.registration-aside{min-width:0}
.registration-aside-card{padding:26px 23px;border-radius:24px;background:#eafaf5;border:1px solid #d9eee8}
.registration-mascot{width:160px;height:auto;margin:0 auto 22px}
.registration-aside h2{font-size:1.375rem;line-height:1.4;letter-spacing:-.03em;margin:0 0 13px}
.registration-aside-card>p{font-size:.9375rem;line-height:1.7;color:var(--ink);margin:0 0 22px}
.registration-steps{list-style:none;counter-reset:agency-steps;margin:0;padding:0;display:grid;gap:16px}
.registration-steps li{counter-increment:agency-steps;display:flex;gap:10px;color:var(--ink);font-size:.8125rem;line-height:1.65}
.registration-steps li:before{content:counter(agency-steps);display:grid;place-items:center;flex-shrink:0;width:23px;height:23px;border-radius:50%;background:#fff;color:var(--purple);font-weight:700}
.registration-contact{padding:22px 12px;text-align:center}
.registration-contact h2{font-size:1rem;margin-bottom:8px}
.registration-contact a{font-size:.9375rem;color:var(--navy);text-underline-offset:4px;overflow-wrap:anywhere}
.registration-success{padding:42px 32px;border-radius:24px;border:1px solid #d9eee8;background:#f1fbf7;text-align:center}
.registration-success-check{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--pale-mint);font-size:1.7rem;margin:0 auto 22px}
.registration-success h2{font-size:1.8rem;margin-bottom:16px}
.registration-success p{color:var(--ink);font-size:1rem;line-height:1.7}
.registration-reference{margin:22px 0}
.registration-reference strong{color:var(--navy)}
@media(max-width:1100px){.registration-layout{grid-template-columns:minmax(0,1fr) 240px;gap:22px}.agency-registration-form{padding:24px}.registration-documents{grid-template-columns:1fr}.registration-document h2,.registration-document>p{min-height:0}}
@media(max-width:800px){.registration-layout{grid-template-columns:1fr}.registration-aside{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:center}.registration-mascot{width:120px}.registration-heading{margin-bottom:28px}}
@media(max-width:580px){.registration-page{padding-top:22px}.registration-back{margin-bottom:18px;font-size:.8125rem}.registration-heading h1{font-size:2.4rem}.registration-heading>p:last-child{font-size:1rem}.agency-registration-form{padding:23px 18px;border-radius:20px}.registration-fields{grid-template-columns:1fr;gap:18px}.registration-section{padding-bottom:24px;margin-bottom:24px}.registration-section legend{font-size:1.05rem;gap:9px}.registration-aside{grid-template-columns:1fr;gap:0}.registration-aside-card{display:grid;grid-template-columns:84px minmax(0,1fr);gap:0 18px;padding:22px 18px}.registration-mascot{grid-row:span 2;width:84px;margin:0;align-self:center}.registration-aside h2{font-size:1.1rem}.registration-aside-card>p{margin-bottom:0;font-size:.875rem}.registration-steps{grid-column:1/-1;margin-top:20px}.registration-submit{width:100%;font-size:.9375rem;padding-inline:16px}.registration-success{padding:32px 22px}}
