/* ════════════════════════════════════════════════════════════
   HOMEPAGE v4 — Full Styles
   ════════════════════════════════════════════════════════════ */
.nu-hp-wrap { width:100%; max-width:100%; padding:0; margin:0; }
.nu-container { max-width:1180px; margin:0 auto; padding:0 24px; }

/* ── Sticky Bar ─────────────────────────────────────────── */
.nu-sticky-bar { position:sticky; top:0; z-index:999; background:linear-gradient(90deg,#0f172a,#1a2744); padding:10px 0; }
.nu-sticky-bar-inner { max-width:1180px; margin:0 auto; padding:0 24px; display:flex; align-items:center; gap:12px; }
.nu-sticky-bar-dot { width:8px; height:8px; border-radius:50%; background:#22c55e; flex-shrink:0; animation:nu-pulse-dot 2s ease-in-out infinite; }
@keyframes nu-pulse-dot { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(.7)} }
.nu-sticky-bar-text { font-size:13px; color:#e2e8f0; flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nu-sticky-bar-text strong { color:#fff; }
.nu-sticky-bar-btn { background:#2563eb; color:#fff; font-size:12px; font-weight:700; padding:5px 14px; border-radius:999px; text-decoration:none; white-space:nowrap; flex-shrink:0; }
.nu-sticky-bar-close { background:none; border:none; color:#64748b; cursor:pointer; font-size:16px; flex-shrink:0; }

/* ── Hero ───────────────────────────────────────────────── */
.nu-hp-hero { position:relative; overflow:hidden; padding:80px 0 72px; background:#060e1f; }
.nu-hp-hero-bg { position:absolute; inset:0; pointer-events:none; }
.nu-hp-hero-grid-overlay {
    position:absolute; inset:0;
    background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
    background-size:60px 60px;
}
.nu-hp-hero-glow { position:absolute; border-radius:50%; filter:blur(100px); opacity:.35; }
.nu-glow-blue { width:600px; height:400px; top:-100px; right:-100px; background:rgba(37,99,235,.4); }
.nu-glow-teal { width:400px; height:300px; bottom:-50px; left:-80px; background:rgba(0,150,136,.3); }
.nu-hp-hero-inner { position:relative; z-index:1; max-width:780px; }
.nu-hp-hero-badge {
    display:inline-flex; align-items:center; gap:8px;
    background:rgba(37,99,235,.15); border:1px solid rgba(37,99,235,.3);
    color:#93c5fd; font-size:12px; font-weight:700;
    padding:6px 16px; border-radius:999px; margin-bottom:24px;
    letter-spacing:.3px;
}
.nu-hp-hero-badge-dot { width:6px; height:6px; border-radius:50%; background:#22c55e; display:inline-block; animation:nu-pulse-dot 2s ease-in-out infinite; }
.nu-hp-hero-h1 { font-size:clamp(32px,5vw,60px) !important; font-weight:900 !important; color:#ffffff !important; line-height:1.15 !important; letter-spacing:-.02em !important; margin:0 0 20px !important; }
.nu-hp-h1-gradient { -webkit-text-fill-color:transparent; background:linear-gradient(135deg,#60a5fa,#34d399,#818cf8); -webkit-background-clip:text; background-clip:text; }
.nu-hp-hero-p { font-size:17px !important; color:#cbd5e1 !important; margin:0 0 32px !important; line-height:1.7 !important; max-width:600px !important; }
.nu-hp-hero-btns { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:40px; }
.nu-hp-hero-btn-primary {
    display:inline-flex; align-items:center; gap:8px;
    background:linear-gradient(135deg,#2563eb,#1d4ed8); color:#fff;
    font-size:16px; font-weight:700; padding:14px 28px; border-radius:12px;
    text-decoration:none; transition:all .2s;
    box-shadow:0 4px 20px rgba(37,99,235,.4);
}
.nu-hp-hero-btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 28px rgba(37,99,235,.5); color:#fff; }
.nu-hp-hero-btn-ghost {
    display:inline-flex; align-items:center;
    background:transparent; color:#93c5fd; border:1.5px solid rgba(37,99,235,.4);
    font-size:15px; font-weight:600; padding:14px 24px; border-radius:12px;
    text-decoration:none; transition:all .2s;
}
.nu-hp-hero-btn-ghost:hover { border-color:#60a5fa; background:rgba(37,99,235,.1); color:#fff; }
.nu-hp-hero-proof { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.nu-hp-hero-stat { display:flex; flex-direction:column; gap:2px; }
.nu-hp-hero-stat strong { font-size:22px; font-weight:900; color:#fff; line-height:1; }
.nu-hp-hero-stat span { font-size:11px; color:#475569; text-transform:uppercase; letter-spacing:.5px; font-weight:600; }
.nu-hp-hero-stat-div { width:1px; height:36px; background:rgba(255,255,255,.1); flex-shrink:0; }



/* ── Section Heads ──────────────────────────────────────── */
.nu-hp-section-head { text-align:center; margin-bottom:40px; }
.nu-hp-section-eyebrow { display:inline-block; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:#2563eb; background:#eff6ff; padding:5px 14px; border-radius:999px; margin-bottom:12px; }
.nu-hp-section-head h2 { font-size:clamp(24px,3.5vw,38px); font-weight:900; color:#0f172a; margin:0 0 10px; letter-spacing:-.02em; }
.nu-hp-section-head p { font-size:15px; color:#64748b; margin:0 auto; max-width:560px; line-height:1.6; }

/* ── Courses Grid ───────────────────────────────────────── */
.nu-hp-courses { padding:72px 0; background:#fff; }
.nu-courses-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.nu-course-card {
    display:flex; flex-direction:column; gap:14px;
    background:#fff; border:1.5px solid #e2e8f0; border-radius:18px;
    padding:24px; text-decoration:none; color:inherit;
    transition:all .22s; position:relative; overflow:hidden;
}
.nu-course-card:hover { transform:translateY(-4px); box-shadow:0 12px 36px rgba(0,0,0,.1); }
.nu-course-card-top { display:flex; align-items:flex-start; gap:12px; }
.nu-course-icon { font-size:32px; flex-shrink:0; margin-top:2px; }
.nu-course-vendor { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.6px; color:#94a3b8; }
.nu-course-name { font-size:18px; font-weight:800; color:#0f172a; margin:2px 0 0; line-height:1.2; }
.nu-course-badge { margin-left:auto; font-size:11px; font-weight:700; padding:4px 10px; border-radius:999px; white-space:nowrap; flex-shrink:0; }
.nu-badge-blue  { background:#eff6ff; color:#2563eb; }
.nu-badge-red   { background:#fff1f2; color:#dc2626; }
.nu-badge-green { background:#f0fdf4; color:#16a34a; }
.nu-course-desc { font-size:14px; color:#475569; line-height:1.6; margin:0; flex:1; }
.nu-course-meta-row { display:flex; gap:12px; flex-wrap:wrap; font-size:12px; color:#64748b; font-weight:600; }
.nu-course-progress-wrap { display:flex; align-items:center; gap:10px; }
.nu-course-progress-bar { flex:1; height:5px; background:#f1f5f9; border-radius:999px; overflow:hidden; }
.nu-course-progress-fill { height:100%; border-radius:999px; transition:width .5s ease; }
.nu-fill-blue  { background:linear-gradient(90deg,#2563eb,#60a5fa); }
.nu-fill-red   { background:linear-gradient(90deg,#dc2626,#f87171); }
.nu-fill-green { background:linear-gradient(90deg,#16a34a,#4ade80); }
.nu-course-progress-label { font-size:12px; color:#94a3b8; font-weight:600; white-space:nowrap; }
.nu-course-cta { font-size:14px; font-weight:700; color:#2563eb; display:flex; align-items:center; gap:4px; margin-top:auto; }
.nu-course-ccna:hover .nu-course-cta, .nu-course-np:hover .nu-course-cta { color:#1d4ed8; }
.nu-course-sp:hover .nu-course-cta { color:#dc2626; }
.nu-course-cysa:hover .nu-course-cta { color:#16a34a; }
.nu-course-ccna:hover { border-color:#93c5fd; }
.nu-course-sp:hover   { border-color:#fca5a5; }
.nu-course-np:hover   { border-color:#93c5fd; }
.nu-course-cysa:hover { border-color:#86efac; }
.nu-courses-roadmap-link { text-align:center; margin-top:24px; font-size:14px; color:#64748b; }
.nu-courses-roadmap-link a { color:#2563eb; font-weight:700; text-decoration:none; }

/* ── VS Section ─────────────────────────────────────────── */
.nu-vs-section { padding:64px 0; background:#f8fafc; }
.nu-vs-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:800px; margin:0 auto; }
.nu-vs-col { border-radius:16px; overflow:hidden; border:1.5px solid #e2e8f0; }
.nu-vs-col-header { display:flex; align-items:center; gap:10px; padding:16px 20px; background:#f1f5f9; border-bottom:1px solid #e2e8f0; flex-wrap:wrap; }
.nu-vs-col-icon { font-size:20px; }
.nu-vs-col-title { font-weight:800; font-size:14px; color:#0f172a; flex:1; }
.nu-vs-price { font-size:12px; font-weight:700; color:#94a3b8; background:#fff; padding:3px 10px; border-radius:999px; }
.nu-vs-price-free { color:#16a34a; }
.nu-vs-list { list-style:none; margin:0; padding:16px 20px; display:flex; flex-direction:column; gap:10px; }
.nu-vs-list li { font-size:13.5px; display:flex; align-items:center; gap:8px; }
.nu-vs-bad  li::before { content:'✗'; color:#ef4444; font-weight:800; flex-shrink:0; }
.nu-vs-good li::before { content:'✓'; color:#16a34a; font-weight:800; flex-shrink:0; }
.nu-vs-nu { border-color:#86efac; background:#f0fdf4; }
.nu-vs-nu .nu-vs-col-header { background:#dcfce7; }

/* ── Practice Exam CTA ──────────────────────────────────── */
.nu-hp-exam-cta { padding:72px 0; background:linear-gradient(135deg,#060b1a 0%,#0d1635 50%,#0a1a30 100%); }
.nu-hp-exam-cta-inner { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.nu-hp-exam-eyebrow { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:#60a5fa; margin-bottom:12px; display:block; }
.nu-hp-exam-cta-left h2 { font-size:clamp(26px,3.5vw,40px) !important; font-weight:900 !important; color:#ffffff !important; margin:0 0 14px !important; line-height:1.2 !important; }
.nu-hp-exam-cta-left p { font-size:15px !important; color:#cbd5e1 !important; line-height:1.7 !important; margin:0 0 24px !important; }
.nu-hp-exam-btns { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:14px; }
.nu-hp-exam-btn {
    display:inline-flex; align-items:center;
    background:#2563eb; color:#fff; font-size:14px; font-weight:700;
    padding:11px 22px; border-radius:10px; text-decoration:none;
    transition:all .18s;
}
.nu-hp-exam-btn:hover { background:#1d4ed8; transform:translateY(-1px); color:#fff; }
.nu-exam-btn-red { background:#dc2626; }
.nu-exam-btn-red:hover { background:#b91c1c; }
.nu-hp-exam-note { font-size:13px; color:#475569; }
.nu-hp-exam-note a { color:#60a5fa; }

/* Exam mockup */
.nu-exam-mockup { background:#1e293b; border-radius:16px; border:1px solid rgba(255,255,255,.08); overflow:hidden; box-shadow:0 24px 64px rgba(0,0,0,.4); }
.nu-exam-mockup-header { display:flex; align-items:center; gap:10px; padding:14px 18px; background:#0f172a; border-bottom:1px solid rgba(255,255,255,.06); }
.nu-em-dot { width:8px; height:8px; border-radius:50%; background:#2563eb; }
.nu-em-title { font-size:13px; font-weight:700; color:#e2e8f0; flex:1; }
.nu-em-timer { font-size:12px; font-weight:700; color:#fbbf24; }
.nu-exam-mockup-q { padding:18px; }
.nu-em-q-label { font-size:11px; color:#64748b; font-weight:700; text-transform:uppercase; letter-spacing:.5px; margin-bottom:10px; }
.nu-em-q-text { font-size:14px; color:#e2e8f0; font-weight:600; line-height:1.5; margin-bottom:14px; }
.nu-em-options { display:flex; flex-direction:column; gap:7px; }
.nu-em-opt { font-size:12.5px; color:#94a3b8; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07); border-radius:8px; padding:9px 12px; }
.nu-em-opt-selected { color:#fff; background:rgba(37,99,235,.2); border-color:rgba(37,99,235,.5); font-weight:700; }
.nu-exam-mockup-footer { padding:12px 18px; background:rgba(0,0,0,.2); border-top:1px solid rgba(255,255,255,.05); display:flex; align-items:center; gap:10px; }
.nu-em-score-bar { flex:1; height:6px; background:rgba(255,255,255,.1); border-radius:999px; overflow:hidden; }
.nu-em-score-fill { height:100%; background:linear-gradient(90deg,#2563eb,#22c55e); border-radius:999px; }
.nu-em-score-label { font-size:12px; font-weight:700; color:#22c55e; white-space:nowrap; }

/* ── Roadmap ────────────────────────────────────────────── */
.nu-hp-roadmap { padding:72px 0; background:#fff; }
.nu-roadmap-track { display:flex; align-items:stretch; gap:0; max-width:900px; margin:0 auto; position:relative; }
.nu-roadmap-track::before { content:''; position:absolute; top:28px; left:28px; right:28px; height:2px; background:linear-gradient(90deg,#e2e8f0,#2563eb,#dc2626,#16a34a,#e2e8f0); z-index:0; }
.nu-roadmap-step { display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px; flex:1; position:relative; z-index:1; padding:0 8px; }
.nu-roadmap-num { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:900; color:#fff; flex-shrink:0; box-shadow:0 4px 16px rgba(0,0,0,.2); border:3px solid #fff; }
.nu-roadmap-body { display:flex; flex-direction:column; gap:3px; }
.nu-roadmap-tag { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; }
.nu-roadmap-cert { font-size:13px; font-weight:800; color:#0f172a; line-height:1.3; }
.nu-roadmap-desc { font-size:11.5px; color:#64748b; line-height:1.4; }
.nu-roadmap-highlight .nu-roadmap-num { width:64px; height:64px; font-size:22px; box-shadow:0 6px 24px rgba(220,38,38,.4); }
.nu-roadmap-fork-tag { font-size:10px; font-weight:700; color:#f59e0b; background:#fffbeb; padding:2px 8px; border-radius:999px; border:1px solid #fde68a; }
.nu-hp-roadmap-link { display:inline-block; font-size:14px; font-weight:700; color:#2563eb; text-decoration:none; padding:12px 24px; border:2px solid #bfdbfe; border-radius:10px; transition:all .18s; }
.nu-hp-roadmap-link:hover { background:#eff6ff; border-color:#2563eb; }

/* ── Latest Articles ────────────────────────────────────── */
.nu-hp-latest { padding:64px 0; background:#f8fafc; }
.nu-hp-three-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.nu-hp-col { display:flex; flex-direction:column; gap:0; background:#fff; border-radius:14px; border:1.5px solid #e2e8f0; overflow:hidden; }
.nu-hp-col-header { display:flex; justify-content:space-between; align-items:center; padding:14px 18px; border-bottom:1px solid #f1f5f9; }
.nu-hp-list-item { display:flex; gap:10px; align-items:center; padding:12px 18px; text-decoration:none; color:inherit; border-bottom:1px solid #f8fafc; transition:background .15s; }
.nu-hp-list-item:hover { background:#f8fafc; }
.nu-hp-list-img { width:52px; height:42px; border-radius:7px; overflow:hidden; flex-shrink:0; }
.nu-hp-list-img img { width:100%; height:100%; object-fit:cover; }
.nu-hp-list-body h4 { font-size:13px; font-weight:600; color:#0f172a; margin:0 0 3px; line-height:1.4; }
.nu-hp-list-body span { font-size:11px; color:#94a3b8; }

/* ── Community ──────────────────────────────────────────── */
.nu-hp-community { padding:64px 0; background:#fff; }
.nu-hp-community-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.nu-hp-comment-card { background:#f8fafc; border:1.5px solid #e2e8f0; border-radius:14px; padding:20px; display:flex; flex-direction:column; gap:12px; }
.nu-comment-quote { font-size:48px; color:#e2e8f0; font-weight:900; line-height:.8; margin-bottom:-4px; font-family:Georgia,serif; }
.nu-hp-comment-text { font-size:14px; color:#334155; line-height:1.65; margin:0; flex:1; }
.nu-hp-comment-footer { display:flex; align-items:center; gap:10px; }
.nu-hp-comment-avatar { border-radius:50% !important; }
.nu-hp-comment-footer strong { font-size:13px; color:#0f172a; display:block; }
.nu-hp-comment-footer span { font-size:12px; color:#64748b; }
.nu-hp-comment-footer a { color:#2563eb; text-decoration:none; }

/* ── Newsletter ─────────────────────────────────────────── */
.nu-hp-newsletter { padding:72px 0; background:linear-gradient(135deg,#0f172a,#1e3a5f); }
.nu-hp-newsletter-inner { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.nu-hp-nl-eyebrow { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:#60a5fa; margin-bottom:12px; display:block; }
.nu-hp-nl-left h2 { font-size:clamp(24px,3vw,36px) !important; font-weight:900 !important; color:#ffffff !important; margin:0 0 12px !important; }
.nu-hp-nl-left p { font-size:14px !important; color:#cbd5e1 !important; margin:0 0 16px !important; line-height:1.6 !important; }
.nu-hp-nl-features { display:flex; flex-direction:column; gap:6px; }
.nu-hp-nl-features span { font-size:13px !important; color:#e2e8f0 !important; font-weight:500 !important; }
.nu-hp-nl-form { display:flex; gap:0; border-radius:12px; overflow:hidden; border:2px solid rgba(255,255,255,.1); }
.nu-hp-nl-form input { flex:1; padding:14px 18px; background:rgba(255,255,255,.06); border:none; color:#fff; font-size:14px; outline:none; }
.nu-hp-nl-form input::placeholder { color:#475569; }
.nu-hp-nl-form button { background:#2563eb; color:#fff; font-size:14px; font-weight:700; padding:14px 20px; border:none; cursor:pointer; transition:background .18s; white-space:nowrap; }
.nu-hp-nl-form button:hover { background:#1d4ed8; }
.nu-hp-nl-note { font-size:12px; color:#475569; margin:10px 0 0; }

/* ── Responsive ─────────────────────────────────────────── */
@media(max-width:900px) {
    .nu-courses-grid { grid-template-columns:1fr; }
    .nu-hp-exam-cta-inner { grid-template-columns:1fr; }
    .nu-exam-mockup { display:none; }
    .nu-hp-newsletter-inner { grid-template-columns:1fr; }
    .nu-roadmap-track { flex-direction:column; gap:16px; }
    .nu-roadmap-track::before { display:none; }
    .nu-roadmap-step { flex-direction:row; text-align:left; }
    .nu-vs-grid { grid-template-columns:1fr; }
}
@media(max-width:700px) {
    .nu-hp-three-grid { grid-template-columns:1fr; }
    .nu-hp-community-grid { grid-template-columns:1fr; }
    .nu-courses-grid { grid-template-columns:1fr; }
    .nu-hp-hero { padding:52px 0 48px; }
}

/* ════════════════════════════════════════════════════════════
   v4.1 — VISUAL POLISH PASS (animations, shadows, hover states)
   ════════════════════════════════════════════════════════════ */

/* Scroll-reveal (progressive enhancement — JS adds these classes) */
.nu-reveal { opacity:0; transform:translateY(28px); transition:opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1); }
.nu-reveal.nu-visible { opacity:1; transform:translateY(0); }
.nu-reveal-stagger > * { opacity:0; transform:translateY(22px); transition:opacity .55s cubic-bezier(.22,.61,.36,1), transform .55s cubic-bezier(.22,.61,.36,1); }
.nu-reveal-stagger.nu-visible > * { opacity:1; transform:translateY(0); }
.nu-reveal-stagger.nu-visible > *:nth-child(1){transition-delay:.04s}
.nu-reveal-stagger.nu-visible > *:nth-child(2){transition-delay:.10s}
.nu-reveal-stagger.nu-visible > *:nth-child(3){transition-delay:.16s}
.nu-reveal-stagger.nu-visible > *:nth-child(4){transition-delay:.22s}
.nu-reveal-stagger.nu-visible > *:nth-child(5){transition-delay:.28s}
@media (prefers-reduced-motion: reduce) {
    .nu-reveal, .nu-reveal-stagger > *, .nu-exam-mockup, .nu-hp-hero-glow, .nu-sticky-bar, .nu-em-score-fill { animation:none !important; opacity:1 !important; transform:none !important; transition:none !important; }
}

.nu-hp-wrap ::selection { background:#2563eb; color:#fff; }

/* Hero polish */
.nu-hp-hero-glow { animation:nu-drift 13s ease-in-out infinite alternate; }
.nu-glow-teal { animation-delay:-6.5s; }
@keyframes nu-drift { 0%{transform:translate(0,0) scale(1)} 100%{transform:translate(-24px,22px) scale(1.08)} }
.nu-hp-hero-badge { transition:background .25s, border-color .25s, transform .25s; }
.nu-hp-hero-badge:hover { background:rgba(37,99,235,.22); border-color:rgba(96,165,250,.5); transform:translateY(-1px); }
.nu-hp-hero-btn-primary { position:relative; transition:transform .22s cubic-bezier(.4,0,.2,1), box-shadow .22s; }
.nu-hp-hero-btn-primary::after { content:''; position:absolute; inset:-3px; border-radius:15px; background:linear-gradient(135deg,#60a5fa,#34d399); opacity:0; z-index:-1; filter:blur(12px); transition:opacity .3s; }
.nu-hp-hero-btn-primary:hover::after { opacity:.55; }
.nu-hp-hero-btn-primary svg { transition:transform .25s cubic-bezier(.4,0,.2,1); }
.nu-hp-hero-btn-primary:hover svg { transform:translateX(3px); }
.nu-hp-hero-stat strong { transition:color .25s; }
.nu-hp-hero-stat:hover strong { color:#60a5fa; }

/* Course cards polish */
.nu-course-card { transition:transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s cubic-bezier(.22,.61,.36,1), border-color .3s; }
.nu-course-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,#2563eb,#34d399); transform:scaleX(0); transform-origin:left; transition:transform .35s cubic-bezier(.22,.61,.36,1); }
.nu-course-card:hover::before { transform:scaleX(1); }
.nu-course-sp::before   { background:linear-gradient(90deg,#dc2626,#f87171); }
.nu-course-cysa::before { background:linear-gradient(90deg,#16a34a,#4ade80); }
.nu-course-card:hover { transform:translateY(-6px); box-shadow:0 16px 40px rgba(15,23,42,.12); }
.nu-course-icon { transition:transform .3s cubic-bezier(.34,1.56,.64,1); display:inline-block; }
.nu-course-card:hover .nu-course-icon { transform:scale(1.15) rotate(-6deg); }
.nu-course-cta span { display:inline-block; transition:transform .25s cubic-bezier(.4,0,.2,1); }
.nu-course-card:hover .nu-course-cta span { transform:translateX(5px); }
.nu-course-badge { transition:transform .25s; }
.nu-course-card:hover .nu-course-badge { transform:scale(1.06); }

/* VS section polish */
.nu-vs-col { transition:transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s; }
.nu-vs-col:hover { transform:translateY(-4px); box-shadow:0 16px 40px rgba(15,23,42,.08); }
.nu-vs-list li { transition:transform .2s; }
.nu-vs-good li:hover { transform:translateX(4px); }

/* Practice exam CTA polish */
.nu-exam-mockup { animation:nu-float 5s ease-in-out infinite; transition:box-shadow .3s; }
@keyframes nu-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
.nu-hp-exam-btn { position:relative; overflow:hidden; transition:transform .22s, box-shadow .22s; }
.nu-hp-exam-btn::before { content:''; position:absolute; inset:0; background:rgba(255,255,255,.2); transform:translateX(-100%); transition:transform .4s; }
.nu-hp-exam-btn:hover::before { transform:translateX(0); }
.nu-hp-exam-btn:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(37,99,235,.35); }
.nu-exam-btn-red:hover { box-shadow:0 10px 24px rgba(220,38,38,.35); }
.nu-em-opt { transition:background .2s, border-color .2s; }
.nu-em-score-fill { animation:nu-score-fill 1.3s cubic-bezier(.22,.61,.36,1) .3s both; }
@keyframes nu-score-fill { from{width:0} }

/* Roadmap polish */
.nu-roadmap-track::before { transform:scaleX(0); transform-origin:left; transition:transform 1.1s cubic-bezier(.22,.61,.36,1); }
.nu-roadmap-track.nu-visible::before { transform:scaleX(1); }
.nu-roadmap-num { transition:transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s; }
.nu-roadmap-step:hover .nu-roadmap-num { transform:scale(1.12) translateY(-3px); }
.nu-hp-roadmap-link { transition:transform .25s cubic-bezier(.4,0,.2,1), box-shadow .25s, background .18s, border-color .18s; }
.nu-hp-roadmap-link:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(37,99,235,.15); }

/* Latest articles polish */
.nu-hp-col { transition:box-shadow .3s, transform .3s; }
.nu-hp-col:hover { box-shadow:0 12px 32px rgba(15,23,42,.06); }
.nu-hp-list-img { overflow:hidden; }
.nu-hp-list-img img { transition:transform .4s cubic-bezier(.22,.61,.36,1); }
.nu-hp-list-item:hover .nu-hp-list-img img { transform:scale(1.1); }
.nu-hp-list-body h4 { transition:color .2s; }
.nu-hp-list-item:hover .nu-hp-list-body h4 { color:#2563eb; }

/* Community polish */
.nu-hp-comment-card { transition:transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s, border-color .3s; }
.nu-hp-comment-card:hover { transform:translateY(-5px); box-shadow:0 16px 36px rgba(15,23,42,.08); border-color:#bfdbfe; }
.nu-comment-quote { transition:transform .3s, color .3s; }
.nu-hp-comment-card:hover .nu-comment-quote { color:#93c5fd; transform:scale(1.1) rotate(-4deg); }

/* Newsletter polish */
.nu-hp-nl-form { transition:box-shadow .3s, border-color .3s; }
.nu-hp-nl-form:focus-within { border-color:#60a5fa; box-shadow:0 0 0 4px rgba(96,165,250,.18); }
.nu-hp-nl-form button { transition:background .18s, transform .18s; }
.nu-hp-nl-form button:hover { transform:none; }
.nu-hp-nl-features span { display:inline-block; transition:transform .2s; }
.nu-hp-nl-features span:hover { transform:translateX(4px); }

/* Sticky bar entrance */
.nu-sticky-bar { animation:nu-slide-down .4s cubic-bezier(.22,.61,.36,1); }
@keyframes nu-slide-down { from{transform:translateY(-100%)} to{transform:translateY(0)} }
.nu-sticky-bar-btn { transition:transform .2s, box-shadow .2s; }
.nu-sticky-bar-btn:hover { transform:scale(1.05); box-shadow:0 4px 12px rgba(37,99,235,.4); }

/* ════════════════════════════════════════════════════════════
   v4.2 — ENGAGEMENT LAYER (progress bar, back-to-top, tilt, counters)
   ════════════════════════════════════════════════════════════ */

/* Top scroll progress bar */
.nu-scroll-progress {
    position:fixed; top:0; left:0; height:3px; width:0%;
    background:linear-gradient(90deg,#2563eb,#34d399,#60a5fa);
    z-index:1001; transition:width .12s ease-out;
    box-shadow:0 0 8px rgba(37,99,235,.6);
}

/* Back to top button */
.nu-back-to-top {
    position:fixed; right:22px; bottom:22px; z-index:998;
    width:46px; height:46px; border-radius:50%; border:none; cursor:pointer;
    background:#0f172a; color:#fff; display:flex; align-items:center; justify-content:center;
    box-shadow:0 8px 24px rgba(15,23,42,.28);
    opacity:0; visibility:hidden; transform:translateY(12px) scale(.9);
    transition:opacity .25s, transform .25s, visibility .25s, background .2s, box-shadow .2s;
}
.nu-back-to-top.nu-show { opacity:1; visibility:visible; transform:translateY(0) scale(1); }
.nu-back-to-top:hover { background:#2563eb; box-shadow:0 10px 28px rgba(37,99,235,.4); transform:translateY(-3px) scale(1.04); }
@media(max-width:700px){ .nu-back-to-top { right:16px; bottom:16px; width:42px; height:42px; } }

/* Course card 3D tilt (JS-driven via inline transform on pointer devices) */
.nu-course-card { transform-style:preserve-3d; will-change:transform; }
.nu-course-card .nu-course-card-top,
.nu-course-card .nu-course-desc,
.nu-course-card .nu-course-cta { transform:translateZ(18px); }

/* Reduced-motion: disable engagement-layer motion too */
@media (prefers-reduced-motion: reduce) {
    .nu-scroll-progress { transition:none; }
    .nu-back-to-top { transition:opacity .01s, visibility .01s; }
    .nu-course-card { transform:none !important; }
}

/* ════════════════════════════════════════════════════════════
   v4.3 — QUICK-NAV + FAQ
   ════════════════════════════════════════════════════════════ */

/* Sticky quick-nav (appears once user scrolls past the hero) */
.nu-quicknav {
    position:fixed; top:0; left:0; right:0; z-index:1000;
    background:rgba(15,23,42,.92); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(255,255,255,.08);
    transform:translateY(-100%); transition:transform .3s cubic-bezier(.22,.61,.36,1);
}
.nu-quicknav.nu-show { transform:translateY(0); }
.nu-quicknav-inner { max-width:1180px; margin:0 auto; padding:11px 24px; display:flex; gap:26px; align-items:center; justify-content:center; flex-wrap:wrap; }
.nu-quicknav-inner a { color:#cbd5e1; font-size:13px; font-weight:600; text-decoration:none; padding:4px 2px; position:relative; transition:color .2s; }
.nu-quicknav-inner a::after { content:''; position:absolute; left:0; right:0; bottom:-3px; height:2px; background:#60a5fa; transform:scaleX(0); transform-origin:left; transition:transform .25s; }
.nu-quicknav-inner a:hover { color:#fff; }
.nu-quicknav-inner a:hover::after { transform:scaleX(1); }
.nu-sticky-bar.nu-hide-for-quicknav { opacity:0; pointer-events:none; transition:opacity .2s; }
@media(max-width:700px){ .nu-quicknav-inner { gap:16px; padding:9px 16px; } .nu-quicknav-inner a { font-size:12px; } }

/* FAQ */
.nu-hp-faq { padding:64px 0; background:#f8fafc; }
.nu-faq-list { max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:12px; }
.nu-faq-item { background:#fff; border:1.5px solid #e2e8f0; border-radius:12px; overflow:hidden; transition:border-color .2s, box-shadow .2s; }
.nu-faq-item:hover { border-color:#bfdbfe; box-shadow:0 6px 20px rgba(15,23,42,.05); }
.nu-faq-item summary {
    padding:16px 20px; font-size:15px; font-weight:700; color:#0f172a; cursor:pointer;
    list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px;
}
.nu-faq-item summary::-webkit-details-marker { display:none; }
.nu-faq-icon { color:#2563eb; font-size:20px; flex-shrink:0; transition:transform .25s cubic-bezier(.4,0,.2,1); line-height:1; }
.nu-faq-item[open] .nu-faq-icon { transform:rotate(45deg); }
.nu-faq-answer { padding:0 20px 18px; font-size:14px; color:#475569; line-height:1.7; border-top:1px solid #f1f5f9; margin-top:2px; padding-top:12px; }

/* ── Coming Soon card style ─────────────────────────────── */
.nu-course-soon {
    opacity: .75;
    cursor: default;
    pointer-events: none;
}
.nu-course-soon:hover { transform: none !important; box-shadow: none !important; }
.nu-course-soon .nu-course-cta { pointer-events: all; }
.nu-badge-soon { background:#fffbeb; color:#d97706; border:1px solid #fde68a; font-size:11px; font-weight:700; padding:4px 10px; border-radius:999px; }
.nu-cta-soon { color:#f59e0b !important; font-size:13px; }
.nu-cta-soon a { text-decoration:underline; }
