@font-face{font-family:"ag grotesk";font-weight:400;font-display:swap;src:url("/login-fonts/ag-regular.woff2") format("woff2")}
@font-face{font-family:"ag grotesk";font-weight:500;font-display:swap;src:url("/login-fonts/ag-medium.woff2") format("woff2")}
@font-face{font-family:"ag grotesk";font-weight:700;font-display:swap;src:url("/login-fonts/ag-bold.woff2") format("woff2")}
:root{--navy:#1d355e;--ink:#0c1627;--line:#dddedf;--wash:#ebf0f9;--muted:#5b6877;--error:#b3261e}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{position:relative;min-height:100vh;display:flex;flex-direction:column;color:#fff;background:var(--ink);font-family:"ag grotesk",Inter,"Segoe UI",Helvetica,Arial,sans-serif;font-weight:500;font-size:16px;line-height:1.5}
.hero{position:fixed;inset:0;z-index:-1;background:#25323b url("/login-hero.jpg") center/cover no-repeat}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,22,39,.72) 0%,rgba(12,22,39,.42) 45%,rgba(12,22,39,.18) 100%),linear-gradient(0deg,rgba(12,22,39,.55),transparent 55%)}
.top{padding:44px clamp(28px,5.5vw,84px) 0}
.logo{display:block;width:184px;height:auto}
.frame{flex:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,440px);align-items:end;gap:48px;padding:40px clamp(28px,5.5vw,84px) 64px}
.intro h1{margin:0;font-weight:700;font-size:clamp(52px,7vw,104px);line-height:.95;letter-spacing:-.03em}
.intro p{max-width:430px;margin:26px 0 0;font-size:17px;line-height:1.55;color:rgba(255,255,255,.9)}
.card{background:#fff;color:var(--ink);padding:44px 44px 40px;box-shadow:0 30px 80px rgba(5,12,25,.35)}
.card h2{margin:0;font-weight:700;font-size:38px;line-height:1.05;letter-spacing:-.02em;color:var(--navy)}
.card .lead{margin:8px 0 26px;color:var(--muted)}
label{display:block;margin:18px 0 8px;font-size:14px;font-weight:600;color:var(--ink)}
.input{width:100%;height:52px;padding:0 14px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);font:inherit}
.input:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(29,53,94,.15)}
button{width:100%;height:54px;margin-top:26px;border:0;border-radius:0;background:var(--navy);color:#fff;font:inherit;font-weight:600;font-size:16px;cursor:pointer}
button:hover{background:#142a4c}
.error{min-height:22px;margin-top:12px;color:var(--error);font-size:14px}
.error:empty{display:none}
.fine{margin:20px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.foot{padding:0 clamp(28px,5.5vw,84px) 26px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.7)}
@media(max-width:860px){.frame{grid-template-columns:1fr;align-items:start;gap:28px;padding-bottom:32px}.intro h1{font-size:52px}.card{padding:32px 26px}.top{padding-top:28px}.logo{width:140px}.foot{padding-bottom:18px}}
