:root{
  --purple:#5B2A86;--purple-dark:#3A1B57;--purple-light:#EDE4F3;--purple-mid:#7d47b0;
  --gold:#C9A24B;--ink:#241a2e;--grey:#5f5766;--line:#e7e1ee;--bg:#ffffff;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Segoe UI',-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif;color:var(--ink);line-height:1.65;background:var(--bg)}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
h1,h2,h3{line-height:1.2;color:var(--purple-dark)}
.btn{display:inline-block;background:var(--purple);color:#fff;padding:14px 28px;border-radius:9px;font-weight:600;border:none;cursor:pointer;font-size:1rem;transition:.2s}
.btn:hover{background:var(--purple-dark);transform:translateY(-1px)}
.btn-ghost{background:transparent;border:1.5px solid #ffffff88;color:#fff}
.btn-ghost:hover{background:#ffffff1a;transform:translateY(-1px)}

header{position:sticky;top:0;z-index:50;background:#fffffff2;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:70px}
.brand{display:flex;align-items:center;gap:11px;font-weight:700;font-size:1.25rem;color:var(--purple-dark)}
.gem{width:26px;height:26px}
.nav-links{display:flex;gap:30px;align-items:center}
.nav-links a{color:var(--grey);font-weight:500;font-size:.96rem}
.nav-links a:hover{color:var(--purple)}
.nav .btn{padding:10px 20px}
@media(max-width:820px){.nav-links a:not(.btn){display:none}}

.hero{background:linear-gradient(135deg,var(--purple-dark),var(--purple) 70%,#6f3aa0);color:#fff;padding:88px 0 96px;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;background:radial-gradient(circle,#ffffff22,transparent 70%);border-radius:50%}
.hero .wrap{position:relative;z-index:2;max-width:820px}
.eyebrow{display:inline-block;background:#ffffff1f;border:1px solid #ffffff33;padding:6px 15px;border-radius:30px;font-size:.82rem;letter-spacing:.5px;text-transform:uppercase;margin-bottom:22px}
.hero h1{color:#fff;font-size:2.9rem;margin-bottom:18px}
.hero p.lead{font-size:1.22rem;color:#f2ecf7;max-width:640px;margin-bottom:34px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-note{margin-top:22px;font-size:.9rem;color:#e5d9f0}
@media(max-width:640px){.hero h1{font-size:2.1rem}}

.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:-42px;position:relative;z-index:5}
.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;text-align:center;box-shadow:0 10px 30px #3a1b5714}
.stat b{display:block;font-size:1.9rem;color:var(--purple)}
.stat span{color:var(--grey);font-size:.92rem}
@media(max-width:700px){.stats{grid-template-columns:1fr}}

section{padding:74px 0}
.section-head{max-width:680px;margin:0 auto 48px;text-align:center}
.section-head h2{font-size:2rem;margin-bottom:12px}
.section-head p{color:var(--grey);font-size:1.08rem}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px 22px;position:relative}
.step .num{width:38px;height:38px;border-radius:9px;background:var(--purple-light);color:var(--purple-dark);display:flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:14px}
.step h3{font-size:1.1rem;margin-bottom:7px}
.step p{color:var(--grey);font-size:.94rem}
@media(max-width:860px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.steps{grid-template-columns:1fr}}

.trust{background:var(--purple-light)}
.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.trust-grid ul{list-style:none;margin-top:10px}
.trust-grid li{display:flex;gap:12px;padding:11px 0;border-bottom:1px dashed #d6c7e6;font-size:1.02rem}
.trust-grid li:last-child{border-bottom:none}
.tick{color:var(--purple);font-weight:800;flex-shrink:0}
.fee-card{background:#fff;border-radius:16px;padding:34px;box-shadow:0 14px 40px #3a1b5720;text-align:center}
.fee-card .big{font-size:2.6rem;color:var(--purple);font-weight:800}
.fee-card .row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-size:1rem}
.fee-card .row:last-child{border-bottom:none;font-weight:700;color:var(--purple-dark)}
@media(max-width:780px){.trust-grid{grid-template-columns:1fr}}

details{background:#fff;border:1px solid var(--line);border-radius:11px;padding:4px 20px;margin-bottom:12px}
details summary{cursor:pointer;font-weight:600;padding:16px 0;list-style:none;display:flex;justify-content:space-between;align-items:center;color:var(--purple-dark)}
details summary::-webkit-details-marker{display:none}
details summary:after{content:"+";font-size:1.4rem;color:var(--purple)}
details[open] summary:after{content:"–"}
details p{color:var(--grey);padding:0 0 18px;font-size:.98rem}

.cta{background:linear-gradient(135deg,var(--purple-dark),var(--purple));color:#fff}
.cta .section-head h2,.cta .section-head p{color:#fff}
.cta .section-head p{color:#eaddf5}
form.lead-form{max-width:640px;margin:0 auto;background:#fff;border-radius:16px;padding:32px;box-shadow:0 20px 50px #00000030}
.fld{margin-bottom:16px}
.fld label{display:block;font-size:.88rem;font-weight:600;color:var(--purple-dark);margin-bottom:6px}
.fld input,.fld textarea,.fld select{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:9px;font-size:1rem;font-family:inherit}
.fld input:focus,.fld textarea:focus,.fld select:focus{outline:none;border-color:var(--purple)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.grid2{grid-template-columns:1fr}}
form.lead-form .btn{width:100%;margin-top:6px}
.form-note{font-size:.82rem;color:var(--grey);text-align:center;margin-top:14px}

footer{background:var(--ink);color:#cdbfda;padding:52px 0 30px;font-size:.9rem}
.foot-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:28px}
footer .brand{color:#fff}
footer a{color:#cdbfda}footer a:hover{color:#fff}
.disclaimer{border-top:1px solid #ffffff1a;padding-top:22px;color:#9c8fab;font-size:.8rem;line-height:1.6}

/* ---------- auth screens ---------- */
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,var(--purple-dark),var(--purple) 70%,var(--purple-mid))}
.auth-card{background:#fff;width:100%;max-width:430px;border-radius:18px;padding:38px 34px;box-shadow:0 26px 70px #00000040}
.auth-card .brand{justify-content:center;margin-bottom:6px;font-size:1.35rem}
.auth-sub{text-align:center;color:var(--grey);font-size:.95rem;margin-bottom:26px}
.auth-card .fld{margin-bottom:16px}
.auth-card .btn{width:100%;margin-top:6px}
.auth-alt{text-align:center;margin-top:18px;font-size:.9rem;color:var(--grey)}
.auth-alt a{color:var(--purple);font-weight:600;cursor:pointer}
.lock-ic{width:54px;height:54px;border-radius:14px;background:var(--purple-light);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-size:1.6rem}
.err{background:#fdecec;color:#b3261e;border-radius:9px;padding:10px 13px;font-size:.86rem;margin-bottom:16px}
.code-in{letter-spacing:.5em;text-align:center;font-size:1.3rem;font-weight:700}
