/* Public-site type scale: 14px base with readable supporting hierarchy. */
body.public-site{font-size:14px}
.public-site .top-strip{font-size:12px}
.public-site .brand{font-size:16px}
.public-site .main-nav{font-size:14px}
.public-site .welcome-inner>div:first-child>span{font-size:14px}
.public-site .button{font-size:14px}
.public-site .button-outline strong{font-size:15px}
.public-site .eyebrow{font-size:12px}
.public-site .hero-copy>p{font-size:16px}
.public-site .mediums span{font-size:11px}
.public-site .mediums strong{font-size:13px}
.public-site .paper-top small,
.public-site .paper-row small{font-size:9px}
.public-site .paper-top span,
.public-site .paper-action{font-size:11px}
.public-site .paper-stats span{font-size:9px}
.public-site .levels .site-shell{font-size:14px}
.public-site .levels small{font-size:10px}
.public-site .split-heading p,
.public-site .feature-card p,
.public-site .teaching-section p,
.public-site .section-heading.centered p,
.public-site .faq-grid>div:first-child>p,
.public-site .faq-list p,
.public-site .final-cta p{font-size:14px}
.public-site .feature-card small{font-size:11px}
.public-site .feature-card a,
.public-site .teaching-section a,
.public-site .faq-grid>div:first-child>a{font-size:13px}
.public-site .teaching-section li>span{font-size:12px}
.public-site .teaching-section li strong{font-size:16px}
.public-site .steps-grid h3{font-size:16px}
.public-site .steps-grid p{font-size:13px}
.public-site .faq-list summary{font-size:15px}
.public-site .footer-grid p,
.public-site .footer-grid nav{font-size:12px}
.public-site .footer-bottom{font-size:11px}
.public-site .join-aside p,
.public-site .join-aside li{font-size:14px}
.public-site .field>span{font-size:14px}
.public-site .field>small,
.public-site .file-field small{font-size:12px}
.public-site .file-control{font-size:13px!important}
.public-site .form-section-title{font-size:13px}
.public-site .form-submit p{font-size:12px}
.public-site .success-card>p{font-size:14px}
.public-site .reference-box small{font-size:11px}
.public-site .muted{font-size:13px}
.public-site .member-auth-copy li,
.public-site .account-status p,
.public-site .account-note p,
.public-site .account-details dd{font-size:14px}
.public-site .member-register-link,
.public-site .account-identity span{font-size:13px}
.public-site .member-password button{font-size:12px}
.public-site .account-card-head>span{font-size:11px}
.public-site .account-note small,
.public-site .account-details dt{font-size:11px}

/* Keep the native file control inside its grid cell and align password fields. */
.public-site .file-field{position:relative;min-width:0}
.public-site .file-field input[type=file]{position:absolute;top:0;left:0;width:1px;height:1px;margin:0;padding:0;opacity:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.public-site .file-control{width:100%;min-width:0;overflow:hidden;cursor:pointer}
.public-site .file-control b{flex:0 0 auto}
.public-site .file-control em{min-width:0}
.public-site .account-security-grid{align-items:start}
.public-site .field-note{grid-column:1/-1;margin:-10px 0 0;color:#9293a2;font-size:12px}

@media(max-width:620px){
  body.public-site{font-size:14px}
  .public-site .main-nav{font-size:14px}
  .public-site .hero-copy>p{font-size:15px}
  .public-site .nav-wrap{min-width:0}
  .public-site .nav-toggle{display:block!important;position:relative;z-index:40;flex:0 0 40px;width:40px}
  .public-site .join-hero{overflow:hidden}
  .public-site .join-hero h1{display:block;width:100%;max-width:100%;font-size:clamp(38px,11vw,43px);line-height:1.05;letter-spacing:-2px;white-space:normal;overflow-wrap:anywhere;word-break:normal}
  .public-site .join-hero p{max-width:100%;overflow-wrap:anywhere}
  .public-site .field-note{grid-column:auto;margin:-8px 0 0}
}
