/* OMETRIX — shared brand system */
:root{
  --bg:#05070d;
  --bg-2:#0a0e1a;
  --surface:#0f1422;
  --surface-2:#151b2d;
  --line:rgba(255,255,255,.08);
  --line-2:rgba(255,255,255,.14);
  --text:#eef2ff;
  --text-2:#a5adc4;
  --text-3:#6e7691;
  --blue:#1e90ff;
  --blue-2:#0066ff;
  --blue-soft:#5badff;
  --blue-deep:#0052cc;
  --blue-glow:rgba(30,144,255,.45);
  --silver:#c9d1e0;
  --silver-2:#e8edf6;
  --silver-3:#8a93a8;
  --green:#18d39a;
  --danger:#ff7a7a;
  --warning:#ffc857;
  --radius:14px;
  --radius-lg:22px;
  --grad-silver:linear-gradient(180deg,#ffffff 0%, #c9d1e0 45%, #6e7691 100%);
  --grad-brand:linear-gradient(135deg, #ffffff 0%, #c9d1e0 25%, #5badff 55%, #1e90ff 75%, #0052cc 100%);
  --grad-btn:linear-gradient(135deg, #e8edf6 0%, #c9d1e0 18%, #5badff 45%, #1e90ff 70%, #0052cc 100%);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--text);
  font-family:"DM Sans",system-ui,sans-serif;
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;border:0;background:none;color:inherit;cursor:pointer}

h1,h2,h3,h4{
  font-family:"Sora",sans-serif;
  font-weight:700;
  letter-spacing:-0.02em;
  line-height:1.1;
  margin:0;
  text-wrap:balance;
}
p{margin:0;text-wrap:pretty}

/* utilities */
.silver-grad{background:var(--grad-silver);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand-grad{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.blue-grad{background:linear-gradient(180deg,#7dc4ff,#0066ff);-webkit-background-clip:text;background-clip:text;color:transparent}

.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:"JetBrains Mono",monospace;font-size:12px;
  color:#cfe0ff;text-transform:uppercase;letter-spacing:.18em;
  padding:6px 14px;border:1px solid transparent;
  border-radius:99px;
  background:
    linear-gradient(rgba(15,20,34,.85),rgba(15,20,34,.85)) padding-box,
    linear-gradient(90deg, rgba(201,209,224,.4), rgba(30,144,255,.6)) border-box;
}
.eyebrow::before{
  content:""; width:6px;height:6px;border-radius:50%;
  background:linear-gradient(135deg,#e8edf6,#1e90ff);box-shadow:0 0 10px var(--blue);
}

/* buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 22px;border-radius:12px;font-weight:600;
  font-size:15px;cursor:pointer;
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease;
  white-space:nowrap;
}
.btn-primary{
  background:var(--grad-btn);
  color:#fff;
  box-shadow:0 14px 32px -10px rgba(30,144,255,.65),
    inset 0 1px 0 rgba(255,255,255,.45),
    inset 0 -1px 0 rgba(0,40,120,.4);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 44px -10px rgba(30,144,255,.85), inset 0 1px 0 rgba(255,255,255,.45), inset 0 -1px 0 rgba(0,40,120,.4)}
.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn-ghost{
  background:rgba(255,255,255,.04);
  border:1px solid var(--line-2);
  color:var(--text);
}
.btn-ghost:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.3)}
.btn-block{width:100%}
.btn-lg{padding:16px 26px;font-size:16px}

/* logo lockup */
.logo{display:inline-flex;align-items:center;gap:14px}
.logo img{height:54px;width:auto;border-radius:12px;filter:drop-shadow(0 0 18px rgba(30,144,255,.45))}
.logo .word{
  font-family:"Sora",sans-serif;font-weight:700;font-size:26px;letter-spacing:.04em;
  background:linear-gradient(180deg,#ffffff 0%, #9aa3b8 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.logo-sm img{height:38px}
.logo-sm .word{font-size:20px}

/* orbit deco */
.orbit{
  position:absolute;pointer-events:none;border-radius:50%;
  border:1px solid rgba(255,255,255,.06);
}
.orbit::before, .orbit::after{
  content:""; position:absolute; inset:0; border-radius:50%;
  border:1px solid transparent;
}
.orbit::before{
  background:conic-gradient(from 180deg, transparent 0deg, rgba(201,209,224,.5) 70deg, transparent 180deg) border-box;
  -webkit-mask:linear-gradient(#000,#000) content-box, linear-gradient(#000,#000);
  -webkit-mask-composite:xor; mask-composite:exclude;
  padding:1px;
}
.orbit::after{
  background:conic-gradient(from 0deg, transparent 0deg, rgba(30,144,255,.6) 70deg, transparent 180deg) border-box;
  -webkit-mask:linear-gradient(#000,#000) content-box, linear-gradient(#000,#000);
  -webkit-mask-composite:xor; mask-composite:exclude;
  padding:1px;
}

/* form controls */
.field{display:flex;flex-direction:column;gap:6px;width:100%}
.field label{font-size:13px;color:var(--text-2);font-weight:500}
.field input, .field select, .field textarea{
  width:100%;
  background:rgba(255,255,255,.025);
  border:1px solid var(--line-2);
  border-radius:12px;
  padding:14px 16px;
  color:#fff;
  font:inherit;
  font-size:15px;
  transition:border-color .15s, background .15s, box-shadow .15s;
}
.field input::placeholder, .field textarea::placeholder{color:var(--text-3)}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none;
  border-color:rgba(30,144,255,.55);
  background:rgba(30,144,255,.06);
  box-shadow:0 0 0 4px rgba(30,144,255,.12);
}
.field.has-icon{position:relative}
.field.has-icon input{padding-left:46px}
.field.has-icon .ic{
  position:absolute;left:14px;top:38px;color:var(--text-3);
  pointer-events:none;display:flex;align-items:center;justify-content:center;
}
.field.has-error input{border-color:rgba(255,122,122,.5);background:rgba(255,122,122,.05)}
.field .err{font-size:12px;color:var(--danger);margin-top:2px;display:none}
.field.has-error .err{display:block}
.field .toggle-eye{position:absolute;right:14px;top:36px;color:var(--text-3);cursor:pointer;display:flex;padding:4px}
.field .toggle-eye:hover{color:var(--text-2)}

.check-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13.5px;color:var(--text-2)}
.checkbox{display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none}
.checkbox input{display:none}
.checkbox .box{
  width:18px;height:18px;border-radius:5px;
  border:1px solid var(--line-2);background:rgba(255,255,255,.02);
  display:flex;align-items:center;justify-content:center;
  transition:background .15s, border-color .15s;
}
.checkbox input:checked + .box{
  background:linear-gradient(135deg,#5badff,#0052cc);
  border-color:transparent;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4);
}
.checkbox input:checked + .box::after{
  content:""; width:10px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;
  transform:rotate(-45deg) translate(1px,-1px);
}

/* dividers */
.divider{display:flex;align-items:center;gap:14px;color:var(--text-3);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line)}

/* social buttons */
.social-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding:12px 16px;border-radius:12px;
  background:rgba(255,255,255,.03);border:1px solid var(--line-2);
  font-weight:500;font-size:14px;cursor:pointer;
  transition:background .15s, border-color .15s;
}
.social-btn:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.25)}
.social-btn img, .social-btn svg{width:18px;height:18px}

/* card */
.brand-card{
  background:
    radial-gradient(circle at 50% -10%, rgba(201,209,224,.06), transparent 50%),
    var(--surface);
  border:1px solid var(--line-2);
  border-radius:var(--radius-lg);
  position:relative;
  overflow:hidden;
}
.brand-card::before{
  content:""; position:absolute; top:-1px; left:24px; right:24px; height:2px;
  background:linear-gradient(90deg, transparent, rgba(201,209,224,.5), rgba(30,144,255,.8), transparent);
}

/* trust pills */
.trust{
  display:flex;flex-wrap:wrap;gap:10px;font-size:12.5px;color:var(--text-3);
}
.trust span{display:inline-flex;align-items:center;gap:6px}
.trust .check-sm{
  width:14px;height:14px;border-radius:50%;
  background:linear-gradient(135deg,#e8edf6,#5badff,#0052cc);
  display:inline-flex;align-items:center;justify-content:center;
}
.trust .check-sm::after{
  content:""; width:6px;height:3px;border-left:1.5px solid #fff;border-bottom:1.5px solid #fff;
  transform:rotate(-45deg) translate(0,-1px);
}
