
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg-deep);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--primary);text-decoration:none}

nav{padding:16px 5%;background:rgba(3,3,10,0.96);border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;align-items:center;backdrop-filter:blur(12px)}
.nav-logo{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:24px;color:#fff;display:inline-flex;align-items:baseline}
.logo-dot{width:7px;height:7px;border-radius:50%;background:var(--primary);margin-left:2px;display:inline-block;box-shadow:0 0 12px rgba(99,102,241,.5)}
.nav-back{font-size:14px;color:var(--text-muted);display:inline-flex;align-items:center;gap:6px}
.nav-back:hover{color:#fff}

main{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px 80px}
.signup-card{width:100%;max-width:440px}

.eyebrow{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--primary);margin-bottom:16px;display:block}
h1{color:#fff;margin-bottom:24px}
h1.display{font-family:"Fraunces","Georgia",serif;font-size:clamp(32px,5vw,48px);font-weight:340;line-height:.96;letter-spacing:-.025em;font-variation-settings:"opsz" 144, "SOFT" 30}
h1.display em{font-style:italic;font-variation-settings:"opsz" 144, "SOFT" 80;color:#a5b4fc;font-weight:300}
h1 em{font-style:italic;color:var(--primary)}
.lede{color:var(--text-muted);font-size:15px;line-height:1.6;margin-bottom:32px}

.form-box{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:16px;padding:28px}
.form-label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}
.form-input{width:100%;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.12);border-radius:10px;padding:14px 16px;font-size:16px;color:#fff;outline:none;transition:border-color .15s,background .15s;font-family:inherit}
.form-input:focus{border-color:var(--primary);background:rgba(99,102,241,0.06)}
.form-input::placeholder{color:rgba(255,255,255,0.3)}
.form-input.error{border-color:#ef4444}

.btn-submit{width:100%;padding:15px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;font-family:inherit;transition:opacity .15s,transform .15s;margin-top:14px;display:flex;align-items:center;justify-content:center;gap:8px}
.btn-submit:hover{opacity:.9;transform:translateY(-1px)}
.btn-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}

.consent{font-size:12px;color:var(--text-muted);margin-top:14px;line-height:1.6;text-align:center}
.consent a{color:var(--primary)}

.error-msg{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:11px 14px;font-size:13px;color:#f87171;margin-top:12px;display:none}

.success-state{display:none;text-align:center;padding:20px 0}
.success-icon{font-size:48px;margin-bottom:16px}
.success-title{font-size:22px;font-weight:800;color:#fff;margin-bottom:10px}
.success-sub{color:var(--text-muted);font-size:15px;line-height:1.6}
.success-email{color:var(--primary);font-weight:600}

.features{display:flex;flex-direction:column;gap:10px;margin-top:28px}
.feature{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-muted)}
.feature-dot{width:6px;height:6px;border-radius:50%;background:var(--primary);flex-shrink:0}


.check-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:13px;color:var(--text-muted);line-height:1.5;margin-top:14px}
.check-label input[type=checkbox]{width:18px;height:18px;flex-shrink:0;margin-top:1px;accent-color:var(--primary);cursor:pointer}
.check-label a{color:var(--primary)}
.check-label input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}

.hp{position:absolute;left:-9999px;opacity:0;pointer-events:none}

/* Plan toggle */
.plan-toggle{display:flex;background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:12px;padding:4px;gap:4px;margin-bottom:28px}
.plan-btn{flex:1;padding:9px 16px;border:none;border-radius:9px;background:transparent;color:var(--text-muted);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}
.plan-btn.active{background:var(--primary);color:#fff;box-shadow:0 2px 8px rgba(99,102,241,.35)}
.plan-btn-paid .plan-price-tag{font-size:12px;opacity:.8;margin-left:4px}
.plan-btn.active .plan-price-tag{opacity:.9}
