:root{font-family:"Segoe UI",Arial,sans-serif;color:#201a12;background:#f7f3ec}
*{box-sizing:border-box}
body{margin:0;min-height:100dvh}
.login-layout{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr)}
.welcome{background:#100f0d;color:#f6ebd7;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:45px clamp(40px,6vw,105px);overflow:hidden;position:relative}
.welcome::before{content:"";position:absolute;inset:0;border:1px solid #72542440;pointer-events:none}
.welcome-logo{display:block;width:clamp(180px,25vw,340px);height:auto;max-width:100%;object-fit:contain;align-self:center;margin:0 auto 30px}
.welcome-copy{max-width:610px}
.eyebrow{color:#d8aa60;letter-spacing:.2em;font-size:11px;font-weight:700;margin:0 0 16px}
.welcome h1{font:400 clamp(38px,4.1vw,60px)/1.08 Georgia,"Times New Roman",serif;letter-spacing:-.02em;margin:0 0 19px}
.welcome-copy>p:last-child{font-size:16px;line-height:1.6;color:#d7cab5;margin:0;max-width:45ch}
.login-card{align-self:center;justify-self:center;width:min(460px,calc(100% - 66px));padding:48px 0}
.mark{display:block;color:#8d6028;font:600 31px/1 Georgia,"Times New Roman",serif;letter-spacing:.19em;margin-bottom:65px}
.mark small{display:block;color:#886d46;font:700 10px/1.3 "Segoe UI",Arial,sans-serif;letter-spacing:.32em;margin-top:9px}
.login-card h2{font:400 38px/1.15 Georgia,"Times New Roman",serif;letter-spacing:-.02em;margin:0 0 13px}
.login-card>p{color:#5b5144;line-height:1.6;margin:0 0 32px;max-width:36ch}
label{display:block;margin-bottom:9px;font-size:13px;font-weight:700;letter-spacing:.02em}
input{width:100%;min-height:52px;padding:13px 15px;border:1px solid #bcae98;border-radius:2px;background:#fffefa;color:#241c13;font:inherit}
input:focus-visible{outline:3px solid #bd8b43;outline-offset:2px}
button{width:100%;min-height:52px;margin-top:17px;padding:13px 16px;border:1px solid #231a10;border-radius:2px;background:#231a10;color:#f8e8c7;font:600 15px/1.3 "Segoe UI",Arial,sans-serif;cursor:pointer;transition:background .18s,border-color .18s}
button:hover{background:#594023;border-color:#594023}
button:focus-visible{outline:3px solid #bd8b43;outline-offset:3px}
button:disabled{opacity:.6;cursor:wait}
#login-message{min-height:1.5em;color:#96341f;font-size:14px;line-height:1.5}
@media(max-width:800px){
 .login-layout{grid-template-columns:1fr}
 .welcome{min-height:300px;padding:34px 6vw;display:grid;grid-template-columns:130px minmax(0,1fr);gap:22px;align-items:center}
 .welcome-logo{width:130px;margin:0}
 .welcome h1{font-size:clamp(28px,5vw,40px);margin-bottom:9px}
 .welcome-copy>p:last-child{font-size:14px}
 .login-card{padding:46px 0}
 .mark{margin-bottom:36px}
}
@media(max-width:500px){
 .welcome{min-height:230px;padding:23px 5vw;grid-template-columns:95px minmax(0,1fr);gap:10px}
 .welcome-logo{width:95px}
 .eyebrow{font-size:8px;letter-spacing:.08em;margin-bottom:7px}
 .welcome h1{font-size:clamp(24px,6vw,30px);line-height:1.12}
 .welcome-copy>p:last-child{font-size:11px;line-height:1.45}
 .login-card{width:calc(100% - 42px);padding:35px 0}
 .mark{font-size:26px;margin-bottom:35px}
 .login-card h2{font-size:31px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
