/* Font sizes from Escrow/CSS/home-sections.css and header-shared.css.
   Keep the root size untouched so existing rem-based geometry is preserved. */
:root{
  --auth-type-base:15.2px;
  --auth-type-heading:clamp(30.4px,calc(28px + .313vw),34px);
  --auth-type-subheading:clamp(22.8px,calc(21.667px + .148vw),24.5px);
  --auth-type-body:clamp(17.1px,calc(16.833px + .035vw),17.5px);
  --auth-type-small:clamp(15.2px,calc(15.067px + .017vw),15.4px);
  --auth-type-caption:clamp(13.3px,calc(13.167px + .017vw),13.5px);
  --auth-type-label:var(--auth-type-caption);
  --auth-type-nav:clamp(15.3px,calc(12.48px + .288vw),18px);
}
@media screen and (min-width:992px) and (max-width:1440px){
  :root{--auth-type-base:max(15.2px,calc(.557876rem + .39749vw));}
}
@media screen and (min-width:1441px) and (max-width:1920px){
  :root{--auth-type-base:calc(.77206rem + .197711vw);}
}
@media screen and (min-width:1921px){
  :root{--auth-type-base:calc(.59375rem + .395834vw);}
}
@media (max-width:980px){:root{--auth-type-nav:var(--auth-type-base);}}
@media (max-width:767.98px){
  :root{
    --auth-type-heading:calc(var(--auth-type-base) * 1.625);
    --auth-type-subheading:calc(var(--auth-type-base) * 1.375);
    --auth-type-body:var(--auth-type-base);
    --auth-type-small:calc(var(--auth-type-base) * .875);
    --auth-type-caption:calc(var(--auth-type-base) * .75);
  }
}
body{font-size:var(--auth-type-small);}
.auth-card h1{font-size:var(--auth-type-heading);}
.auth-visual__copy h1{width:100%;max-width:100%;font-size:clamp(40px,3.75vw,56px);}
.auth-visual__copy strong{font-size:clamp(17px,1.31vw,20px);}
.auth-visual__copy p{font-size:clamp(16px,1.17vw,18px);}
.auth-availability-dialog h2,.forgot-success-card h2{font-size:var(--auth-type-subheading);}
.auth-card>.sub,.auth-availability-dialog p,.forgot-success-card p{font-size:var(--auth-type-body);}
.auth-card .captcha-demo,.auth-card .agreement-check,.auth-card .form-line,
.auth-switch,.auth-card .back-link{font-size:var(--auth-type-small);}
.auth-card .field label,#screen-forgot .auth-card .field label{font-size:var(--auth-type-label);}
html body .auth-card .field input{font-size:var(--auth-type-base);}
/* Retain the original 49.25px login/register input height and 23.25px text line. */
#screen-login .auth-card .field input,#screen-signup .auth-card .field input{line-height:23.25px;}
html body #screen-forgot .auth-card .field input{font-size:var(--auth-type-base);}
.auth-card .password-rules,.auth-card .captcha-demo span,
.auth-divider,.auth-footer{font-size:var(--auth-type-caption);}
.auth-feedback{font-size:var(--auth-type-caption)!important;}
html body .auth-card .auth-main-btn,.forgot-success-card .btn,
.auth-availability-dialog .availability-dismiss{font-size:var(--auth-type-base);}
.auth-header__logo{font-size:clamp(32px,2.62vw,40px);}
.auth-header,.auth-header .language-picker__trigger,
.auth-header .language-picker__menu button{font-size:var(--auth-type-nav);}
/* Align auth page font stack with site */
body{font-family:Arial,"PingFang SC","Hiragino Sans GB","Noto Sans SC","Source Han Sans SC","Microsoft YaHei","Segoe UI",system-ui,sans-serif;}
html[lang="en-US"] body{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;}