/* Lenduh Academy — /academy/ landing page.
   Reuses the site design tokens + .container / .section-* / .btn-* / .overview-bullets
   from styles.css. Only the Academy-specific pieces (dark hero, curriculum, section
   cards, lesson rows, gate band) live here — mirrors the assessment.css / directory.css
   per-page pattern. */

/* ---- Hero (dark band, mirrors #security's dark treatment) ---- */
.academy-hero{background:var(--dark);padding:5rem 2.5rem 5.5rem;border-bottom:1px solid var(--dark-border)}
.academy-eyebrow{display:inline-flex;align-items:center;gap:8px;color:#4ADE80;font-size:0.78rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:1.25rem}
.academy-eyebrow svg{flex:none}
.academy-hero h1{font-size:clamp(2rem,4vw,3.2rem);font-weight:500;line-height:1.1;letter-spacing:-0.02em;color:#fff;max-width:840px;margin-bottom:1.25rem}
.academy-hero-sub{color:#AEB9C7;font-size:1.08rem;line-height:1.65;max-width:660px;margin-bottom:1.75rem}
.academy-meta{display:flex;flex-wrap:wrap;gap:0.6rem;margin-bottom:2rem}
.academy-chip{display:inline-flex;align-items:center;gap:7px;background:var(--dark2);border:1px solid var(--dark-border);color:#C7D0DC;padding:0.4rem 0.85rem;border-radius:100px;font-size:0.8rem;font-weight:500}
.academy-chip svg{flex:none;color:#4ADE80}
.academy-hero .btns{margin-bottom:1.1rem}
.academy-free-note{color:#7E8C9B;font-size:0.85rem}
.btn-outline-light{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#E2E8F0;padding:0.75rem 1.75rem;border-radius:8px;border:1.5px solid #33475F;font-weight:600;font-size:0.9rem;transition:border-color .2s var(--ease),transform .15s var(--ease)}
.btn-outline-light:hover{border-color:#E2E8F0;transform:translateY(-1px)}

/* ---- What you'll learn ---- */
#academy-learn{background:var(--surface);border-bottom:1px solid var(--border)}

/* ---- Learning path ---- */
#academy-path{background:var(--bg)}
.academy-path-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:0.4rem}
.academy-path-meta{color:var(--muted);font-size:0.9rem}
.academy-path-intro{color:var(--muted);font-size:0.95rem;line-height:1.6;max-width:760px;margin-bottom:2rem}

/* Featured section card (Welcome & First Steps) */
.academy-featured{background:var(--surface);border:1px solid var(--border);border-radius:var(--rc);box-shadow:var(--sh-card);padding:1.5rem 1.5rem 0.5rem;margin-bottom:1.5rem}
.academy-featured-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding-bottom:0.6rem;border-bottom:1px solid var(--border);margin-bottom:0.2rem}
.academy-featured-head-l{display:flex;align-items:center;gap:0.75rem}
.academy-featured-head-r{display:flex;align-items:center;gap:0.85rem}
.academy-featured-title{font-family:'DM Sans',sans-serif;font-size:1.1rem;font-weight:600;color:var(--text)}
.academy-featured-meta{color:var(--muted);font-size:0.82rem}
.academy-num{display:inline-flex;align-items:center;justify-content:center;background:var(--green-light);color:var(--green-dark);font-size:0.8rem;font-weight:700;padding:0.25rem 0.6rem;border-radius:8px;line-height:1.2}

/* Lesson row */
.academy-lesson{display:flex;align-items:center;gap:0.75rem;padding:0.8rem 0.15rem;border-bottom:1px solid var(--border);color:var(--text)}
.academy-lesson:last-child{border-bottom:none}
.academy-lesson-ico{flex:none;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:#94A3B8}
.academy-lesson.is-preview .academy-lesson-ico{color:var(--green)}
.academy-lesson.is-locked{color:var(--muted)}
.academy-lesson-title{flex:1;font-size:0.92rem;min-width:0}
a.academy-lesson{transition:background .15s var(--ease),border-radius .15s}
a.academy-lesson:hover{background:var(--bg);border-radius:var(--rs)}
.academy-lesson-badge{flex:none;background:var(--green-light);color:var(--green-dark);font-size:var(--fs-micro);font-weight:600;padding:0.15rem 0.5rem;border-radius:5px;letter-spacing:0.01em}
.academy-lesson-dur{flex:none;color:var(--muted);font-size:0.8rem;font-variant-numeric:tabular-nums}

/* Section-card grid */
.academy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.academy-card{display:flex;flex-direction:column;gap:0.6rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--rc);box-shadow:var(--sh-card);padding:1.25rem;min-height:152px;transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}
.academy-card:hover{transform:translateY(-4px);box-shadow:var(--sh-card-hover);border-color:#CBD5E1}
button.academy-card{width:100%;font:inherit;text-align:left;cursor:pointer;color:inherit;appearance:none;-webkit-appearance:none}
button.academy-card:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.academy-card-top{display:flex;align-items:center;justify-content:space-between;gap:0.5rem}
.academy-card-lock{color:#94A3B8;display:flex;flex:none}
.academy-card h3{font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:600;color:var(--text);margin:0.15rem 0 0;letter-spacing:-0.005em}
.academy-card p{font-size:0.84rem;color:var(--muted);line-height:1.45;flex:1}
.academy-card-meta{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:0.8rem}
.academy-card-meta svg{flex:none}
/* Unlock card (green, fills the 9th cell) */
.academy-card.unlock{background:var(--green-light);border-color:#86EFAC}
.academy-card.unlock:hover{border-color:var(--green)}
.academy-card.unlock h3{color:var(--green-dark)}
.academy-card.unlock p{color:#166534}
.academy-card-link{display:inline-flex;align-items:center;gap:6px;color:var(--green-dark);font-size:0.85rem;font-weight:600}
.academy-card.unlock .academy-card-icon{color:var(--green-dark);display:flex}

/* ---- Gate / unlock CTA band (green) ---- */
.academy-gate-wrap{background:var(--bg);padding:5rem 2.5rem;border-top:1px solid var(--border)}
.academy-gate{max-width:1200px;margin:0 auto;background:linear-gradient(180deg,var(--brand-fill-top) 0%,var(--brand-fill-mid) 55%,var(--brand-fill-bot) 100%);border-radius:var(--rc);padding:2.5rem 2.75rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;box-shadow:0 12px 34px rgba(22,163,74,0.24)}
.academy-gate-title{font-family:var(--font-fraunces),Fraunces,serif;font-weight:500;font-size:clamp(1.4rem,2.5vw,1.9rem);color:#fff;margin-bottom:0.4rem}
.academy-gate-sub{color:#DCFCE7;font-size:0.98rem;line-height:1.55;max-width:520px}
.academy-gate .btns{flex-wrap:wrap}
.btn-white{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--green-dark);padding:0.75rem 1.6rem;border-radius:8px;font-weight:600;font-size:0.9rem;transition:transform .15s var(--ease),box-shadow .2s var(--ease)}
.btn-white:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,0.18)}
.btn-ghost-white{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#fff;padding:0.75rem 1.6rem;border-radius:8px;border:1.5px solid rgba(255,255,255,0.6);font-weight:600;font-size:0.9rem;transition:border-color .2s var(--ease),transform .15s var(--ease)}
.btn-ghost-white:hover{border-color:#fff;transform:translateY(-1px)}

/* ---- Responsive ---- */
@media(max-width:1024px){
  .academy-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .academy-hero{padding:3.5rem 1.25rem 4rem}
  .academy-grid{grid-template-columns:1fr}
  .academy-gate-wrap{padding:3.5rem 1.25rem}
  .academy-gate{flex-direction:column;align-items:flex-start;padding:2rem 1.5rem}
  .academy-featured-head{align-items:flex-start}
}

/* ---- Preview lessons are buttons that open the inline video lightbox ---- */
button.academy-lesson{width:100%;font:inherit;text-align:left;background:transparent;cursor:pointer;color:var(--text);border:0;border-bottom:1px solid var(--border)}
button.academy-lesson:last-child{border-bottom:0}
.academy-lesson.is-preview:hover{background:var(--bg)}
.academy-lesson.is-preview:focus-visible{outline:2px solid var(--green);outline-offset:-2px;border-radius:var(--rs)}

/* ---- Video lightbox (academy.js) — embeds a YouTube iframe ---- */
.av-overlay{position:fixed;inset:0;z-index:400;background:rgba(5,10,20,0.92);display:flex;align-items:center;justify-content:center;padding:2.5rem 1rem}
.av-overlay[hidden]{display:none}
.av-dialog{position:relative;width:min(1000px,94vw);aspect-ratio:16/9;max-height:82vh;border-radius:10px;overflow:hidden;background:#000;box-shadow:0 24px 70px rgba(0,0,0,0.5)}
.av-iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.av-close{position:absolute;top:1rem;right:1rem;width:44px;height:44px;border-radius:50%;background:rgba(15,23,42,0.6);color:#fff;border:none;cursor:pointer;font-size:1.6rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:1}
.av-close:hover{background:rgba(22,163,74,0.85)}
.av-close:focus-visible{outline:2px solid var(--green);outline-offset:2px}
