html{position:relative;min-height:100%;font-size:14px}
@media(min-width:768px){html{font-size:16px}}
:root{--mk-bg:#eef3f8;--mk-surface:#fff;--mk-surface-soft:#f6f8fb;--mk-text:#182235;--mk-muted:#607084;--mk-border:#d7e0e9;--mk-accent:#2478b9;--mk-accent-hover:#185e92}
:root[data-theme="dark"]{--mk-bg:#0d1622;--mk-surface:#172331;--mk-surface-soft:#1d2b3a;--mk-text:#edf5fc;--mk-muted:#a7b7c8;--mk-border:#34475a;--mk-accent:#55b9f3;--mk-accent-hover:#82cef7}
body{color:var(--mk-text);background:var(--mk-bg)}
a{color:var(--mk-accent)}
:root[data-theme="dark"] .navbar,:root[data-theme="dark"] .footer{color:var(--mk-text)!important;background:var(--mk-surface)!important;border-color:var(--mk-border)!important}
:root[data-theme="dark"] .navbar .nav-link,:root[data-theme="dark"] .navbar-brand,:root[data-theme="dark"] .text-dark{color:var(--mk-text)!important}
.btn:focus,.btn:active:focus,.btn-link.nav-link:focus,.form-control:focus,.form-check-input:focus{box-shadow:0 0 0 .1rem white,0 0 0 .25rem #258cfb}
body.login-page{--auth-background:url('/images/auth/modernkeep-auth-light.png');--auth-image-veil:rgba(235,244,249,.32);min-height:100dvh;margin:0;padding-bottom:52px;background-color:#dceaf2;background-image:linear-gradient(var(--auth-image-veil),var(--auth-image-veil)),linear-gradient(90deg,rgba(235,244,249,.04),rgba(235,244,249,.22)),var(--auth-background);background-position:center;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}
:root[data-theme="dark"] body.login-page{--auth-background:url('/images/auth/modernkeep-auth-dark.png');--auth-image-veil:rgba(5,15,25,.34);background-color:#091522;background-image:linear-gradient(var(--auth-image-veil),var(--auth-image-veil)),linear-gradient(90deg,rgba(3,10,18,.05),rgba(3,10,18,.3)),var(--auth-background)}
body.login-page>header .navbar{color:var(--mk-text)!important;background:color-mix(in srgb,var(--mk-surface) 86%,transparent)!important;border-color:color-mix(in srgb,var(--mk-border) 72%,transparent)!important;backdrop-filter:blur(18px) saturate(1.2)}
body.login-page>header .navbar .container{width:100%;max-width:none;padding-right:24px;padding-left:24px}
body.login-page>.container{width:100%;max-width:none;padding-right:clamp(20px,3.5vw,64px);padding-left:clamp(20px,3.5vw,64px)}
body.login-page>.container main>.row{margin-right:0;margin-left:0}
body.login-page>header .navbar-brand{margin-right:0;color:var(--mk-text);font-weight:850;letter-spacing:-.02em}
body.login-page main>.row{justify-content:flex-end!important}
body.login-page main>.row>[class*="col-"]{flex:0 0 auto;width:min(100%,680px)}
body.login-page main .card{min-height:560px;color:var(--mk-text);border:1px solid color-mix(in srgb,var(--mk-border) 88%,var(--mk-text) 12%);border-radius:18px;background:color-mix(in srgb,var(--mk-surface) 95%,transparent);box-shadow:0 28px 80px rgba(4,14,24,.42),0 0 0 1px color-mix(in srgb,var(--mk-surface) 55%,transparent)!important;backdrop-filter:blur(28px) saturate(1.08)}
body.login-page main .card-body{display:flex;flex-direction:column;justify-content:center;padding:42px 50px!important}
body.login-page main .card-body>h1{font-size:2rem!important;letter-spacing:-.035em}
body.login-page main .card-body>h2{font-size:1.15rem!important;color:var(--mk-muted)}
.mk-legal-copy{justify-content:flex-start!important}.mk-legal-copy h2{margin:1.2rem 0 .35rem;color:var(--mk-text);font-weight:800}.mk-legal-copy p{margin-bottom:.75rem;color:var(--mk-muted);line-height:1.55}
body.login-page main .form-label{font-weight:750}
body.login-page main .form-control{min-height:46px;padding:10px 12px;color:var(--mk-text);border-color:var(--mk-border);background:color-mix(in srgb,var(--mk-surface-soft) 92%,transparent)}
body.login-page main button[type="submit"]{min-height:48px;font-size:1.05rem;font-weight:800}
.public-page-button{display:inline-flex;align-items:center;justify-content:center;width:168px;height:34px;white-space:nowrap}
.public-theme-control{display:flex;align-items:center;gap:7px;margin-left:auto;padding-left:12px}
.public-theme-control label{color:var(--mk-muted);font-size:.72rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}
.public-theme-control select{min-height:34px;padding:5px 28px 5px 9px;color:var(--mk-text);border:1px solid var(--mk-border);border-radius:8px;background-color:var(--mk-surface-soft)}
body.login-page>header .navbar .btn-outline-primary:not(:hover):not(:active){color:var(--mk-accent);border-color:var(--mk-accent);background-color:transparent}
body.login-page>header .navbar .btn-outline-primary:focus-visible:not(:hover):not(:active){outline:2px solid var(--mk-accent);outline-offset:3px}
body.login-page .footer{position:fixed;inset:auto 0 0;z-index:10;line-height:1.25;background:color-mix(in srgb,var(--mk-surface) 88%,transparent);backdrop-filter:blur(18px)}
body.login-page .footer .container{display:flex;align-items:center;justify-content:flex-end;gap:18px;width:100%;max-width:none;padding:8px 24px 20px}
@media(max-width:575px){body.login-page{background-position:38% center}body.login-page main>.row{justify-content:center!important}.public-theme-control{width:100%;margin:8px 0 0;padding:8px 0 0;border-top:1px solid var(--mk-border)}body.login-page>header .navbar .container,body.login-page .footer .container{padding-right:14px;padding-left:14px}body.login-page .footer .container{align-items:flex-start;flex-direction:column;gap:3px}body.login-page main .card-body{padding:25px 22px!important}body.login-page main .card{min-height:0}}
@media(max-width:980px){body.login-page main>.row{justify-content:center!important}body.login-page>.container{padding-right:18px;padding-left:18px}}
/* Exterior pages share the sign-in palette as well as its photographic background. */
body.login-page{padding-bottom:80px}
@media(max-width:575px){body.login-page{padding-bottom:96px}}
.mk-public-page .mk-nav-links a,.mk-public-page .mk-nav-links button,
.mk-public-page .mk-exterior-hero h1,.mk-public-page .mk-content-card h1,
.mk-public-page .mk-account-card label,.mk-public-page .mk-footer span:first-child{color:var(--mk-text)}
.mk-public-page .mk-nav-links a:hover,.mk-public-page .mk-nav-links button:hover{color:var(--mk-accent);background:var(--mk-surface-soft)}
.mk-public-page .mk-exterior-hero h1 em,.mk-public-page .mk-exterior-links a,
.mk-public-page .mk-footer a,.mk-public-page .mk-kicker{color:var(--mk-accent)}
.mk-public-page .mk-exterior-hero>p:not(.mk-kicker),.mk-public-page .mk-lead{color:var(--mk-muted)}
.mk-public-page .mk-exterior-links a{border-color:var(--mk-border)}
.mk-public-page .mk-exterior-links a:hover{color:var(--mk-accent-hover);border-color:var(--mk-accent)}
.mk-public-page .mk-menu-toggle span{background:var(--mk-text)}
.mk-public-page .mk-account-card input{color:var(--mk-text);background:var(--mk-surface-soft);border-color:var(--mk-border)}
.mk-public-page .mk-account-card input:focus{outline:2px solid var(--mk-accent);outline-offset:2px}
.mk-public-page .validation-summary-errors{color:var(--mk-text);background:var(--mk-surface-soft);border-color:#c43141}
.mk-public-page .mk-code-card{color:var(--mk-text);background:var(--mk-surface-soft);border-color:var(--mk-border)}
.mk-public-page .mk-code-card span{color:var(--mk-accent)}
.mk-public-page .mk-content-card form{display:grid;gap:12px}
.mk-public-page .mk-content-card .form-select{color:var(--mk-text);background-color:var(--mk-surface-soft);border-color:var(--mk-border)}
/* Informational pages share the sign-in surface without form-only empty space. */
body.login-page main .public-information-card{min-height:0;margin:clamp(20px,4vh,40px) 0 24px}
body.login-page main .public-information-card .card-body{justify-content:flex-start;gap:0}
.public-information-card p{line-height:1.6}
.public-information-card details{border-top:1px solid var(--mk-border);padding:12px 0}
.public-information-card details:last-of-type{border-bottom:1px solid var(--mk-border)}
.public-information-card summary{padding:5px 0;font-weight:700;line-height:1.5;cursor:pointer}
.public-information-card summary:focus-visible{outline:2px solid var(--mk-accent);outline-offset:4px;border-radius:3px}
.public-information-card details[open] summary{margin-bottom:10px}
.public-information-card details p:last-child{margin-bottom:0}
/* Keep phone sign-in controls visible without competing with the header artwork. */
@media(max-width:575px){
 body.login-page>header .navbar{padding-top:4px;padding-bottom:4px;margin-bottom:8px!important}
 body.login-page>header .mk-approved-wordmark{width:132px;height:28px}
 body.login-page>header .mk-approved-brand{padding:4px 8px}
 body.login-page main .card.mt-5{margin-top:12px!important}
 body.login-page main .card-body:has(input[name="Email"]){padding:20px!important}
 body.login-page main .card-body:has(input[name="Email"])>h1:has(+h2){display:none}
 body.login-page main .card-body:has(input[name="Email"])>h2{margin-bottom:12px!important}
 body.login-page main .card-body:has(input[name="Email"]) .alert{margin-bottom:12px;font-size:.9rem;line-height:1.4}
 body.login-page{display:flex;flex-direction:column;height:100dvh;padding-bottom:0;overflow:hidden}
 body.login-page>header{flex-shrink:0}
 body.login-page>.container{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
 body.login-page>footer.footer{position:static;flex-shrink:0;margin-top:0}
 body.login-page>footer.footer>.container{flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px 14px calc(6px + env(safe-area-inset-bottom))}
 body.login-page>footer.footer .public-legal-links{justify-content:center;gap:8px 12px}
 body.login-page>footer.footer .public-copyright{margin-left:0}
}
