/* Thesis: matte fog-blue, quiet editorial spacing, a direct login destination.
   Content: brand / purpose and three service stages / login / account help.
   Motion: short entrance, focused field feedback, button feedback; reduced-motion respected. */
body.login-home{margin:0;display:flex;flex-direction:column;min-height:100svh;height:auto;background:#f1f4f8;padding:0;color:#202b3e}
.home-header,.home-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 6vw;padding:20px 0;flex-shrink:0}
.home-header{border-bottom:1px solid #dce2eb}.home-header>span,.home-footer{font-size:var(--ui-body-size,14px);color:#536179}.home-brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:#202b3e}.home-brand img{width:152px;height:57px;object-fit:contain}.home-brand strong{font-size:var(--ui-heading-size,16px);font-weight:650}
.home-main{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:center;gap:8vw;width:100%;padding:36px 10vw;flex:1;max-width:1600px;margin:auto}
.home-intro{max-width:570px;animation:home-in .4s ease-out both}.intro-label{font-size:var(--ui-body-size,14px);color:#185bd5;font-weight:600;margin-bottom:18px}.home-intro h1{font-size:var(--ui-title-size,20px);font-weight:650;line-height:1.6;margin:0 0 18px;letter-spacing:.04em}.intro-copy{font-size:var(--ui-heading-size,16px);line-height:1.75;color:#4b5870;margin:0;max-width:510px}.service-path{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #cdd8e8;border-bottom:1px solid #cdd8e8;margin-top:32px;padding:18px 0;font-size:var(--ui-heading-size,16px);font-weight:600}.service-path [aria-hidden]{color:#7991b3;font-size:var(--ui-heading-size,16px);font-weight:400}.intro-note{font-size:var(--ui-body-size,14px);color:#536179;margin-top:16px}
.home-login{padding:20px 0 20px 44px;border-left:1px solid #d3dce8;animation:home-in .4s .08s ease-out both;min-width:0}.login-heading h2{font-size:var(--ui-title-size,20px);margin:0 0 12px;line-height:1.4}.login-heading p{font-size:var(--ui-body-size,14px);color:#536179;margin:0 0 24px}.home-login form{display:grid;gap:16px}.home-login .field{display:grid;gap:7px;margin:0}.home-login label{font-size:var(--ui-body-size,14px);font-weight:500}.home-login input{height:44px;width:100%;padding:10px 12px;background:#fafbfd;border:1px solid #c5d0e0;border-radius:6px;transition:border-color .15s,box-shadow .15s}.password-field{position:relative}.password-field input{padding-right:72px}.password-field button{position:absolute;right:6px;top:2px;height:40px;min-width:52px;border:0;background:transparent;color:#185bd5;font-size:var(--ui-body-size,14px);cursor:pointer}.password-field button:hover{background:#eaf1fc;border-radius:4px}.login-feedback{font-size:var(--ui-body-size,14px);color:#b92f3e;line-height:1.5;overflow-wrap:anywhere}.login-feedback:empty{display:none}.home-login #loginButton{width:100%;min-height:44px;display:flex;justify-content:space-between;align-items:center;font-size:var(--ui-body-size,14px);margin-top:8px;transition:background .15s,transform .15s}.home-login #loginButton:active{transform:translateY(1px)}.login-help{margin-top:18px;font-size:var(--ui-body-size,14px);color:#536179}.login-help summary{cursor:pointer;width:max-content}.login-help p{margin:12px 0 0;line-height:1.7}.home-footer{border-top:1px solid #dce2eb;padding:18px 0}.preview-login{margin-top:20px;padding-top:18px;border-top:1px solid #dce2eb}.preview-login p{font-size:var(--ui-body-size,14px);color:#536179;margin:0 0 12px}.preview-login button{width:100%}
@keyframes home-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.home-main{gap:140px}}
@media(max-width:900px){.home-main{padding:36px 6vw;gap:32px}.home-login{padding-left:32px}.service-path{font-size:var(--ui-body-size,14px);gap:8px}.intro-copy{font-size:var(--ui-body-size,14px)}}
@media(max-width:680px){.home-header{padding:20px 0}.home-brand strong{font-size:var(--ui-heading-size,16px)}.home-header>span{display:none}.home-brand img{width:128px;height:48px}.home-main{display:flex;flex-direction:column;align-items:stretch;padding:24px 7vw 32px;gap:24px}.home-intro h1{margin:0;font-size:var(--ui-title-size,20px);line-height:1.5}.intro-label{margin-bottom:12px}.intro-copy,.service-path,.intro-note{display:none}.home-login{padding:22px 0 0;border-left:0;border-top:1px solid #d3dce8}.login-heading h2{font-size:var(--ui-title-size,20px)}.login-heading p{margin-bottom:20px}.home-footer{font-size:var(--ui-body-size,14px);flex-wrap:wrap;gap:8px;padding:18px 0}.home-footer>span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.home-intro,.home-login{animation:none}.home-login input,.home-login #loginButton{transition:none}}

.home-footer .icp-link{color:inherit;text-decoration:none;font-size:var(--ui-body-size,14px)}.home-footer .icp-link:hover{text-decoration:underline;color:#185bd5}

/* Restrained light on a matte surface; all text remains fully opaque. */
body.login-home{background:radial-gradient(ellipse at 8% 12%,rgba(255,255,255,.92),transparent 52%),radial-gradient(ellipse at 92% 32%,rgba(195,216,250,.45),transparent 48%),#f1f4f8}
.home-brand img{filter:drop-shadow(0 3px 5px rgba(24,91,213,.12))}
.home-login input{box-shadow:0 2px 5px rgba(31,61,103,.035),inset 0 1px 0 rgba(255,255,255,.9)}
.home-login input:focus{box-shadow:0 0 0 3px #185bd511,0 3px 12px #185bd50d}
.home-login #loginButton{box-shadow:0 5px 14px rgba(24,91,213,.16),inset 0 1px 0 rgba(255,255,255,.16)}
.home-login #loginButton:hover{box-shadow:0 7px 18px rgba(24,91,213,.22)}
.home-footer{align-items:start;border-top-color:#d4deeb;box-shadow:0 -1px 0 rgba(255,255,255,.65);line-height:1.7}
.footer-contact,.footer-legal{display:flex;flex-direction:column;gap:6px;min-width:0}
.footer-contact strong{font-size:var(--ui-body-size,14px);font-weight:600;color:#43516a}
.footer-legal{text-align:right}.home-footer a{color:inherit;text-decoration:none;overflow-wrap:anywhere}.home-footer a:hover{color:#185bd5;text-decoration:underline}
@media(max-width:680px){.home-footer{flex-direction:column;gap:18px}.footer-legal{text-align:left}.footer-contact>span{display:flex;flex-wrap:wrap;column-gap:4px}}

@media(max-width:680px){.home-login input{font-size:16px}.home-login #loginButton{min-height:44px}}

.login-help form{margin-top:14px}.login-help button{justify-self:start;min-height:40px}.recovery-feedback{color:#27694b;font-size:var(--ui-body-size,14px);line-height:1.6;overflow-wrap:anywhere}.recovery-feedback:empty{display:none}
.recovery-main{display:block;max-width:680px;padding:40px 6vw}.recovery-card{padding:24px 0;border:0;animation:none}.recovery-card h1{font-size:var(--ui-title-size,20px);line-height:1.4;margin:0 0 12px}.recovery-card>p{color:#536179;line-height:1.7;margin:0 0 24px}.recovery-card .button.primary{min-height:44px;width:100%}.recovery-back{display:inline-block;margin-top:20px;color:#185bd5;text-decoration:none}.recovery-back:hover{text-decoration:underline}.recovery-card [hidden]{display:none!important}
@media(max-width:680px){.recovery-main{padding:24px 7vw}.recovery-card{padding:16px 0}}
