
/* Grade Booster Academy - Styles */
:root{
  --brand:#5b7fff;
  --brand-dark:#3f5bd6;
  --accent:#ffb703;
  --bg:#f7f9fc;
  --text:#1f2937;
  --muted:#6b7280;
  --success:#16a34a;
  --warning:#f59e0b;
  --danger:#ef4444;
  --card:#ffffff;
  --shadow:0 10px 20px rgba(0,0,0,.08);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Inter,Arial,sans-serif;color:var(--text);background:var(--bg)}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}

.container{max-width:1100px;margin:0 auto;padding:24px}
.nav{position:sticky;top:0;background:#fff;box-shadow:var(--shadow);z-index:50}
.nav .inner{display:flex;align-items:center;justify-content:space-between;padding:12px 24px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;color:var(--brand-dark)}
.logo-badge{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,var(--brand),#9ac1ff);display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:var(--shadow)}
.nav a{font-weight:600;margin:0 8px;padding:8px 10px;border-radius:10px}
.nav a.cta{background:var(--brand);color:#fff}
.nav a.cta:hover{background:var(--brand-dark)}
.nav a.active{background:#eef2ff;color:var(--brand-dark)}

.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center;padding:48px 24px}
.hero h1{font-size:44px;line-height:1.05;margin:0 0 12px}
.hero p.lead{font-size:18px;color:var(--muted);margin:0 0 20px}
.badges{display:flex;gap:10px;flex-wrap:wrap}
.badge{background:#eef2ff;color:var(--brand-dark);padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}

.card{background:var(--card);border-radius:18px;box-shadow:var(--shadow);padding:18px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}

.section{padding:10px 24px 40px}
.section h2{font-size:28px;margin:8px 0 10px}
.section p.sub{color:var(--muted);margin-top:0}

.feature{display:flex;gap:14px;align-items:flex-start}
.feature .icon{width:40px;height:40px;border-radius:12px;background:#eef2ff;display:grid;place-items:center;font-weight:900;color:var(--brand-dark)}

.testimonials .quote{font-size:14px;color:var(--muted)}
.stars{color:#f59e0b;letter-spacing:2px;font-weight:800}

.footer{background:#0f172a;color:#e5e7eb;margin-top:40px}
.footer a{color:#c7d2fe}
.footer .columns{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}
.footer small{color:#94a3b8}

.btn{display:inline-block;border:none;cursor:pointer;padding:12px 16px;border-radius:12px;font-weight:800}
.btn.primary{background:var(--brand);color:#fff}
.btn.primary:hover{background:var(--brand-dark)}
.btn.light{background:#eef2ff;color:var(--brand-dark)}
.btn.ghost{background:transparent;border:2px dashed #dbeafe;color:var(--brand-dark)}

.kid-bubbles{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.kid-bubbles span{background:#fff3c4;border:1px solid #fde68a;border-radius:12px;padding:6px 10px;font-size:12px}

.notice{background:#ecfeff;border:1px solid #a5f3fc;color:#0369a1;padding:8px 10px;border-radius:10px;font-size:13px}

.analytics{padding:10px}
.progress{background:#eef2ff;border-radius:12px;overflow:hidden;height:12px}
.progress .bar{height:12px;background:linear-gradient(90deg,#34d399,#10b981);width:72%}
.stat{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#fff;border-radius:12px;box-shadow:var(--shadow)}

.timetable .slot{display:flex;align-items:center;justify-content:space-between;padding:12px;border:1px dashed #e5e7eb;border-radius:12px;background:#fff}

.banner-hint{position:fixed;bottom:16px;right:16px;background:#fff;border:2px dashed #93c5fd;padding:10px 12px;border-radius:14px;box-shadow:var(--shadow);font-size:13px;z-index:60;display:none}
.banner-hint .mini{font-size:12px;color:var(--muted)}

.corner-nudge{position:fixed;top:12px;right:12px;background:#fff;color:#111;border-radius:999px;padding:6px 12px;box-shadow:var(--shadow);font-size:12px;display:none;z-index:60}

.notice-trial{background:#f0f9ff;border:1px solid #bae6fd;padding:10px;border-radius:12px}

.form{display:grid;gap:10px}
input,select,textarea{padding:12px;border-radius:10px;border:1px solid #e5e7eb;width:100%}
label{font-weight:700;font-size:14px}
.form .help{color:var(--muted);font-size:12px}

.price-cards .price{font-size:36px;font-weight:900}
.price-cards .save{color:var(--success);font-weight:800}

.alert{padding:10px;border-radius:12px}
.alert.success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}
.alert.warn{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}

@media (max-width: 900px){
  .hero{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .footer .columns{grid-template-columns:1fr}
}
