@import url("wiser-typography.css?v=20261010");
@font-face{font-family:Poppins;src:url('../fonts/poppins/5.0.11/latin/400/normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('../fonts/poppins/5.0.11/latin/500/normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Poppins;src:url('../fonts/poppins/5.0.11/latin/700/normal.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--ink:#39131f;--muted:#756369;--cherry:#a71942;--line:#ecdfe4;--paper:#fcf7f9}
*{box-sizing:border-box}body{margin:0;font-family:Poppins,Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:14px;line-height:1.5}a{color:var(--cherry);text-decoration:none}a:hover{text-decoration:underline}[hidden]{display:none!important}
.login-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}
.login-story{padding:48px 56px;background:#4b1024;color:#f5e8ed;min-height:100vh;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:32px}
.login-visual{position:absolute;inset:0 0 auto;width:100%;margin:0;pointer-events:none}
.login-visual img{display:block;width:100%;height:auto}
.login-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(34,10,23,.18),rgba(34,10,23,.03) 60%,#4b1024 100%)}
.login-story>.brand,.login-story>.story-copy,.login-story>small{position:relative;z-index:1}
.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none!important;max-width:340px}
.wes-logo{width:56px;height:48px;object-fit:contain;flex-shrink:0}
.login-story .wes-logo{background:#fff;padding:6px;border-radius:9px;width:64px;height:54px}
.brand-name{font-size:23px;font-weight:700;letter-spacing:-.7px;line-height:1.1}
.brand-expansion{display:block;margin-top:6px;font-size:10px;line-height:1.45;font-weight:500;letter-spacing:0}
.login-story .brand-expansion{color:#ffe1eb}
.story-copy{margin-top:clamp(130px,25vw,390px)}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px;display:block}
.story-copy h1{font-size:clamp(38px,4.2vw,60px);font-weight:400;line-height:1.13;letter-spacing:-2px;margin:16px 0}
.story-copy p{max-width:350px;font-size:14px;color:#f5e8ed;margin:0}
.story-grid{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px;font-size:11px;color:#f5e8ed}
.story-grid span{display:flex;gap:8px}.story-grid b{font-weight:400}
.login-story>small{font-size:11px;color:#f5e8ed}
.login-form{display:flex;align-items:center;justify-content:center;padding:48px 40px;min-width:0;background:var(--paper)}
.login-form>div{width:100%;max-width:360px}
.login-form .brand{margin-bottom:32px;color:var(--ink)}
.login-form .brand-expansion{color:#8d294b}
.login-form .wes-logo{width:48px;height:40px}
.login-form .eyebrow{color:#8d294b}
.login-form h2{font-size:34px;line-height:1.2;margin:12px 0 10px;letter-spacing:-.7px}
.muted{color:var(--muted)}.login-form p{margin:8px 0;line-height:1.6}
.login-form form{margin:26px 0 18px}
.login-form label{display:block;font-weight:500;font-size:12px;margin-bottom:18px}
.login-form input:not([type=hidden]){display:block;width:100%;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:14px;margin-top:7px;min-height:48px}
.login-form input:focus{outline:3px solid #a7194225;border-color:var(--cherry)}
.button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:15px 20px;border:0;border-radius:8px;background:var(--cherry);color:#fff;font:inherit;font-size:13px;font-weight:500;cursor:pointer;min-height:48px;margin-top:8px}
.button:hover{background:#881336}.button:disabled{opacity:.7;cursor:wait}
.button:focus-visible,a:focus-visible{outline:3px solid #a7194270;outline-offset:3px}
.small{font-size:12px}.login-options{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:20px;font-size:12px}
.login-footer{font-size:10px;color:var(--muted);margin-top:32px;line-height:1.6}
.alert{border:1px solid var(--line);padding:12px 14px;border-radius:8px;margin:14px 0;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.alert.error{background:#fbece8;color:#923b32}.alert.success{background:#dcfce7;color:#166534}.alert.info{background:#f4e7ec;color:#713d4e}
.code-input{letter-spacing:5px;font-size:24px!important;text-align:center}
.login-spinner{width:15px;height:15px;border:2px solid #ffffff60;border-top-color:white;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.login-spinner{animation:none}}
@media(max-width:1000px){.login-story{padding:36px}.login-form{padding:40px 28px}.story-copy h1{font-size:42px}}
@media(max-width:700px){.login-shell{grid-template-columns:1fr}.login-story{display:none}.login-form{padding:40px 24px;min-height:100vh}.login-form h2{font-size:32px}}

/* Larger, high-resolution WES mark on both login screens. */
.login-form .brand,.login-story .brand{gap:16px;max-width:100%}
.login-form .wes-logo,.login-story .wes-logo{width:112px;height:76px;border-radius:8px;background:#fff}
.login-form .wes-logo{padding:0}.login-story .wes-logo{padding:5px}
.brand-name{min-width:0}
@media(max-width:700px){.login-form .wes-logo{width:104px;height:70px}.login-form .brand{gap:14px}.login-form .brand-name{font-size:22px}}
