/* WordPress still owns the forms and authentication, including password reset/2FA. */
body.login { --bds-login-bg:#f5f8fa;--bds-login-card:#fff;--bds-login-text:#102a43;--bds-login-button:#173f5f;--bds-login-button-text:#fff;--bds-login-link:#173f5f;background-color:var(--bds-login-bg);color:#102a43;min-height:100vh;height:auto;font:14px/1.6 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;display:flex;flex-direction:column;align-items:flex-end;box-sizing:border-box;padding:52px max(5vw,24px); }
body.login:before { content:"";position:fixed;inset:0 49% 0 0;background:radial-gradient(ellipse at 10% 90%,#286083 0,transparent 55%),linear-gradient(145deg,#102a43,#0c1d2e);z-index:0;pointer-events:none; }
.bd-login-welcome { position:fixed;top:0;left:0;bottom:0;width:51%;box-sizing:border-box;padding:50px 6vw;display:flex;flex-direction:column;justify-content:space-between;gap:36px;color:#fff;z-index:1; }
.bd-login-brand { display:flex;align-items:center;gap:13px;font-size:15px;font-weight:650;overflow-wrap:anywhere; }
.bd-login-brand-mark { display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px; }
.bd-login-brand-mark img { display:block;width:38px;height:38px;object-fit:contain; }
.bd-login-eyebrow { display:block;color:#a5c4dc;font-size:10px;font-weight:700;letter-spacing:.16em;margin-bottom:24px; }
.bd-login-intro h2 { max-width:500px;font-size:clamp(38px,4.3vw,68px);line-height:1.05;font-weight:700;letter-spacing:-.055em;margin:0 0 25px;color:#fff; }
.bd-login-intro p { max-width:360px;color:#c0d3e3;line-height:1.8;font-size:15px; }
.bd-login-line { width:65px;height:3px;background:#7cb6db;margin-top:35px;border-radius:2px; }
.bd-login-credit { display:flex;align-items:center;justify-content:space-between;max-width:360px;padding-top:20px;border-top:1px solid #ffffff26;color:#b9cfe1;text-decoration:none;font-size:12px; }
.bd-login-credit:hover,.bd-login-credit:focus { color:#fff; }
body.login #login { position:relative;z-index:2;width:min(410px,100%);max-width:100%;padding:24px 0;margin:clamp(0px,7vh,90px) max(0px,calc((39vw - 410px)/2)) 0;box-sizing:border-box; }
body.login #login h1 { margin:0 0 25px; }
body.login #login h1 a { margin:0 auto;max-width:100%;background-position:center;background-repeat:no-repeat; }
body.login #login form { color:var(--bds-login-text);background:var(--bds-login-card);border:1px solid #173f5f14;border-radius:18px;box-shadow:0 14px 55px #0b2b4710;padding:30px;overflow:visible;margin-top:0;font-weight:400; }
body.login #login form label { font-size:13px;font-weight:600;color:var(--bds-login-text);line-height:1.7; }
body.login #login form .input,body.login #login form input[type="text"],body.login #login form input[type="email"],body.login #login form input[type="password"] { box-sizing:border-box;display:block;width:100%;margin:7px 0 20px;min-height:48px;padding:10px 14px;background:var(--bds-login-card);color:var(--bds-login-text);border:1px solid #8296aa80;border-radius:9px;box-shadow:none;font-size:16px;line-height:1.4; }
body.login #login form .wp-pwd input { padding-right:46px; }
body.login #login form input:focus { outline:2px solid var(--bds-login-button);outline-offset:2px;box-shadow:none; }
body.login #login form .button.wp-hide-pw { height:48px;top:7px;color:var(--bds-login-text);border-radius:9px; }
body.login #login form .forgetmenot { float:none;margin:3px 0 22px; }
body.login #login form .forgetmenot label { font-weight:400;font-size:12px; }
body.login #login form input[type="checkbox"] { border-radius:4px;border-color:#8296aa;accent-color:var(--bds-login-button); }
body.login #login form .submit { clear:both; }
body.login #login .submit .button-primary { float:none;width:100%;min-height:46px;padding:8px 18px;background:var(--bds-login-button);border:1px solid var(--bds-login-button);border-radius:9px;color:var(--bds-login-button-text);font-size:14px;font-weight:650;line-height:28px;box-shadow:none;text-shadow:none; }
body.login #login .submit .button-primary:hover { filter:brightness(1.13); }
body.login #login .submit .button-primary:focus-visible { outline:2px solid var(--bds-login-button);outline-offset:3px; }
body.login #login #nav,body.login #login #backtoblog { padding:0;margin:18px 0 0;text-align:center;font-size:12px; }
body.login #nav a,body.login #backtoblog a,body.login .privacy-policy-page-link a { color:var(--bds-login-link);text-decoration:none; }
body.login #nav a:hover,body.login #backtoblog a:hover { text-decoration:underline; }
body.login .message,body.login #login_error,body.login .success { background:var(--bds-login-card);color:var(--bds-login-text);border-radius:9px;box-shadow:0 5px 18px #102a4308;padding:14px 18px;margin-bottom:20px; }
body.login .privacy-policy-page-link { position:relative;margin:24px 0 0;text-align:center;font-size:11px; }
body.login .language-switcher { position:relative;z-index:2;width:min(410px,100%);max-width:100%;margin:10px max(0px,calc((39vw - 410px)/2)) 0;padding:0; }
body.login .language-switcher form { display:flex;gap:8px;justify-content:center;flex-wrap:wrap; }
body.login .language-switcher select,body.login .language-switcher .button { font-size:12px;border-radius:7px;min-height:34px; }
body.login.interim-login { display:block;min-height:0;padding:24px;background:var(--bds-login-bg); }
body.login.interim-login:before { display:none; }
body.login.interim-login #login { margin:0 auto;padding:0; }
@media (max-width:900px) { body.login { align-items:center;padding:36px 20px; }body.login:before { inset:0 0 auto;height:260px; }.bd-login-welcome { position:relative;width:100%;max-width:410px;padding:0 0 24px;gap:0; }.bd-login-intro,.bd-login-credit { display:none; }body.login #login { margin:0;padding:0; }body.login #login h1 { background:var(--bds-login-bg);border-radius:12px;padding:18px 0;margin-bottom:16px; }body.login .language-switcher { margin:20px 0 0; } }
@media (max-width:380px) { body.login #login form { padding:24px 20px; } }
/* Keep the full logo inside its configurable frame, including very wide marks. */
body.login #login h1 { overflow:visible; }
body.login #login h1 a { display:block;box-sizing:border-box;max-width:100%!important;max-height:none!important;padding:0!important;border:0;background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important; }
.bd-login-intro h2,.bd-login-intro p,.bd-login-eyebrow,.bd-login-credit { overflow-wrap:anywhere; }
.bd-login-brand-mark:empty,.bd-login-eyebrow:empty,.bd-login-intro h2:empty,.bd-login-intro p:empty { display:none; }
@media (min-width:901px) { .bd-login-welcome { overflow-y:auto; }.bd-login-intro { flex-shrink:0; } }
body.login #login h1 a .bd-login-logo-image { display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;margin:0;padding:0;border:0; }
/* Keep security notes readable and align both desktop panels in the same row. */
.bd-login-security-notes { max-width:500px;margin:0;padding-left:20px;list-style:disc;color:#c0d3e3;font-size:15px;line-height:1.65;overflow-wrap:anywhere; }
.bd-login-security-notes li { margin:0 0 12px; }
.bd-login-intro .bd-login-read-more { max-width:500px;margin-top:28px;font-size:13px;line-height:1.6; }
.bd-login-read-more a { color:#c0e4fc;text-decoration:underline;text-underline-offset:3px; }
.bd-login-read-more a:hover,.bd-login-read-more a:focus { color:#fff; }
.bd-login-read-more a:focus-visible { outline:2px solid #c0e4fc;outline-offset:3px; }
@media (min-width:901px) {
 body.login:not(.interim-login) { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto 1fr auto;column-gap:12vw;row-gap:36px;align-items:center;padding:50px 6vw; }
 .bd-login-welcome { display:contents; }
 .bd-login-brand,.bd-login-intro,.bd-login-credit { position:relative;z-index:1;grid-column:1;color:#fff; }
 .bd-login-brand { grid-row:1; }
 .bd-login-intro { grid-row:2;align-self:center; }
 .bd-login-credit { grid-row:3;width:100%;color:#b9cfe1; }
 body.login:not(.interim-login) #login { grid-column:2;grid-row:2;justify-self:center;align-self:center;margin:0; }
 body.login:not(.interim-login) .language-switcher { grid-column:2;grid-row:3;justify-self:center;margin:0; }
 body.login:not(.interim-login) > .clear { display:none; }
}
@media (max-width:900px) {
 .bd-login-welcome { padding:24px;margin-bottom:24px;gap:24px;border-radius:18px;background:linear-gradient(145deg,#102a43,#0c1d2e); }
 .bd-login-intro,.bd-login-credit { display:block; }
 .bd-login-intro h2 { font-size:34px; }
 .bd-login-eyebrow { margin-bottom:16px; }
 .bd-login-line { margin-top:24px; }
}

body.login #login h1 a .bd-login-logo-fallback { background:#173f5f;border-radius:12px;box-sizing:border-box;padding:12px; }
