:root {
  color-scheme: light;
  --navy: #071c4f;
  --blue: #123fa7;
  --sky: #2f7df4;
  --gold: #f2b705;
  --ink: #10203b;
  --muted: #65728a;
  --line: #dbe3f0;
  --surface: rgba(255,255,255,.94);
}
* { box-sizing: border-box; }
html, body { min-height: 100%; }
body {
  margin: 0;
  color: var(--ink);
  font: 15px/1.5 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: radial-gradient(circle at 12% 18%, #2d68df 0, #123a91 24%, #071c4f 62%, #041236 100%);
  overflow-x: hidden;
}
.ambient { position: fixed; border-radius: 999px; filter: blur(4px); opacity: .45; pointer-events: none; animation: drift 13s ease-in-out infinite alternate; }
.ambient-one { width: 25rem; height: 25rem; right: -7rem; top: -6rem; background: radial-gradient(circle, #ffe073, transparent 68%); }
.ambient-two { width: 30rem; height: 30rem; left: 18%; bottom: -18rem; background: radial-gradient(circle, #4fa3ff, transparent 68%); animation-delay: -5s; }
.ambient-grid { position: fixed; inset: 0; opacity: .13; background-image: linear-gradient(rgba(255,255,255,.24) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.24) 1px,transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(to right,#000,transparent 75%); pointer-events:none; }
.identity-shell { width: min(1180px, calc(100% - 40px)); min-height: 100vh; margin: auto; display: grid; grid-template-columns: 1fr minmax(430px, 560px); align-items: center; gap: clamp(42px,7vw,110px); padding: 44px 0; }
.identity-story { color: #fff; position: relative; z-index: 1; }
.identity-logo { width: 215px; max-height: 82px; object-fit: contain; object-position: left center; margin-bottom: 46px; padding:10px 14px; border-radius:14px; background:rgba(255,255,255,.94); box-shadow:0 12px 34px rgba(0,10,48,.2); }
.identity-kicker,.eyebrow { display:block; text-transform:uppercase; letter-spacing:.14em; font-size:12px; font-weight:800; }
.identity-kicker { color:#ffe06b; }
.identity-story h1 { max-width:620px; margin:18px 0 20px; font-size:clamp(40px,5.2vw,68px); line-height:1.02; letter-spacing:-.04em; }
.identity-story>p { max-width:600px; color:#cfdbf7; font-size:18px; }
.story-points { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:40px; }
.story-points div { padding:18px; border:1px solid rgba(255,255,255,.18); border-radius:16px; background:rgba(255,255,255,.07); backdrop-filter:blur(12px); }
.story-points span { color:#ffd64d; font-size:12px; font-weight:800; }
.story-points strong,.story-points small { display:block; }
.story-points strong { margin:8px 0 3px; }
.story-points small { color:#c8d5ef; line-height:1.35; }
.identity-card { position:relative; z-index:2; padding:clamp(28px,4vw,48px); border:1px solid rgba(255,255,255,.65); border-radius:28px; background:var(--surface); box-shadow:0 30px 80px rgba(0,8,35,.34); backdrop-filter:blur(24px); }
.mobile-brand { display:none; }
.card-heading h2 { margin:7px 0 8px; font-size:clamp(28px,4vw,38px); letter-spacing:-.03em; }
.card-heading p { margin:0 0 26px; color:var(--muted); }
.eyebrow { color:var(--blue); }
.identity-form { display:grid; gap:17px; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.field label,.label-row label { display:block; margin-bottom:7px; font-weight:750; color:#24334d; }
.field label span,.optional-field label span { color:var(--muted); font-size:12px; font-weight:600; }
.label-row { display:flex; align-items:center; justify-content:space-between; }
a { color:#1456c5; font-weight:700; text-decoration:none; }
a:hover { text-decoration:underline; }
input,select { width:100%; min-height:50px; border:1px solid var(--line); border-radius:13px; padding:0 15px; color:var(--ink); background:#fff; font:inherit; transition:.18s ease; }
input:focus,select:focus { outline:0; border-color:#3275e4; box-shadow:0 0 0 4px rgba(47,125,244,.14); }
.field small { display:block; margin-top:6px; color:var(--muted); }
.select-wrap,.password-wrap { position:relative; }
.select-wrap select { appearance:none; padding-right:46px; cursor:pointer; }
.select-wrap>span { position:absolute; right:16px; top:12px; color:#315487; font-size:22px; pointer-events:none; }
.password-wrap input { padding-right:94px; }
.password-toggle { position:absolute; right:7px; top:7px; min-width:74px; height:36px; border:0; border-radius:9px; color:#315487; background:#edf3ff; font-weight:750; cursor:pointer; }
.password-toggle .eye-closed { display:none; }
.password-toggle[aria-pressed=true] .eye-open { display:none; }
.password-toggle[aria-pressed=true] .eye-closed { display:inline; }
.primary-button,.social-button { width:100%; min-height:52px; border-radius:13px; display:flex; align-items:center; justify-content:center; gap:10px; font:inherit; font-weight:800; }
.primary-button { margin-top:3px; padding:0 18px; justify-content:space-between; color:#fff; border:0; background:linear-gradient(135deg,#123fa7,#246ce0); box-shadow:0 12px 24px rgba(18,63,167,.22); cursor:pointer; }
.primary-button:hover { transform:translateY(-1px); box-shadow:0 16px 28px rgba(18,63,167,.28); }
.social-button { border:1px solid var(--line); background:#fff; color:#26344c; }
.social-logo { width:25px; height:25px; flex:none; }
.social-button small { color:var(--muted); }
.social-button:disabled { cursor:not-allowed; opacity:.66; }
.divider { display:flex; align-items:center; gap:12px; margin:22px 0; color:#8a95a8; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.divider:before,.divider:after { content:""; height:1px; background:var(--line); flex:1; }
.switch-auth { text-align:center; margin:20px 0 0; color:var(--muted); }
.check-card { display:flex; gap:12px; padding:14px; border:1px solid var(--line); border-radius:13px; cursor:pointer; }
.check-card input { width:19px; min-height:19px; accent-color:var(--blue); }
.check-card strong,.check-card small { display:block; }
.check-card small { color:var(--muted); margin-top:2px; }
.alert { padding:12px 14px; margin:0 0 18px; border-radius:12px; }
.alert.error,.errorlist { color:#9e1b32; background:#fff0f3; }
.errorlist { list-style:none; padding:8px 10px; margin:7px 0 0; border-radius:9px; font-size:13px; }
.identity-card footer { margin-top:24px; color:#748198; text-align:center; font-size:12px; }
.status-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#1bb66b; box-shadow:0 0 0 4px rgba(27,182,107,.13); margin-right:7px; }
.code-box { padding:14px; border:1px dashed #8da6d0; border-radius:12px; background:#f4f7fc; overflow-wrap:anywhere; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; }
@keyframes drift { to { transform:translate3d(32px,24px,0) scale(1.08); } }
@media (prefers-reduced-motion:reduce) { .ambient { animation:none; } * { scroll-behavior:auto!important; transition:none!important; } }
@media (max-width:920px) { .identity-shell { grid-template-columns:1fr; width:min(620px,calc(100% - 28px)); } .identity-story { display:none; } .mobile-brand { display:block; margin-bottom:22px; } .mobile-brand img { width:165px; max-height:60px; object-fit:contain; object-position:left; } }
@media (max-width:560px) { .identity-shell { padding:14px 0; } .identity-card { border-radius:20px; padding:24px 19px; } .field-grid { grid-template-columns:1fr; } }
