/* Sign-in gate (admin & member). Tokens from ext/01-design-system.css. */
.gate-body-page{margin:0;background:#fff}
/* Photo panel on the left, sign-in on the right. The form stays first in
   the markup so keyboard and screen-reader users reach it straight away. */
.gate{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.gate-aside{order:-1}
.gate-main{display:flex;flex-direction:column;padding:32px clamp(24px,6vw,72px)}
.gate-brand{display:inline-flex;align-items:center;gap:12px;color:var(--kgf-navy-900)!important;text-decoration:none}
.gate-brand img{filter:drop-shadow(0 2px 6px rgba(6,27,58,.25))}
.gate-brand b{display:block;font-size:15px;font-weight:700;letter-spacing:-.005em}
.gate-brand small{display:block;margin-top:2px;color:var(--kgf-slate-500);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.gate-form{width:min(420px,100%);margin:auto;padding:48px 0}
.gate-form h1{margin:0 0 8px;font-family:var(--kgf-font-display);font-weight:600;font-size:34px;letter-spacing:-.015em;color:var(--kgf-navy-900)}
.gate-form .lede{margin:0 0 26px;color:var(--kgf-slate-500);font-size:15px;line-height:1.55}
.gate-form .field{margin-bottom:14px}
.gate-form .field input{min-height:46px;font-size:15px}
.gate-form .btn{width:100%;min-height:46px;font-size:14.5px;margin-top:6px}
.gate-form .after{margin:18px 0 0;color:var(--kgf-slate-500);font-size:13.5px}
.gate-form .after a,.gate-form a{color:var(--kgf-blue-600);font-weight:600}
.gate-foot{display:flex;gap:10px;align-items:center;margin:0;color:var(--kgf-slate-400);font-size:13px}
.gate-foot a{display:inline-flex;align-items:center;gap:6px;color:var(--kgf-slate-500)!important}
.gate-foot a:hover{color:var(--kgf-navy-900)!important}
.gate-aside{position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:clamp(32px,5vw,64px);color:#fff;
  background:
    linear-gradient(180deg,rgba(3,13,32,.35) 0%,rgba(3,13,32,.9) 70%),
    url("../images/photos/auditorium-gathering.jpg") center/cover no-repeat,
    linear-gradient(150deg,#061b3a,#0b3d91)}
.gate-aside::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--kgf-horizon)}
.gate-aside-inner{position:relative;max-width:520px}
.gate-seal{width:84px;height:84px;margin-bottom:22px;filter:drop-shadow(0 6px 18px rgba(0,0,0,.45))}
.gate-eyebrow{margin:0 0 12px;color:var(--kgf-blue-300);font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.gate-aside h2{margin:0 0 20px;font-family:var(--kgf-font-display);font-weight:500;font-size:clamp(28px,3vw,40px);line-height:1.12;letter-spacing:-.015em;color:#fff}
.gate-aside ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.gate-aside li{display:flex;align-items:center;gap:10px;color:#d3def0;font-size:14.5px}
.gate-aside li .i{color:var(--kgf-sky)}
@media(max-width:900px){.gate{grid-template-columns:1fr}.gate-aside{display:none}.gate-form{padding:32px 0}}
