@font-face{font-family:Anton;src:url('../fonts/anton-400.woff2') format('woff2');font-display:swap}
@font-face{font-family:Oswald;src:url('../fonts/oswald-500.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Work Sans';src:url('../fonts/worksans-400.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Work Sans';src:url('../fonts/worksans-600.woff2') format('woff2');font-weight:600;font-display:swap}
:root{color-scheme:light;--ink:#17140f;--graphite:#343631;--graphite-deep:#272a26;--gold:#d6be0e;--gold-dark:#a88f0f;--cream:#faf7e6;--line:#e7e1ce;--muted:#6b6558;--error:#a33d32}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:var(--graphite-deep);color:var(--ink);font:16px/1.5 'Work Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 16% 12%,rgba(214,190,14,.17),transparent 34%),linear-gradient(135deg,var(--graphite-deep),#3b3e37 58%,#242622)}
.login-shell:before,.login-shell:after{content:"";position:fixed;pointer-events:none;border:1px solid rgba(214,190,14,.22);transform:rotate(-29deg)}
.login-shell:before{width:52vw;height:24vw;left:-20vw;bottom:11vh;border-right:0;border-bottom:0}.login-shell:after{width:43vw;height:19vw;right:-17vw;top:12vh;border-left:0;border-top:0}
.login-card{position:relative;width:min(100%,430px);padding:42px 44px 30px;background:var(--cream);box-shadow:0 26px 70px rgba(0,0,0,.34);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}
.login-card:after{content:"";position:absolute;left:44px;right:44px;top:0;height:5px;background:linear-gradient(90deg,var(--gold),#f3df49,var(--gold-dark))}
.login-mark{display:grid;place-items:center;height:112px;margin:-5px auto 18px;overflow:hidden}.login-mark img{width:165px;height:auto;display:block}
.login-kicker{margin:0 0 7px;color:var(--gold-dark);font:500 .72rem/1.2 Oswald,sans-serif;letter-spacing:.16em;text-transform:uppercase}
h1{margin:0;color:var(--ink);font:400 clamp(2rem,6vw,2.7rem)/1 Anton,Impact,sans-serif;letter-spacing:.01em;text-transform:uppercase}.login-intro{margin:9px 0 27px;color:var(--muted);font-size:.9rem}
form{display:grid;gap:8px}label{margin-top:7px;color:var(--ink);font:500 .82rem Oswald,sans-serif;letter-spacing:.07em;text-transform:uppercase}input{width:100%;min-height:48px;padding:12px 13px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);font:inherit;transition:border-color .15s,box-shadow .15s}input:focus{outline:0;border-color:var(--gold-dark);box-shadow:0 0 0 3px rgba(214,190,14,.22)}
button{min-height:51px;margin-top:17px;padding:12px 16px;border:0;border-radius:4px;background:var(--ink);color:var(--cream);cursor:pointer;font:600 .86rem 'Work Sans',sans-serif;letter-spacing:.04em;text-transform:uppercase;transition:background .15s,transform .15s,box-shadow .15s}button:hover{background:#2f2a1f;box-shadow:0 5px 13px rgba(23,20,15,.17)}button:active{transform:translateY(1px)}button:disabled{cursor:wait;opacity:.7}button span{margin-left:8px;color:var(--gold)}
.login-error{margin:11px 0 0;padding:10px 12px;border-left:3px solid var(--error);background:#f7e7e2;color:#7f2f27;font-size:.83rem}.login-foot{margin:27px 0 0;padding-top:15px;border-top:1px solid var(--line);color:var(--muted);font-size:.72rem;letter-spacing:.04em}
@media(max-width:480px){.login-shell{padding:15px}.login-card{padding:35px 26px 25px}.login-card:after{left:26px;right:26px}.login-mark{height:95px}.login-mark img{width:145px}}
