:root{
  --green:#11c56f;
  --green2:#08a95d;
  --green-dark:#087545;
  --blue:#1f55ff;
  --navy:#071b4d;
  --text:#101828;
  --muted:#667085;
  --line:#e7edf7;
  --soft:#f4fbf7;
  --card:#fff;
  --shadow:0 18px 46px rgba(7,27,77,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  background:#f6f9ff;
  color:var(--text);
  padding-bottom:98px;
}
a{text-decoration:none;color:inherit}
.top-safe{
  background:
    radial-gradient(circle at 100% 0%, rgba(17,197,111,.18), transparent 36%),
    radial-gradient(circle at 0% 28%, rgba(31,85,255,.13), transparent 32%),
    linear-gradient(180deg,#ffffff 0%,#f5f9ff 100%);
  padding:10px 14px 20px;
}
.mini-header{
  position:sticky;
  top:0;
  z-index:30;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(12px);
  border:1px solid rgba(231,237,247,.8);
  border-radius:22px;
  padding:10px 10px 10px 12px;
  box-shadow:0 8px 24px rgba(7,27,77,.07);
}
.brand,.footer-brand{
  display:flex;
  align-items:center;
  gap:10px;
}
.band-mark{
  width:42px;height:42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--green),#20de86);
  color:#fff;
  font-size:24px;
  font-weight:900;
  box-shadow:0 10px 20px rgba(17,197,111,.3);
}
.brand strong,.footer-brand strong{display:block;font-size:15px;line-height:1.1}
.brand small,.footer-brand small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.header-join{
  border-radius:999px;
  padding:11px 15px;
  background:var(--navy);
  color:#fff;
  font-weight:800;
  font-size:14px;
}
.hero{
  padding:28px 2px 8px;
  text-align:left;
}
.status-pill{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:#eafff3;
  color:var(--green-dark);
  font-size:13px;
  font-weight:800;
  border:1px solid #bef4d8;
}
h1{
  margin:14px 0 10px;
  font-size:42px;
  letter-spacing:-1.8px;
  line-height:1.08;
  color:#091b3f;
}
h1 span{color:var(--green-dark)}
.hero-sub{
  margin:0 0 18px;
  color:#334155;
  line-height:1.62;
  font-size:17px;
}
.primary-cta,.sticky-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:100%;
  border-radius:24px;
  background:linear-gradient(135deg,var(--green),var(--green2));
  color:#fff;
  padding:17px 16px;
  box-shadow:0 18px 36px rgba(17,197,111,.32);
  border:1px solid rgba(255,255,255,.28);
}
.primary-cta strong,.sticky-btn strong{display:block;font-size:18px;line-height:1.2}
.primary-cta small,.sticky-btn small{display:block;font-size:12px;opacity:.92;margin-top:3px}
.cta-icon,.sticky-icon{
  width:42px;height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.22);
  border:1px solid rgba(255,255,255,.22);
  font-weight:900;
  font-size:24px;
}
.pulse{animation:pulse 1.9s infinite}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(17,197,111,.45),0 18px 36px rgba(17,197,111,.32)}
  70%{box-shadow:0 0 0 14px rgba(17,197,111,0),0 18px 36px rgba(17,197,111,.32)}
  100%{box-shadow:0 0 0 0 rgba(17,197,111,0),0 18px 36px rgba(17,197,111,.32)}
}
.proof-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:14px;
}
.proof-row div{
  border-radius:18px;
  background:#fff;
  border:1px solid var(--line);
  padding:12px 8px;
  text-align:center;
  box-shadow:0 8px 18px rgba(7,27,77,.05);
}
.proof-row strong{display:block;font-size:14px;color:#101828}
.proof-row small{display:block;font-size:11px;color:var(--muted);margin-top:3px}
main{padding:0 14px}
.phone-preview{
  margin-top:8px;
  display:flex;
  justify-content:center;
}
.phone{
  width:100%;
  max-width:430px;
  border-radius:34px;
  background:#101828;
  padding:10px;
  box-shadow:var(--shadow);
}
.phone-notch{
  width:112px;
  height:22px;
  background:#070d1b;
  border-radius:0 0 16px 16px;
  margin:0 auto 8px;
}
.app-top{
  background:linear-gradient(135deg,#eafff3,#f8fbff);
  border-radius:24px 24px 16px 16px;
  padding:16px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.app-top strong{display:block;color:#0b2c1d}
.app-top small{display:block;color:#537264;margin-top:4px;font-size:12px}
.live-dot{
  color:#087545;
  background:#dffbea;
  border:1px solid #b8f2d3;
  padding:6px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
}
.post-card{
  background:#fff;
  border:1px solid #e5ebf5;
  border-radius:20px;
  padding:16px;
  margin-top:10px;
}
.post-card.highlight{
  background:linear-gradient(180deg,#fff,#f7fbff);
}
.label{
  display:inline-flex;
  padding:6px 9px;
  border-radius:999px;
  background:#e9fff3;
  color:#087545;
  font-size:11px;
  font-weight:900;
}
.label.blue{background:#edf3ff;color:#1f55ff}
.label.green{background:#e9fff3;color:#087545}
.post-card h3{margin:10px 0 8px;font-size:18px}
.post-card p,.post-card li{font-size:14px;line-height:1.55;color:#4b5563}
.post-card ul{padding-left:18px;margin:0}
.quick-benefits,.teacher-section,.compliance-box,.faq{
  margin-top:18px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  padding:22px 16px;
  box-shadow:0 10px 24px rgba(7,27,77,.06);
}
h2{margin:0 0 14px;font-size:24px;line-height:1.2;letter-spacing:-.6px;color:#091b3f}
.benefit-list{display:grid;gap:10px}
.benefit-list article{
  display:flex;
  gap:12px;
  padding:14px;
  border:1px solid #e8edf7;
  border-radius:20px;
  background:#fbfcff;
}
.benefit-list span{
  flex:0 0 42px;
  height:42px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:#eafff3;
  color:#087545;
  font-weight:900;
}
.benefit-list h3{margin:0 0 5px;font-size:17px}
.benefit-list p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}
.teacher-section p,.compliance-box p{margin:0;color:var(--muted);line-height:1.68;font-size:15px}
.teacher-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:16px;
}
.teacher{
  border-radius:20px;
  background:#f8fbff;
  border:1px solid #e5ebf5;
  padding:14px 8px;
  text-align:center;
}
.teacher span{
  width:44px;height:44px;margin:0 auto 8px;
  display:grid;place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,#eafff3,#edf3ff);
  color:#087545;
  font-weight:900;
}
.teacher strong{display:block;font-size:14px}
.teacher small{display:block;font-size:11px;color:var(--muted);margin-top:4px}
.compliance-box{
  background:#fffaf0;
  border-color:#ffe0a3;
}
.compliance-box h2{color:#8a4b00}
.faq details{
  border:1px solid #e5ebf5;
  border-radius:18px;
  padding:0 14px;
  margin-top:10px;
  background:#fbfcff;
}
.faq summary{
  padding:15px 0;
  cursor:pointer;
  font-weight:800;
}
.faq p{margin:0 0 15px;color:var(--muted);font-size:14px;line-height:1.6}
footer{
  padding:24px 14px 16px;
  color:#dbe6ff;
  background:#071b4d;
  margin-top:22px;
}
footer .band-mark{width:40px;height:40px;border-radius:14px}
footer p{color:#b9c6e6;font-size:13px;line-height:1.6}
footer .tiny{font-size:11px;opacity:.78}
.sticky-bottom{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:90;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,rgba(246,249,255,0),rgba(246,249,255,.98) 28%,#f6f9ff);
}
.sticky-btn{
  max-width:520px;
  margin:0 auto;
  border-radius:22px;
  padding:14px 16px;
}
.sticky-btn strong{font-size:17px}
.floating-side{
  position:fixed;
  right:14px;
  bottom:106px;
  z-index:85;
  width:54px;
  height:54px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--green),var(--green2));
  color:#fff;
  font-size:28px;
  font-weight:900;
  box-shadow:0 12px 28px rgba(17,197,111,.34);
  border:2px solid rgba(255,255,255,.78);
}
@media (min-width:720px){
  body{max-width:520px;margin:0 auto;background:#edf3ff}
  .top-safe,main,footer{box-shadow:0 0 0 1px rgba(231,237,247,.8)}
}
