/* ============ HERO EXTRAS ============ */
.academy-hero{padding-top:64px}
.hero-sub{font-size:11.5px;color:var(--muted-2);margin-top:10px}

/* ============ WHAT'S INSIDE ============ */
.inside{background:var(--bg-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.feature-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:left;
  max-width:960px;margin:0 auto;
}
.feature-card{
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:26px 24px;transition:transform .25s var(--ease),border-color .25s var(--ease);
}
.feature-card:hover{transform:translateY(-4px);border-color:rgba(34,197,94,.3)}
.feature-num{
  display:inline-block;font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:12px;
  color:var(--green-2);background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.3);
  border-radius:9999px;padding:4px 10px;margin-bottom:14px;
}
.feature-card h3{font-size:15px;font-weight:800;margin-bottom:8px;line-height:1.3}
.feature-card p{font-size:12.5px;color:var(--muted);line-height:1.65;font-weight:300}

/* ============ CURRICULUM LIST ============ */
.curriculum{background:var(--bg)}
.curriculum-list{display:flex;flex-direction:column;gap:8px;text-align:left;list-style:none}
.curriculum-list li{
  display:flex;align-items:center;gap:14px;padding:14px 18px;
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);
}
.curriculum-num{
  font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:12px;flex-shrink:0;
  width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.3);color:var(--green-2);
}
.curriculum-title{flex:1;font-size:13.5px;font-weight:500;color:var(--text);line-height:1.4}
.curriculum-dur{font-size:11px;color:var(--muted-2);font-weight:600;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}

/* ============ PORTAL PREVIEW (hero card mockup) ============ */
.preview{background:var(--bg-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.portal-preview{
  position:relative;max-width:640px;margin:0 auto;border-radius:20px;overflow:hidden;
  border:1px solid var(--border-strong);box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 60px rgba(34,197,94,.1);
  background:var(--bg-alt-2);text-align:left;
}
.portal-chrome{
  display:flex;align-items:center;gap:8px;padding:12px 16px;background:#141514;border-bottom:1px solid var(--border);
}
.portal-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.14)}
.portal-url{
  margin-left:10px;font-size:10.5px;color:var(--muted-2);font-family:"Inter",monospace;
  background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:9999px;padding:3px 12px;
}
.portal-body{padding:22px 22px 26px}
.portal-topbar{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.badge-circle-sm{width:26px;height:26px}
.badge-circle-sm .badge-letters{font-size:8px}
.portal-topbar-name{font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:13px}
.portal-progress{margin-bottom:18px}
.portal-progress-top{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);font-weight:600;margin-bottom:6px}
.portal-progress-bar{height:5px;background:rgba(255,255,255,.07);border-radius:9999px;overflow:hidden}
.portal-progress-fill{height:100%;width:40%;border-radius:9999px;background:linear-gradient(135deg,var(--green) 0%,var(--green-2) 100%)}
.portal-lessons{display:flex;flex-direction:column;gap:8px}
.portal-lesson{
  display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:10px;
  background:rgba(255,255,255,.02);border:1px solid var(--border);
}
.portal-lesson.is-active{border-color:rgba(34,197,94,.4);background:rgba(34,197,94,.06)}
.portal-lesson-num{
  width:26px;height:26px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:10.5px;
  background:rgba(255,255,255,.06);border:1px solid var(--border-strong);color:var(--muted);
}
.portal-lesson.is-done .portal-lesson-num{background:linear-gradient(135deg,var(--green) 0%,var(--green-2) 100%);color:#06120b;border-color:transparent}
.portal-lesson.is-active .portal-lesson-num{background:rgba(34,197,94,.14);border-color:var(--green-2);color:var(--green-2)}
.portal-lesson-title{flex:1;font-size:12px;color:var(--text);font-weight:500;line-height:1.35}
.portal-lesson-check{width:18px;text-align:center;font-size:12px;color:var(--green-2);flex-shrink:0}
.portal-chat{
  position:absolute;right:18px;bottom:18px;display:flex;align-items:center;gap:8px;
  background:var(--bg-alt-2);border:1px solid var(--border-strong);border-radius:9999px;
  padding:8px 16px 8px 8px;box-shadow:0 12px 30px rgba(0,0,0,.4);font-size:11px;color:var(--muted);
}
.portal-chat-icon{
  width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--green) 0%,var(--green-2) 100%);
}

/* ============ RESPONSIVE ============ */
@media (max-width:760px){
  .feature-grid{grid-template-columns:1fr}
  .curriculum-list li{flex-wrap:wrap}
  .curriculum-title{flex-basis:100%;order:3;margin-top:4px}
  .portal-chat{position:static;margin:14px 22px 22px;width:fit-content}
}
