/* ── Reset & Base ──────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --purple:     #8B5CF6;
  --purple-d:   #6D28D9;
  --purple-l:   #A78BFA;
  --purple-xl:  #EDE9FE;
  --purple-glow:rgba(139,92,246,0.12);
  --dark:       #070711;
  --dark-card:  #0D0D1F;
  --white:      #FFFFFF;
  --bg:         #FAFAF9;
  --bg2:        #F3F0FC;
  --txt:        #0F0F1A;
  --txt-m:      #6B6B8A;
  --border:     #E8E5F4;
  --green:      #10B981;
  --amber:      #F59E0B;
  --red:        #EF4444;
  --gold:       #D4AF37;
  --shadow:     0 4px 20px rgba(139,92,246,.1);
  --shadow-lg:  0 20px 60px rgba(139,92,246,.18);
  --radius:     16px;
}
body { font-family:'Inter',sans-serif; background:var(--bg); color:var(--txt); line-height:1.6; overflow-x:hidden; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
img { max-width:100%; }

/* ── Shared ────────────────────────────────────────────────────────────────── */
.sec-inner  { max-width:1140px; margin:0 auto; padding:0 24px; }
.sec-badge  { display:inline-block; background:var(--purple-xl); color:var(--purple-d);
              font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em;
              padding:4px 14px; border-radius:100px; margin-bottom:18px; }
.sec-title  { font-size:clamp(28px,4vw,42px); font-weight:900; line-height:1.15; letter-spacing:-1px;
              color:var(--txt); text-align:center; margin-bottom:52px; }
.btn-primary{ display:inline-flex; align-items:center; background:var(--purple); color:#fff;
              font-size:15px; font-weight:700; padding:13px 28px; border-radius:12px;
              transition:opacity .2s,transform .2s; }
.btn-primary:hover { opacity:.9; transform:translateY(-1px); }

/* ── NAV ────────────────────────────────────────────────────────────────────── */
.nav { position:sticky; top:0; z-index:100; background:rgba(250,250,249,.94);
       backdrop-filter:blur(16px); border-bottom:1px solid var(--border); }
.nav-inner { max-width:1140px; margin:0 auto; padding:0 24px; height:64px;
             display:flex; align-items:center; gap:28px; }
.nav-logo  { display:flex; align-items:center; gap:10px; font-weight:800; font-size:18px;
             color:var(--purple-d); flex-shrink:0; }
.nav-logo-img { width:32px; height:32px; object-fit:contain; }
.nav-links { display:flex; gap:4px; flex:1; }
.nav-links a { font-size:14px; font-weight:500; color:var(--txt-m); padding:6px 12px;
               border-radius:8px; transition:color .2s,background .2s; }
.nav-links a:hover { color:var(--txt); background:var(--bg2); }
.nav-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.nav-login { font-size:14px; font-weight:500; color:var(--txt-m); padding:7px 14px;
             border-radius:8px; transition:color .2s; }
.nav-login:hover { color:var(--txt); }
.nav-cta { font-size:13px; font-weight:700; background:var(--purple); color:#fff;
           padding:9px 18px; border-radius:10px; transition:opacity .2s; white-space:nowrap; }
.nav-cta:hover { opacity:.88; }
.nav-hamburger { display:none; background:none; border:none; font-size:22px; cursor:pointer;
                 padding:4px; color:var(--txt); margin-left:auto; line-height:1; }
.nav-mobile { display:none; flex-direction:column; padding:10px 24px 16px; gap:2px;
              border-top:1px solid var(--border); }
.nav-mobile.open { display:flex; }
.nav-mobile a { font-size:15px; font-weight:500; color:var(--txt-m); padding:10px 12px; border-radius:8px; }
.nav-mobile a:hover { color:var(--txt); background:var(--bg2); }
.nav-cta-mobile { background:var(--purple) !important; color:#fff !important; text-align:center;
                  margin-top:6px; border-radius:10px !important; font-weight:700 !important; }
@media(max-width:860px){ .nav-links,.nav-actions { display:none; } .nav-hamburger { display:block; } }

/* ── HERO ────────────────────────────────────────────────────────────────────── */
.hero { padding:80px 24px 72px;
        background:linear-gradient(160deg,#F0EAFF 0%,#FAFAF9 55%); }
.hero-inner { max-width:1140px; margin:0 auto; display:grid;
              grid-template-columns:1fr 380px; gap:64px; align-items:center; }
.hero-badge { display:inline-flex; align-items:center; gap:6px; background:#fff;
              border:1px solid var(--border); color:var(--purple-d);
              font-size:12px; font-weight:600; padding:5px 14px; border-radius:100px;
              margin-bottom:22px; box-shadow:0 2px 8px var(--purple-glow); }
.hero-title { font-size:clamp(34px,5.5vw,60px); font-weight:900; line-height:1.1;
              letter-spacing:-2px; margin-bottom:20px; }
.hero-grad  { background:linear-gradient(135deg,var(--purple-d),var(--purple-l));
              -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.hero-sub   { font-size:17px; color:var(--txt-m); line-height:1.7;
              margin-bottom:36px; max-width:500px; }
.hero-btns  { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:32px; }

.btn-store  { display:flex; align-items:center; gap:10px; padding:10px 18px; border-radius:12px;
              font-size:13px; border:1.5px solid transparent; transition:transform .2s,box-shadow .2s; }
.btn-store:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.13); }
.btn-store-sub  { font-size:10px; font-weight:500; opacity:.75; line-height:1.2; }
.btn-store-main { font-size:15px; font-weight:700; line-height:1.2; }
.btn-apple  { background:var(--dark); color:#fff; }
.btn-google { background:#fff; color:var(--txt); border-color:var(--border); }
.btn-lg     { padding:13px 22px; }
.btn-web    { display:inline-flex; align-items:center; font-size:14px; font-weight:600;
              color:var(--purple); padding:10px 18px; border-radius:12px;
              border:1.5px solid var(--purple); transition:background .2s,color .2s; }
.btn-web:hover { background:var(--purple); color:#fff; }

.hero-social { display:flex; align-items:center; gap:12px; }
.hero-avatars{ display:flex; }
.h-avatar   { width:36px; height:36px; border-radius:50%; color:#fff; font-family:'Amiri',serif;
              font-size:16px; font-weight:700; display:flex; align-items:center; justify-content:center;
              border:2.5px solid var(--bg); margin-left:-8px; }
.h-avatar:first-child { margin-left:0; }
.hero-social-txt { font-size:13px; color:var(--txt-m); }
.hero-social-txt strong { color:var(--txt); }

/* Phone mockup */
.hero-phone { display:flex; flex-direction:column; align-items:center; position:relative; }
.phone-mock { width:240px; background:#0D0D1F; border-radius:40px; padding:12px;
              box-shadow:0 40px 80px rgba(139,92,246,.25),0 0 0 1px rgba(139,92,246,.15);
              transform:rotateY(-5deg) rotateX(3deg); transition:transform .4s; }
.phone-mock:hover { transform:rotateY(0) rotateX(0); }
.phone-notch { width:72px; height:22px; background:#070711; border-radius:11px; margin:0 auto 10px; }
.phone-screen { background:#070711; border-radius:28px; padding:18px 14px 20px; min-height:400px; }
.phone-dark .phone-screen { background:#0F0F1A; }
.phone-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.phone-logo   { font-size:13px; font-weight:800; color:var(--purple-l); }
.phone-streak { font-size:12px; font-weight:700; color:var(--amber);
                background:rgba(245,158,11,.12); padding:3px 8px; border-radius:8px; }
.phone-greeting { font-family:'Amiri',serif; font-size:14px; color:rgba(255,255,255,.5); margin-bottom:2px; }
.phone-name     { font-size:13px; font-weight:700; color:#fff; margin-bottom:14px; }
.phone-ring-wrap{ position:relative; width:88px; height:88px; margin:0 auto 6px; }
.phone-ring-lbl { position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
                  font-size:16px; font-weight:800; color:var(--purple-l); }
.phone-ring-sub { text-align:center; font-size:10px; font-weight:600;
                  color:rgba(255,255,255,.4); margin-bottom:10px; }
.phone-juz-grid { display:grid; grid-template-columns:repeat(10,1fr); gap:2px; margin-bottom:14px; }
.pj { aspect-ratio:1; border-radius:2px; }
.pj.g { background:var(--purple); }
.pj.y { background:var(--purple-l); opacity:.6; }
.pj.e { background:rgba(255,255,255,.08); }
.phone-stats-row{ display:flex; align-items:center; justify-content:space-around; }
.phone-stat-div { width:1px; height:28px; background:rgba(255,255,255,.1); }
.ps-val { font-size:17px; font-weight:800; color:#fff; text-align:center; }
.ps-lbl { font-size:9px; color:rgba(255,255,255,.4); text-align:center; margin-top:1px; }
.phone-float-badge { margin-top:-8px; background:#fff; border-radius:100px; font-size:12px;
                     font-weight:700; color:var(--purple-d); padding:7px 16px;
                     box-shadow:0 4px 16px rgba(139,92,246,.18); }
@media(max-width:940px){
  .hero-inner { grid-template-columns:1fr; text-align:center; gap:48px; }
  .hero-sub   { max-width:100%; margin:0 0 36px; }
  .hero-btns,.hero-social { justify-content:center; }
  .hero-phone { order:-1; }
  .phone-mock { transform:none; }
}
@media(max-width:480px){ .hero { padding:48px 20px 48px; } .phone-mock { width:210px; } }

/* ── PROOF BAR ───────────────────────────────────────────────────────────────── */
.proof-bar   { background:var(--purple-d); padding:14px 24px; }
.proof-inner { max-width:1140px; margin:0 auto; display:flex; flex-wrap:wrap;
               justify-content:center; gap:8px 24px; }
.proof-item  { font-size:13px; font-weight:500; color:rgba(255,255,255,.8); }
.proof-item strong { color:#fff; }
.proof-sep   { color:rgba(255,255,255,.3); font-size:13px; }
@media(max-width:600px){ .proof-sep { display:none; } .proof-inner { gap:8px 16px; } }

/* ── FEATURES ────────────────────────────────────────────────────────────────── */
.features { padding:96px 0; background:var(--white); }
.feat-grid  { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.feat-card  { background:var(--bg); border:1px solid var(--border); border-radius:var(--radius);
              padding:28px; transition:transform .2s,box-shadow .2s;
              display:flex; flex-direction:column; gap:0; }
.feat-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.feat-large { grid-column:span 2; }
.feat-top   { margin-bottom:20px; }
.feat-icon  { font-size:28px; margin-bottom:14px; display:block; }
.feat-card h3 { font-size:17px; font-weight:700; color:var(--txt); margin-bottom:8px; }
.feat-card p  { font-size:14px; color:var(--txt-m); line-height:1.65; }
.feat-visual  { background:var(--white); border:1px solid var(--border); border-radius:12px; padding:16px; }
.fv-label   { font-size:11px; font-weight:700; text-transform:uppercase;
              letter-spacing:.08em; color:var(--txt-m); margin-bottom:12px; }
.fv-item    { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--txt); }
.fv-dot     { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.fv-dot.red   { background:var(--red); }
.fv-dot.amber { background:var(--amber); }
.fv-dot.green { background:var(--green); }
.fv-tag     { margin-left:auto; font-size:11px; font-weight:700; padding:2px 8px; border-radius:6px; }
.fv-tag.red   { background:#FEE2E2; color:#DC2626; }
.fv-tag.amber { background:#FEF3C7; color:#D97706; }
.fv-tag.green { background:#D1FAE5; color:#065F46; }
.fv-student { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--txt);
              padding:7px 0; border-bottom:1px solid var(--border); }
.fv-student:last-child { border-bottom:none; }
.fv-rank    { width:20px; height:20px; border-radius:50%; background:var(--purple);
              color:#fff; font-size:10px; font-weight:800;
              display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.fv-juz     { margin-left:auto; font-size:12px; color:var(--txt-m); }
@media(max-width:768px){ .feat-grid { grid-template-columns:1fr; } .feat-large { grid-column:span 1; } }

/* ── WHY ─────────────────────────────────────────────────────────────────────── */
.why      { padding:96px 0; background:var(--bg); }
.why-grid { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.why-visual-col { display:flex; flex-direction:column; gap:0; }
.why-card   { background:var(--white); border:1px solid var(--border); border-radius:var(--radius);
              padding:22px 24px; box-shadow:var(--shadow); }
.wc-title   { font-size:12px; font-weight:700; text-transform:uppercase;
              letter-spacing:.08em; color:var(--txt-m); margin-bottom:14px; }
.wc-stat-row { display:flex; justify-content:space-around; margin-bottom:18px; }
.wcs-val    { font-size:22px; font-weight:800; color:var(--txt); text-align:center; }
.wcs-lbl    { font-size:11px; color:var(--txt-m); text-align:center; margin-top:2px; }
.wc-pbar-lbl { display:flex; justify-content:space-between; font-size:13px;
               color:var(--txt-m); margin-bottom:6px; }
.wc-pbar    { height:6px; background:var(--border); border-radius:3px; overflow:hidden; margin-bottom:14px; }
.wc-pbar-fill { height:100%; background:var(--purple); border-radius:3px; }
.wc-level   { display:flex; justify-content:space-between; align-items:center;
              font-size:13px; font-weight:600; color:var(--purple); }
.why-title  { text-align:left; font-size:clamp(28px,3.5vw,38px); margin-bottom:32px; }
.why-points { display:flex; flex-direction:column; gap:22px; margin-bottom:36px; }
.why-pt     { display:flex; gap:14px; align-items:flex-start; }
.why-pt-icon { font-size:24px; flex-shrink:0; margin-top:2px; }
.why-pt h4  { font-size:15px; font-weight:700; color:var(--txt); margin-bottom:4px; }
.why-pt p   { font-size:14px; color:var(--txt-m); line-height:1.6; }
@media(max-width:768px){
  .why-grid  { grid-template-columns:1fr; gap:40px; }
  .why-title { text-align:center; }
  .why-text  { text-align:center; }
  .why-pt    { text-align:left; }
  .why-text .btn-primary { display:block; text-align:center; }
}

/* ── HIGHLIGHT (dark section) ─────────────────────────────────────────────────── */
.highlight { padding:96px 0; background:var(--dark); overflow:hidden; }
.hl-grid   { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.hl-new-badge { display:inline-block; background:var(--purple-glow);
                border:1px solid rgba(139,92,246,.3);
                color:var(--purple-l); font-size:12px; font-weight:700;
                padding:4px 12px; border-radius:100px; margin-bottom:18px; }
.hl-text h2 { font-size:clamp(32px,4vw,48px); font-weight:900; line-height:1.15;
              letter-spacing:-1px; color:#fff; margin-bottom:16px; }
.hl-text p  { font-size:15px; color:rgba(255,255,255,.6); line-height:1.7; }
.hl-text .btn-primary { background:var(--purple); color:#fff; }
.hl-phone  { display:flex; justify-content:center; }
.hl-phone .phone-mock { transform:rotateY(5deg) rotateX(3deg); }
.hl-phone .phone-mock:hover { transform:none; }
@media(max-width:768px){
  .hl-grid  { grid-template-columns:1fr; gap:40px; text-align:center; }
  .hl-phone { order:-1; }
  .hl-phone .phone-mock { transform:none; }
}

/* ── TESTIMONIALS ─────────────────────────────────────────────────────────────── */
.testimonials { padding:96px 0; background:var(--white); overflow:hidden; }
.testimonials .sec-inner { margin-bottom:40px; }
.testi-marquee { overflow:hidden; }
.testi-track   { display:flex; gap:18px; animation:marquee 35s linear infinite; width:max-content; }
.testi-track:hover { animation-play-state:paused; }
@keyframes marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.testi-card { width:310px; flex-shrink:0; background:var(--bg); border:1px solid var(--border);
              border-radius:var(--radius); padding:24px; }
.testi-stars{ font-size:12px; margin-bottom:12px; }
.testi-card p { font-size:14px; color:var(--txt); line-height:1.65; margin-bottom:16px; }
.testi-author { display:flex; align-items:center; gap:10px; }
.t-av   { width:36px; height:36px; border-radius:50%; color:#fff; font-family:'Amiri',serif;
          font-size:17px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.t-name { font-size:13px; font-weight:700; color:var(--txt); }
.t-handle { font-size:12px; color:var(--txt-m); }

/* ── RATINGS ─────────────────────────────────────────────────────────────────── */
.ratings { padding:80px 24px; background:var(--dark); }
.ratings-inner { text-align:center; max-width:500px; margin:0 auto;
                 display:flex; flex-direction:column; align-items:center; gap:12px; }
.ratings-laurel   { font-size:32px; color:var(--purple-l); opacity:.7; }
.ratings-stars    { font-size:26px; }
.ratings-headline { font-size:30px; font-weight:800; color:#fff; letter-spacing:-.5px; }
.ratings-sub      { font-size:15px; color:rgba(255,255,255,.6); font-weight:500; }

/* ── PRICING ─────────────────────────────────────────────────────────────────── */
.pricing { padding:96px 0; background:var(--bg); }
.plans-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.plan-card  { background:var(--white); border:1px solid var(--border); border-radius:var(--radius);
              padding:28px; display:flex; flex-direction:column; position:relative; }
.plan-card--featured { border-color:var(--purple); box-shadow:0 0 0 2px var(--purple); }
.plan-badge-top { position:absolute; top:-12px; left:50%; transform:translateX(-50%);
                  background:var(--purple); color:#fff; font-size:11px; font-weight:700;
                  padding:4px 14px; border-radius:100px; white-space:nowrap; }
.plan-name  { font-size:15px; font-weight:700; color:var(--txt); margin-bottom:10px; }
.plan-price { font-size:36px; font-weight:900; color:var(--txt); letter-spacing:-1px; margin-bottom:4px; }
.plan-price span { font-size:15px; font-weight:500; color:var(--txt-m); }
.plan-price-note { font-size:12px; color:var(--txt-m); margin-bottom:12px; }
.plan-desc  { font-size:13px; color:var(--txt-m); line-height:1.5; margin-bottom:20px;
              padding-bottom:20px; border-bottom:1px solid var(--border); }
.plan-features { display:flex; flex-direction:column; gap:9px; margin-bottom:28px; flex:1; }
.plan-features li { font-size:13px; color:var(--txt); }
.plan-cta   { display:block; text-align:center; font-size:14px; font-weight:700;
              background:var(--purple); color:#fff; padding:12px; border-radius:10px; transition:opacity .2s; }
.plan-cta:hover { opacity:.88; }
.plan-cta-ghost { background:transparent; border:1.5px solid var(--purple); color:var(--purple); }
.plan-cta-ghost:hover { background:var(--purple); color:#fff; opacity:1; }
@media(max-width:768px){ .plans-grid { grid-template-columns:1fr; max-width:380px; margin:0 auto; } }

/* ── DOWNLOAD ────────────────────────────────────────────────────────────────── */
.download { padding:96px 24px; background:linear-gradient(135deg,var(--purple-d),var(--purple)); }
.dl-inner { text-align:center; max-width:600px; margin:0 auto; }
.dl-arabic { font-family:'Amiri',serif; font-size:22px; color:rgba(255,255,255,.45);
             margin-bottom:20px; direction:rtl; }
.dl-inner h2 { font-size:clamp(28px,4vw,44px); font-weight:900; letter-spacing:-1px;
               color:#fff; margin-bottom:16px; }
.dl-inner > p { font-size:16px; color:rgba(255,255,255,.7); margin-bottom:36px; line-height:1.65; }
.dl-btns { display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-bottom:20px; }
.dl-btns .btn-apple  { background:rgba(255,255,255,.15); border-color:rgba(255,255,255,.25); }
.dl-btns .btn-apple:hover { background:rgba(255,255,255,.25); }
.dl-btns .btn-google { background:rgba(255,255,255,.12); color:#fff; border-color:rgba(255,255,255,.2); }
.dl-btns .btn-google:hover { background:rgba(255,255,255,.2); }
.dl-note { font-size:13px; color:rgba(255,255,255,.55); }
.dl-note a { color:rgba(255,255,255,.85); font-weight:600; text-decoration:underline; }

/* ── FOOTER ──────────────────────────────────────────────────────────────────── */
.footer { background:var(--dark); color:rgba(255,255,255,.55); padding:64px 0 32px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; margin-bottom:48px; }
.footer-brand { font-size:20px; font-weight:800; color:#fff; margin-bottom:12px;
                display:flex; align-items:center; }
.footer-tagline { font-size:14px; line-height:1.65; margin-bottom:20px; }
.footer-stores  { display:flex; gap:10px; flex-wrap:wrap; }
.footer-store-btn { font-size:12px; font-weight:600; background:rgba(255,255,255,.08);
                    color:rgba(255,255,255,.8); padding:7px 14px; border-radius:8px;
                    border:1px solid rgba(255,255,255,.12); transition:background .2s; }
.footer-store-btn:hover { background:rgba(255,255,255,.18); color:#fff; }
.footer-col-hd  { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em;
                  color:rgba(255,255,255,.35); margin-bottom:16px; }
.footer-lnks li { margin-bottom:10px; }
.footer-lnks a  { font-size:14px; color:rgba(255,255,255,.55); transition:color .2s; }
.footer-lnks a:hover { color:#fff; }
.footer-bottom  { border-top:1px solid rgba(255,255,255,.08); padding-top:24px;
                  display:flex; justify-content:space-between; font-size:13px; }
@media(max-width:768px){
  .footer-grid { grid-template-columns:1fr 1fr; gap:28px; }
  .footer-brand-col { grid-column:span 2; }
  .footer-bottom { flex-direction:column; gap:8px; text-align:center; }
}
@media(max-width:480px){ .footer-grid { grid-template-columns:1fr; } .footer-brand-col { grid-column:span 1; } }
