.registration-page{background:#f7fafc;color:var(--ink);min-height:100vh}
.registration-page .header{position:relative;background:rgba(255,255,255,.94)}
.registration-page .header-inner{min-height:82px}
.registration-page .brand img{width:176px}
.registration-back{display:inline-flex;align-items:center;min-height:44px;color:var(--text);font-size:13.5px;transition:color .2s}
.registration-back:hover{color:var(--blue)}
.registration-hero{position:relative;overflow:hidden;padding:76px 0 96px;background:linear-gradient(135deg,#f7fafc 0%,#fff 52%,#f5f9fd 100%)}
.registration-hero::before{content:"";position:absolute;right:-140px;top:-180px;width:520px;height:520px;border:1px solid rgba(46,124,214,.14);border-radius:50%;box-shadow:0 0 0 44px rgba(46,124,214,.035),0 0 0 88px rgba(169,119,60,.035);pointer-events:none}
.registration-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,500px);align-items:center;gap:86px}
.registration-intro{max-width:560px}
.registration-intro h1{margin:26px 0 22px;font-size:clamp(44px,5vw,64px);line-height:1.22}
.registration-intro h1 em{font-style:normal;font-family:"Noto Serif SC","Songti SC","STSong","SimSun",serif;font-weight:500;color:var(--gold)}
.registration-lead{max-width:490px;color:var(--text);font-size:17px;line-height:1.9}
.registration-notes{display:grid;gap:15px;margin-top:42px;padding-top:26px;border-top:1px solid var(--line)}
.registration-notes p{display:flex;align-items:center;gap:16px;color:var(--text);font-size:13.5px}
.registration-notes strong{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-size:11px;letter-spacing:.5px}
.registration-panel{position:relative;padding:35px 38px 38px;border:1px solid rgba(211,224,237,.9);border-radius:18px;background:rgba(255,255,255,.95);box-shadow:var(--shadow-lift)}
.panel-heading{display:grid;gap:6px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.panel-heading span{color:var(--gold);font-size:10px;font-weight:700;letter-spacing:2.4px}
.panel-heading strong{font-size:24px;line-height:1.4;color:var(--ink-deep)}
.panel-heading small{color:#7a8fa5;font-size:12.5px}
.registration-form{display:grid;gap:18px;padding-top:25px}
.registration-form[hidden],.registration-success[hidden]{display:none!important}
.registration-form label{display:grid;gap:8px}
.registration-form label>span{color:var(--ink-deep);font-size:13px;font-weight:600}
.registration-form label b{color:#c55b54;font-weight:600}
.registration-form input{width:100%;height:50px;padding:0 15px;border:1px solid var(--line-strong);border-radius:8px;background:#fbfdff;color:var(--ink-deep);font:inherit;font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
.registration-form input::placeholder{color:#aab8c5}
.registration-form input:hover{border-color:#b8cddd;background:#fff}
.registration-form input:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(46,124,214,.12)}
.registration-form input[aria-invalid="true"]{border-color:#d65c5c;box-shadow:0 0 0 4px rgba(214,92,92,.1)}
.form-consent{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:9px;color:#71859a;font-size:12px;line-height:1.7;cursor:pointer}
.form-consent input{width:18px!important;height:18px!important;flex:0 0 18px;margin-top:3px;padding:0!important;accent-color:var(--blue);box-shadow:none!important}
.form-consent input:focus{box-shadow:0 0 0 4px rgba(46,124,214,.12)!important}
.form-consent input[aria-invalid="true"]{outline:2px solid #d65c5c;outline-offset:2px}
.form-consent span{color:#71859a;font-size:12px;font-weight:400}
.form-consent a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.form-message{min-height:20px;margin-top:-5px;color:#d65c5c;font-size:12.5px;line-height:1.6}
.form-message.is-success{color:#37805f}
.registration-submit{width:100%;margin-top:2px}
.registration-submit[disabled]{cursor:wait;opacity:.65;transform:none}
.registration-success{text-align:center;padding:46px 10px 20px}
.success-mark{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 22px;border-radius:50%;background:#edf8f1;color:#37805f;font-size:28px;font-weight:700}
.registration-success h2{font-size:23px;color:var(--ink-deep)}
.registration-success p{margin-top:10px;color:var(--text);font-size:14px}
.registration-success .text-link{margin-top:24px;color:var(--blue)}
.registration-footer{padding:26px 0;border-top:1px solid var(--line);background:#fff;color:#8b9baa;font-size:11.5px}
.registration-footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}
.registration-footer nav{display:flex;gap:20px}
.registration-footer a:hover{color:var(--blue)}
@media(max-width:860px){
  .registration-grid{grid-template-columns:1fr;gap:44px;max-width:620px}
  .registration-intro{max-width:none}
  .registration-intro h1{font-size:45px}
  .registration-notes{margin-top:30px}
}
@media(max-width:640px){
  .registration-page .header-inner{min-height:72px}
  .registration-page .brand img{width:132px}
  .registration-back{font-size:12.5px}
  .registration-hero{padding:46px 0 60px}
  .registration-hero::before{right:-240px;top:-120px;width:420px;height:420px}
  .registration-intro h1{font-size:38px;margin:20px 0 18px}
  .registration-lead{font-size:15px;line-height:1.85}
  .registration-notes{gap:11px;margin-top:28px;padding-top:20px}
  .registration-notes p{font-size:12.5px;gap:12px}
  .registration-panel{padding:27px 20px 24px;border-radius:15px}
  .panel-heading{padding-bottom:20px}
  .panel-heading strong{font-size:21px}
  .registration-form{gap:16px;padding-top:21px}
  .registration-form input{height:48px}
  .registration-footer{padding:22px 0 calc(22px + env(safe-area-inset-bottom,0px))}
  .registration-footer .wrap{align-items:flex-start;flex-direction:column;gap:10px}
  .registration-footer nav{gap:16px}
}
