
:root{--accent:#1E40AF;--accent2:#2563EB}
.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:1rem;font-weight:600;color:#fff;background:linear-gradient(90deg,var(--accent2),var(--accent));box-shadow:0 10px 20px rgba(37,99,235,.18);transition:box-shadow .2s,transform .2s,opacity .2s}
.btn-primary:hover{box-shadow:0 14px 28px rgba(37,99,235,.25);transform:translateY(-1px)}
.btn-glass{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:1rem;font-weight:600;color:#0f172a;border:1px solid rgba(148,163,184,.6);background:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:background .2s,transform .2s}
.btn-glass:hover{background:#fff;transform:translateY(-1px)}
.card-glass{border:1px solid rgba(148,163,184,.6);background:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:1rem;box-shadow:0 10px 25px rgba(2,8,23,.04)}
.input{border:1px solid rgba(148,163,184,.6);background:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:.75rem;padding:.75rem 1rem}
.dot{width:.5rem;height:.5rem;border-radius:9999px;background:var(--accent2);display:inline-block}
.step{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:rgba(37,99,235,.12);color:var(--accent2);border-radius:.75rem;font-weight:600;font-size:.9rem}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s,transform .6s}
.reveal-show{opacity:1;transform:translateY(0)}
.sweep{position:absolute;inset:-2rem auto -2rem -8rem;width:6rem;height:130%;background:rgba(255,255,255,.6);filter:blur(18px);animation:sweep 4.5s ease-in-out infinite}
@keyframes sweep{0%{transform:translateX(0)}100%{transform:translateX(56rem)}}
