:root {
  --bg:#000309; --bg2:#050b1d; --bg3:#0a1325; --bg4:#0b1428; --border:#162032; --text:#e7e9ee; --muted:#9aa3b2;
  --accent:#f97316; --accent2:#3b82f6; --accent3:#60a5fa; --accent-soft:rgba(249,115,22,.12); --blue-soft:rgba(59,130,246,.12);
  --gradient:linear-gradient(135deg,#f97316 0%,#3b82f6 100%);
  --radius:14px; --shadow:0 18px 40px -18px rgba(0,0,0,.55);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;line-height:1.6;scroll-behavior:smooth}
a{color:var(--accent3);text-decoration:none;background-image:linear-gradient(var(--accent3),var(--accent3));background-size:0% 1px;background-repeat:no-repeat;background-position:0 100%;transition:.22s color,.22s background-size}
a:hover{color:var(--text);background-size:100% 1px}
a:focus-visible{outline:2px solid var(--accent3);outline-offset:2px;border-radius:4px;background-size:100% 1px}
img{max-width:100%;display:block}
h1,h2,h3,h4{margin:0;letter-spacing:-.03em}
button{cursor:pointer;font:inherit}
input,select,textarea{font:inherit}

.container{width:min(1240px,92vw);margin-inline:auto}
.navbar{position:sticky;top:0;z-index:50;backdrop-filter:blur(18px);background:rgba(0,3,9,.72);border-bottom:1px solid var(--border)}
.navbar .container{display:flex;align-items:center;justify-content:space-between;height:70px}
.logo{font-weight:800;letter-spacing:-.04em;font-size:1.1rem;display:flex;align-items:center;gap:.6rem}
.logo-mark{width:32px;height:32px;border-radius:9px;background:var(--gradient);display:grid;place-items:center;color:#fff;font-weight:800;font-size:.9rem}
.nav-links{display:flex;gap:1.25rem;align-items:center}
.nav-link{color:var(--muted);font-size:.93rem;transition:.18s color}
.nav-link:hover{color:var(--text)}
.nav-cta{margin-left:4px}

.btn{display:inline-flex;align-items:center;gap:.55rem;padding:.75rem 1.15rem;border-radius:11px;font-weight:650;transition:.22s transform,.22s box-shadow,.22s background;border:1px solid transparent;font-size:.96rem}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 6px 22px rgba(249,115,22,.28)}
.btn-primary:hover{box-shadow:0 10px 28px rgba(249,115,22,.42)}
.btn-blue{background:var(--accent2);color:#fff;box-shadow:0 6px 22px rgba(59,130,246,.28)}
.btn-blue:hover{box-shadow:0 10px 28px rgba(59,130,246,.42)}
.btn-secondary{background:rgba(255,255,255,.04);color:var(--text);border:1px solid var(--border)}
.btn-secondary:hover{background:rgba(255,255,255,.07);border-color:#283654}
.btn-ghost{background:transparent;color:var(--muted);border:1px solid transparent}
.btn-ghost:hover{color:var(--text);background:rgba(255,255,255,.04)}
.btn-sm{padding:.5rem .8rem;font-size:.88rem;border-radius:9px}
.btn[disabled]{opacity:.65;cursor:not-allowed}

.badge{display:inline-flex;align-items:center;padding:.28rem .65rem;border-radius:9999px;font-size:.75rem;font-weight:700;letter-spacing:.01em}
.badge-free{background:rgba(16,185,129,.14);color:#34d399}
.badge-pro{background:var(--accent-soft);color:#fdba74}
.badge-blue{background:var(--blue-soft);color:#93c5fd}

.card{background:linear-gradient(180deg,var(--bg3),var(--bg4));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);transition:.28s transform,.28s border-color,.28s box-shadow}
.card:hover{transform:translateY(-3px);border-color:#213049;box-shadow:0 22px 44px -18px rgba(0,0,0,.55)}

.gradient-text{background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.section-title{font-size:clamp(1.4rem,2.2vw,2rem);font-weight:800;margin-bottom:.5rem}
.section-sub{color:var(--muted);max-width:680px;font-size:1rem}

.divider{border:none;border-top:1px solid var(--border);margin:3rem 0}

/* HERO */
.hero{padding:4.5rem 0 3.5rem;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:-30% -10% auto -10%;height:540px;background:radial-gradient(1200px 520px at 50% -20%,rgba(59,130,246,.22),transparent 70%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:3.2rem;align-items:center}
.hero-title{font-size:clamp(1.9rem,3.4vw,3.1rem);font-weight:820;line-height:1.12;margin-bottom:1.1rem}
.hero-title span{color:var(--accent)}
.hero-desc{color:var(--muted);font-size:1.1rem;max-width:540px;margin-bottom:2rem}
.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap}
.hero-stats{display:flex;gap:2.5rem;margin-top:2rem;color:var(--muted);font-size:.92rem}
.hero-stats strong{color:var(--text);display:block;font-size:1.05rem;margin-bottom:.1rem}
.hero-card{background:linear-gradient(180deg,var(--bg3),var(--bg4));border:1px solid var(--border);border-radius:16px;padding:1.4rem;box-shadow:0 20px 50px -12px rgba(0,0,0,.55)}
.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:1rem}
.preview-stat{padding:.9rem;background:var(--bg4);border:1px solid var(--border);border-radius:10px}
.preview-stat-label{font-size:.78rem;color:var(--muted);margin-bottom:.15rem}
.preview-stat-value{font-size:1.8rem;font-weight:800;background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.progress{height:9px;background:var(--border);border-radius:9999px;overflow:hidden}
.progress > span{display:block;height:100%;background:var(--gradient);border-radius:9999px}

/* Sections */
.section{padding:3.5rem 0}
.section-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-bottom:1.4rem}

/* Features */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.feature{background:linear-gradient(180deg,var(--bg3),var(--bg4));border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem}
.feature-icon{width:42px;height:42px;border-radius:11px;background:var(--blue-soft);color:var(--accent3);display:grid;place-items:center;font-weight:800;font-size:.95rem}
.feature h3{margin:.6rem 0 .35rem;font-size:1.05rem}
.feature p{color:var(--muted);font-size:.94rem}

/* Course grid */
.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.course-card{padding:1.1rem;cursor:pointer}
.course-thumb{height:160px;border-radius:14px;border:1px solid var(--border);margin-bottom:1rem;display:grid;place-items:center;position:relative;overflow:hidden;color:var(--text)}
.course-thumb::before{content:"";position:absolute;inset:0;background:
  radial-gradient(320px 180px at 30% 20%, rgba(249,115,22,.22), transparent 60%),
  radial-gradient(300px 200px at 75% 70%, rgba(59,130,246,.22), transparent 60%)}
.course-thumb .thumb-inner{position:relative;z-index:1;display:grid;place-items:center;gap:.4rem}
.thumb-icon{font-size:2.2rem;line-height:1}
.thumb-label{font-size:.82rem;color:#cfd6e4;font-weight:700;letter-spacing:.04em}
.thumb-badge{position:absolute;top:10px;left:10px;z-index:2}
.course-card:hover .course-thumb{border-color:#28405f}
.course-title{font-weight:750;margin-bottom:.4rem;font-size:1.02rem}
.course-excerpt{color:var(--muted);font-size:.9rem;margin-bottom:.75rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.course-meta{color:var(--muted);font-size:.88rem;display:flex;gap:.75rem;align-items:center}

/* Filters */
.filters{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.2rem 0}
.chip{padding:.52rem .88rem;border-radius:9999px;background:rgba(255,255,255,.04);border:1px solid var(--border);color:var(--muted);font-size:.9rem;transition:.18s background,.18s color,.18s border-color}
.chip:hover,.chip.active{background:var(--accent-soft);color:var(--accent);border-color:rgba(249,115,22,.45)}

/* Comparison */
.comparison{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem}
.compare-card{background:linear-gradient(180deg,var(--bg3),var(--bg4));border:1px solid var(--border);border-radius:var(--radius);padding:1.6rem}
.compare-card.pro{border-color:rgba(249,115,22,.35);box-shadow:0 0 34px rgba(249,115,22,.12)}
.compare-list{list-style:none;padding:0;margin:1rem 0;color:var(--muted)}
.compare-list li{padding:.45rem 0;border-bottom:1px solid rgba(255,255,255,.04);display:flex;gap:.55rem;align-items:center}
.compare-list li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.7}

/* Resource cards */
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.resource-card{padding:1.1rem;display:flex;gap:1rem;align-items:center}
.resource-icon{width:46px;height:46px;border-radius:11px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:800;font-size:.88rem;flex-shrink:0}
.resource-body{flex:1;min-width:0}
.resource-title{font-weight:750;font-size:.98rem;margin-bottom:.15rem}
.resource-meta{color:var(--muted);font-size:.85rem}

/* Testimonials */
.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.testimonial{padding:1.3rem}
.testimonial p{color:var(--muted);font-size:.94rem;margin-bottom:1rem}
.testimonial-author{display:flex;align-items:center;gap:.7rem}
.author-avatar{width:38px;height:38px;border-radius:50%;background:var(--gradient);display:grid;place-items:center;font-weight:800;color:#fff;font-size:.88rem}
.author-name{font-weight:700;font-size:.92rem}
.author-role{color:var(--muted);font-size:.82rem}

/* Pricing */
.pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;max-width:880px;margin:1.2rem auto}
.pricing-card{background:linear-gradient(180deg,var(--bg3),var(--bg4));border:1px solid var(--border);border-radius:var(--radius);padding:1.8rem;position:relative}
.pricing-card.popular{border-color:rgba(249,115,22,.45);box-shadow:0 0 40px rgba(249,115,22,.1)}
.price{font-size:2.5rem;font-weight:810;margin:.5rem 0 .35rem}
.price-note{color:var(--muted);font-size:.92rem}
.pricing-features{list-style:none;padding:0;margin:1.2rem 0;color:var(--muted)}
.pricing-features li{padding:.45rem 0;border-bottom:1px solid rgba(255,255,255,.04)}
.pricing-features li::before{content:"✓ ";color:var(--accent);font-weight:700}

/* FAQ */
.faq{display:grid;grid-template-columns:1.2fr .8fr;gap:1.5rem}
.faq-item{padding:1rem 1.1rem;border-bottom:1px solid var(--border)}
.faq-question{font-weight:700;display:flex;justify-content:space-between;align-items:center;cursor:pointer;user-select:none}
.faq-answer{color:var(--muted);font-size:.93rem;margin-top:.4rem;overflow:hidden;transition:.3s max-height}
.faq-card{padding:1.4rem}

/* Course detail */
.course-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:2.2rem;align-items:start;padding:2rem 0}
.course-header-thumb{height:280px;border-radius:16px;border:1px solid var(--border);background:linear-gradient(135deg,var(--bg3),var(--bg4));display:grid;place-items:center;color:var(--muted);margin-bottom:1rem}
.lesson-list{background:var(--bg4);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.lesson-row{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid var(--border);gap:.8rem;transition:.18s background}
.lesson-row:last-child{border-bottom:none}
.lesson-row:hover{background:rgba(255,255,255,.02)}
.lesson-title{font-size:.95rem;display:flex;align-items:center;gap:.6rem}
.lesson-duration{font-size:.85rem;color:var(--muted);white-space:nowrap}

/* Lesson layout */
.lesson-layout{display:grid;grid-template-columns:300px 1fr;gap:1.5rem;padding:1.5rem 0}
.sidebar{background:var(--bg4);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem;height:calc(100vh - 110px);position:sticky;top:80px;overflow:auto}
.sidebar-section{font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin:.7rem 0 .4rem;font-weight:700}
.sidebar-item{display:flex;align-items:center;gap:.6rem;padding:.55rem .6rem;border-radius:8px;font-size:.95rem;color:var(--muted);cursor:pointer;transition:.18s background,.18s color}
.sidebar-item:hover{background:rgba(255,255,255,.04);color:var(--text)}
.sidebar-item.active{background:var(--blue-soft);color:var(--accent3)}
.sidebar-item.locked{opacity:.6;cursor:not-allowed}
.sidebar-item.locked .lock-icon{margin-left:auto;opacity:.8}
.lesson-content{max-width:780px}
.lesson-video{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);height:490px;margin-bottom:1.2rem;display:grid;place-items:center;color:var(--muted);font-size:1.05rem;position:relative;overflow:hidden}
.video-placeholder{display:flex;flex-direction:column;align-items:center;gap:.9rem}
.play-btn{width:64px;height:64px;border-radius:50%;background:rgba(249,115,22,.18);border:1px solid rgba(249,115,22,.35);color:var(--accent);display:grid;place-items:center;font-size:1.4rem}
.lock-overlay{background:rgba(0,3,9,.72);backdrop-filter:blur(4px);border-radius:var(--radius);padding:1.6rem;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--border)}
.locked-preview{filter:blur(5px);pointer-events:none;user-select:none}

/* Dashboard */
.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.stat{padding:1.2rem}
.stat-value{font-size:1.8rem;font-weight:810;background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat-label{color:var(--muted);font-size:.88rem}
.dash-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.dash-card{overflow:hidden}
.dash-card-thumb{height:170px;border-bottom:1px solid var(--border);display:grid;place-items:center;color:var(--muted);background:var(--bg3)}
.upgrade-banner{background:linear-gradient(135deg,rgba(249,115,22,.18),rgba(59,130,246,.18));border:1px solid rgba(249,115,22,.22);border-radius:var(--radius);padding:1.3rem;margin:1.5rem 0;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}

/* Pricing */
.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;max-width:900px;margin:1.2rem auto}
.price-card{background:linear-gradient(180deg,var(--bg3),var(--bg4));border:1px solid var(--border);border-radius:var(--radius);padding:1.8rem}
.price-card.popular{border-color:rgba(249,115,22,.45);box-shadow:0 0 40px rgba(249,115,22,.1)}

/* Responsive */
@media(max-width:1020px){
  .hero-grid,.features,.course-grid,.comparison,.resource-grid,.testimonials,.pricing-grid,.price-grid,.faq,.course-layout,.dashboard-grid,.dash-cards,.grid-2{grid-template-columns:1fr}
  .lesson-layout{grid-template-columns:1fr}
  .sidebar{height:auto;position:static}
  .nav-links{display:none}
}

/* utilities */
.mt-1{margin-top:1rem}.mt-2{margin-top:1.6rem}.mb-1{margin-bottom:1rem}
.w-full{width:100%}
.text-muted{color:var(--muted)}
.font-medium{font-weight:650}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem}
video-placeholder-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}