/* HERO */
.hero{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--primary) 0%,var(--primary-dark) 65%);color:#fff;padding:52px 0 64px;}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;filter:blur(2px);opacity:.35;}
.hero::before{width:260px;height:260px;background:var(--accent);top:-80px;right:-60px;}
.hero::after{width:200px;height:200px;background:var(--money);bottom:-70px;left:-60px;opacity:.25;}
.hero-grid{position:relative;z-index:2;display:flex;flex-direction:column;gap:32px;align-items:center;text-align:center;}
.eyebrow{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);padding:7px 14px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.2px;margin-bottom:18px;}
.eyebrow .pulse{width:8px;height:8px;border-radius:50%;background:var(--money);box-shadow:0 0 0 0 rgba(23,201,148,.6);animation:pulse 1.8s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(23,201,148,.55);}70%{box-shadow:0 0 0 8px rgba(23,201,148,0);}100%{box-shadow:0 0 0 0 rgba(23,201,148,0);}}
.hero h1{font-size:clamp(32px,7vw,52px);font-weight:800;line-height:1.08;margin:0 0 16px;letter-spacing:-.5px;}
.hero h1 .accent-word{color:var(--money);}
.hero p.lead{font-size:17px;color:rgba(255,255,255,.88);max-width:520px;margin:0 auto 26px;}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;}
.hero-visual{width:100%;max-width:340px;position:relative;}

/* PHONE */
.phone{position:relative;background:#0F1130;border-radius:34px;padding:12px;box-shadow:0 30px 60px rgba(0,0,0,.35);border:2px solid rgba(255,255,255,.08);}
.phone-screen{background:linear-gradient(180deg,#fff,#F2EFFF);border-radius:24px;padding:18px 16px 22px;min-height:280px;position:relative;overflow:hidden;}
.phone-app-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.phone-app-icon{width:34px;height:34px;border-radius:10px;background:var(--primary);display:flex;align-items:center;justify-content:center;color:#fff;}
.phone-app-name{font-size:13px;font-weight:700;color:var(--text);}
.phone-app-sub{font-size:11px;color:var(--text-soft);}
.phone-card{background:#fff;border-radius:16px;padding:12px 14px;box-shadow:0 6px 16px rgba(20,22,43,.07);margin-bottom:10px;}
.phone-card .stars{color:#FFB800;font-size:13px;letter-spacing:2px;margin-bottom:4px;}
.phone-card .review-line{height:7px;border-radius:4px;background:#E7E4F7;margin-top:6px;}
.phone-card .review-line.short{width:60%;}
.coin{position:absolute;width:46px;height:46px;border-radius:50%;background:linear-gradient(145deg,#FFD866,#FFB800);display:flex;align-items:center;justify-content:center;font-weight:800;color:#7a5200;font-size:16px;box-shadow:0 10px 20px rgba(255,184,0,.4);animation:float 3.2s ease-in-out infinite;}
.coin.c1{top:-14px;right:-10px;animation-delay:0s;}
.coin.c2{bottom:20px;left:-16px;width:34px;height:34px;font-size:12px;animation-delay:.6s;}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
.badge-money{position:absolute;top:16px;right:16px;background:var(--money);color:#fff;font-size:11px;font-weight:800;padding:5px 10px;border-radius:999px;}

/* SECTIONS */
.eyebrow-sm{display:inline-block;font-size:13px;font-weight:700;color:var(--primary);background:var(--primary-light);padding:6px 14px;border-radius:999px;margin-bottom:12px;}
h2.section-title{font-size:clamp(24px,5vw,34px);font-weight:800;margin:0 0 10px;letter-spacing:-.3px;}
.section-sub{color:var(--text-soft);font-size:16px;max-width:520px;margin:0 0 34px;}
.section-head{text-align:center;}
.section-head .section-sub{margin-left:auto;margin-right:auto;}

/* STEPS */
.steps{display:grid;grid-template-columns:1fr;gap:16px;}
.step-card{background:var(--card);border-radius:var(--radius);padding:26px 20px 22px;box-shadow:var(--shadow);position:relative;border:1px solid rgba(20,22,43,.05);display:flex;flex-direction:column;align-items:center;text-align:center;}
.step-num{position:absolute;top:-18px;left:50%;transform:translateX(-50%);width:42px;height:42px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;font-size:19px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(255,122,69,.4);}
.step-icon{width:52px;height:52px;border-radius:14px;flex:none;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;margin:10px 0 14px;}
.step-card h3{font-size:17px;margin:0 0 8px;font-weight:700;}
.step-card p{width:100%;margin:0;color:var(--text-soft);font-size:14.5px;}

/* BENEFITS */
.benefits{display:grid;grid-template-columns:1fr;gap:16px;}
.benefit-card{display:flex;gap:16px;align-items:flex-start;background:var(--card);border-radius:var(--radius-sm);padding:20px;box-shadow:var(--shadow);border:1px solid rgba(20,22,43,.05);}
.benefit-icon{flex:none;width:46px;height:46px;border-radius:12px;background:var(--money);color:#fff;display:flex;align-items:center;justify-content:center;}
.benefit-icon-primary{background:var(--primary);}
.benefit-icon-accent{background:var(--accent);}
.benefit-card h3{margin:0 0 4px;font-size:15.5px;font-weight:700;}
.benefit-card p{margin:0;font-size:14px;color:var(--text-soft);}
.community-banner{margin-top:28px;background:linear-gradient(120deg,var(--primary-light),#fff);border:1px solid rgba(91,61,246,.15);border-radius:var(--radius);padding:22px 24px;display:flex;align-items:center;gap:14px;font-weight:700;font-size:15.5px;color:var(--primary-dark);}
.community-banner svg{flex:none;color:var(--primary);}
.benefits-section{background:#fff;}

/* FAQ */
.faq-list{display:flex;flex-direction:column;gap:12px;max-width:760px;margin:0 auto;}
.faq-item{background:var(--card);border-radius:var(--radius-sm);border:1px solid rgba(20,22,43,.07);overflow:hidden;}
.faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-family:inherit;font-size:15.5px;font-weight:700;color:var(--text);}
.faq-q .chev{transition:transform .2s ease;color:var(--primary);flex:none;}
.faq-item.open .faq-q .chev{transform:rotate(180deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq-a-inner{padding:0 20px 18px;color:var(--text-soft);font-size:14.5px;line-height:1.6;}
.faq-item.open .faq-a{max-height:260px;}

/* CTA */
.cta-banner{background:linear-gradient(135deg,var(--primary-dark),var(--primary) 60%,var(--accent) 130%);color:#fff;text-align:center;padding:56px 0;}
.cta-banner .kicker{font-size:15px;font-weight:600;opacity:.85;margin-bottom:6px;}
.cta-banner h2{font-size:clamp(22px,5vw,30px);font-weight:800;margin:0 0 8px;line-height:1.25;}
.cta-banner .strapline{font-size:17px;font-weight:600;margin:14px 0 26px;opacity:.95;}

/* SIGNUP */
.signup{background:var(--bg);}
.signup-card{max-width:480px;margin:0 auto;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:30px 24px;border:1px solid rgba(20,22,43,.06);}
.signup-card h2{font-size:22px;font-weight:800;margin:0 0 6px;text-align:center;}
.signup-card .signup-sub{text-align:center;color:var(--text-soft);font-size:14px;margin:0 0 22px;}
.signup-login{text-align:center;margin-top:20px;}
.signup-login p{margin:0;color:var(--text-soft);font-size:13.5px;}
.signup-login a{color:var(--primary);font-weight:700;}
.signup-login a:hover{text-decoration:none;}

/* FORM */
.terms{display:block;font-size:12.5px;color:var(--text-soft);margin:14px 0 18px;line-height:1.4;}
.terms input{vertical-align:middle;margin:0 5px 2px 0;}
.terms input.is-error{outline:2px solid #E85D28;outline-offset:1px;}
.terms a{color:var(--primary);font-weight:700;}
.form-field{margin-bottom:14px;}
.form-field label{display:block;font-size:13px;font-weight:700;margin-bottom:6px;color:var(--text);}
.form-field input,.form-field select{width:100%;padding:13px 14px;border-radius:12px;border:1.5px solid #E4E2F2;background:#FBFAFF;font-family:inherit;font-size:15px;color:var(--text);}
.form-field input::placeholder{color:#9A9CAF;}
.form-field input:focus,.form-field select:focus{outline:none;border-color:var(--primary);background:#fff;}
.form-field input.is-error{border-color:#E85D28;background:#FFF8F6;}
.form-field input.is-error:focus{border-color:#E85D28;}
.form-field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.form-status{display:none;margin:14px 0 16px;padding:11px 14px;border-radius:10px;font-size:13.5px;line-height:1.45;text-align:center;}
.form-status.is-visible{display:block;}
.form-status.is-success{background:#E8F9F3;border:1px solid #B8EBDD;color:#0B8A68;}
.form-status.is-error{background:#FFF0ED;border:1px solid #FFD0C7;color:#C4432C;}

@media (min-width:860px){
.hero{padding:80px 0 100px;}
.hero-grid{flex-direction:row;text-align:left;justify-content:space-between;gap:48px;}
.hero-copy{flex:1;max-width:560px;}
.hero p.lead{margin:0 0 30px;}
.hero-ctas{justify-content:flex-start;}
.hero-visual{flex:none;width:360px;}
.steps{grid-template-columns:repeat(3,1fr);}
.benefits{grid-template-columns:repeat(3,1fr);}
.benefit-card{flex-direction:column;}
.form-field-row{grid-template-columns:1fr 1fr;}
}