/* Shared brand and script-aware typography for home, login and registration. */
:root{--connect-font:'Inter',sans-serif}
:lang(en),:lang(fil){--connect-font:'Inter',sans-serif}
:lang(ar){--connect-font:'Noto Sans Arabic',Tahoma,sans-serif}
:lang(ur){--connect-font:'Noto Naskh Arabic',Tahoma,serif}
:lang(hi),:lang(ne){--connect-font:'Noto Sans Devanagari',sans-serif}
:lang(bn){--connect-font:'Noto Sans Bengali',sans-serif}
body,body.connect-auth{font-family:var(--connect-font);line-height:1.7}
body.connect-auth :is(h1,h2,h3,p,label,legend,input,select,textarea,button,.btn,.vs__search),.language-native,.language-name{font-family:var(--connect-font)}
:lang(ar) :is(h1,h2,h3),:lang(ur) :is(h1,h2,h3),:lang(hi) :is(h1,h2,h3),:lang(ne) :is(h1,h2,h3),:lang(bn) :is(h1,h2,h3){letter-spacing:normal!important;line-height:1.6}
:lang(ur) .auth-title-block p,:lang(ur) .role-copy small,:lang(ur) .auth-language-picker{font-size:15px;line-height:1.9}
:lang(ur) .auth-eyebrow,:lang(ar) .auth-eyebrow{letter-spacing:0}
:lang(ur) .language-native{font-size:20px;line-height:1.8}
:lang(ur) .role-copy strong{font-size:19px}
body .connect-header{display:flex;align-items:center;justify-content:center;width:100%;flex-shrink:0;padding:32px 20px 8px}
body .connect-header .connect-brand{display:inline-flex;align-items:center;justify-content:center;gap:11px;width:auto;max-width:100%;padding:5px;border-radius:12px;color:#244b7f;font-family:'Inter',sans-serif;font-size:29px;font-weight:700;letter-spacing:.5px;line-height:1.2;text-decoration:none}
body .connect-header .connect-brand:hover{text-decoration:none;color:#244b7f}
body .connect-brand-symbol{position:relative;width:48px;height:48px;flex-shrink:0}
body .connect-brand-symbol img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:block;width:74px;height:74px;max-width:none}
body .connect-brand:focus-visible{outline:3px solid #5283c5;outline-offset:5px}
@media(max-width:600px){body .connect-header{padding:24px 16px 4px}body .connect-header .connect-brand{font-size:25px;gap:9px;letter-spacing:.4px}body .connect-brand-symbol{width:42px;height:42px}body .connect-brand-symbol img{width:64px;height:64px}}
/* Keep the content close to the header, independent of viewport height. */
body .language-layout,body.connect-auth .auth-main{align-items:flex-start;padding-top:16px}
@media(max-width:600px){body .language-layout,body.connect-auth .auth-main{padding-top:12px}}
/* Match the content offset on the language, login, and reset pages. */
body .language-layout{padding-top:clamp(52px,8vh,76px)}
body .site-footer,body.connect-auth .site-footer{border-top:0!important}
@media(max-width:600px){body .language-layout{padding-top:44px}}
/* These shared rules load after the page styles, so one spacing value wins everywhere. */
body .language-layout,body.connect-auth .auth-main{padding-top:clamp(52px,8vh,76px)}
@media(max-width:600px){body .language-layout,body.connect-auth .auth-main{padding-top:44px}}

/* Carry the active locale's Google font through the full signed-in interface. */
body:not(.connect-auth) :not(i):not(svg):not(path):not(code):not(pre):not([class*="icon"]):not([class*="fa-"]):not([class*="glyphicon"]){font-family:var(--connect-font),sans-serif!important}
