/* Dedicated sign-in layout, aligned with the shared Hub identity. */
body.login-body{display:flex;flex-direction:column;min-height:100vh;background:#f6f5f2;color:#252833}
.login-header,.login-footer{width:min(1280px,100%);margin:0 auto;padding:28px 48px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.login-brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:"Bricolage Grotesque",sans-serif;font-size:27px;font-weight:700;line-height:1.1}
.login-brand small{display:block;font-family:"Figtree",sans-serif;font-size:8px;font-weight:500;letter-spacing:1.2px;margin-top:7px;color:#69717e}
.login-mark{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:#252833;flex-shrink:0}
.login-mark img{display:block;width:32px;height:auto}
.login-internal{display:flex;align-items:center;gap:8px;color:#69717e;font-size:12px}
.login-internal>span{width:6px;height:6px;border-radius:50%;background:#bd7440}
main.login-layout{flex:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:80px;align-items:center;width:min(1280px,100%);padding:64px 48px 80px;margin:auto}
.login-intro .eyebrow{font-size:10px;letter-spacing:1.5px;margin-bottom:22px}
.login-intro h1{font-size:clamp(42px,4.8vw,64px);line-height:1.04;letter-spacing:-2px;margin-bottom:24px}
.login-intro h1 span{color:#a9511d}
.login-lead{font-size:16px;color:#69717e;line-height:1.65;margin:0 0 38px;max-width:490px}
.login-tools{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:24px}
.login-tools li{display:flex;align-items:center;gap:16px}
.login-tool-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid #e5ded5;background:#fbfaf7;color:#ac602a;border-radius:12px;flex-shrink:0}
.login-tool-icon svg,.login-access-icon svg,.login-domain svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.login-tools strong{font-size:15px;font-weight:650}
.login-tools p{font-size:13px;color:#69717e;line-height:1.5;margin:3px 0 0}
.login-access{border:1px solid #e1e3e7;border-radius:24px;background:#fff;padding:36px;box-shadow:0 16px 45px #25283306;position:relative;overflow:hidden}
.login-access:before{content:"";position:absolute;left:36px;right:36px;top:0;height:3px;background:#efab77;border-radius:0 0 3px 3px}
.login-access-top{display:flex;align-items:center;gap:14px;margin-bottom:27px}
.login-access-icon{display:grid;place-items:center;width:44px;height:44px;background:#fff0e3;color:#ad5920;border-radius:13px}
.login-access-label{font-size:9px;letter-spacing:1.4px;font-weight:650;color:#7a7168}
.login-access h2{font-size:30px;letter-spacing:-.8px;margin:0 0 12px}
.login-access-description{font-size:15px;line-height:1.65;color:#69717e;margin-bottom:27px}
.login-access .google-login{width:100%;min-height:54px;padding:14px 18px;margin:0;border:1px solid #dce0e5;border-radius:11px;background:white;color:#252833;font-size:15px;font-weight:650;gap:12px;box-shadow:0 2px 4px #25283304;transition:background .18s,border-color .18s,box-shadow .18s}
.login-access .google-login:hover{background:#faf9f6;border-color:#b7b8be;box-shadow:0 4px 12px #25283308;filter:none}
.google-icon{width:20px;height:20px;flex-shrink:0}
.login-arrow{margin-left:auto;font-size:19px;color:#787b85}
.login-access .google-login[aria-disabled=true]{pointer-events:none;background:#f6f5f2}
.login-domain{display:flex;align-items:center;justify-content:center;gap:10px;padding:20px 0 25px;color:#7a808a;font-size:12px;line-height:1.6}
.login-domain svg{width:17px;height:17px;flex-shrink:0}
.login-domain strong{color:#555e6c;font-weight:600}
.login-help{border-top:1px solid #eceef0;padding-top:22px}
.login-help strong{font-size:13px;font-weight:650}
.login-help p{font-size:13px;line-height:1.65;color:#69717e;margin:5px 0 0}
.login-access .error{font-size:13px;margin:0 0 20px;line-height:1.55}
.login-footer{border-top:1px solid #e1e3e7;color:#69717e;font-size:12px;padding-top:24px;padding-bottom:24px}
.login-footer nav{display:flex;align-items:center;gap:24px}
.login-footer a{text-decoration:none}
.login-footer button{padding:0;background:transparent;border:0;color:inherit;font-weight:400;font-size:12px;border-radius:3px}
.login-footer a:hover,.login-footer button:hover{text-decoration:underline}
#login-privacy h2{font-size:25px;margin-right:35px}
@media(max-width:950px){main.login-layout{gap:38px;padding:46px 32px 60px}.login-header,.login-footer{padding-left:32px;padding-right:32px}.login-access{padding:28px}.login-access h2{font-size:26px}.login-intro h1{font-size:48px}.login-access-label{font-size:8px}}
@media(max-width:700px){.login-header{padding:22px 24px}.login-internal{font-size:11px;max-width:125px;line-height:1.4}main.login-layout{grid-template-columns:1fr;padding:28px 24px 44px;gap:28px;max-width:540px}.login-intro h1{font-size:44px;letter-spacing:-1.5px;margin-bottom:16px}.login-intro .eyebrow{font-size:9px;margin-bottom:18px}.login-lead{font-size:14px;margin-bottom:0}.login-tools{display:none}.login-access{padding:28px;border-radius:20px}.login-access-top{margin-bottom:22px}.login-access h2{font-size:28px}.login-access-label{font-size:9px}.login-footer{padding:22px 24px;flex-wrap:wrap;gap:14px;font-size:11px}.login-footer nav{gap:22px}.login-footer button{font-size:11px}}
