:root{
  --purple-900: #2b0b4a; /* deep */
  --purple-700: #4b1f7a;
  --purple-500: #7a3fb0;
  --purple-300: #caa3ff;
  --charcoal:#1f2933;
  --white:#ffffff;
  --muted:#9aa0a6;
  --accent:var(--purple-300);
  --accent-2:#ffd1f0;
  --glass: rgba(255,255,255,0.7);
  --radius:14px;
  --container:1200px;
  font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
}
*{box-sizing:border-box}
.bg-gradient { background: linear-gradient(180deg, #f7fbff 0%, #eef6ff 40%, #f3f9ff 100%); }
body{margin:0;color:var(--charcoal);background:linear-gradient(180deg,#f4f3ff 0%, #efe9ff 100%);font-family:Inter, sans-serif;line-height:1.5}

/* Page wrapper background */
main{background: linear-gradient(180deg, rgba(58,164,221,0.02), rgba(202,164,58,0.01));}

.site-wrap{background: linear-gradient(120deg,#f5f9ff 0%, #ffffff 40%);min-height:100vh}
.container{max-width:var(--container);margin:0 auto;padding:40px 20px}
.site-header{background:rgba(255,255,255,0.9);border-bottom:1px solid rgba(118,91,150,0.1);position:sticky;top:0;z-index:50;backdrop-filter:blur(8px)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.brand{font-weight:800;color:var(--purple-900);text-decoration:none;font-size:1.15rem;letter-spacing:0.2px}
.brand small{display:block;font-weight:500;font-size:0.85rem;color:var(--muted);margin-top:4px}
.nav{display:flex;align-items:center;gap:34px}
.nav a{color:var(--charcoal);text-decoration:none;font-weight:600;line-height:1.4}
.btn{display:inline-block;padding:10px 16px;border-radius:10px;text-decoration:none;transition:all .18s ease}
.btn-primary{background:linear-gradient(90deg,var(--purple-700),var(--purple-500));color:var(--white);box-shadow:0 10px 30px rgba(90,29,110,0.12);border:1px solid rgba(90,29,110,0.14)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(10,40,80,0.18)}
.btn-outline{border:1px solid rgba(124,94,163,0.22);color:var(--purple-900);background:rgba(255,255,255,0.16)}
.btn-ghost{color:var(--navy)}
.btn-sm{padding:8px 12px;font-size:0.92rem;border-radius:8px}

.hero{background:linear-gradient(180deg, rgba(177,154,214,0.08), rgba(164,140,217,0.04));padding:34px 0 26px}
.hero-grid{display:grid;grid-template-columns:1.02fr 1.18fr;gap:40px;align-items:center}
.hero-content{padding:10px 0}
.hero-content h1{font-size:3.5rem;line-height:0.98;letter-spacing:-0.055em;color:var(--purple-900);margin:0 0 18px;font-weight:900}
.lead{color:#5d5a67;margin-bottom:24px;font-size:1.08rem;line-height:1.55;max-width:600px}
.cta-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:8px}
.cta-row a{margin-right:0;padding:18px 28px;border-radius:18px;font-weight:700;font-size:1.1rem;min-width:220px;text-align:center}
.hero-media{position:relative;width:100%;aspect-ratio:1.42 / 1;border-radius:28px;overflow:hidden;background:linear-gradient(135deg,#f6f1ff,#f1f7ff);box-shadow:0 24px 60px rgba(10,40,80,0.10);border:1px solid rgba(91,47,140,0.10)}
.hero-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:28px}
.hero-kicker{display:none}
.hero-sub{color:var(--muted);margin-top:12px}
.trust-row{display:flex;gap:12px;align-items:center;margin-top:26px;flex-wrap:wrap}
.trust-item{background:linear-gradient(90deg,rgba(255,255,255,0.25),rgba(255,255,255,0.08));padding:14px 18px;border-radius:18px;color:var(--purple-900);font-weight:700;border:1px solid rgba(122,63,176,0.16);box-shadow:0 8px 18px rgba(82,55,120,0.04)}

@media(max-width:1000px){
  .hero-grid{grid-template-columns:1fr}
  .hero-content h1{font-size:3rem}
}
@media(max-width:900px){
  .sidebar{display:none;height:auto;position:static}
  .header-inner{flex-direction:column;align-items:flex-start}
  .brand{margin-bottom:8px}
  .nav{flex-wrap:wrap;gap:16px 24px}
}

.cards-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:24px}
.card{background:linear-gradient(180deg,#ffffff,#fbf6ff);padding:20px;border-radius:14px;box-shadow:0 18px 40px rgba(16,24,40,0.06);transition:transform .18s ease,box-shadow .18s ease;overflow:hidden}
.card:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(16,24,40,0.09)}
.card .icon{font-size:28px;margin-bottom:10px}
.card h3{margin:6px 0 8px;color:var(--navy)}
.card p{color:var(--muted);margin-bottom:12px}

@media (max-width: 980px){
  .cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width: 560px){
  .cards-grid{grid-template-columns:1fr;}
}

.about{padding-top:56px;padding-bottom:30px}
.about-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:52px}
.about-copy{padding-left:6px}
.section-kicker{display:inline-block;margin-bottom:14px;color:var(--purple-700);font-size:0.86rem;font-weight:800;letter-spacing:0.18em;text-transform:uppercase}
.section-kicker--sm{letter-spacing:0.12em}
.about-copy h2,.section-head h2{margin:0 0 18px;font-size:3rem;line-height:1.08;color:var(--purple-900);font-weight:900}
.about-copy h2 span,.section-head h2 span{color:var(--purple-700)}
.about-copy p{margin:0 0 18px;color:var(--charcoal);font-size:1.05rem;line-height:1.7;max-width:620px}
.about-visual-wrap{position:relative;display:flex;justify-content:center;align-items:center;min-height:340px}
.about-dotted-pattern{position:absolute;right:18px;top:18px;bottom:55px;left:12px;border-radius:18px;background-image:radial-gradient(#caa3ff 1.5px, transparent 1.5px);background-size:12px 12px;opacity:0.45}
.about-visual-card{position:relative;display:flex;align-items:center;justify-content:center;width:min(100%, 570px);min-height:310px;background:linear-gradient(135deg, rgba(255,255,255,0.72), rgba(241,235,255,0.92));border:1px solid rgba(140,108,192,0.15);border-radius:32px;box-shadow:0 20px 36px rgba(58, 40, 88, 0.07);overflow:hidden}
.about-visual-card img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;display:block;max-height:320px;border-radius:30px}
.goal-badge{position:absolute;left:30px;bottom:18px;z-index:2;width:220px;padding:18px 18px 16px;border-radius:22px;background:rgba(255,255,255,0.8);backdrop-filter:blur(3px);box-shadow:0 12px 30px rgba(33, 25, 44, 0.08);border:1px solid rgba(122,63,176,0.08)}
.goal-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;margin:0 auto 10px;border-radius:50%;background:linear-gradient(135deg,#f3ebff,#eaf2ff);color:var(--purple-700);font-size:1.45rem;font-weight:800}
.goal-title{font-size:1.05rem;font-weight:800;text-align:center;color:var(--purple-900);margin-bottom:8px}
.goal-text{font-size:0.92rem;line-height:1.55;text-align:center;color:var(--charcoal);opacity:0.8}

.feature-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:30px}
.feature-item{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:136px;padding:18px 16px;border-radius:18px;background:linear-gradient(180deg,#fff,#f5f1ff);border:1px solid rgba(122,63,176,0.12);box-shadow:0 12px 28px rgba(17,24,39,0.04)}
.feature-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:10px;border-radius:50%;background:linear-gradient(135deg, rgba(135,92,196,0.12), rgba(151,179,255,0.12));color:var(--purple-700);font-size:1.7rem;font-weight:700}
.feature-text{font-size:1.02rem;line-height:1.35;text-align:center;color:var(--purple-900);font-weight:700}

.section-head{text-align:center;margin:48px auto 26px}
.section-head h2{font-size:3rem;line-height:1.12;letter-spacing:-0.04em}

.choose-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px;max-width:1100px;margin:0 auto}
.choose-card{background:linear-gradient(180deg,#ffffff,#f8f2ff);padding:22px 18px 20px;border-radius:22px;border:1px solid rgba(122,63,176,0.12);box-shadow:0 14px 28px rgba(17,24,39,0.04);text-align:center}
.choose-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:linear-gradient(135deg, rgba(133,92,196,0.12), rgba(120,161,245,0.08));color:var(--purple-700);font-size:1.8rem;font-weight:800}
.choose-card h3{margin:0 0 10px;color:var(--purple-900);font-size:1.35rem;line-height:1.3}
.choose-card p{margin:0;color:var(--charcoal);font-size:0.98rem;line-height:1.6;opacity:0.8}

@media (max-width: 980px){
  .cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .about-grid{grid-template-columns:1fr;gap:24px}
  .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .choose-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width: 560px){
  .cards-grid{grid-template-columns:1fr;}
  .feature-grid{grid-template-columns:1fr;}
  .choose-grid{grid-template-columns:1fr;}
  .about-copy h2,.section-head h2{font-size:2.25rem}
  .goal-badge{position:relative;left:auto;bottom:auto;margin:14px auto 0;width:88%;}
}

.how .steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.step{background:linear-gradient(180deg,#fff,#fbfbff);padding:18px;border-radius:12px;box-shadow:0 12px 30px rgba(10,40,80,0.04);font-weight:700;color:var(--navy)}

.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.testimonial{background:linear-gradient(180deg,#fff,#fbfbff);padding:18px;border-radius:12px;box-shadow:0 10px 30px rgba(10,40,80,0.04)}
.testimonial cite{display:block;margin-top:10px;font-size:0.85rem;color:var(--muted)}

.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;padding:28px 0}
.site-footer{background:linear-gradient(90deg,var(--navy),#062130);color:var(--white);margin-top:48px}
.site-footer a{color:rgba(255,255,255,0.95);text-decoration:none}
.muted{color:var(--muted)}
.copyright{padding:12px 0;color:rgba(255,255,255,0.85)}

.hero-form{background:var(--white);padding:18px;border-radius:12px;box-shadow:0 8px 30px rgba(16,24,40,0.06)}
/* Dashboard & Forms */
.auth-wrapper{max-width:980px;margin:40px auto;padding:20px}
.auth-card{background:var(--white);padding:22px;border-radius:12px;box-shadow:0 8px 30px rgba(16,24,40,0.06)}
.form-row{display:flex;gap:12px}
.form-field{display:flex;flex-direction:column;margin-bottom:12px}
.form-field label{font-size:0.9rem;margin-bottom:6px}
.form-field input,.form-field textarea,select{padding:10px;border-radius:8px;border:1px solid #e6e9ef}

.dashboard{display:flex;gap:18px}
.sidebar{width:240px;background:linear-gradient(180deg,#ffffff,#fbfdff);padding:18px;border-radius:12px;height:calc(100vh - 120px);position:sticky;top:64px}
.sidebar a{display:block;padding:10px;border-radius:8px;color:var(--navy);text-decoration:none;margin-bottom:6px}
.dash-main{flex:1}
.cards-row{display:flex;gap:12px;margin-bottom:18px}
.dash-card{background:var(--white);padding:16px;border-radius:12px;flex:1}
.table{background:var(--white);border-radius:12px;padding:12px}
.status-badge{padding:6px 8px;border-radius:999px;font-weight:600}
.status-new{background:#fff4e6;color:#8a4b00}
.status-progress{background:#e6f2ff;color:#084b77}
.status-complete{background:#e6ffef;color:#055b28}

@media(max-width:1000px){
  .hero-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .sidebar{display:none;height:auto;position:static}
  .header-inner{flex-direction:column;align-items:flex-start}
  .brand{margin-bottom:8px}
}

/* small utilities */
.muted-sm{color:var(--muted);font-size:0.95rem}
.trust-row{display:flex;gap:12px;align-items:center;margin-top:18px}
.trust-item{background:linear-gradient(90deg,rgba(122,63,176,0.06),rgba(202,163,255,0.04));padding:8px 12px;border-radius:999px;color:var(--purple-900);font-weight:700;border:1px solid rgba(122,63,176,0.06)}

/* Card media */
.card-media{height:160px;border-radius:14px;overflow:hidden;margin-bottom:14px;background:linear-gradient(90deg,#eef6ff,#fff8e6);border:1px solid rgba(122,63,176,0.08)}
.card-media img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1);transition:transform .6s ease;background:#eef}
.card:hover .card-media img{transform:scale(1.06)}

/* Hero decorative */
.hero-media::after{content:'';position:absolute;left:-20px;top:-20px;width:220px;height:220px;border-radius:50%;background:linear-gradient(135deg, rgba(58,164,221,0.14), rgba(202,164,58,0.09));filter:blur(30px);z-index:0}
.hero-media .hero-photo{position:relative;z-index:1}

/* Testimonials avatars */
.testimonial{display:flex;gap:12px;align-items:flex-start}
.testimonial .avatar{width:56px;height:56px;border-radius:50%;overflow:hidden;flex:0 0 56px}
.testimonial .avatar img{width:100%;height:100%;object-fit:cover}
.testimonial .quote{flex:1}

.site-footer{background:linear-gradient(90deg,var(--purple-900),#2b0b4a);color:var(--white);margin-top:48px}
.site-footer a{color:rgba(255,255,255,0.95);text-decoration:none}


