:root{
  --navy-0:#04061a; --navy-1:#070c22; --navy-2:#0d1235;
  --ink:#ffffff; --ink-dim:#eef0ff; --ink-mute:#c9cee8;
  --blue-royal:#2233e8; --blue-glow:#3348ff; --blue-soft:#8ea2ff; --blue-deep:#1a22c8;
  --border:rgba(255,255,255,0.08); --border-strong:rgba(255,255,255,0.16);
  --card-bg:linear-gradient(180deg,rgba(22,28,70,0.62) 0%,rgba(9,12,35,0.72) 100%);
  --card-bg-hi:linear-gradient(180deg,rgba(34,40,90,0.34) 0%,rgba(9,12,35,0.80) 100%);
  --rim:conic-gradient(from 215deg at 50% 50%,rgba(255,255,255,0) 0deg,rgba(255,255,255,0) 15deg,rgba(255,255,255,0.20) 35deg,rgba(255,255,255,0.44) 60deg,rgba(255,255,255,0.76) 80deg,rgba(255,255,255,0.76) 125deg,rgba(255,255,255,0.44) 150deg,rgba(255,255,255,0.20) 175deg,rgba(255,255,255,0) 195deg,rgba(255,255,255,0) 215deg,rgba(255,255,255,0.20) 235deg,rgba(255,255,255,0.44) 260deg,rgba(255,255,255,0.76) 280deg,rgba(255,255,255,0.76) 305deg,rgba(255,255,255,0.44) 325deg,rgba(255,255,255,0.20) 345deg,rgba(255,255,255,0) 360deg);
  --font:"Helvetica Neue",Helvetica,"Inter",Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{background:var(--navy-0);color:var(--ink);font-family:var(--font);font-weight:400;letter-spacing:-0.01em}
body{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:8vh 20px 60px;position:relative;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.bg{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.bg::before,.bg::after{content:"";position:absolute;border-radius:50%;filter:blur(140px)}
.bg::before{width:680px;height:680px;background:radial-gradient(circle,#2b37d8 0%,transparent 65%);top:-180px;right:-160px;opacity:0.5;animation:drift1 18s ease-in-out infinite alternate}
.bg::after{width:720px;height:720px;background:radial-gradient(circle,#3348ff 0%,transparent 65%);bottom:-220px;left:-180px;opacity:0.36;animation:drift2 22s ease-in-out infinite alternate}
.bg .halo-3{position:fixed;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,#1a22c8 0%,transparent 65%);filter:blur(150px);opacity:0.26;top:50%;left:50%;transform:translate(-50%,-50%);animation:drift3 26s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate(60px,40px)}}
@keyframes drift2{to{transform:translate(-50px,-30px)}}
@keyframes drift3{to{transform:translate(-50%,-50%) scale(1.15)}}
.grid-tex{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:0.5;background-image:radial-gradient(rgba(124,133,173,0.10) 1px,transparent 1px);background-size:34px 34px;mask:radial-gradient(circle at 50% 30%,transparent 0%,#000 70%)}
.container{position:relative;z-index:1;width:100%;max-width:640px;animation:fade-in 0.8s ease forwards;text-align:center}
@keyframes fade-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.eyebrow{font-size:12px;letter-spacing:0.06em;color:var(--ink-mute);margin-bottom:36px}
.headline{font-family:var(--font);font-size:clamp(2.2rem,5.6vw,3.6rem);font-weight:400;color:var(--ink);margin-bottom:18px;line-height:1.02;letter-spacing:-0.03em}
.sub{color:var(--ink-dim);font-size:1.05rem;line-height:1.55;margin-bottom:34px}
.sub p+p{margin-top:12px}
.card{background:var(--card-bg);border:1px solid var(--border);border-radius:18px;padding:28px 26px;backdrop-filter:blur(6px);position:relative;text-align:left;box-shadow:0 30px 80px -30px rgba(0,0,0,0.7)}
.card::before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(51,72,255,0.6),transparent)}
.field{margin-bottom:14px}
.field label{display:block;font-size:13px;letter-spacing:0.02em;color:var(--ink-mute);margin-bottom:7px}
.field input{width:100%;font:inherit;font-size:16px;font-weight:400;color:var(--ink);background:rgba(4,6,26,0.55);border:1px solid var(--border-strong);border-radius:12px;padding:14px 16px;outline:none;transition:border-color .2s,box-shadow .2s}
.field input::placeholder{color:var(--ink-mute)}
.field input:focus{border-color:var(--blue-glow);box-shadow:0 0 0 3px rgba(51,72,255,0.22)}
.hp{position:absolute;left:-9999px;opacity:0}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;width:100%;font:inherit;font-size:16px;font-weight:400;color:#fff;padding:1.05rem 2.6rem;border-radius:999px;border:1px solid var(--border-strong);cursor:pointer;background:var(--card-bg);transition:transform .25s,border-color .25s,box-shadow .25s,background .25s;margin-top:8px}
.btn svg{transition:transform .25s}
.btn:hover svg{transform:translateX(3px)}
.btn::after{content:"";position:absolute;inset:0;border-radius:999px;padding:1px;background:var(--rim);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.55;pointer-events:none;transition:opacity .25s}
.btn:hover{transform:translateY(-2px);border-color:var(--blue-glow);background:var(--card-bg-hi);box-shadow:0 0 0 1px rgba(51,72,255,0.35),0 12px 38px -10px rgba(51,72,255,0.6),inset 0 0 18px rgba(51,72,255,0.12)}
.btn:hover::after{opacity:.9}
.btn[disabled]{opacity:.6;cursor:wait;transform:none}
.footer{position:relative;z-index:1;margin-top:56px;text-align:center;font-size:0.62rem;color:var(--ink-mute);opacity:0.4}
@media (max-width:640px){body{padding:6vh 16px 48px}.card{padding:22px 18px}}
