/* ============================================================
   NORTH 18 — AUTH (login / register)
   Loads after wireframe-v3.css. Split document layout:
   form panel left, cinematic plate right.
   ============================================================ */

body.auth{min-height:100svh}
.auth-grid{min-height:100svh;display:grid;grid-template-columns:minmax(420px,44%) 1fr}

/* ---------- form panel ---------- */
.auth-panel{display:flex;flex-direction:column;padding:clamp(24px,4vw,56px) clamp(24px,4.5vw,72px);
  border-right:1px solid var(--line);position:relative}
.auth-panel .wordmark{font-size:1.3rem}
.auth-body{flex:1;display:flex;flex-direction:column;justify-content:center;
  max-width:400px;width:100%;margin-inline:auto;padding-block:48px}
.auth-kicker{color:var(--lime);display:block;margin-bottom:22px}
.auth-body .statement{font-size:clamp(2rem,3.6vw,3rem);margin-bottom:36px}
.auth-foot{color:var(--faint)}
.auth-foot a{color:var(--muted)}
.auth-foot a:hover{color:var(--lime)}

/* ---------- fields ---------- */
.field{margin-bottom:22px}
.field label{display:block;margin-bottom:8px;color:var(--muted);letter-spacing:.18em;font-size:10px}
.field input{width:100%;background:transparent;border:1px solid var(--line-2);color:var(--paper);
  font-family:var(--body);font-size:.95rem;padding:13px 15px;outline:none;border-radius:0;
  transition:border-color .25s;
  clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%)}
.field input:focus{border-color:var(--lime)}
.field input[aria-invalid="true"]{border-color:#c24a4a}
.field-err{display:block;min-height:16px;margin-top:6px;font-family:var(--mono);
  font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:#c26a4a}

.auth-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:4px 0 26px}
.check{display:inline-flex;align-items:center;gap:9px;cursor:pointer}
.check input{appearance:none;width:13px;height:13px;border:1px solid var(--line-2);
  transform:rotate(45deg);cursor:pointer;flex-shrink:0;transition:background .2s,border-color .2s}
.check input:checked{background:var(--lime);border-color:var(--lime)}
.link{color:var(--muted);border-bottom:1px solid var(--line-2);padding-bottom:1px}
.link:hover{color:var(--lime);border-color:var(--lime)}

/* real submit button — same chamfer language as .btn-sk */
.btn-real{--cut:11px;display:inline-flex;align-items:center;justify-content:center;gap:.7em;
  font-family:var(--disp);font-weight:500;text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;
  padding:1.05em 1.7em;width:100%;
  clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,0 100%);
  background:var(--lime);color:#0A0B0D;transition:background .3s}
.btn-real:hover{background:var(--lime-bright)}
.btn-real[disabled]{opacity:.55;cursor:default}

.auth-alt{margin-top:26px;color:var(--faint)}
.auth-alt a{color:var(--paper);border-bottom:1px solid var(--lime-line)}
.auth-alt a:hover{color:var(--lime)}

.auth-msg{margin-top:18px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--lime);min-height:16px}

/* ---------- media plate ---------- */
.auth-media{position:relative;overflow:hidden;margin:0}
.auth-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.auth-media figcaption{position:absolute;left:clamp(20px,3vw,44px);bottom:clamp(20px,3vw,40px);z-index:2;
  color:var(--paper);background:rgba(10,11,13,.72);border:1px solid var(--line);padding:8px 14px}
.auth-media .auth-quote{position:absolute;top:clamp(24px,4vw,56px);right:clamp(24px,4vw,56px);z-index:2;
  max-width:26ch;text-align:right;font-family:var(--disp);font-weight:300;font-style:italic;
  font-size:clamp(1rem,1.6vw,1.3rem);line-height:1.4;color:var(--paper);
  text-shadow:0 1px 12px rgba(10,11,13,.6)}

@media (max-width:900px){
  .auth-grid{grid-template-columns:1fr}
  .auth-media{display:none}
  .auth-panel{border-right:none}
}
