.auth-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 15% 15%, rgba(89,105,194,.12), transparent 32rem),
    radial-gradient(circle at 88% 20%, rgba(217,173,98,.10), transparent 28rem),
    linear-gradient(180deg,#06101d,#081422 58%,#07111f);
}
.auth-main { padding: 54px 0 28px; }
.auth-layout {
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);
  gap:56px;
  align-items:center;
  min-height:calc(100vh - 250px);
}
.auth-copy { max-width:650px; }
.auth-eyebrow { margin:0 0 18px; color:var(--site-gold); font-size:.76rem; font-weight:800; letter-spacing:.22em; text-transform:uppercase; }
.auth-copy h1 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(3rem,7vw,6.2rem); line-height:.94; letter-spacing:-.055em; font-weight:500; color:#f5f1e9; }
.auth-copy h1 em { display:block; color:var(--site-gold); font-style:normal; }
.auth-copy > p:not(.auth-eyebrow) { max-width:590px; margin:24px 0 0; color:#b9c4d2; font-size:1.04rem; line-height:1.8; }
.auth-points { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:32px; }
.auth-point { padding:16px; border:1px solid rgba(217,173,98,.16); border-radius:17px; background:rgba(255,255,255,.025); }
.auth-point strong { display:block; color:#eee8dd; font-size:.88rem; margin-bottom:5px; }
.auth-point span { color:#8795a9; font-size:.78rem; line-height:1.45; }
.auth-card {
  position:relative;
  overflow:hidden;
  padding:30px;
  border:1px solid rgba(217,173,98,.28);
  border-radius:28px;
  background:linear-gradient(160deg,rgba(15,28,46,.93),rgba(7,17,31,.90));
  box-shadow:0 30px 75px rgba(0,0,0,.36);
}
.auth-card::before { content:""; position:absolute; width:220px; height:220px; border-radius:50%; top:-120px; right:-100px; background:rgba(217,173,98,.09); filter:blur(10px); pointer-events:none; }
.auth-card__kicker { margin:0 0 8px; color:var(--site-gold); font-size:.72rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.auth-card h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:2rem; font-weight:500; letter-spacing:-.025em; }
.auth-card__lead { margin:9px 0 24px; color:#9eabba; font-size:.92rem; }
.auth-form { display:grid; gap:16px; }
.auth-field { display:grid; gap:7px; }
.auth-field label { color:#d8dee8; font-size:.83rem; font-weight:700; }
.auth-field input {
  width:100%; min-height:50px; border-radius:13px; border:1px solid rgba(255,255,255,.12); outline:none;
  background:rgba(3,10,19,.55); color:#fff; padding:0 14px; transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.auth-field input:focus { border-color:rgba(217,173,98,.72); box-shadow:0 0 0 3px rgba(217,173,98,.10); background:rgba(3,10,19,.78); }
.auth-field small { color:#78879a; line-height:1.45; }
.auth-actions { display:flex; gap:10px; align-items:center; margin-top:4px; }
.auth-submit { width:100%; }
.auth-meta { margin:20px 0 0; padding-top:18px; border-top:1px solid rgba(255,255,255,.08); color:#8e9bae; font-size:.88rem; text-align:center; }
.auth-meta a { color:var(--site-gold-soft); text-decoration:none; font-weight:700; }
.auth-meta a:hover { text-decoration:underline; }
.auth-alert { border-radius:13px; padding:11px 13px; font-size:.88rem; line-height:1.5; }
.auth-alert--error { color:#ffd7d7; background:rgba(153,44,52,.17); border:1px solid rgba(255,128,135,.28); }
.auth-alert--success { color:#d2f4dc; background:rgba(43,124,72,.16); border:1px solid rgba(112,202,139,.26); }
.auth-form .auth-alert + .auth-alert { margin-top:-8px; }
.auth-note { margin-top:20px; padding:15px 16px; border-radius:16px; border:1px solid rgba(156,168,255,.16); color:#9ca8b8; background:rgba(156,168,255,.035); font-size:.82rem; line-height:1.55; }
@media (max-width:900px) {
  .auth-layout { grid-template-columns:1fr; gap:34px; min-height:0; }
  .auth-copy { text-align:center; margin-inline:auto; }
  .auth-copy > p:not(.auth-eyebrow) { margin-inline:auto; }
  .auth-points { max-width:650px; margin-inline:auto; }
  .auth-card { width:min(560px,100%); margin-inline:auto; }
}
@media (max-width:620px) {
  .auth-main { padding-top:34px; }
  .auth-copy h1 { font-size:clamp(2.9rem,16vw,4.4rem); }
  .auth-points { grid-template-columns:1fr; }
  .auth-card { padding:22px; border-radius:22px; }
}
