:root{
  --bg:#121214; --bg2:#1a1a1e; --card:#26262e; --border:#373741;
  --text:#ebe6dc; --dim:#9b968c; --gold:#d2911e; --gold2:#ebaa32;
  --err:#d24b4b; --ok:#50b96e;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:radial-gradient(1200px 600px at 50% -10%, #1c1c22 0%, var(--bg) 60%);
  color:var(--text);font-family:'Segoe UI',Arial,Helvetica,sans-serif;
  min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px}
a{color:var(--gold);text-decoration:none}
a:hover{text-decoration:underline}
.brand{font-size:34px;font-weight:800;letter-spacing:-.5px;text-align:center}
.brand .shard{color:var(--text)}
.brand .lock{color:var(--gold)}
.tagline{color:var(--dim);letter-spacing:3px;text-transform:uppercase;font-size:11px;margin:8px 0 0;text-align:center}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:34px;
  width:100%;max-width:430px;box-shadow:0 20px 60px rgba(0,0,0,.5);margin-top:26px}
.card h1{font-size:21px;margin-bottom:4px}
.card .sub{color:var(--dim);margin-bottom:18px;font-size:14px}
label{display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--dim);margin:15px 0 6px}
input[type=text],input[type=email],input[type=password]{
  width:100%;background:#0f0f12;border:1px solid var(--border);border-radius:8px;
  padding:12px 14px;color:var(--text);font-size:15px;outline:none;transition:border-color .15s}
input:focus{border-color:var(--gold)}
.btn{display:block;width:100%;margin-top:22px;background:var(--gold);color:#15130a;border:none;
  border-radius:8px;padding:14px;font-size:15px;font-weight:700;cursor:pointer;transition:background .15s;text-align:center}
.btn:hover{background:var(--gold2)}
.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text)}
.btn-ghost:hover{background:#2f2f38}
.err{background:rgba(210,75,75,.12);border:1px solid var(--err);color:#f1b4b4;
  border-radius:8px;padding:12px 14px;font-size:14px;margin-bottom:14px}
.foot{margin-top:18px;text-align:center;color:var(--dim);font-size:13px}
.success{text-align:center;padding:8px 0}
.success .check{font-size:54px;color:var(--ok);line-height:1}
.success h1{margin:14px 0 6px}
.hero{text-align:center;max-width:620px}
.hero p.lead{color:var(--dim);font-size:17px;line-height:1.6;margin:18px 0 26px}
.cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cta .btn{width:auto;padding:14px 26px;margin-top:0}
.features{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-top:40px;max-width:760px}
.feature{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;width:230px;text-align:left}
.feature .ic{color:var(--gold);font-size:20px;font-weight:800}
.feature h3{font-size:15px;margin:10px 0 6px}
.feature p{color:var(--dim);font-size:13px;line-height:1.5}
