/* Nilmad 2026 landing page
   A warm, high-energy marketing surface that is deliberately isolated from
   the signed-in product. The legacy landing remains in the document as a
   rollback safety net, but only .nl-page is displayed. */

#lpSite > :not(.nl-page) { display: none !important; }

.nl-page {
  --nl-bg: #fffaf1;
  --nl-paper: #ffffff;
  --nl-ink: #19162b;
  --nl-soft: #625d73;
  --nl-line: rgba(25, 22, 43, .12);
  --nl-violet: #5b3df5;
  --nl-violet-deep: #3b24be;
  --nl-violet-soft: #eeeaff;
  --nl-lime: #dcff65;
  --nl-coral: #ff715f;
  --nl-blue: #72ddff;
  --nl-pink: #ff92ca;
  --nl-shadow: 0 26px 70px rgba(48, 33, 104, .14);
  --nl-shadow-soft: 0 14px 38px rgba(48, 33, 104, .09);
  direction: rtl;
  overflow: hidden;
  background: var(--nl-bg);
  color: var(--nl-ink);
}

.nl-page *, .nl-page *::before, .nl-page *::after { box-sizing: border-box; }
.nl-page h1, .nl-page h2, .nl-page h3 { text-wrap: balance; }
.nl-page em { color: var(--nl-violet); font-style: normal; }
.nl-page a { color: inherit; }
.nl-shell { width: min(1240px, calc(100% - 48px)); margin-inline: auto; }

/* Marketing header: a floating glass rail on the opening frame, then a calm
   full-width bar after the hero. The extra specificity clears the legacy
   violet-hero assumptions in design.css. */
.landing .lp-bar { top: 12px; padding-inline: 16px; border: 0; isolation: isolate; }
.landing .lp-bar::before { display: none; }
.landing .lp-bar-inner {
  width: min(1240px, 100%);
  min-height: 64px;
  padding: 8px 10px 8px 18px;
  border: 1px solid rgba(255, 255, 255, .7);
  border-radius: 20px;
  background: rgba(255, 255, 255, .78);
  color: #19162b;
  box-shadow: 0 10px 34px rgba(30, 24, 65, .09);
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
}
.landing .lp-bar[data-scrolled] { top: 0; padding-inline: 0; }
.landing .lp-bar[data-scrolled] .lp-bar-inner {
  width: 100%; max-width: none; min-height: 68px; padding-inline: max(24px, calc((100% - 1240px) / 2));
  border-width: 0 0 1px; border-color: rgba(25,22,43,.12); border-radius: 0;
  background: rgba(255,250,241,.94); color: #19162b; box-shadow: none;
}
.landing .lp-bar:not([data-scrolled]) .brand,
.landing .lp-bar:not([data-scrolled]) .lp-nav a,
.landing .lp-bar:not([data-scrolled]) .lp-signin { color: #19162b; }
.landing .lp-bar .brand { text-decoration: none; }
.landing .lp-bar .brand span { font-size: 1.3rem; font-weight: 800; }
.landing .lp-bar .brand-mark { width: 33px; }
.landing .lp-nav { display: flex; align-items: center; gap: 4px; margin-inline: auto; }
.landing .lp-nav a { padding: 10px 13px; border-radius: 999px; font-size: .92rem; font-weight: 650; text-decoration: none; }
.landing .lp-nav a:hover { background: rgba(91, 61, 245, .09); color: #5b3df5; }
.landing .lp-bar-side { gap: 5px; }
.landing .lp-signin { min-height: 44px; padding-inline: 14px; }
.landing .primary.lp-bar-cta,
.landing .lp-bar:not([data-scrolled]) .lp-bar-cta {
  min-height: 44px; padding: 10px 20px; border-radius: 13px; background: #19162b; color: #fff;
  box-shadow: none; font-weight: 750;
}
.landing .primary.lp-bar-cta:hover,
.landing .lp-bar:not([data-scrolled]) .lp-bar-cta:hover { background: #5b3df5; color: #fff; transform: translateY(-1px); }
.landing .lp-bar .theme-toggle { display: none !important; }

/* Shared type and actions */
.nl-kicker {
  display: inline-flex; align-items: center; gap: 10px; margin: 0 0 20px;
  color: var(--nl-violet); font-size: .82rem; font-weight: 800; letter-spacing: .015em;
}
.nl-kicker::before { content: ""; width: 22px; height: 3px; border-radius: 99px; background: currentColor; }
.nl-kicker > span { padding: 5px 9px; border-radius: 999px; background: var(--nl-lime); color: #252019; font-size: .72rem; }
.nl-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.nl-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 54px;
  padding: 14px 24px; border: 1px solid transparent; border-radius: 16px; font-weight: 750; text-decoration: none;
  transition: transform 180ms ease, background-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}
.nl-button:hover { transform: translateY(-3px); }
.nl-button-primary { background: var(--nl-violet); color: #fff !important; box-shadow: 0 12px 28px rgba(91, 61, 245, .28); }
.nl-button-primary:hover { background: var(--nl-violet-deep); box-shadow: 0 16px 34px rgba(91, 61, 245, .35); }
.nl-button-ghost { border-color: var(--nl-line); background: rgba(255, 255, 255, .5); color: var(--nl-ink); }
.nl-button-light { background: #fff; color: #19162b !important; box-shadow: 0 16px 38px rgba(19, 8, 57, .25); }
.nl-button-light:hover { background: var(--nl-lime); }
.nl-button-dark-ghost { border-color: rgba(255, 255, 255, .26); color: #fff !important; }
.nl-button-dark-ghost:hover { background: rgba(255, 255, 255, .1); }
.nl-text-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 24px; color: var(--nl-violet) !important; font-weight: 800; text-decoration: none; }
.nl-text-link:hover .ic { transform: translateX(-4px); }
.nl-text-link .ic { transition: transform 180ms ease; }

/* Hero */
.nl-hero {
  position: relative; min-height: 940px; padding: 150px 0 96px; isolation: isolate;
  background:
    radial-gradient(900px 520px at 88% 15%, rgba(114, 221, 255, .32), transparent 65%),
    radial-gradient(720px 560px at 14% 72%, rgba(255, 146, 202, .22), transparent 68%),
    linear-gradient(145deg, #fffdf8 0%, #f7f3ff 52%, #f6fff0 100%);
  color: #19162b;
}
.nl-hero::before {
  content: ""; position: absolute; inset: 0; z-index: -2; opacity: .28; pointer-events: none;
  background-image: radial-gradient(rgba(91, 61, 245, .26) .75px, transparent .75px); background-size: 18px 18px;
  mask-image: linear-gradient(to bottom, transparent 0%, #000 18%, #000 72%, transparent 100%);
}
.nl-hero-grid { display: grid; grid-template-columns: minmax(390px, .84fr) minmax(560px, 1.16fr); align-items: center; gap: clamp(32px, 5vw, 78px); }
.nl-hero-copy { position: relative; z-index: 2; }
.nl-hero h1 { max-width: 650px; margin: 0; font-size: clamp(3.65rem, 5.75vw, 5.7rem); line-height: .94; letter-spacing: -.052em; font-weight: 800; }
.nl-hero h1 em { position: relative; display: inline; background: linear-gradient(120deg, var(--nl-violet) 12%, #8e45ef 58%, #d4479f 100%); background-clip: text; -webkit-background-clip: text; color: transparent; }
.nl-hero-lead { max-width: 570px; margin: 28px 0 32px; color: #555064; font-size: clamp(1.05rem, 1.4vw, 1.22rem); line-height: 1.7; }
.nl-hero-business { max-width: 570px; margin: -16px 0 28px; padding-right: 15px; border-right: 3px solid var(--nl-lime); color: #302a43; font-size: .96rem; font-weight: 750; line-height: 1.6; }
.nl-proof-row { display: flex; flex-wrap: wrap; gap: 12px 20px; margin: 26px 0 0; padding: 0; list-style: none; color: #6b6576; font-size: .85rem; font-weight: 650; }
.nl-proof-row li { display: inline-flex; align-items: center; gap: 6px; }
.nl-proof-row .ic { width: 17px; height: 17px; padding: 3px; border-radius: 50%; background: var(--nl-lime); color: #252019; }

.nl-hero-orbit { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.nl-hero-orbit i { position: absolute; display: block; border-radius: 50%; filter: blur(1px); }
.nl-hero-orbit i:nth-child(1) { width: 28px; height: 28px; inset: 18% auto auto 7%; background: var(--nl-lime); animation: nl-orbit-a 7s ease-in-out infinite; }
.nl-hero-orbit i:nth-child(2) { width: 15px; height: 15px; inset: auto 8% 19% auto; background: var(--nl-coral); animation: nl-orbit-b 8.5s ease-in-out infinite; }
.nl-hero-orbit i:nth-child(3) { width: 62px; height: 62px; inset: auto auto 8% 39%; border: 12px solid var(--nl-blue); animation: nl-orbit-a 11s ease-in-out infinite reverse; }
@keyframes nl-orbit-a { 0%,100% { transform: translate(0,0) rotate(0); } 50% { transform: translate(18px,-24px) rotate(16deg); } }
@keyframes nl-orbit-b { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(-22px,16px) scale(1.35); } }

/* Product composition */
.nl-product-stage { position: relative; min-height: 570px; direction: rtl; transform: perspective(1200px) rotateX(calc(var(--tilt-x, 0) * 1deg)) rotateY(calc(var(--tilt-y, 0) * 1deg)); transition: transform 240ms cubic-bezier(.22,1,.36,1); }
.nl-product-stage[data-tilting] { transition: none; }
.nl-stage-glow { position: absolute; inset: 12% 4% 2% 7%; border-radius: 50%; background: radial-gradient(circle, rgba(91,61,245,.27), transparent 66%); filter: blur(36px); }
.nl-browser { position: absolute; inset: 42px 12px 52px 56px; overflow: hidden; border: 1px solid rgba(255,255,255,.88); border-radius: 25px; background: #fff; box-shadow: 0 34px 90px rgba(46,29,103,.24), 0 4px 0 rgba(25,22,43,.06); transform: rotate(-1.2deg); }
.nl-browser-top { height: 58px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; padding: 0 18px; border-bottom: 1px solid #ece9f1; color: #29243c; }
.nl-browser-brand { display: flex; align-items: center; gap: 6px; font-size: .86rem; font-weight: 800; }
.nl-browser-brand .brand-mark { width: 24px; height: 20px; }
.nl-browser-course { color: #736d80; font-size: .72rem; font-weight: 650; }
.nl-avatar { justify-self: end; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #eeeaff; color: var(--nl-violet); font-size: .76rem; font-weight: 800; }
.nl-browser-body { height: calc(100% - 58px); display: grid; grid-template-columns: 148px 1fr; }
.nl-course-list { padding: 23px 14px; border-left: 1px solid #ece9f1; background: #fbfafd; }
.nl-course-list p { margin: 0 8px 14px; color: #8b8596; font-size: .67rem; font-weight: 700; }
.nl-course-list span { display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 7px 8px; border-radius: 10px; color: #7b7588; font-size: .68rem; font-weight: 650; }
.nl-course-list b { display: grid; place-items: center; width: 21px; height: 21px; border: 1px solid #dcd7e5; border-radius: 7px; color: #9892a2; font-size: .61rem; }
.nl-course-list .is-done b { border: 0; background: #dfffb0; color: #365719; }
.nl-course-list .is-now { background: #eeeaff; color: #3e2aac; }
.nl-course-list .is-now b { border: 0; background: var(--nl-violet); color: #fff; }
.nl-lesson-preview { padding: 25px 24px; background: #fff; }
.nl-video-art { position: relative; overflow: hidden; aspect-ratio: 16/9; border-radius: 18px; background:
  radial-gradient(circle at 20% 22%, rgba(255,255,255,.21), transparent 24%),
  radial-gradient(circle at 78% 64%, rgba(255,113,95,.5), transparent 29%),
  linear-gradient(135deg, #27175c 0%, #5b3df5 52%, #b44cc0 100%); }
.nl-video-art::before { content: ""; position: absolute; inset: 0; opacity: .3; background: repeating-linear-gradient(118deg, transparent 0 34px, rgba(255,255,255,.1) 34px 35px); }
.nl-revenue-art { display: flex; flex-direction: column; justify-content: center; padding: 58px 22px 18px; background: radial-gradient(circle at 16% 18%,rgba(220,255,101,.26),transparent 24%),linear-gradient(135deg,#211551 0%,#5b3df5 56%,#9c45c8 100%); }
.nl-revenue-art > * { position: relative; z-index: 1; }
.nl-revenue-total { color: #fff; font-size: clamp(2rem,4.6vw,3.4rem); line-height: 1; letter-spacing: -.055em; direction: ltr; text-align: right; }
.nl-revenue-delta { width: fit-content; margin-top: 7px; padding: 5px 8px; border-radius: 999px; background: rgba(220,255,101,.16); color: var(--nl-lime); font-size: .6rem; font-weight: 800; }
.nl-revenue-bars { display: flex; align-items: flex-end; gap: 6px; height: 70px; margin-top: 15px; padding-top: 8px; border-bottom: 1px solid rgba(255,255,255,.22); }
.nl-revenue-bars i { flex: 1; height: 25%; border-radius: 5px 5px 1px 1px; background: linear-gradient(to top,var(--nl-lime),#fff); opacity: .55; transform-origin: bottom; animation: nl-revenue-rise 2.4s ease-in-out infinite alternate; }
.nl-revenue-bars i:nth-child(2){height:34%;animation-delay:.1s}.nl-revenue-bars i:nth-child(3){height:29%;animation-delay:.2s}.nl-revenue-bars i:nth-child(4){height:48%;animation-delay:.3s}.nl-revenue-bars i:nth-child(5){height:44%;animation-delay:.4s}.nl-revenue-bars i:nth-child(6){height:61%;animation-delay:.5s}.nl-revenue-bars i:nth-child(7){height:58%;animation-delay:.6s}.nl-revenue-bars i:nth-child(8){height:76%;animation-delay:.7s}.nl-revenue-bars i:nth-child(9){height:70%;animation-delay:.8s}.nl-revenue-bars i:nth-child(10){height:94%;opacity:1;animation-delay:.9s}
@keyframes nl-revenue-rise { from { transform: scaleY(.72); } to { transform: scaleY(1); } }
.nl-revenue-goal { margin-top: 7px; color: rgba(255,255,255,.72); font-size: .55rem; }
.nl-live-pill { position: absolute; top: 16px; right: 16px; display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border-radius: 999px; background: rgba(20,14,46,.56); color: #fff; font-size: .64rem; font-weight: 700; backdrop-filter: blur(8px); }
.nl-live-pill i { width: 6px; height: 6px; border-radius: 50%; background: var(--nl-lime); box-shadow: 0 0 0 4px rgba(220,255,101,.14); }
.nl-play { position: absolute; inset: 50% auto auto 50%; display: grid; place-items: center; width: 62px; height: 62px; border-radius: 22px; background: var(--nl-lime); color: #211a35; box-shadow: 0 16px 32px rgba(14,7,42,.28); transform: translate(-50%,-50%) rotate(3deg); transition: transform 180ms ease; }
.nl-play:hover { transform: translate(-50%,-50%) rotate(0) scale(1.08); }
.nl-play .ic { width: 25px; height: 25px; }
.nl-subtitle { position: absolute; bottom: 31px; left: 50%; width: max-content; max-width: 82%; margin: 0; padding: 5px 10px; border-radius: 6px; background: rgba(11,8,24,.82); color: #fff; font-size: .68rem; font-weight: 650; transform: translateX(-50%); }
.nl-watermark { position: absolute; left: 20px; top: 20px; color: rgba(255,255,255,.54); font-family: Arial,sans-serif; font-size: .56rem; direction: ltr; }
.nl-video-line { position: absolute; left: 17px; right: 17px; bottom: 15px; height: 4px; border-radius: 99px; background: rgba(255,255,255,.24); }
.nl-video-line i { display: block; width: 68%; height: 100%; border-radius: inherit; background: var(--nl-lime); animation: nl-video-progress 6s ease-in-out infinite alternate; }
.nl-product-stage:not([data-playing]) .nl-video-line i { animation-play-state: paused; }
.nl-product-stage[data-playing] .nl-play { top: auto; bottom: 24px; left: 48px; width: 40px; height: 40px; border-radius: 13px; opacity: .88; transform: none; }
.nl-product-stage[data-playing] .nl-play:hover { transform: scale(1.06); opacity: 1; }
.nl-product-stage[data-playing] .nl-play .ic { width: 18px; height: 18px; }
@keyframes nl-video-progress { to { width: 84%; } }
.nl-lesson-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 17px; color: #29243c; }
.nl-lesson-meta div { display: grid; gap: 4px; }
.nl-lesson-meta small { color: #8c8698; font-size: .67rem; }
.nl-lesson-meta strong { font-size: .83rem; }
.nl-score-ring { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 50%; background: radial-gradient(circle closest-side,#fff 76%,transparent 77% 99%),conic-gradient(var(--nl-violet) 68%,#e9e5ef 0); color: #34248c; font-size: .78rem; font-weight: 800; direction: ltr; }
.nl-score-ring small { color: inherit; font-size: .5rem; }

.nl-phone { position: absolute; z-index: 3; left: -16px; bottom: 12px; width: 180px; height: 350px; overflow: hidden; padding: 14px 13px 12px; border: 5px solid #211c31; border-radius: 32px; background: #fffaf1; color: #252035; box-shadow: 0 28px 70px rgba(30,18,71,.28); transform: rotate(3.5deg); animation: nl-phone-float 5s ease-in-out infinite; }
@keyframes nl-phone-float { 0%,100% { translate: 0 0; } 50% { translate: 0 -10px; } }
.nl-phone-top { display: flex; align-items: center; justify-content: space-between; padding-inline: 4px; font-size: .52rem; font-weight: 800; direction: ltr; }
.nl-phone-top i { width: 42px; height: 12px; border-radius: 99px; background: #211c31; }
.nl-phone-hi { margin: 27px 2px 12px; font-size: .84rem; font-weight: 800; }
.nl-streak-card { display: flex; align-items: center; gap: 9px; padding: 10px; border-radius: 15px; background: #251b43; color: #fff; }
.nl-flame { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: rgba(255,255,255,.1); font-size: 1.15rem; }
.nl-streak-card div { display: grid; gap: 2px; }
.nl-streak-card strong { font-size: .68rem; }
.nl-streak-card small { color: #c8c0da; font-size: .5rem; }
.nl-phone-course { display: flex; gap: 9px; margin-top: 12px; padding: 9px; border-radius: 14px; background: #fff; box-shadow: 0 8px 20px rgba(37,27,67,.08); }
.nl-mini-art { flex: none; width: 48px; height: 58px; border-radius: 10px; background: linear-gradient(145deg,var(--nl-blue),var(--nl-violet)); }
.nl-phone-course div { flex: 1; display: grid; align-content: center; gap: 2px; min-width: 0; }
.nl-phone-course small { color: #888193; font-size: .48rem; }
.nl-phone-course strong { font-size: .65rem; }
.nl-phone-course i { height: 4px; margin-top: 5px; border-radius: 99px; background: #ece7f3; }
.nl-phone-course i b { display: block; width: 68%; height: 100%; border-radius: inherit; background: var(--nl-violet); }
.nl-phone-nav { position: absolute; right: 13px; left: 13px; bottom: 13px; display: flex; align-items: center; justify-content: space-around; height: 42px; border-radius: 14px; background: #fff; color: #8d8797; box-shadow: 0 7px 20px rgba(37,27,67,.08); font-size: .76rem; }
.nl-phone-nav span:nth-child(2) { color: var(--nl-violet); }
.nl-float { position: absolute; z-index: 4; display: flex; align-items: center; gap: 9px; padding: 11px 14px; border: 1px solid rgba(255,255,255,.75); border-radius: 16px; background: rgba(255,255,255,.9); color: #282238; box-shadow: 0 16px 34px rgba(42,27,91,.17); backdrop-filter: blur(12px); }
.nl-float-award { top: 0; left: 74px; animation: nl-badge-float 6.2s ease-in-out infinite; }
.nl-float-award > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 12px; background: #fff0b7; }
.nl-float-award div { display: grid; gap: 1px; }
.nl-float-award small { color: #81798f; font-size: .58rem; }
.nl-float-award strong { font-size: .72rem; }
.nl-float-caption { right: -18px; bottom: 35px; padding: 10px 13px; animation: nl-badge-float 7.4s ease-in-out infinite reverse; }
.nl-float-caption .ic { width: 18px; color: var(--nl-violet); }
.nl-float-caption strong { font-size: .67rem; }
@keyframes nl-badge-float { 0%,100% { translate: 0 0; rotate: -1deg; } 50% { translate: 0 -9px; rotate: 1deg; } }
.nl-sparkle { position: absolute; z-index: 5; color: var(--nl-violet); font-size: 1.6rem; animation: nl-spark 3.2s ease-in-out infinite; }
.nl-sparkle-a { top: 19%; right: -10px; }
.nl-sparkle-b { bottom: 4%; left: 44%; color: var(--nl-coral); animation-delay: 1.3s; }
@keyframes nl-spark { 0%,100% { opacity: .35; transform: rotate(0) scale(.8); } 50% { opacity: 1; transform: rotate(35deg) scale(1.2); } }
.nl-scroll-cue { position: absolute; right: 50%; bottom: 24px; display: inline-flex; align-items: center; gap: 10px; color: #716b7b !important; font-size: .76rem; font-weight: 700; text-decoration: none; transform: translateX(50%); }
.nl-scroll-cue i { display: block; width: 28px; height: 42px; border: 1px solid rgba(25,22,43,.25); border-radius: 99px; }
.nl-scroll-cue i::before { content: ""; display: block; width: 4px; height: 8px; margin: 8px auto; border-radius: 99px; background: var(--nl-violet); animation: nl-scroll-dot 1.7s ease-in-out infinite; }
@keyframes nl-scroll-dot { 0% { translate: 0 0; opacity: 0; } 35% { opacity: 1; } 100% { translate: 0 16px; opacity: 0; } }

/* Moving value ribbon */
.nl-ticker { overflow: hidden; padding: 18px 0; background: #19162b; color: #fff; transform: rotate(-1deg) scale(1.015); }
.nl-ticker-track { display: flex; align-items: center; width: max-content; gap: 24px; white-space: nowrap; animation: nl-ticker 34s linear infinite; }
.nl-ticker-track span { font-size: .93rem; font-weight: 750; }
.nl-ticker-track i { color: var(--nl-lime); font-style: normal; }
@keyframes nl-ticker { to { transform: translateX(50%); } }

/* Main sections */
.nl-section { position: relative; padding: 130px 0; background: var(--nl-bg); }
.nl-section-head { max-width: 780px; margin-bottom: 56px; }
.nl-section-head h2, .nl-feature-head h2 { margin: 0; font-size: clamp(2.7rem, 5vw, 5rem); line-height: 1; letter-spacing: -.045em; font-weight: 800; }
.nl-section-head > p:last-child { max-width: 660px; margin-top: 24px; color: var(--nl-soft); font-size: 1.12rem; line-height: 1.75; }
.nl-intro::before { content: ""; position: absolute; width: 520px; height: 520px; top: 10%; left: -260px; border-radius: 50%; background: rgba(220,255,101,.26); filter: blur(2px); }
.nl-three-acts { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.nl-act { position: relative; min-height: 400px; overflow: hidden; padding: 28px; border: 1px solid var(--nl-line); border-radius: 28px; background: var(--nl-paper); box-shadow: var(--nl-shadow-soft); }
.nl-act-number { position: absolute; top: 24px; left: 24px; color: var(--nl-soft); font-size: .72rem; font-weight: 800; }
.nl-act-icon { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 28px; border-radius: 17px; background: var(--nl-violet-soft); color: var(--nl-violet); transform: rotate(3deg); }
.nl-act-icon .ic { width: 24px; height: 24px; }
.nl-old-way { display: block; margin: -12px 0 8px; color: var(--nl-violet); font-size: .72rem; font-weight: 850; }
.nl-act h3 { margin: 0; font-size: 2rem; letter-spacing: -.03em; }
.nl-act > p { margin-top: 12px; color: var(--nl-soft); line-height: 1.65; }
.nl-act-demo { position: absolute; right: 28px; bottom: 28px; left: 28px; height: 108px; border-radius: 20px; }
.nl-act-watch { background: linear-gradient(160deg,var(--nl-paper) 55%,rgba(114,221,255,.2)); }
.nl-act-learn { background: linear-gradient(160deg,var(--nl-paper) 55%,rgba(220,255,101,.25)); }
.nl-act-win { background: linear-gradient(160deg,var(--nl-paper) 55%,rgba(255,146,202,.2)); }
.nl-wave-demo { display: flex; align-items: center; justify-content: center; gap: 7px; background: #201a38; }
.nl-wave-demo i { width: 7px; border-radius: 99px; background: linear-gradient(to top,var(--nl-violet),var(--nl-blue)); animation: nl-wave 1.25s ease-in-out infinite alternate; }
.nl-wave-demo i:nth-child(1),.nl-wave-demo i:nth-child(8){height:28%}.nl-wave-demo i:nth-child(2),.nl-wave-demo i:nth-child(7){height:48%;animation-delay:.1s}.nl-wave-demo i:nth-child(3),.nl-wave-demo i:nth-child(6){height:72%;animation-delay:.2s}.nl-wave-demo i:nth-child(4),.nl-wave-demo i:nth-child(5){height:42%;animation-delay:.3s}
@keyframes nl-wave { to { height: 75%; } }
.nl-progress-demo { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 12px 15px; padding: 20px; background: #f2ffd0; color: #282238; }
.nl-progress-demo strong { font-size: 1.45rem; direction: ltr; }
.nl-progress-demo span { height: 10px; border-radius: 99px; background: rgba(40,34,56,.11); }
.nl-progress-demo span i { display: block; width: 66%; height: 100%; border-radius: inherit; background: var(--nl-violet); animation: nl-progress-fill 2.5s ease-in-out infinite alternate; }
@keyframes nl-progress-fill { to { width: 84%; } }
.nl-progress-demo small { grid-column: 1/-1; color: #5f586a; font-weight: 700; }
.nl-medal-demo { display: grid; place-items: center; overflow: hidden; background: linear-gradient(135deg,#ffebac,#ff9bd1); }
.nl-medal-demo span { position: relative; z-index: 2; display: grid; place-items: center; width: 66px; height: 66px; border: 7px solid rgba(255,255,255,.72); border-radius: 50%; background: var(--nl-violet); color: var(--nl-lime); font-size: 1.5rem; box-shadow: 0 12px 25px rgba(59,36,190,.25); animation: nl-medal 3s ease-in-out infinite; }
.nl-medal-demo i { position: absolute; width: 24px; height: 55px; bottom: -8px; background: #fff; clip-path: polygon(0 0,100% 0,100% 100%,50% 78%,0 100%); }
.nl-medal-demo i:nth-of-type(1){translate:-15px 0;rotate:-8deg}.nl-medal-demo i:nth-of-type(2){translate:15px 0;rotate:8deg}
@keyframes nl-medal { 50% { transform: translateY(-6px) rotate(-4deg); } }

/* Gamification story */
.nl-game-section { padding-top: 70px; background: linear-gradient(180deg,var(--nl-bg),color-mix(in srgb,var(--nl-violet-soft) 42%,var(--nl-bg))); }
.nl-story-grid { display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: clamp(52px,8vw,110px); }
.nl-story-copy h2 { margin: 0; font-size: clamp(2.8rem,4.7vw,4.8rem); line-height: 1; letter-spacing: -.045em; }
.nl-story-copy > p:not(.nl-kicker) { margin: 24px 0 30px; color: var(--nl-soft); font-size: 1.08rem; line-height: 1.75; }
.nl-check-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.nl-check-list li { display: flex; align-items: center; gap: 13px; padding: 12px 14px; border: 1px solid var(--nl-line); border-radius: 16px; background: color-mix(in srgb,var(--nl-paper) 72%,transparent); }
.nl-check-list li > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: var(--nl-violet-soft); font-size: 1.1rem; }
.nl-check-list li div { display: grid; gap: 1px; }
.nl-check-list b { font-size: .93rem; }
.nl-check-list small { color: var(--nl-soft); font-size: .78rem; }
.nl-quest-board { position: relative; min-height: 560px; padding: 30px; border: 1px solid rgba(255,255,255,.75); border-radius: 34px; background: #fff; color: #252035; box-shadow: var(--nl-shadow); transform: rotate(1deg); }
.nl-quest-board::before { content: ""; position: absolute; inset: 18px -18px -18px 18px; z-index: -1; border-radius: inherit; background: var(--nl-violet); transform: rotate(-3deg); }
.nl-quest-top { display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.nl-quest-top div { display: grid; gap: 3px; }
.nl-quest-top small { color: #8a8493; }
.nl-quest-top strong { font-size: 1.3rem; }
.nl-quest-top > span { padding: 8px 12px; border-radius: 999px; background: #fff0d3; font-weight: 800; }
.nl-quest-path { display: flex; align-items: flex-start; justify-content: space-between; gap: 5px; margin: 50px 0 42px; }
.nl-quest-path > span { display: grid; justify-items: center; gap: 8px; width: 62px; color: #928b9b; font-size: .66rem; font-weight: 700; }
.nl-quest-path b { display: grid; place-items: center; width: 52px; height: 52px; border: 2px solid #e8e2ed; border-radius: 18px; background: #f9f7fb; font-size: 1rem; }
.nl-quest-path > i { flex: 1; height: 4px; margin-top: 24px; border-radius: 99px; background: #ece7f0; }
.nl-quest-path .is-complete b { border-color: #cceca0; background: var(--nl-lime); color: #334719; }
.nl-quest-path .is-current b { border-color: var(--nl-violet); background: var(--nl-violet); color: #fff; box-shadow: 0 0 0 7px rgba(91,61,245,.12); animation: nl-current 2.2s ease-in-out infinite; }
@keyframes nl-current { 50% { box-shadow: 0 0 0 12px rgba(91,61,245,.04); } }
.nl-quest-path .is-prize b { border: 0; background: #ffe8f5; font-size: 1.3rem; }
.nl-daily-card { padding: 20px; border-radius: 21px; background: #f3efff; }
.nl-daily-card > span { color: var(--nl-violet); font-size: .72rem; font-weight: 800; }
.nl-daily-card > strong { display: block; margin: 6px 0 14px; font-size: 1rem; }
.nl-daily-card div { height: 8px; border-radius: 99px; background: #ded7ee; }
.nl-daily-card div i { display: block; width: 66%; height: 100%; border-radius: inherit; background: var(--nl-violet); }
.nl-daily-card small { display: block; margin-top: 7px; color: #7d758b; }
.nl-unlock-card { display: flex; align-items: center; gap: 12px; margin-top: 14px; padding: 15px 17px; border: 1px solid #f0dba1; border-radius: 18px; background: #fff9e7; }
.nl-unlock-card > span { font-size: 1.25rem; }
.nl-unlock-card div { flex: 1; display: grid; gap: 1px; }
.nl-unlock-card small { color: #8a7d5e; font-size: .65rem; }
.nl-unlock-card strong { font-size: .82rem; }
.nl-unlock-card > b { padding: 5px 8px; border-radius: 8px; background: #2b2539; color: #fff; font-size: .58rem; }

/* Student experience switcher */
.nl-student-section { padding-top: 95px; background: linear-gradient(180deg,var(--nl-bg) 0%,#f2edff 100%); }
.nl-student-head { max-width: 820px; margin-bottom: 48px; }
.nl-student-head h2 { margin: 0; font-size: clamp(2.9rem,5.2vw,5.2rem); line-height: .98; letter-spacing: -.048em; }
.nl-student-head > p:last-child { max-width: 670px; margin-top: 23px; color: var(--nl-soft); font-size: 1.09rem; line-height: 1.74; }
.nl-student-lab { display: grid; grid-template-columns: .78fr 1.22fr; gap: 18px; align-items: stretch; direction: rtl; }
.nl-student-tabs { display: grid; align-content: start; gap: 9px; padding: 12px; border: 1px solid var(--nl-line); border-radius: 28px; background: rgba(255,255,255,.68); box-shadow: var(--nl-shadow-soft); }
.nl-student-tabs button { position: relative; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 15px; min-height: 102px; padding: 17px 18px; border: 1px solid transparent; border-radius: 21px; background: transparent; color: #4d465c; font: inherit; text-align: right; cursor: pointer; transition: color 180ms ease,background 180ms ease,transform 180ms ease,box-shadow 180ms ease; }
.nl-student-tabs button:hover { background: #fff; color: var(--nl-violet); transform: translateX(-3px); }
.nl-student-tabs button[aria-selected="true"] { border-color: rgba(91,61,245,.16); background: #fff; color: #241c47; box-shadow: 0 12px 28px rgba(52,36,125,.12); }
.nl-student-tabs button[aria-selected="true"]::after { content: ""; position: absolute; top: 20px; bottom: 20px; right: -12px; width: 4px; border-radius: 99px; background: var(--nl-violet); box-shadow: 0 0 0 6px rgba(91,61,245,.1); }
.nl-tab-emoji { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 17px; background: #f0ecff; font-size: 1.45rem; }
.nl-student-tabs button[aria-selected="true"] .nl-tab-emoji { background: var(--nl-violet); box-shadow: 0 9px 18px rgba(91,61,245,.22); }
.nl-student-tabs button > span:last-child { display: grid; gap: 4px; }
.nl-student-tabs strong { font-size: 1.04rem; }
.nl-student-tabs small { color: #847d90; font-size: .8rem; line-height: 1.45; }
.nl-student-stage { min-width: 0; }
.nl-student-panel { position: relative; min-height: 650px; overflow: hidden; display: grid; grid-template-rows: auto 1fr; padding: 38px; border: 1px solid rgba(255,255,255,.16); border-radius: 31px; background: radial-gradient(circle at 10% 10%,rgba(114,221,255,.2),transparent 34%),linear-gradient(145deg,#201939 0%,#3b287e 100%); color: #fff; box-shadow: 0 28px 72px rgba(45,29,104,.24); animation: nl-panel-in 440ms cubic-bezier(.22,1,.36,1); }
.nl-student-panel[hidden] { display: none !important; }
@keyframes nl-panel-in { from { opacity: 0; transform: translateX(-18px) scale(.985); } to { opacity: 1; transform: none; } }
.nl-benefit-copy { position: relative; z-index: 4; max-width: 610px; }
.nl-benefit-copy > span { color: var(--nl-lime); font-size: .72rem; font-weight: 850; letter-spacing: .025em; }
.nl-benefit-copy h3 { max-width: 590px; margin: 10px 0 12px; font-size: clamp(2rem,3.2vw,3.2rem); line-height: 1.02; letter-spacing: -.04em; }
.nl-benefit-copy p { max-width: 600px; margin: 0; color: #d2ccdf; font-size: 1.04rem; line-height: 1.72; }
.nl-benefit-scene { position: relative; min-height: 380px; margin-top: 22px; direction: rtl; }

/* App scene */
.nl-scene-app::before { content: ""; position: absolute; width: 330px; height: 330px; bottom: -90px; right: 50%; border-radius: 50%; background: rgba(220,255,101,.18); filter: blur(3px); transform: translateX(50%); }
.nl-app-phone { position: absolute; z-index: 2; top: 6px; right: 50%; width: 194px; height: 356px; overflow: hidden; padding: 17px 15px; border: 5px solid #12101c; border-radius: 34px; background: #fffaf1; color: #211c31; box-shadow: 0 26px 60px rgba(9,5,29,.35); transform: translateX(50%) rotate(-2deg); animation: nl-app-phone 4.8s ease-in-out infinite; }
@keyframes nl-app-phone { 50% { transform: translateX(50%) translateY(-9px) rotate(1deg); } }
.nl-app-status { display: flex; justify-content: space-between; font-size: .5rem; font-weight: 850; direction: ltr; }
.nl-app-status i { width: 44px; height: 12px; border-radius: 99px; background: #171329; }
.nl-app-phone > small { display: block; margin-top: 26px; color: #888191; font-size: .56rem; }
.nl-app-phone > strong { display: block; margin-top: 3px; font-size: .84rem; }
.nl-app-cover { display: grid; place-items: center; height: 126px; margin-top: 13px; border-radius: 18px; background: radial-gradient(circle at 75% 28%,rgba(255,255,255,.2),transparent 24%),linear-gradient(145deg,var(--nl-blue),var(--nl-violet) 58%,var(--nl-coral)); }
.nl-app-cover span { display: grid; place-items: center; width: 45px; height: 45px; padding-right: 2px; border-radius: 15px; background: var(--nl-lime); box-shadow: 0 12px 25px rgba(32,15,76,.24); }
.nl-app-progress { height: 6px; margin-top: 16px; border-radius: 99px; background: #e9e4ef; }
.nl-app-progress i { display: block; width: 68%; height: 100%; border-radius: inherit; background: var(--nl-violet); animation: nl-app-progress 3s ease-in-out infinite alternate; }
@keyframes nl-app-progress { to { width: 82%; } }
.nl-app-phone p { margin-top: 8px; color: #7d7688; font-size: .53rem; }
.nl-app-phone p b { color: var(--nl-violet); }
.nl-push-note { position: absolute; z-index: 3; top: 92px; left: 1%; display: flex; align-items: center; gap: 10px; min-width: 235px; padding: 13px; border: 1px solid rgba(255,255,255,.7); border-radius: 18px; background: rgba(255,255,255,.94); color: #29233a; box-shadow: 0 18px 38px rgba(13,7,40,.26); animation: nl-push 5s ease-in-out infinite; }
@keyframes nl-push { 0%,18%,100% { transform: translateX(-8px); opacity: .78; } 32%,82% { transform: none; opacity: 1; } }
.nl-push-note > span { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 13px; background: #fff0cb; }
.nl-push-note div { display: grid; gap: 2px; }
.nl-push-note strong { font-size: .72rem; }
.nl-push-note small { color: #7f788a; font-size: .57rem; }
.nl-app-orbit { position: absolute; z-index: 1; display: grid; place-items: center; width: 64px; height: 64px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; color: #fff; font: 700 .63rem Arial,sans-serif; }
.nl-app-orbit-a { top: 30px; right: 8%; background: rgba(114,221,255,.18); animation: nl-orbit-a 7s ease-in-out infinite; }
.nl-app-orbit-b { right: 13%; bottom: 18px; width: 80px; height: 80px; background: rgba(220,255,101,.14); animation: nl-orbit-b 8s ease-in-out infinite; }

/* Gamification scene */
.nl-scene-game { padding-top: 18px; }
.nl-game-streak { width: fit-content; margin-right: auto; padding: 10px 14px; border-radius: 999px; background: #fff0d4; color: #3c2d23; box-shadow: 0 12px 25px rgba(13,7,40,.18); }
.nl-game-streak strong { margin-inline: 4px; }
.nl-game-streak small { color: #796956; font-size: .61rem; }
.nl-game-path { display: flex; align-items: center; margin: 45px 2% 30px; direction: rtl; }
.nl-game-path > span { display: grid; place-items: center; flex: none; width: 50px; height: 50px; border: 2px solid rgba(255,255,255,.22); border-radius: 17px; background: rgba(255,255,255,.08); font-size: .82rem; font-weight: 850; }
.nl-game-path > i { flex: 1; height: 4px; background: rgba(255,255,255,.18); }
.nl-game-path .is-won { border-color: var(--nl-lime); background: var(--nl-lime); color: #2b321c; }
.nl-game-path .is-current { border-color: #fff; background: var(--nl-violet); box-shadow: 0 0 0 9px rgba(255,255,255,.08); animation: nl-current 2.2s ease-in-out infinite; }
.nl-game-path .is-gift { border: 0; background: #ff92ca; font-size: 1.25rem; animation: nl-gift 2.4s ease-in-out infinite; }
@keyframes nl-gift { 50% { transform: translateY(-8px) rotate(5deg); } }
.nl-game-mission { position: relative; width: 68%; padding: 18px; border-radius: 20px; background: rgba(255,255,255,.1); backdrop-filter: blur(10px); }
.nl-game-mission small { color: var(--nl-blue); }
.nl-game-mission strong { display: block; margin: 5px 0 13px; }
.nl-game-mission div { height: 7px; border-radius: 99px; background: rgba(255,255,255,.16); }
.nl-game-mission div i { display: block; width: 66%; height: 100%; border-radius: inherit; background: var(--nl-lime); }
.nl-game-mission > span { position: absolute; left: 18px; bottom: 12px; color: #c9c1d8; font-size: .62rem; }
.nl-game-prize { position: absolute; right: 26%; bottom: 8px; left: 2%; display: flex; align-items: center; gap: 11px; padding: 14px 16px; border-radius: 18px; background: #fff; color: #29233a; box-shadow: 0 18px 38px rgba(13,7,40,.28); animation: nl-prize-in 3.8s ease-in-out infinite; }
@keyframes nl-prize-in { 50% { transform: translateY(-7px) rotate(-1deg); } }
.nl-game-prize > span { font-size: 1.2rem; }.nl-game-prize div { flex: 1; display: grid; }.nl-game-prize small { color: #867f90; font-size: .58rem; }.nl-game-prize strong { font-size: .76rem; }.nl-game-prize b { padding: 5px 7px; border-radius: 7px; background: #211b35; color: #fff; font-size: .54rem; }
.nl-confetti { position: absolute; width: 8px; height: 18px; border-radius: 3px; background: var(--nl-lime); animation: nl-confetti 2.4s ease-in-out infinite; }.nl-confetti.c1{top:15%;right:8%;rotate:18deg}.nl-confetti.c2{top:36%;left:5%;background:var(--nl-coral);rotate:-24deg;animation-delay:.5s}.nl-confetti.c3{bottom:12%;right:9%;background:var(--nl-blue);rotate:43deg;animation-delay:1s}.nl-confetti.c4{top:2%;left:29%;background:var(--nl-pink);rotate:-8deg;animation-delay:1.4s}
@keyframes nl-confetti { 50% { translate: 0 10px; rotate: 65deg; } }

/* Player scene */
.nl-demo-player { position: absolute; inset: 24px 3% 34px; overflow: hidden; border: 1px solid rgba(255,255,255,.17); border-radius: 26px; background: radial-gradient(circle at 74% 27%,rgba(255,113,95,.54),transparent 27%),linear-gradient(135deg,#18112e,#6243dc 55%,#b552bd); box-shadow: 0 24px 54px rgba(9,5,29,.3); }
.nl-demo-player::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(118deg,transparent 0 44px,rgba(255,255,255,.08) 44px 45px); }
.nl-demo-play { position: absolute; inset: 50% auto auto 50%; display: grid; place-items: center; width: 66px; height: 66px; padding-right: 4px; border-radius: 22px; background: var(--nl-lime); color: #241d37; font-size: 1.2rem; box-shadow: 0 16px 32px rgba(12,6,38,.3); transform: translate(-50%,-50%); animation: nl-player-pulse 2.5s ease-in-out infinite; }
@keyframes nl-player-pulse { 50% { box-shadow: 0 16px 32px rgba(12,6,38,.3),0 0 0 12px rgba(220,255,101,.12); } }
.nl-demo-caption { position: absolute; z-index: 2; bottom: 66px; left: 50%; width: max-content; max-width: 82%; padding: 6px 11px; border-radius: 7px; background: rgba(8,6,17,.84); color: #fff; font-size: .7rem; transform: translateX(-50%); }
.nl-demo-timeline { position: absolute; right: 20px; bottom: 44px; left: 20px; height: 5px; border-radius: 99px; background: rgba(255,255,255,.24); }.nl-demo-timeline i { display: block; width: 56%; height: 100%; border-radius: inherit; background: var(--nl-lime); animation: nl-video-progress 5s ease-in-out infinite alternate; }
.nl-player-tools { position: absolute; right: 18px; bottom: 12px; left: 18px; display: flex; gap: 8px; direction: ltr; }.nl-player-tools span { display: grid; place-items: center; min-width: 34px; height: 25px; padding-inline: 6px; border-radius: 7px; background: rgba(13,8,30,.58); color: #fff; font: 700 .59rem Arial,sans-serif; }
.nl-player-float { position: absolute; z-index: 3; padding: 10px 13px; border: 1px solid rgba(255,255,255,.7); border-radius: 14px; background: #fff; color: #30283f; box-shadow: 0 14px 30px rgba(9,5,29,.25); font-size: .65rem; font-weight: 800; }.nl-player-float-a{top:3px;right:0;animation:nl-badge-float 6s ease-in-out infinite}.nl-player-float-b{left:0;bottom:5px;animation:nl-badge-float 7s ease-in-out infinite reverse}

/* Quiz and certificate scene */
.nl-quiz-card { position: absolute; z-index: 2; top: 15px; right: 1%; width: 58%; padding: 20px; border-radius: 23px; background: #fff; color: #29233a; box-shadow: 0 20px 46px rgba(9,5,29,.3); transform: rotate(1deg); }
.nl-quiz-card small { color: var(--nl-violet); font-weight: 800; }.nl-quiz-card > strong { display: block; margin: 8px 0 14px; line-height: 1.45; }.nl-quiz-card > span { display: block; margin-top: 7px; padding: 10px 12px; border: 1px solid #e6e1ec; border-radius: 12px; color: #6c6577; font-size: .7rem; }.nl-quiz-card .is-correct { border-color: #badf84; background: #efffd8; color: #345219; font-weight: 800; animation: nl-correct 2.7s ease-in-out infinite; }
@keyframes nl-correct { 50% { transform: translateX(-4px); box-shadow: 0 0 0 5px rgba(220,255,101,.14); } }
.nl-certificate { position: absolute; bottom: 4px; left: 1%; width: 54%; min-height: 265px; padding: 22px; border: 8px solid #fff; outline: 1px solid rgba(91,61,245,.3); border-radius: 12px; background: #fffaf1; color: #2b2439; box-shadow: 0 22px 48px rgba(9,5,29,.28); text-align: center; transform: rotate(-3deg); animation: nl-certificate 5s ease-in-out infinite; }
@keyframes nl-certificate { 50% { transform: translateY(-8px) rotate(-1deg); } }
.nl-certificate > span { display: block; color: var(--nl-violet); font-size: .6rem; font-weight: 850; }.nl-certificate small { display: block; margin-top: 16px; color: #80788a; }.nl-certificate strong { display: block; margin-top: 6px; font-family: Georgia,serif; font-size: 1.25rem; }.nl-certificate i { display: block; width: 80px; height: 1px; margin: 11px auto; background: #c9c1d3; }.nl-certificate p { margin: 0; color: #6f687a; font-size: .62rem; }.nl-certificate b { display: grid; place-items: center; width: 38px; height: 38px; margin: 11px auto 4px; border-radius: 10px; background: var(--nl-lime); font: 850 .6rem Arial,sans-serif; }.nl-certificate em { display: block; color: #716a7b; font-size: .48rem; font-style: normal; }

/* Adaptive learning scene */
.nl-scene-adaptive { padding-top: 15px; }
.nl-adaptive-map { display: flex; align-items: flex-start; gap: 5px; padding: 15px; border: 1px solid rgba(255,255,255,.13); border-radius: 22px; background: rgba(255,255,255,.07); }
.nl-adaptive-map > span { display: grid; place-items: center; flex: none; width: 64px; height: 64px; border: 2px solid rgba(255,255,255,.2); border-radius: 19px; background: rgba(255,255,255,.08); font-size: .72rem; font-weight: 850; }
.nl-adaptive-map > span small { display: block; margin-top: 5px; color: #bfb7ce; font-size: .48rem; font-weight: 650; text-align: center; }
.nl-adaptive-map > i { flex: 1; height: 4px; margin-top: 30px; border-radius: 99px; background: rgba(255,255,255,.16); }
.nl-adaptive-map .is-complete { border-color: var(--nl-lime); background: var(--nl-lime); color: #26331a; }.nl-adaptive-map .is-complete small { color: #4f6330; }
.nl-adaptive-map .is-current { border-color: var(--nl-blue); background: var(--nl-violet); color: #fff; box-shadow: 0 0 0 9px rgba(114,221,255,.1); animation: nl-adaptive-pulse 2.5s ease-in-out infinite; }.nl-adaptive-map .is-current small { color: var(--nl-blue); }
@keyframes nl-adaptive-pulse { 50% { box-shadow: 0 0 0 15px rgba(114,221,255,.035); transform: translateY(-4px); } }
.nl-adaptive-next { position: absolute; z-index: 2; top: 132px; right: 2%; width: 67%; display: flex; gap: 13px; padding: 18px; border-radius: 21px; background: #fff; color: #2d263c; box-shadow: 0 20px 44px rgba(9,5,29,.28); animation: nl-chat-in 4.5s ease-in-out infinite; }
.nl-adaptive-next > span { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 15px; background: var(--nl-lime); color: #282038; }
.nl-adaptive-next div { display: grid; gap: 3px; }.nl-adaptive-next small { color: var(--nl-violet); font-size: .58rem; font-weight: 850; }.nl-adaptive-next strong { font-size: .82rem; }.nl-adaptive-next p { margin: 2px 0 0; color: #7b7484; font-size: .59rem; }
.nl-adaptive-insight { position: absolute; z-index: 3; left: 1%; bottom: 4px; width: 58%; padding: 18px; border: 1px solid rgba(255,255,255,.16); border-radius: 21px; background: linear-gradient(145deg,#6b48ec,#4c32c5); color: #fff; box-shadow: 0 22px 46px rgba(9,5,29,.3); transform: rotate(-2deg); animation: nl-certificate 5.5s ease-in-out infinite; }
.nl-adaptive-insight small { color: var(--nl-lime); font-size: .58rem; font-weight: 850; }.nl-adaptive-insight strong { display: block; margin: 6px 0; font-size: .82rem; line-height: 1.35; }.nl-adaptive-insight p { margin: 0 0 12px; color: #d8d1e7; font-size: .61rem; line-height: 1.45; }.nl-adaptive-insight b { display: inline-flex; padding: 6px 9px; border-radius: 9px; background: var(--nl-lime); color: #28213a; font-size: .56rem; }

/* AI support scene */
.nl-ai-thread { position: absolute; inset: 14px 4% 66px; display: grid; align-content: start; gap: 9px; padding: 20px; border: 1px solid rgba(255,255,255,.14); border-radius: 24px; background: rgba(255,255,255,.07); backdrop-filter: blur(12px); }
.nl-ai-thread p { width: fit-content; max-width: 78%; margin: 0; padding: 12px 14px; border-radius: 16px 16px 5px 16px; background: #fff; color: #2d263b; font-size: .72rem; line-height: 1.5; }.nl-ai-thread p.is-ai { justify-self: end; border-radius: 16px 16px 16px 5px; background: var(--nl-lime); }.nl-ai-thread p b { display: block; margin-bottom: 4px; color: var(--nl-violet); font-size: .62rem; }.nl-ai-thread p small { display: block; margin-top: 7px; color: #657046; font-size: .54rem; }.nl-ai-thread p:nth-of-type(2){animation:nl-chat-in 4s ease-in-out infinite}
@keyframes nl-chat-in { 0%,10% { opacity:.55;transform:translateY(6px) } 25%,100% { opacity:1;transform:none } }
.nl-ai-typing { display: flex; gap: 5px; justify-self: end; width: fit-content; padding: 12px 15px; border-radius: 15px 15px 15px 5px; background: rgba(255,255,255,.12); }.nl-ai-typing i { width: 7px; height: 7px; border-radius: 50%; background: #fff; animation: nl-typing 1s ease-in-out infinite alternate; }.nl-ai-typing i:nth-child(2){animation-delay:.2s}.nl-ai-typing i:nth-child(3){animation-delay:.4s}
.nl-human-handoff { position: absolute; z-index: 3; right: 13%; bottom: 3px; left: 3%; display: flex; align-items: center; gap: 10px; padding: 13px 15px; border-radius: 18px; background: #fff; color: #2e273d; box-shadow: 0 18px 38px rgba(9,5,29,.28); animation: nl-prize-in 4.4s ease-in-out infinite; }.nl-human-handoff > span { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 13px; background: #f0ecff; }.nl-human-handoff div { flex: 1; display: grid; }.nl-human-handoff small { color: #827b8b; font-size: .57rem; }.nl-human-handoff strong { font-size: .72rem; }.nl-human-handoff b { color: var(--nl-violet); font-size: .61rem; }

/* Security */
.nl-security { position: relative; overflow: hidden; padding: 145px 0; isolation: isolate; background: #171329; color: #fff; }
.nl-security::before { content: ""; position: absolute; width: 800px; height: 800px; top: -460px; right: -240px; z-index: -2; border-radius: 50%; background: #5333ec; filter: blur(4px); opacity: .48; }
.nl-security::after { content: ""; position: absolute; width: 620px; height: 620px; bottom: -420px; left: -160px; z-index: -2; border-radius: 50%; background: #d7459d; opacity: .22; }
.nl-security-noise { position: absolute; inset: 0; z-index: -1; opacity: .24; background-image: radial-gradient(rgba(255,255,255,.26) .65px,transparent .65px); background-size: 17px 17px; }
.nl-security-grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: clamp(54px,8vw,110px); direction: ltr; }
.nl-security-grid > * { direction: rtl; }
.nl-security-copy .nl-kicker { color: var(--nl-lime); }
.nl-security-copy h2 { margin: 0; font-size: clamp(3rem,5vw,5rem); line-height: .98; letter-spacing: -.045em; }
.nl-security-copy h2 em { color: var(--nl-blue); }
.nl-security-copy > p:not(.nl-kicker):not(.nl-honesty) { margin: 24px 0 28px; color: #c8c2d6; font-size: 1.08rem; line-height: 1.75; }
.nl-security-points { display: grid; gap: 10px; }
.nl-security-points span { display: flex; align-items: center; gap: 11px; min-height: 48px; padding: 10px 13px; border: 1px solid rgba(255,255,255,.11); border-radius: 15px; background: rgba(255,255,255,.04); }
.nl-security-points .ic { color: var(--nl-lime); }
.nl-security-points b { font-size: .9rem; }
.nl-honesty { margin-top: 22px; padding-right: 14px; border-right: 2px solid rgba(220,255,101,.55); color: #9e97af; font-size: .76rem; line-height: 1.65; }
.nl-security-visual { position: relative; min-height: 480px; display: grid; place-items: center; }
.nl-shield-pulse { position: absolute; inset: 50% auto auto 50%; display: grid; place-items: center; width: 360px; height: 360px; transform: translate(-50%,-50%); }
.nl-shield-pulse i { position: absolute; inset: 0; border: 1px solid rgba(114,221,255,.15); border-radius: 50%; animation: nl-shield-pulse 3.4s ease-out infinite; }
.nl-shield-pulse i:nth-child(2) { animation-delay: 1.7s; }
.nl-shield-pulse > .ic { width: 100px; height: 100px; color: rgba(114,221,255,.09); }
@keyframes nl-shield-pulse { 0% { transform: scale(.6); opacity: 0; } 35% { opacity: 1; } 100% { transform: scale(1.25); opacity: 0; } }
.nl-sec-player { position: relative; z-index: 2; width: min(520px,100%); overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 25px; background: #211b38; box-shadow: 0 34px 80px rgba(0,0,0,.36); transform: rotate(-1.5deg); }
.nl-sec-video { position: relative; aspect-ratio: 16/9; overflow: hidden; background:
  linear-gradient(rgba(8,6,20,.12),rgba(8,6,20,.35)),
  radial-gradient(circle at 30% 30%,#795af5 0,transparent 33%),
  linear-gradient(130deg,#26165e,#b44488); }
.nl-sec-video::before { content: ""; position: absolute; width: 180px; height: 240px; top: 16%; right: 32%; border-radius: 90px 90px 18px 18px; background: linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.04)); transform: rotate(14deg); }
.nl-sec-stamp { position: absolute; z-index: 2; top: 18px; left: 20px; color: rgba(255,255,255,.65); font-family: Arial,sans-serif; font-size: .68rem; direction: ltr; animation: nl-stamp-move 9s ease-in-out infinite; }
@keyframes nl-stamp-move { 0%,100% { transform: translate(0,0); } 45% { transform: translate(240px,130px); } 70% { transform: translate(40px,180px); } }
.nl-sec-lock { position: absolute; width: 54px; height: 54px; top: 50%; left: 50%; padding: 15px; border-radius: 18px; background: rgba(220,255,101,.92); color: #211a35; transform: translate(-50%,-50%); }
.nl-sec-caption { position: absolute; bottom: 18px; left: 50%; padding: 6px 10px; border-radius: 7px; background: rgba(10,7,24,.78); color: #fff; font-size: .72rem; transform: translateX(-50%); }
.nl-sec-foot { display: flex; justify-content: space-between; gap: 12px; padding: 14px 17px; color: #aaa2bd; font-size: .66rem; }
.nl-sec-foot span:first-child { display: flex; align-items: center; gap: 6px; color: #ccefa3; }
.nl-sec-foot i { width: 7px; height: 7px; border-radius: 50%; background: var(--nl-lime); box-shadow: 0 0 0 4px rgba(220,255,101,.1); }
.nl-sec-chip { position: absolute; z-index: 3; padding: 9px 13px; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; background: rgba(30,24,53,.85); color: #fff; font-size: .7rem; font-weight: 750; backdrop-filter: blur(10px); }
.nl-sec-chip-a { top: 27px; right: 12px; animation: nl-badge-float 6s ease-in-out infinite; }
.nl-sec-chip-b { bottom: 38px; left: 3px; color: var(--nl-lime); animation: nl-badge-float 7s ease-in-out infinite reverse; }

/* Pricing: the buying decision sits after the two strongest proofs — completion
   and security — rather than making visitors hunt for a number in the footer. */
.nl-pricing { position: relative; overflow: hidden; padding: 130px 0; background: #f5f0ff; color: var(--nl-ink); }
.nl-pricing::before { content: ""; position: absolute; width: 650px; height: 650px; top: -360px; left: -240px; border-radius: 50%; background: rgba(114,221,255,.35); filter: blur(2px); }
.nl-pricing::after { content: ""; position: absolute; width: 480px; height: 480px; right: -280px; bottom: -250px; border-radius: 50%; background: rgba(220,255,101,.38); }
.nl-pricing .nl-shell { position: relative; z-index: 1; }
.nl-pricing-head { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 40px; margin-bottom: 54px; }
.nl-pricing-head h2 { max-width: 900px; margin: 0; font-size: clamp(2.8rem,5vw,5rem); line-height: 1; letter-spacing: -.045em; }
.nl-billing-note { display: grid; min-width: 175px; padding: 16px 18px; border: 1px solid rgba(91,61,245,.18); border-radius: 18px; background: rgba(255,255,255,.72); box-shadow: var(--nl-shadow-soft); }
.nl-billing-note strong { color: var(--nl-violet); font-size: 1rem; }
.nl-billing-note span { margin-top: 2px; color: var(--nl-soft); font-size: .75rem; }
.nl-price-grid { display: grid; grid-template-columns: repeat(3,1fr); align-items: stretch; gap: 18px; }
.nl-price-card { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 570px; padding: 30px; border: 1px solid rgba(25,22,43,.12); border-radius: 30px; background: rgba(255,255,255,.94); box-shadow: var(--nl-shadow-soft); transition: transform 220ms cubic-bezier(.22,1,.36,1),box-shadow 220ms ease; }
.nl-price-card:hover { transform: translateY(-8px); box-shadow: 0 24px 60px rgba(48,33,104,.16); }
.nl-price-card.is-featured { overflow: hidden; border: 2px solid var(--nl-violet); background: #201a38; color: #fff; box-shadow: 0 28px 75px rgba(59,36,190,.28); transform: translateY(-14px); }
.nl-price-card.is-featured:hover { transform: translateY(-22px); }
.nl-price-card.is-featured::after { content: ""; position: absolute; width: 95px; height: 140%; top: -20%; left: -150px; background: linear-gradient(90deg,transparent,rgba(255,255,255,.13),transparent); transform: rotate(18deg); animation: nl-price-shine 5.8s ease-in-out infinite; }
@keyframes nl-price-shine { 0%,62% { left:-150px; } 88%,100% { left:calc(100% + 90px); } }
.nl-popular { position: relative; z-index: 1; width: fit-content; margin: -14px 0 19px; padding: 7px 11px; border-radius: 999px; background: var(--nl-lime); color: #272139; font-size: .67rem; font-weight: 850; }
.nl-price-name { display: grid; gap: 5px; }
.nl-price-name span { font-size: 1.55rem; font-weight: 850; }
.nl-price-name small { min-height: 42px; color: var(--nl-soft); line-height: 1.5; }
.is-featured .nl-price-name small { color: #c9c1da; }
.nl-price { display: flex; align-items: baseline; gap: 8px; margin: 28px 0 8px; }
.nl-price b { font-size: clamp(3rem,4.4vw,4.4rem); line-height: .9; letter-spacing: -.055em; }
.nl-price span { color: var(--nl-soft); font-size: .78rem; }
.is-featured .nl-price span { color: #c9c1da; }
.nl-price-cap { margin: 0 0 22px; color: var(--nl-violet); font-size: .78rem; font-weight: 800; }
.is-featured .nl-price-cap { color: var(--nl-lime); }
.nl-price-card ul { display: grid; gap: 13px; margin: 0 0 28px; padding: 0; list-style: none; }
.nl-price-card li { display: flex; align-items: flex-start; gap: 11px; color: #514a60; font-size: .92rem; line-height: 1.5; }
.nl-price-card li .ic { flex: none; width: 22px; height: 22px; padding: 4px; border-radius: 50%; background: #e3ffc0; color: #2f4b15; }
.is-featured li { color: #eee9f7; }
.is-featured li .ic { background: var(--nl-lime); }
.nl-button-price,.nl-button-featured { position: relative; z-index: 1; width: 100%; margin-top: auto; }
.nl-button-price { border-color: rgba(91,61,245,.24); background: var(--nl-violet-soft); color: var(--nl-violet) !important; }
.nl-button-price:hover { background: var(--nl-violet); color: #fff !important; }
.nl-button-featured { background: var(--nl-lime); color: #211b34 !important; box-shadow: 0 13px 30px rgba(220,255,101,.18); }
.nl-button-featured:hover { background: #fff; }
.nl-price-note { max-width: 800px; margin: 32px auto 0; color: var(--nl-soft); font-size: .75rem; line-height: 1.65; text-align: center; }

/* Platform bento */
.nl-platform { background: var(--nl-bg); }
.nl-revenue-map { display: grid; gap: 26px; margin: -4px 0 42px; counter-reset: revenue; }
.nl-revenue-chapter { position: relative; min-height: 570px; overflow: hidden; display: grid; grid-template-columns: minmax(320px,.82fr) minmax(480px,1.18fr); align-items: center; gap: clamp(35px,6vw,82px); padding: clamp(42px,5vw,72px); border-radius: 44px; box-shadow: 0 28px 76px rgba(39,27,80,.16); isolation: isolate; }
.nl-revenue-chapter::before { content: ""; position: absolute; z-index: -1; width: 520px; height: 520px; border: 1px solid currentColor; border-radius: 50%; opacity: .08; box-shadow: 0 0 0 64px currentColor,0 0 0 128px currentColor; }
.nl-revenue-chapter.is-checkout { background: linear-gradient(135deg,#eafaff 0%,#fffdf7 72%); color: #201a35; }
.nl-revenue-chapter.is-checkout::before { top: -360px; left: -180px; color: var(--nl-violet); }
.nl-revenue-chapter.is-upsell { direction: ltr; background: radial-gradient(circle at 12% 25%,rgba(255,146,202,.24),transparent 28%),linear-gradient(135deg,#171329,#432a9e); color: #fff; }
.nl-revenue-chapter.is-upsell::before { right: -250px; bottom: -370px; color: var(--nl-pink); }
.nl-revenue-chapter.is-automation { background: linear-gradient(135deg,#e8ff93,#cfff57 72%); color: #211b33; }
.nl-revenue-chapter.is-automation::before { top: -330px; right: -220px; color: #30265c; }
.nl-revenue-chapter.is-membership { direction: ltr; background: radial-gradient(circle at 78% 20%,rgba(114,221,255,.2),transparent 24%),linear-gradient(135deg,#4b2de2,#a442b9); color: #fff; }
.nl-revenue-chapter.is-membership::before { left: -190px; bottom: -360px; color: #fff; }
.nl-revenue-chapter > * { direction: rtl; }
.nl-revenue-copy { position: relative; z-index: 3; }
.nl-revenue-copy > span { display: block; margin-bottom: -18px; color: currentColor; font-size: clamp(4.8rem,8vw,7.5rem); font-weight: 900; line-height: .85; letter-spacing: -.08em; opacity: .1; direction: ltr; text-align: right; }
.nl-revenue-copy > small { display: block; margin-bottom: 15px; color: var(--nl-violet); font-size: .86rem; font-weight: 900; }
.is-upsell .nl-revenue-copy > small,.is-membership .nl-revenue-copy > small { color: var(--nl-lime); }
.nl-revenue-copy h3 { max-width: 580px; margin: 0; font-size: clamp(2.7rem,4.5vw,4.7rem); line-height: .96; letter-spacing: -.052em; }
.nl-revenue-copy p { max-width: 560px; margin: 24px 0 25px; color: #5e576c; font-size: clamp(1rem,1.25vw,1.16rem); line-height: 1.75; }
.is-upsell .nl-revenue-copy p,.is-membership .nl-revenue-copy p { color: #d6d0e2; }
.nl-revenue-copy > b { display: inline-flex; align-items: center; min-height: 42px; padding: 9px 14px; border-radius: 999px; background: var(--nl-violet); color: #fff; font-size: .78rem; box-shadow: 0 10px 25px rgba(59,36,190,.22); }
.is-upsell .nl-revenue-copy > b,.is-membership .nl-revenue-copy > b { background: var(--nl-lime); color: #252035; }
.is-automation .nl-revenue-copy > b { background: #211b33; }
.nl-revenue-scene { position: relative; min-height: 430px; }

/* Checkout conversion illustration */
.nl-checkout-scene { display: grid; place-items: center; }
.nl-checkout-window { position: relative; z-index: 2; width: min(430px,82%); padding: 27px; border: 1px solid rgba(33,26,53,.1); border-radius: 29px; background: rgba(255,255,255,.92); color: #282138; box-shadow: 0 28px 65px rgba(40,32,86,.2); transform: rotate(-2deg); animation: nl-checkout-float 5s ease-in-out infinite; }
@keyframes nl-checkout-float { 50% { transform: translateY(-9px) rotate(.5deg); } }
.nl-scene-bar { display: flex; align-items: center; gap: 6px; margin: -10px -8px 26px; direction: ltr; }.nl-scene-bar i { width: 8px; height: 8px; border-radius: 50%; background: #ff806e; }.nl-scene-bar i:nth-child(2){background:#ffd563}.nl-scene-bar i:nth-child(3){background:#9fe46c}.nl-scene-bar span { margin-left: 8px; color: #9a94a3; font: .55rem Arial,sans-serif; }
.nl-checkout-window > small { color: var(--nl-violet); font-size: .73rem; font-weight: 850; }.nl-checkout-window > strong { display: block; margin: 8px 0 2px; font-size: 3.45rem; line-height: 1; direction: ltr; text-align: right; letter-spacing: -.055em; }.nl-checkout-window > p { margin: 0 0 21px; color: #777181; font-size: .72rem; }
.nl-coupon-line { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 13px; border: 1px dashed #cfc6e8; border-radius: 13px; background: #faf8ff; direction: ltr; }.nl-coupon-line span { color: #766b91; font: .66rem Arial,sans-serif; }.nl-coupon-line b { color: #3b6b23; font-size: .64rem; direction: rtl; }
.nl-pay-button { display: flex; align-items: center; justify-content: space-between; margin-top: 12px; padding: 15px 17px; border-radius: 14px; background: var(--nl-violet); color: #fff; font-size: .8rem; font-weight: 850; }.nl-pay-button span { font-size: 1.2rem; animation: nl-pay-arrow 1.5s ease-in-out infinite; }@keyframes nl-pay-arrow{50%{transform:translateX(-6px)}}
.nl-sale-pop { position: absolute; z-index: 3; display: flex; align-items: center; gap: 10px; min-width: 175px; padding: 13px 15px; border-radius: 18px; background: #fff; color: #282138; box-shadow: 0 18px 38px rgba(39,28,85,.2); }.nl-sale-pop > span { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 13px; background: var(--nl-lime); }.nl-sale-pop div { display: grid; }.nl-sale-pop small { color: #898291; font-size: .58rem; }.nl-sale-pop strong { font-size: .78rem; }
.nl-sale-pop-a { top: 42px; left: 0; animation: nl-badge-float 6s ease-in-out infinite; }.nl-sale-pop-b { right: 0; bottom: 48px; animation: nl-badge-float 7s ease-in-out infinite reverse; }.nl-sale-pop-b > span { background: #ffe7f3; }
.nl-checkout-orbit { position: absolute; width: 390px; height: 390px; border: 1px dashed rgba(91,61,245,.25); border-radius: 50%; animation: nl-spin 24s linear infinite; }@keyframes nl-spin{to{transform:rotate(360deg)}}

/* In-lesson upsell illustration */
.nl-upsell-scene { display: grid; place-items: center; }
.nl-complete-player { position: absolute; z-index: 1; top: 18px; right: 4%; width: 72%; min-height: 260px; padding: 29px; border: 1px solid rgba(255,255,255,.13); border-radius: 28px; background: rgba(255,255,255,.08); box-shadow: 0 24px 56px rgba(9,5,29,.28); backdrop-filter: blur(12px); }
.nl-complete-ring { display: grid; place-items: center; width: 86px; height: 86px; margin-bottom: 17px; border-radius: 50%; background: radial-gradient(circle closest-side,#292041 72%,transparent 74%),conic-gradient(var(--nl-lime) 100%,transparent 0); }.nl-complete-ring span { color: #fff; font-size: 1.25rem; font-weight: 900; direction: ltr; }.nl-complete-ring small { font-size: .55rem; }.nl-complete-player > small { color: var(--nl-lime); font-weight: 850; }.nl-complete-player > strong { display: block; max-width: 300px; margin-top: 5px; font-size: 1.08rem; }.nl-complete-stars { margin-top: 15px; color: #ffd568; letter-spacing: .28em; }
.nl-upsell-offer { position: absolute; z-index: 3; left: 0; bottom: 6px; width: 66%; padding: 23px; border-radius: 25px; background: #fff; color: #282138; box-shadow: 0 25px 60px rgba(8,4,27,.38); animation: nl-upsell-in 4.4s ease-in-out infinite; }@keyframes nl-upsell-in{0%,12%{transform:translateY(20px) rotate(-3deg);opacity:.7}32%,100%{transform:translateY(0) rotate(-1deg);opacity:1}}
.nl-upsell-offer > span { color: var(--nl-violet); font-size: .65rem; font-weight: 900; }.nl-upsell-offer h4 { margin: 6px 0 5px; font-size: 1.28rem; }.nl-upsell-offer p { margin: 0 0 18px; color: #7c7587; font-size: .66rem; }.nl-upsell-offer > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.nl-upsell-offer > div strong { font-size: 1.45rem; }.nl-upsell-offer > div b { padding: 9px 11px; border-radius: 11px; background: var(--nl-violet); color: #fff; font-size: .63rem; }
.nl-upsell-arrow { position: absolute; z-index: 4; top: 42%; left: 34%; color: var(--nl-lime); font-size: 3.8rem; line-height: 1; filter: drop-shadow(0 8px 18px rgba(9,5,29,.3)); animation: nl-pay-arrow 1.8s ease-in-out infinite; }

/* Automation illustration */
.nl-automation-scene { padding: 25px 5%; }
.nl-flow-line { position: absolute; top: 60px; right: 63px; bottom: 60px; width: 4px; border-radius: 99px; background: rgba(33,27,51,.14); }.nl-flow-line i { display: block; width: 100%; height: 42%; border-radius: inherit; background: var(--nl-violet); animation: nl-flow-fill 3.2s ease-in-out infinite; }@keyframes nl-flow-fill{0%{height:8%}70%,100%{height:100%}}
.nl-flow-node { position: relative; z-index: 2; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 13px; width: 82%; margin-bottom: 20px; padding: 17px 18px; border: 1px solid rgba(33,27,51,.1); border-radius: 21px; background: rgba(255,255,255,.9); color: #272035; box-shadow: 0 16px 32px rgba(53,64,21,.12); }.nl-flow-node > span { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 14px; background: #211b33; color: var(--nl-lime); font-size: .63rem; font-weight: 900; }.nl-flow-node div { display: grid; }.nl-flow-node small { color: #7d7687; font-size: .61rem; }.nl-flow-node strong { font-size: .78rem; }.nl-flow-node > b { padding: 7px 9px; border-radius: 9px; background: #efffd0; color: #42611e; font-size: .59rem; }
.nl-flow-node.n2 { margin-right: 13%; animation: nl-flow-node 3.2s ease-in-out infinite .5s; }.nl-flow-node.n3 { margin-right: 4%; animation: nl-flow-node 3.2s ease-in-out infinite 1s; }@keyframes nl-flow-node{0%,16%{transform:translateX(12px);opacity:.65}34%,100%{transform:none;opacity:1}}
.nl-flow-pulse { position: absolute; right: 48px; bottom: 34px; width: 34px; height: 34px; border: 8px solid var(--nl-violet); border-radius: 50%; animation: nl-current 2s ease-in-out infinite; }

/* Membership illustration */
.nl-membership-scene { display: grid; place-items: center; }
.nl-membership-core { position: relative; z-index: 3; display: grid; justify-items: center; width: 230px; height: 230px; padding: 36px 20px; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; background: rgba(26,17,72,.5); box-shadow: 0 26px 65px rgba(19,8,57,.32),0 0 0 24px rgba(255,255,255,.045); backdrop-filter: blur(10px); animation: nl-membership-core 4s ease-in-out infinite; }@keyframes nl-membership-core{50%{transform:scale(1.04)}}
.nl-membership-core > span { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 15px; background: var(--nl-lime); color: #282037; font-size: 1.2rem; font-weight: 900; }.nl-membership-core > strong { margin-top: 10px; font-size: .72rem; }.nl-membership-core > b { font-size: 2.1rem; direction: ltr; }.nl-membership-core > small { color: var(--nl-lime); font-size: .6rem; }
.nl-member-orbit { position: absolute; z-index: 4; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 8px; min-width: 155px; padding: 12px; border: 1px solid rgba(255,255,255,.2); border-radius: 17px; background: rgba(255,255,255,.92); color: #2a233a; box-shadow: 0 17px 36px rgba(18,8,54,.28); }.nl-member-orbit > span { grid-row: 1/3; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: #f0ecff; }.nl-member-orbit small { font-size: .58rem; color: #7d7587; }.nl-member-orbit b { font-size: .75rem; direction: ltr; text-align: right; }
.nl-member-orbit.o1 { top: 22px; right: 0; animation: nl-badge-float 6s ease-in-out infinite; }.nl-member-orbit.o2 { left: 0; top: 44%; animation: nl-badge-float 7s ease-in-out infinite reverse; }.nl-member-orbit.o3 { right: 4%; bottom: 9px; animation: nl-badge-float 6.5s ease-in-out infinite -2s; }
.nl-member-rings { position: absolute; width: 390px; height: 390px; border: 1px dashed rgba(255,255,255,.24); border-radius: 50%; box-shadow: 0 0 0 62px rgba(255,255,255,.035); animation: nl-spin 28s linear infinite reverse; }
.nl-bento { display: grid; grid-template-columns: 1fr 1fr; grid-template-areas: "ai brand" "ai support" "growth growth"; gap: 26px; margin-top: 90px; }
.nl-bento-card { position: relative; min-height: 420px; overflow: hidden; padding: clamp(34px,4vw,52px); border: 1px solid var(--nl-line); border-radius: 38px; background: var(--nl-paper); box-shadow: 0 24px 64px rgba(48,33,104,.12); }
.nl-bento-card h3 { position: relative; z-index: 2; max-width: 600px; margin: 16px 0 16px; font-size: clamp(2.15rem,3.3vw,3.75rem); line-height: 1; letter-spacing: -.045em; }
.nl-bento-card > p { position: relative; z-index: 2; max-width: 590px; color: var(--nl-soft); font-size: 1.03rem; line-height: 1.72; }
.nl-card-label { position: relative; z-index: 2; color: var(--nl-violet); font-size: .84rem; font-weight: 900; }
.nl-live-tag { position: absolute; z-index: 4; top: 32px; left: 32px; padding: 9px 13px; border-radius: 999px; background: var(--nl-violet-soft); color: var(--nl-violet); font-size: .72rem; font-weight: 900; }
.nl-bento-ai { grid-area: ai; min-height: 850px; background: radial-gradient(circle at 12% 18%,rgba(114,221,255,.18),transparent 25%),linear-gradient(160deg,#221a44 0%,#4d32ce 100%); color: #fff; }
.nl-bento-ai .nl-card-label { color: var(--nl-lime); }
.nl-bento-ai > p { color: #cfc7e2; }
.nl-bento-ai .nl-live-tag { background: rgba(255,255,255,.1); color: var(--nl-lime); }
.nl-ai-chat { position: absolute; right: 38px; bottom: 38px; left: 38px; min-height: 390px; padding: 30px; border: 1px solid rgba(255,255,255,.17); border-radius: 30px; background: rgba(255,255,255,.1); box-shadow: inset 0 1px 0 rgba(255,255,255,.1); backdrop-filter: blur(14px); }
.nl-ai-chat::before { content: "✦"; display: grid; place-items: center; width: 62px; height: 62px; margin-bottom: 35px; border-radius: 20px; background: var(--nl-lime); color: #251f36; font-size: 1.65rem; box-shadow: 0 14px 28px rgba(10,5,32,.22); animation: nl-medal 3s ease-in-out infinite; }
.nl-ai-chat p { max-width: 470px; padding: 20px 22px; border-radius: 21px 21px 6px 21px; background: #fff; color: #29223c; font-size: .92rem; line-height: 1.65; box-shadow: 0 16px 34px rgba(10,5,32,.18); }
.nl-ai-chat p span { display: block; margin-bottom: 7px; color: var(--nl-violet); font-size: .72rem; font-weight: 900; }
.nl-ai-chat div { display: flex; gap: 7px; width: fit-content; margin-top: 22px; padding: 15px 18px; border-radius: 17px 17px 17px 5px; background: rgba(255,255,255,.14); }
.nl-ai-chat i { width: 9px; height: 9px; border-radius: 50%; background: #fff; animation: nl-typing 1s ease-in-out infinite alternate; }
.nl-ai-chat i:nth-child(2){animation-delay:.2s}.nl-ai-chat i:nth-child(3){animation-delay:.4s}
@keyframes nl-typing { to { opacity: .25; transform: translateY(-4px); } }
.nl-bento-brand { grid-area: brand; min-height: 460px; background: linear-gradient(145deg,#e9faff,#fff); color: #252035; }.nl-bento-brand::before { content: "Aa"; position: absolute; left: 5%; bottom: -15%; color: var(--nl-violet); font: 900 13rem/1 Arial,sans-serif; opacity: .055; transform: rotate(-8deg); }
.nl-brand-swatches { position: absolute; right: 42px; bottom: 36px; left: 42px; display: flex; align-items: center; gap: 12px; padding: 20px; border-radius: 21px; background: rgba(255,255,255,.88); box-shadow: 0 16px 38px rgba(33,29,54,.12); }
.nl-brand-swatches i { width: 38px; height: 38px; border-radius: 13px; background: var(--nl-violet); box-shadow: inset 0 0 0 1px rgba(25,22,43,.06); }
.nl-brand-swatches i:nth-child(2){background:var(--nl-lime)}.nl-brand-swatches i:nth-child(3){background:var(--nl-coral)}.nl-brand-swatches i:nth-child(4){background:#272239}
.nl-brand-swatches span { margin-right: auto; color: #696274; font-family: Arial,sans-serif; font-size: .82rem; direction: ltr; }
.nl-bento-support { grid-area: support; min-height: 540px; background: radial-gradient(circle at 12% 14%,rgba(255,146,202,.18),transparent 24%),linear-gradient(145deg,#fff7ee,var(--nl-paper)); }
.nl-support-thread { position: absolute; right: 42px; bottom: 36px; left: 42px; display: grid; gap: 12px; }
.nl-support-thread p { width: fit-content; max-width: 84%; margin: 0; padding: 15px 18px; border-radius: 18px 18px 5px 18px; background: #ece8f3; color: #302a3d; font-size: .86rem; box-shadow: 0 12px 26px rgba(39,28,78,.08); }
.nl-support-thread p:nth-child(2) { justify-self: end; border-radius: 18px 18px 18px 5px; background: var(--nl-violet); color: #fff; animation: nl-chat-in 4s ease-in-out infinite; }
.nl-support-thread span { justify-self: end; color: #6f6879; font-size: .69rem; }
.nl-bento-growth { grid-area: growth; min-height: 520px; padding-left: 50%; background: linear-gradient(120deg,var(--nl-paper) 0%,var(--nl-paper) 54%,#eaffae 100%); }
.nl-growth-chart { position: absolute; top: 38px; bottom: 38px; left: 38px; width: 41%; display: flex; flex-direction: column; justify-content: flex-end; padding: 31px; border-radius: 29px; background: #232038; color: var(--nl-lime); box-shadow: 0 22px 48px rgba(25,17,58,.2); }
.nl-growth-chart span { color: #bcb4cb; font-size: .82rem; }
.nl-growth-chart strong { margin: 11px 0 25px; color: #fff; font-size: 1.65rem; line-height: 1.3; text-align: right; }
.nl-growth-bars { display: flex; align-items: flex-end; gap: 9px; height: 135px; padding-top: 8px; border-bottom: 1px solid rgba(220,255,101,.28); }
.nl-growth-bars i { flex: 1; height: 18%; border-radius: 7px 7px 2px 2px; background: currentColor; opacity: .38; animation: nl-bar-rise 2.8s ease-in-out infinite alternate; transform-origin: bottom; }
.nl-growth-bars i:nth-child(2){height:31%;animation-delay:.08s}.nl-growth-bars i:nth-child(3){height:26%;animation-delay:.16s}.nl-growth-bars i:nth-child(4){height:48%;animation-delay:.24s}.nl-growth-bars i:nth-child(5){height:43%;animation-delay:.32s}.nl-growth-bars i:nth-child(6){height:65%;animation-delay:.4s}.nl-growth-bars i:nth-child(7){height:72%;animation-delay:.48s}.nl-growth-bars i:nth-child(8){height:91%;opacity:1;animation-delay:.56s}
@keyframes nl-bar-rise { from { transform: scaleY(.72); } to { transform: scaleY(1); } }
.nl-addon-rail { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 18px; }
.nl-addon-rail article { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; padding: 27px 29px; border: 1px solid var(--nl-line); border-radius: 26px; background: var(--nl-paper); box-shadow: var(--nl-shadow-soft); }
.nl-addon-rail article > span { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 18px; background: var(--nl-violet-soft); font-size: 1.45rem; }
.nl-addon-rail article div { display: grid; gap: 3px; }
.nl-addon-rail small { color: var(--nl-violet); font-size: .76rem; font-weight: 900; }
.nl-addon-rail strong { font-size: 1rem; }
.nl-addon-rail article > b { color: var(--nl-violet); font-size: .86rem; text-align: left; }

/* Winning comparison */
.nl-feature-universe { padding-top: 80px; background: color-mix(in srgb,var(--nl-violet-soft) 35%,var(--nl-bg)); }
.nl-feature-head { display: grid; grid-template-columns: 1fr .7fr; align-items: end; gap: 60px; margin-bottom: 54px; }
.nl-feature-head > p { color: var(--nl-soft); font-size: 1.12rem; line-height: 1.75; }
.nl-compare { overflow: visible; background: transparent; }
.nl-compare-head { position: sticky; top: 78px; z-index: 8; display: grid; grid-template-columns: .72fr 1.28fr; gap: 18px; margin-bottom: 22px; pointer-events: none; }
.nl-compare-head > * { display: flex; align-items: center; min-height: 94px; padding: 22px 30px; border: 1px solid rgba(25,22,43,.1); border-radius: 24px; box-shadow: 0 15px 38px rgba(40,29,84,.12); backdrop-filter: blur(16px); }
.nl-compare-head > span { background: rgba(255,255,255,.9); color: #756e7f; font-size: 1.05rem; font-weight: 850; }
.nl-compare-head > strong { position: relative; gap: 12px; overflow: hidden; background: rgba(91,61,245,.94); color: #fff; font-size: 1.18rem; }.nl-compare-head > strong::after { content: "‹‹‹"; position: absolute; left: 28px; color: var(--nl-lime); font-size: 2.5rem; letter-spacing: -.28em; animation: nl-pay-arrow 1.8s ease-in-out infinite; }.nl-compare-head .brand-mark { width: 37px; height: 31px; filter: brightness(0) invert(1); }
.nl-compare-row { position: relative; display: grid; grid-template-columns: .72fr 1.28fr; gap: 18px; margin: 0 0 22px; background: transparent; }
.nl-compare-basic,.nl-compare-nilmad { position: relative; overflow: hidden; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 23px; min-height: 285px; padding: clamp(32px,4vw,52px); border-radius: 32px; transition: transform 300ms cubic-bezier(.22,1,.36,1),opacity 300ms ease,box-shadow 300ms ease; }
.nl-compare-basic { border: 1px solid rgba(25,22,43,.1); background: rgba(255,255,255,.72); color: #625b6c; box-shadow: 0 16px 38px rgba(45,34,84,.07); }
.nl-compare-basic::after { content: "רגיל"; position: absolute; left: 24px; bottom: 18px; color: #aca5b2; font-size: 3.6rem; font-weight: 900; line-height: 1; opacity: .09; }
.nl-compare-nilmad { grid-template-columns: auto 1fr; border: 1px solid rgba(255,255,255,.13); background: radial-gradient(circle at 12% 20%,rgba(114,221,255,.18),transparent 30%),linear-gradient(135deg,#211839,#3f2a87); color: #fff; box-shadow: 0 24px 58px rgba(41,27,90,.22); }
.nl-compare-nilmad::before { content: "‹‹"; position: absolute; z-index: 3; right: -16px; top: 50%; display: grid; place-items: center; width: 64px; height: 64px; border: 7px solid #f2edff; border-radius: 50%; background: var(--nl-lime); color: #272039; font-size: 1.8rem; font-weight: 900; letter-spacing: -.25em; transform: translateY(-50%); box-shadow: 0 12px 28px rgba(20,11,53,.22); }
.nl-compare-nilmad::after { content: ""; position: absolute; width: 260px; height: 260px; left: -160px; bottom: -170px; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; box-shadow: 0 0 0 42px rgba(255,255,255,.035),0 0 0 84px rgba(255,255,255,.02); }
.nl-compare-row:nth-child(3n) .nl-compare-nilmad { background: radial-gradient(circle at 86% 18%,rgba(220,255,101,.15),transparent 26%),linear-gradient(135deg,#3b24be,#7637a2); }
.nl-compare-row:nth-child(4n) .nl-compare-nilmad { background: radial-gradient(circle at 14% 80%,rgba(255,146,202,.18),transparent 28%),linear-gradient(135deg,#172442,#2d5177); }
.nl-compare-row:nth-child(5n) .nl-compare-nilmad { background: radial-gradient(circle at 80% 20%,rgba(255,197,124,.16),transparent 26%),linear-gradient(135deg,#3b203a,#7a354d); }
.nl-compare-basic > span,.nl-compare-nilmad > span { position: relative; z-index: 2; display: grid; place-items: center; flex: none; width: 76px; height: 76px; border-radius: 24px; background: #f0edf4; color: #8b8394; font-size: 1.65rem; font-weight: 900; }
.nl-compare-nilmad > span { background: rgba(255,255,255,.12); color: var(--nl-lime); box-shadow: inset 0 0 0 1px rgba(255,255,255,.1); }
.nl-compare-basic p,.nl-compare-nilmad p { position: relative; z-index: 2; display: grid; gap: 10px; margin: 0; }
.nl-compare-basic b { font-size: clamp(1.15rem,1.65vw,1.45rem); line-height: 1.25; }
.nl-compare-nilmad b { max-width: 610px; font-size: clamp(1.45rem,2.1vw,2rem); line-height: 1.16; }
.nl-compare-basic small { color: #8a8391; font-size: .9rem; line-height: 1.6; }
.nl-compare-nilmad small { max-width: 640px; color: #d7d0e4; font-size: 1rem; line-height: 1.62; }
.nl-compare-nilmad em { position: absolute; z-index: 2; right: clamp(32px,4vw,52px); bottom: 28px; width: max-content; padding: 9px 13px; border-radius: 999px; background: var(--nl-lime); color: #2a2438; font-size: .72rem; font-style: normal; font-weight: 900; }
.nl-compare-row:hover .nl-compare-basic { opacity: .78; transform: translateX(5px) scale(.985); }.nl-compare-row:hover .nl-compare-nilmad { transform: translateX(-7px); box-shadow: 0 30px 72px rgba(41,27,90,.3); }
.nl-compare-win { position: relative; overflow: hidden; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 30px; min-height: 210px; margin-top: 34px; padding: clamp(34px,5vw,62px); border-radius: 34px; background: linear-gradient(120deg,var(--nl-lime),#f0ffb8); color: #272139; box-shadow: 0 22px 55px rgba(67,84,28,.14); }.nl-compare-win::after { content: "↗"; position: absolute; left: 5%; top: -26%; color: #3c5420; font-size: 13rem; font-weight: 900; opacity: .07; transform: rotate(-10deg); }
.nl-compare-win div { position: relative; z-index: 2; display: grid; gap: 10px; }.nl-compare-win span { color: #526526; font-size: .82rem; font-weight: 900; }.nl-compare-win strong { max-width: 860px; font-size: clamp(1.65rem,3vw,2.65rem); line-height: 1.22; }.nl-compare-win .nl-button { position: relative; z-index: 2; }
.nl-feature-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.nl-feature-column { overflow: hidden; border: 1px solid var(--nl-line); border-radius: 30px; background: var(--nl-paper); box-shadow: var(--nl-shadow-soft); }
.nl-feature-column-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 24px 26px; border-bottom: 1px solid var(--nl-line); }
.nl-feature-column-head span { padding: 6px 10px; border-radius: 999px; background: #e6ffc0; color: #30491a; font-size: .68rem; font-weight: 800; }
.is-learning .nl-feature-column-head span { background: var(--nl-violet-soft); color: var(--nl-violet); }
.nl-feature-column-head strong { font-size: 1.03rem; }
.nl-feature-column ul { display: grid; margin: 0; padding: 12px; list-style: none; }
.nl-feature-column li { display: flex; align-items: center; gap: 13px; padding: 16px 14px; border-radius: 16px; }
.nl-feature-column li:hover { background: color-mix(in srgb,var(--nl-violet-soft) 54%,transparent); }
.nl-feature-column li > .ic,.nl-feature-column li > .nl-emoji { display: grid; place-items: center; flex: none; width: 42px; height: 42px; padding: 10px; border-radius: 13px; background: #f1edff; color: var(--nl-violet); }
.nl-feature-column li > .nl-emoji { padding: 0; background: #fff3dc; font-size: 1rem; }
.nl-feature-column li > span:last-child { display: grid; gap: 2px; }
.nl-feature-column li b { font-size: .9rem; }
.nl-feature-column li small { color: var(--nl-soft); font-size: .74rem; }

/* Hebrew statement */
.nl-hebrew { padding-top: 70px; }
.nl-hebrew-card { position: relative; min-height: 500px; overflow: hidden; display: grid; grid-template-columns: 1fr 1fr; align-items: center; padding: 70px; border-radius: 38px; background: var(--nl-lime); color: #211d2a; }
.nl-hebrew-card::before { content: ""; position: absolute; width: 620px; height: 620px; top: -250px; left: -180px; border: 1px solid rgba(33,29,42,.12); border-radius: 50%; box-shadow: 0 0 0 48px rgba(33,29,42,.035),0 0 0 96px rgba(33,29,42,.025); }
.nl-hebrew-copy { position: relative; z-index: 2; }
.nl-hebrew-copy .nl-kicker { color: #3e2e98; }
.nl-hebrew-copy h2 { margin: 0; font-size: clamp(2.8rem,4.8vw,4.9rem); line-height: .98; letter-spacing: -.045em; }
.nl-hebrew-copy h2 em { color: #4b31d8; }
.nl-hebrew-copy > p:not(.nl-kicker) { max-width: 580px; margin-top: 22px; color: #554f5d; font-size: 1.06rem; line-height: 1.72; }
.nl-hebrew-copy .nl-text-link { color: #3e2e98 !important; }
.nl-hebrew-art { position: relative; z-index: 2; min-height: 330px; }
.nl-letter { position: absolute; display: grid; place-items: center; width: 155px; height: 180px; border-radius: 28px; font-size: 7rem; font-weight: 800; line-height: 1; box-shadow: 0 22px 45px rgba(33,29,42,.16); animation: nl-letter-float 5.6s ease-in-out infinite; }
.nl-letter.l-1 { top: 4px; right: 8%; background: #fff; color: var(--nl-violet); --nl-letter-rotate: 8deg; }
.nl-letter.l-2 { top: 70px; right: 36%; background: var(--nl-coral); color: #fff; --nl-letter-rotate: -7deg; animation-delay: -1.8s; }
.nl-letter.l-3 { top: 16px; right: 64%; background: #252035; color: var(--nl-lime); --nl-letter-rotate: 5deg; animation-delay: -3.2s; }
@keyframes nl-letter-float { 0%,100% { transform: translateY(0) rotate(var(--nl-letter-rotate)); } 50% { transform: translateY(-14px) rotate(calc(var(--nl-letter-rotate) + 2deg)); } }
.nl-hebrew-art p { position: absolute; right: 12%; bottom: 0; margin: 0; font-size: .88rem; line-height: 1.5; }

/* FAQ */
.nl-faq { padding: 130px 0; background: var(--nl-bg); }
.nl-faq-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(50px,8vw,110px); }
.nl-faq-title { position: sticky; top: 110px; align-self: start; }
.nl-faq-title h2 { margin: 0; font-size: clamp(2.6rem,4.2vw,4.4rem); line-height: 1; letter-spacing: -.045em; }
.nl-faq-title > p:last-child { margin-top: 20px; color: var(--nl-soft); }
.nl-faq-list { border-top: 1px solid var(--nl-line); }
.nl-faq-list details { border-bottom: 1px solid var(--nl-line); }
.nl-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 84px; padding: 20px 4px; cursor: pointer; list-style: none; font-size: 1.1rem; font-weight: 750; }
.nl-faq-list summary::-webkit-details-marker { display: none; }
.nl-faq-list summary .ic { transition: transform 220ms ease; }
.nl-faq-list details[open] summary { color: var(--nl-violet); }
.nl-faq-list details[open] summary .ic { transform: rotate(45deg); }
.nl-faq-list details p { max-width: 680px; padding: 0 4px 26px; color: var(--nl-soft); line-height: 1.75; }

/* Final */
.nl-final { position: relative; overflow: hidden; padding: 130px 0; isolation: isolate; background: linear-gradient(135deg,#3a24be 0%,#6d3df0 52%,#b148bd 100%); color: #fff; text-align: center; }
.nl-final::before,.nl-final::after { content: ""; position: absolute; z-index: -1; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; }
.nl-final::before { width: 640px; height: 640px; top: -440px; right: -100px; box-shadow: 0 0 0 58px rgba(255,255,255,.035),0 0 0 116px rgba(255,255,255,.025); }
.nl-final::after { width: 460px; height: 460px; bottom: -330px; left: -80px; box-shadow: 0 0 0 46px rgba(255,255,255,.03); }
.nl-final-inner { position: relative; z-index: 2; display: grid; justify-items: center; }
.nl-final .nl-kicker { color: var(--nl-lime); }
.nl-final h2 { margin: 0; font-size: clamp(3rem,5.6vw,5.8rem); line-height: .96; letter-spacing: -.052em; }
.nl-final h2 em { color: var(--nl-lime); }
.nl-final-inner > p:not(.nl-kicker) { max-width: 680px; margin: 25px auto 34px; color: #ddd7ef; font-size: 1.12rem; line-height: 1.7; }
.nl-final-offer { width: min(920px,100%); display: grid; grid-template-columns: .65fr 1fr auto; align-items: center; gap: 28px; padding: 25px 28px; border: 1px solid rgba(255,255,255,.18); border-radius: 27px; background: rgba(24,17,56,.36); text-align: right; box-shadow: 0 24px 64px rgba(18,8,57,.22); backdrop-filter: blur(14px); }
.nl-final-price { display: grid; }
.nl-final-price > span { color: var(--nl-lime); font-size: .76rem; font-weight: 850; }
.nl-final-price strong { margin: 4px 0; color: #fff; font-size: 2.65rem; line-height: 1; letter-spacing: -.04em; }
.nl-final-price strong small { color: #d8d2e6; font-size: .72rem; font-weight: 650; letter-spacing: 0; }
.nl-final-price > em { color: #cfc8df; font-size: .66rem; font-style: normal; }
.nl-final-offer ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.nl-final-offer li { display: flex; align-items: center; gap: 8px; color: #eeeaf7; font-size: .77rem; }
.nl-final-offer li .ic { flex: none; width: 17px; height: 17px; padding: 3px; border-radius: 50%; background: var(--nl-lime); color: #211b34; }
.nl-final-offer .nl-button { min-width: 220px; }
.nl-final-login { margin-top: 22px; color: #ddd7ef !important; font-size: .82rem; font-weight: 700; }
.nl-final-login:hover { color: #fff !important; }
.nl-final-stars i { position: absolute; color: rgba(255,255,255,.55); font-style: normal; animation: nl-spark 4s ease-in-out infinite; }
.nl-final-stars i:nth-child(1){top:18%;right:9%;font-size:2rem}.nl-final-stars i:nth-child(2){top:28%;left:12%;font-size:1rem;animation-delay:1s}.nl-final-stars i:nth-child(3){bottom:18%;right:18%;color:var(--nl-lime);animation-delay:2s}.nl-final-stars i:nth-child(4){bottom:12%;left:26%;font-size:1.8rem;animation-delay:.5s}

/* Footer restyle and copy rail */
.landing .site-foot.lp-foot { padding: 70px 0 28px; background: #171329; color: #fff; }
.landing .lp-foot .foot-inner { width: min(1240px,calc(100% - 48px)); }
.landing .lp-foot .foot-brand { color: #fff; }
.landing .lp-foot .meta,.landing .lp-foot a,.landing .lp-foot button,.landing .lp-foot .foot-note { color: #aaa3ba; }
.landing .lp-foot a:hover,.landing .lp-foot button:hover { color: #dcff65; }
.landing .lp-foot .foot-title { color: #fff; }

/* Progressive reveal. The visible state is the no-script default. */
.nl-page[data-motion] .nl-reveal { opacity: 0; transform: translateY(28px); transition: opacity 700ms cubic-bezier(.22,1,.36,1),transform 700ms cubic-bezier(.22,1,.36,1); }
.nl-page[data-motion] .nl-reveal[data-in] { opacity: 1; transform: none; }
.nl-page[data-motion] .nl-product-stage.nl-reveal { transform: perspective(1200px) translateY(34px) scale(.98); }
.nl-page[data-motion] .nl-product-stage.nl-reveal[data-in] { transform: perspective(1200px) rotateX(calc(var(--tilt-x,0) * 1deg)) rotateY(calc(var(--tilt-y,0) * 1deg)); }
.nl-page[data-motion] .nl-price-card.is-featured.nl-reveal[data-in] { transform: translateY(-14px); }
.nl-page[data-motion] .nl-price-card.is-featured.nl-reveal[data-in]:hover { transform: translateY(-22px); }

/* Responsive */
@media (max-width: 1080px) {
  .landing .lp-nav { display: none; }
  .nl-hero { min-height: auto; padding-top: 132px; }
  .nl-hero-grid { grid-template-columns: 1fr; }
  .nl-hero-copy { max-width: 760px; text-align: center; margin-inline: auto; }
  .nl-hero h1,.nl-hero-lead,.nl-hero-business { margin-inline: auto; }
  .nl-hero-copy .nl-kicker,.nl-hero-copy .nl-actions,.nl-proof-row { justify-content: center; }
  .nl-product-stage { width: min(760px,100%); min-height: 590px; margin: 25px auto 0; }
  .nl-story-grid,.nl-security-grid { grid-template-columns: 1fr; }
  .nl-revenue-map { grid-template-columns: 1fr; }
  .nl-revenue-chapter { grid-template-columns: 1fr; min-height: 0; padding: 54px; }
  .nl-revenue-scene { min-height: 455px; }
  .nl-security-grid { direction: rtl; }
  .nl-security-copy { max-width: 720px; }
  .nl-security-visual { order: 2; width: min(700px,100%); margin-inline: auto; }
  .nl-bento-growth { padding-left: 46%; }
  .nl-growth-chart { width: 38%; }
  .nl-hebrew-card { padding: 56px 42px; }
  .nl-letter { width: 120px; height: 145px; font-size: 5.8rem; }
  .nl-price-grid { grid-template-columns: 1fr 1fr; }
  .nl-price-card.is-featured { transform: none; }
  .nl-price-card.is-featured:hover { transform: translateY(-8px); }
  .nl-page[data-motion] .nl-price-card.is-featured.nl-reveal[data-in] { transform: none; }
  .nl-page[data-motion] .nl-price-card.is-featured.nl-reveal[data-in]:hover { transform: translateY(-8px); }
  .nl-price-card:last-child { grid-column: 1/-1; width: calc(50% - 9px); justify-self: center; }
  .nl-final-offer { grid-template-columns: .7fr 1fr; }
  .nl-final-offer .nl-button { grid-column: 1/-1; }
}

@media (max-width: 820px) {
  .nl-shell { width: min(calc(100% - 32px),1240px); }
  .landing .lp-bar { top: 8px; padding-inline: 8px; }
  .landing .lp-bar-inner { min-height: 60px; padding-inline: 10px 14px; border-radius: 17px; }
  .landing .lp-bar-side .theme-toggle { display: none; }
  .landing .lp-signin { padding-inline: 10px; }
  .landing .primary.lp-bar-cta { padding-inline: 14px; font-size: .84rem; }
  .nl-hero { padding: 120px 0 82px; }
  .nl-hero h1 { font-size: clamp(3.2rem,12vw,5.2rem); }
  .nl-three-acts,.nl-feature-columns { grid-template-columns: 1fr; }
  .nl-act { min-height: 350px; }
  .nl-student-lab { grid-template-columns: 1fr; }
  .nl-student-tabs { display: flex; overflow-x: auto; padding: 10px; scroll-snap-type: x proximity; scrollbar-width: thin; }
  .nl-student-tabs button { flex: 0 0 260px; scroll-snap-align: start; }
  .nl-student-tabs button[aria-selected="true"]::after { top: auto; right: 20px; bottom: -11px; left: 20px; width: auto; height: 4px; }
  .nl-student-panel { min-height: 630px; }
  .nl-bento { grid-template-columns: 1fr; grid-template-areas: "ai" "brand" "support" "growth"; }
  .nl-bento-ai { min-height: 780px; }
  .nl-bento-growth { min-height: 590px; padding: 30px; padding-bottom: 280px; }
  .nl-growth-chart { top: auto; right: 28px; bottom: 28px; left: 28px; width: auto; height: 225px; }
  .nl-feature-head { grid-template-columns: 1fr; gap: 24px; }
  .nl-addon-rail { grid-template-columns: 1fr; }
  .nl-pricing-head { grid-template-columns: 1fr; gap: 24px; }
  .nl-billing-note { width: fit-content; }
  .nl-price-grid { grid-template-columns: 1fr; }
  .nl-price-card:last-child { grid-column: auto; width: auto; }
  .nl-hebrew-card { grid-template-columns: 1fr; padding: 48px 32px; }
  .nl-hebrew-art { min-height: 300px; margin-top: 35px; }
  .nl-faq-grid { grid-template-columns: 1fr; gap: 42px; }
  .nl-faq-title { position: static; }
}

@media (max-width: 620px) {
  .nl-shell { width: min(calc(100% - 28px),1240px); }
  .landing .lp-bar .brand span { font-size: 1.14rem; }
  .landing .lp-bar .brand-mark { width: 28px; }
  .landing .lp-bar-side { margin-inline-start: auto; }
  .landing .lp-signin { font-size: .84rem; }
  .landing .primary.lp-bar-cta { display: none; }
  .nl-hero { padding-top: 112px; }
  .nl-hero-copy { text-align: right; }
  .nl-hero-copy .nl-kicker,.nl-hero-copy .nl-actions,.nl-proof-row { justify-content: flex-start; }
  .nl-hero-business { margin-inline: 0; }
  .nl-kicker { align-items: flex-start; }
  .nl-hero h1 { font-size: clamp(3rem,14.4vw,4.4rem); line-height: .94; }
  .nl-hero-lead { margin-top: 22px; font-size: 1rem; }
  .nl-actions { align-items: stretch; }
  .nl-button { width: 100%; }
  .nl-proof-row { display: grid; gap: 8px; }
  .nl-product-stage { min-height: 420px; margin-top: 12px; }
  .nl-browser { inset: 36px 0 35px 0; border-radius: 20px; }
  .nl-browser-top { height: 50px; padding-inline: 12px; }
  .nl-browser-brand span { display: none; }
  .nl-browser-course { font-size: .6rem; }
  .nl-browser-body { height: calc(100% - 50px); grid-template-columns: 1fr; }
  .nl-course-list { display: none; }
  .nl-lesson-preview { padding: 14px; }
  .nl-lesson-meta { padding-top: 12px; }
  .nl-phone { display: none; }
  .nl-float-award { top: 5px; left: 8px; }
  .nl-float-caption { right: -4px; bottom: 10px; }
  .nl-scroll-cue { display: none; }
  .nl-ticker { padding: 15px 0; }
  .nl-section,.nl-faq,.nl-final,.nl-security { padding: 92px 0; }
  .nl-pricing { padding: 92px 0; }
  .nl-section-head h2,.nl-feature-head h2,.nl-pricing-head h2,.nl-story-copy h2,.nl-student-head h2,.nl-security-copy h2,.nl-hebrew-copy h2,.nl-faq-title h2,.nl-final h2 { font-size: clamp(2.55rem,12vw,3.65rem); }
  .nl-section-head { margin-bottom: 36px; }
  .nl-three-acts { gap: 13px; }
  .nl-act { min-height: 340px; padding: 24px; border-radius: 23px; }
  .nl-act-demo { right: 24px; bottom: 24px; left: 24px; }
  .nl-revenue-map { grid-template-columns: 1fr; }
  .nl-revenue-chapter { padding: 34px 26px; border-radius: 29px; }
  .nl-revenue-copy > span { margin-bottom: -10px; font-size: 4.6rem; }
  .nl-revenue-copy h3 { font-size: clamp(2.55rem,12vw,3.55rem); }
  .nl-revenue-copy p { font-size: .98rem; }
  .nl-revenue-scene { min-height: 405px; }
  .nl-checkout-window { width: 88%; padding: 20px; }.nl-sale-pop { min-width: 152px; padding: 10px; }.nl-sale-pop-a { top: 22px; }.nl-sale-pop-b { right: -4px; bottom: 28px; }.nl-checkout-orbit { width: 310px; height: 310px; }
  .nl-complete-player { right: 0; width: 86%; padding: 22px; }.nl-upsell-offer { left: 0; width: 78%; }.nl-upsell-arrow { left: 25%; }
  .nl-automation-scene { padding-inline: 0; }.nl-flow-node { width: 94%; padding: 13px; }.nl-flow-node.n2 { margin-right: 6%; }.nl-flow-node.n3 { margin-right: 2%; }.nl-flow-line { right: 41px; }
  .nl-membership-core { width: 190px; height: 190px; padding: 24px 16px; }.nl-membership-core > b { font-size: 1.65rem; }.nl-member-orbit { min-width: 136px; padding: 9px; }.nl-member-orbit.o1 { right: -4px; }.nl-member-orbit.o2 { left: -4px; }.nl-member-rings { width: 300px; height: 300px; }
  .nl-student-head { margin-bottom: 34px; }
  .nl-student-tabs button { flex-basis: 238px; min-height: 86px; padding: 13px; }
  .nl-student-panel { min-height: 650px; padding: 26px 22px; border-radius: 25px; }
  .nl-benefit-copy h3 { font-size: 2.05rem; }
  .nl-benefit-copy p { font-size: .9rem; }
  .nl-benefit-scene { min-height: 400px; margin-top: 18px; }
  .nl-push-note { top: 92px; left: -12px; min-width: 210px; }
  .nl-app-orbit-a { right: 0; }.nl-app-orbit-b { right: 3%; }
  .nl-game-path { margin-inline: 0; }.nl-game-path > span { width: 41px; height: 41px; border-radius: 14px; }.nl-game-mission { width: 86%; }.nl-game-prize { right: 12%; left: 0; }
  .nl-demo-player { inset-inline: 0; }.nl-player-float-a { right: -6px; }.nl-player-float-b { left: -6px; }
  .nl-quiz-card { right: 0; width: 68%; }.nl-certificate { left: 0; width: 61%; }
  .nl-adaptive-map { gap: 2px; padding: 10px; }.nl-adaptive-map > span { width: 49px; height: 56px; border-radius: 15px; }.nl-adaptive-map > i { margin-top: 27px; }.nl-adaptive-next { top: 118px; right: 0; width: 82%; }.nl-adaptive-insight { left: 0; width: 68%; }
  .nl-ai-thread { right: 0; left: 0; }.nl-ai-thread p { max-width: 88%; }.nl-human-handoff { right: 5%; left: 0; }
  .nl-quest-board { min-height: 510px; padding: 22px 16px; border-radius: 25px; }
  .nl-quest-board::before { inset: 12px -8px -12px 8px; }
  .nl-quest-path { margin-block: 38px 34px; }
  .nl-quest-path > span { width: 48px; }
  .nl-quest-path b { width: 42px; height: 42px; border-radius: 14px; }
  .nl-quest-path > i { margin-top: 20px; }
  .nl-security-visual { min-height: 350px; }
  .nl-shield-pulse { width: 270px; height: 270px; }
  .nl-sec-player { border-radius: 19px; }
  .nl-sec-stamp { font-size: .5rem; }
  .nl-sec-foot { display: grid; }
  .nl-sec-chip-a { top: -5px; right: 0; }
  .nl-sec-chip-b { bottom: 4px; left: 0; }
  .nl-bento { margin-top: 62px; }
  .nl-bento-card { min-height: 430px; padding: 30px 25px; border-radius: 27px; }
  .nl-bento-card h3 { font-size: 2.45rem; }
  .nl-bento-ai { min-height: 730px; }
  .nl-bento-support { min-height: 560px; }
  .nl-ai-chat,.nl-brand-swatches,.nl-support-thread { right: 25px; left: 25px; }
  .nl-bento-growth { min-height: 600px; padding-bottom: 280px; }
  .nl-growth-chart { right: 25px; bottom: 25px; left: 25px; }
  .nl-addon-rail article { grid-template-columns: auto 1fr; }
  .nl-addon-rail article > b { grid-column: 2; text-align: right; }
  .nl-live-tag { position: static; display: inline-flex; margin-bottom: 8px; }
  .nl-price-card { min-height: 0; padding: 26px; border-radius: 24px; }
  .nl-price-name small { min-height: 0; }
  .nl-price-card.is-featured { transform: none; }
  .nl-price-card.is-featured:hover { transform: translateY(-6px); }
  .nl-page[data-motion] .nl-price-card.is-featured.nl-reveal[data-in] { transform: none; }
  .nl-page[data-motion] .nl-price-card.is-featured.nl-reveal[data-in]:hover { transform: translateY(-6px); }
  .nl-feature-column-head { align-items: flex-start; flex-direction: column; }
  .nl-feature-column li { align-items: flex-start; padding: 14px 10px; }
  .nl-compare-head { display: none; }
  .nl-compare-row { grid-template-columns: 1fr; gap: 0; margin-top: 10px; background: transparent; }
  .nl-compare-basic,.nl-compare-nilmad { min-height: 0; padding: 40px 22px 32px; border-radius: 25px; }
  .nl-compare-basic { border-bottom: 1px dashed #d9d3df; }
  .nl-compare-basic::before,.nl-compare-nilmad::before { position: absolute; top: 12px; right: auto; bottom: auto; left: 16px; width: auto; height: auto; border: 0; border-radius: 0; background: transparent; color: #9992a0; font-size: .62rem; font-weight: 900; letter-spacing: 0; box-shadow: none; transform: none; }
  .nl-compare-basic::before { content: "בדרך כלל"; }.nl-compare-nilmad::before { content: "בנלמד"; color: var(--nl-lime); }
  .nl-compare-basic > span,.nl-compare-nilmad > span { width: 58px; height: 58px; border-radius: 18px; font-size: 1.3rem; }
  .nl-compare-nilmad { grid-template-columns: auto 1fr; }.nl-compare-nilmad em { position: static; grid-column: 2; margin-top: 6px; }
  .nl-compare-win { grid-template-columns: 1fr; }.nl-compare-win .nl-button { width: 100%; }
  .nl-hebrew-card { width: calc(100% - 16px); min-height: 650px; padding: 40px 24px; border-radius: 28px; }
  .nl-hebrew-art { min-height: 250px; }
  .nl-letter { width: 90px; height: 110px; border-radius: 20px; font-size: 4.5rem; }
  .nl-letter.l-1 { right: 2%; }.nl-letter.l-2 { right: 34%; }.nl-letter.l-3 { right: 66%; }
  .nl-faq-list summary { min-height: 76px; font-size: 1rem; }
  .nl-final-offer { grid-template-columns: 1fr; padding: 24px; }
  .nl-final-offer .nl-button { grid-column: auto; width: 100%; min-width: 0; }
  .landing .lp-foot .foot-inner { width: calc(100% - 32px); }
}

/* Accessibility modes */
@media (prefers-reduced-motion: reduce) {
  .nl-page *, .nl-page *::before, .nl-page *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; }
}
html[data-a11y-motion="off"] .nl-page *,
html[data-a11y-motion="off"] .nl-page *::before,
html[data-a11y-motion="off"] .nl-page *::after { animation: none !important; transition-duration: .001ms !important; }
html[data-a11y-contrast="high"] .nl-page { --nl-bg:#fff;--nl-paper:#fff;--nl-ink:#000;--nl-soft:#000;--nl-line:#000;--nl-violet:#31007a;--nl-violet-soft:#eee; }
html[data-a11y-contrast="high"] .nl-page .nl-act,
html[data-a11y-contrast="high"] .nl-page .nl-bento-card,
html[data-a11y-contrast="high"] .nl-page .nl-feature-column,
html[data-a11y-contrast="high"] .nl-page .nl-student-tabs,
html[data-a11y-contrast="high"] .nl-page .nl-revenue-map article,
html[data-a11y-contrast="high"] .nl-page .nl-compare { box-shadow:none; }
html[data-a11y-contrast="high"] .landing .lp-bar-inner { border:2px solid currentColor;backdrop-filter:none;background:#fff;color:#000; }
