/* Login-only presentation; shared authentication and signed-in pages stay separate. */
.login-page{background:var(--surface,#fff);color:var(--text,#17263f)}
.login-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100vh;min-height:100svh;max-width:none;margin:0;padding:0}
.login-brand{position:relative;display:flex;flex-direction:column;overflow:hidden;background:#101c30;color:#f7f9ff;padding:38px clamp(32px,5.5vw,88px);isolation:isolate}
.login-brand:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 80% 65%,#203b602b,transparent 65%)}
.login-layout .login-wordmark{display:inline-flex;align-items:center;align-self:flex-start;min-height:44px;color:#f7f9ff;font-size:24px;font-weight:750;letter-spacing:-.7px;text-decoration:none}
.login-product{margin:auto 0 22px;padding-top:30px;max-width:500px}
.login-eyebrow{font-size:11px;font-weight:650;letter-spacing:1.8px;text-transform:uppercase;color:#91b2ec;margin:0 0 22px}
.login-product h1{font-size:clamp(40px,4.4vw,66px);font-weight:700;line-height:1.06;letter-spacing:-2.3px;margin:0 0 24px}
.login-description{max-width:360px;color:#bdc9dc;font-size:17px;line-height:1.65;margin:0}
.login-showcase{width:calc(80% + clamp(38px,8.8vw,140px));max-width:min(800px,calc((100svh - 430px)*1.6));margin:10px 0 18px -12px}
.login-showcase img{display:block;width:100%;height:auto;border:1px solid #52698b;border-radius:8px;box-shadow:0 18px 36px #020b1d66;transform:perspective(1800px) rotateY(9deg) rotateX(1deg) rotateZ(-1deg);transform-origin:left center}
.login-showcase img[data-login-showcase]{aspect-ratio:1918/942;object-fit:contain}
.login-showcase img:not([src]),.login-showcase img[data-theme-loading]{visibility:hidden}
.login-showcase figcaption{margin-top:10px;color:#a4b9d7;font-size:11px;line-height:1.5}
.login-brand-note{color:var(--muted,#91a3bd);font-size:12px;line-height:1.6;margin:auto 0 0;padding-top:10px}
.login-form-region{display:flex;align-items:center;justify-content:center;padding:64px 40px;background:var(--surface,#fff)}
.login-form-panel{width:100%;max-width:370px}
.login-form-panel h2{font-size:32px;line-height:1.2;letter-spacing:-.9px;margin:0 0 12px;color:var(--text,#17263f)}
.login-intro{font-size:14px;line-height:1.6;color:var(--muted,#62718a);margin:0 0 34px}
.login-form-panel form label{font-size:13px;font-weight:650;margin:22px 0 9px}
.login-form-panel form input:not([type=hidden]){min-height:50px;border:1px solid var(--border,#bdc9da);border-radius:6px;padding:12px 14px;font-size:16px;line-height:1.4;color:var(--text,#17263f);background:var(--surface,#fff);transition:border-color .15s}
.login-form-panel form input:hover{border-color:var(--border,#899dbb)}
.login-form-panel form input:focus-visible{border-color:var(--link,var(--brand-blue));outline:3px solid var(--brand-blue)33;outline-offset:2px}
.login-form-panel .primary{min-height:50px;margin-top:28px;border-radius:6px;font-size:14px;letter-spacing:.1px}
.login-form-panel .primary:focus-visible{outline:3px solid #17263f;outline-offset:3px}
.login-form-panel .auth-help{margin:26px 0 0;padding-top:22px;border-top:1px solid var(--border,#e1e6ee);font-size:12px;line-height:1.7;color:var(--muted,#62718a)}
.login-form-panel .form-error,.login-form-panel .success{margin:0 0 22px;font-size:13px;line-height:1.6;border:1px solid var(--border,#ebc6c6)}.login-form-panel .success{border-color:var(--border,#c9dbf5)}
.login-layout .login-wordmark:focus-visible{outline:2px solid var(--border,#aecbff);outline-offset:4px;border-radius:2px}
@media(min-width:801px) and (max-height:950px){.login-brand{padding-top:22px;padding-bottom:22px}.login-product{padding-top:14px;margin-bottom:12px}.login-eyebrow{margin-bottom:12px}.login-product h1{margin-bottom:14px}.login-description{font-size:15px;line-height:1.55}.login-showcase{margin-top:8px;margin-bottom:12px}.login-form-region{padding-top:24px;padding-bottom:24px}}
@media(min-width:801px) and (max-width:1100px){.login-showcase{width:95%;margin-left:0}.login-showcase img{transform:none}}
@media(min-width:801px) and (max-height:620px){.login-showcase{display:none}}
@media(max-width:800px){
 .login-layout{grid-template-columns:1fr;min-height:100svh;align-content:start}
 .login-brand{padding:18px max(24px,calc((100vw - 480px)/2));display:block}
 .login-layout .login-wordmark{font-size:22px}
 .login-product{margin:14px 0 6px;padding:0;max-width:none}
 .login-eyebrow,.login-showcase,.login-brand-note{display:none}
 .login-product h1{font-size:30px;letter-spacing:-1px;line-height:1.12;margin:0 0 10px}.login-product h1 br{display:none}.login-product h1 br:after{content:" "}
 .login-description{font-size:13px;line-height:1.55;max-width:390px}
 .login-form-region{padding:30px 24px 36px;align-items:flex-start}
 .login-form-panel{max-width:480px}.login-form-panel h2{font-size:27px}.login-intro{margin-bottom:24px}.login-form-panel form label{margin-top:18px}
}
@media(max-width:360px){.login-brand{padding:12px 20px 18px}.login-product{margin-top:8px}.login-product h1{font-size:27px}.login-form-region{padding:26px 20px 30px}.login-form-panel h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.login-form-panel form input:not([type=hidden]){transition:none}}

/* Use the approved dark-background SVG directly, without altering its artwork. */
.login-brand{background:var(--brand-navy)}
.login-layout .login-wordmark{gap:12px}
.login-wordmark .brand-mark{width:32px;height:32px}
.login-wordmark .brand-name{color:var(--brand-white)}
.login-form-panel .primary{background:var(--brand-blue);border-color:var(--link,var(--brand-blue))}
@media(max-width:800px){.login-wordmark .brand-mark{width:28px;height:28px}}
.login-form-panel .primary:hover{background:var(--brand-blue-strong);border-color:var(--brand-blue-strong)}
.login-utility-links{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 18px;margin-top:12px;font-size:12px;line-height:1.6}
.login-utility-links a,.login-contact>summary{color:var(--link,var(--brand-blue));text-decoration:underline;text-underline-offset:3px}
.login-contact>summary{cursor:pointer;list-style:none;width:fit-content}
.login-contact>summary::-webkit-details-marker{display:none}
.login-utility-links a:focus-visible,.login-contact>summary:focus-visible{outline:2px solid var(--focus,var(--brand-blue));outline-offset:3px;border-radius:2px}
.login-contact p{margin:6px 0 0;color:var(--muted,#62718a);overflow-wrap:anywhere}
.login-contact p span{user-select:text}

