/* ==============================================================
   LUMEN LANDING — premium re-skin for the guest homepage + auth
   pages. Loads AFTER nova-landing.css: visual overrides only
   (colours, glass, gradients, radius, motion) — layout stays.
   ============================================================== */
:root{
  --lmL-grad:linear-gradient(135deg,var(--nv-accent),color-mix(in srgb,var(--nv-accent) 66%,#ffcf9e 34%));
  --lmL-ink:#0b1220; --lmL-soft:#46516a; --lmL-mut:#8691a9;
  --lmL-bg:#f4f6fb; --lmL-card:#ffffff; --lmL-border:#e6eaf3;
  --lmL-sh:0 1px 2px rgba(13,18,35,.04),0 14px 40px -20px rgba(13,18,35,.22);
  --lmL-ease:cubic-bezier(.4,0,.2,1);
}
body.lp{
  background:var(--lmL-bg);color:var(--lmL-ink);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

/* nav — glass */
.lp-nav{background:color-mix(in srgb,#ffffff 78%,transparent)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--lmL-border)}
.lp-nav .nav-l{color:var(--lmL-soft)!important;font-weight:600}
.lp-nav .nav-l:hover{color:var(--nv-accent)!important}
.lp-nav .brand{color:var(--lmL-ink)!important}

/* buttons — gradient + lift */
.lp .btn-primary{background:var(--lmL-grad)!important;border:0!important;border-radius:13px!important;box-shadow:0 10px 26px -10px color-mix(in srgb,var(--nv-accent) 55%,transparent);transition:transform .16s var(--lmL-ease),filter .16s!important}
.lp .btn-primary:hover{transform:translateY(-1px);filter:brightness(1.05)}
.lp .btn-ghost{border-radius:13px!important;border:1.5px solid var(--lmL-border)!important;background:#fff!important;color:var(--lmL-ink)!important}
.lp .btn-ghost:hover{border-color:var(--nv-accent)!important;color:var(--nv-accent)!important}

/* hero — light gradient, gradient headline, glass card */
.lp-hero{background:
  radial-gradient(900px 480px at 82% -140px,color-mix(in srgb,var(--nv-accent) 14%,transparent),transparent 62%),
  radial-gradient(760px 420px at -120px -120px,color-mix(in srgb,var(--nv-accent) 8%,transparent),transparent 58%),
  linear-gradient(180deg,#fbfcff,var(--lmL-bg))!important;color:var(--lmL-ink)!important}
.lp-hero h1{color:var(--lmL-ink)!important;letter-spacing:-.03em}
.lp-hero .grad{background:var(--lmL-grad);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.lp-hero .lead{color:var(--lmL-soft)!important}
.lp-hero .pill{background:#fff!important;border:1px solid var(--lmL-border)!important;color:var(--lmL-soft)!important;border-radius:99px!important;box-shadow:var(--lmL-sh)}
.lp-hero .trust span{color:var(--lmL-mut)!important}
.lp-hero .trust i{color:var(--nv-accent)!important}

/* auth card — floating glass */
.lp-card{background:color-mix(in srgb,#ffffff 92%,transparent)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--lmL-border)!important;border-radius:22px!important;box-shadow:0 30px 80px -28px rgba(13,18,35,.35)!important}
.lp-card h3{color:var(--lmL-ink)!important}
.lp-card .sub{color:var(--lmL-mut)!important}
.lp-card .seg{background:#f1f4fa!important;border:1px solid var(--lmL-border)!important;border-radius:13px!important;padding:5px!important}
.lp-card .seg a{border-radius:9px!important;color:var(--lmL-soft)!important;font-weight:700}
.lp-card .seg a.active{background:#fff!important;color:var(--nv-accent)!important;box-shadow:var(--lmL-sh)}
.lp-card .lp-field label{color:var(--lmL-soft)!important;font-weight:700}
.lp-card .lp-field input{background:#fff!important;border:1.5px solid #dbe0ec!important;border-radius:13px!important;color:var(--lmL-ink)!important;height:48px;transition:border-color .15s,box-shadow .15s}
.lp-card .lp-field input:focus{border-color:var(--nv-accent)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--nv-accent) 15%,transparent)!important;outline:none}
.lp-card .alt{color:var(--lmL-mut)!important}

/* stats band */
.lp-stats{background:#fff!important;border-top:1px solid var(--lmL-border);border-bottom:1px solid var(--lmL-border)}
.lp-stats .n{color:var(--lmL-ink)!important;letter-spacing:-.02em}
.lp-stats .l{color:var(--lmL-mut)!important}

/* sections */
.lp .sec-head .eyebrow{color:var(--nv-accent)!important}
.lp .sec-head h2{color:var(--lmL-ink)!important;letter-spacing:-.02em}
.lp .sec-head p{color:var(--lmL-soft)!important}
.lp-serv{background:var(--lmL-bg)!important}
.lp-plat .card,.lp-svc,.lp-feat .card,.lp-test .card,.lp-blog .card,.lp-offers .ofr{background:#fff!important;border:1px solid var(--lmL-border)!important;border-radius:18px!important;box-shadow:var(--lmL-sh)!important;transition:transform .18s var(--lmL-ease),box-shadow .18s var(--lmL-ease)!important}
.lp-plat .card:hover,.lp-svc:hover,.lp-feat .card:hover,.lp-blog .card:hover{transform:translateY(-3px);box-shadow:0 26px 60px -24px rgba(13,18,35,.3)!important}
.lp-plat .card .nm,.lp-svc .nm,.lp-feat .card h3,.lp-test .card .who .nm{color:var(--lmL-ink)!important}
.lp-plat .card .ds,.lp-svc .pf,.lp-feat .card p,.lp-test .card .rl{color:var(--lmL-mut)!important}
.lp-svc .pr{color:var(--nv-accent)!important}
.lp-svc-sec{background:#fff!important}
.lp-feat .card .ic{background:color-mix(in srgb,var(--nv-accent) 11%,transparent)!important;color:var(--nv-accent)!important;border-radius:14px!important}
.lp-how{background:var(--lmL-bg)!important}
.lp-how .step{background:#fff!important;border:1px solid var(--lmL-border)!important;border-radius:18px!important;box-shadow:var(--lmL-sh)!important}
.lp-how .step h3{color:var(--lmL-ink)!important}
.lp-how .step p{color:var(--lmL-soft)!important}
.lp-how .step .num{background:var(--lmL-grad)!important;color:#fff!important;border-radius:11px!important}
.lp-how .step i{color:var(--nv-accent)!important}
.lp-why .col{border-radius:18px!important}
.lp-why .col.us{background:color-mix(in srgb,var(--nv-accent) 7%,#fff)!important;border:1.5px solid color-mix(in srgb,var(--nv-accent) 30%,transparent)!important}
.lp-why .col.us h3{color:var(--nv-accent)!important}
.lp-why .col.us li{color:var(--lmL-ink)!important}
.lp-why .col.us li i{color:#16a34a!important}
.lp-why .col.them{background:#fff!important;border:1px solid var(--lmL-border)!important}
.lp-why .col.them h3,.lp-why .col.them li{color:var(--lmL-mut)!important}
.lp-test{background:#fff!important}
.lp-test .card .q{color:var(--lmL-soft)!important}
.lp-test .card .stars{color:#f59e0b!important}
.lp-test .card .who .av{background:var(--lmL-grad)!important;color:#fff!important;border-radius:12px!important}
.lp-blog{background:var(--lmL-bg)!important}
.lp-blog .card h3{color:var(--lmL-ink)!important}
.lp-blog .card p{color:var(--lmL-soft)!important}
.lp-blog .card .rd{color:var(--nv-accent)!important}
.lp-faq{background:#fff!important}
.lp-faq .item{background:var(--lmL-bg)!important;border:1px solid var(--lmL-border)!important;border-radius:15px!important}
.lp-faq .item .q{color:var(--lmL-ink)!important;font-weight:700}
.lp-faq .item .a div{color:var(--lmL-soft)!important}
.lp-offers .ofr .t{color:var(--lmL-ink)!important}

/* CTA band — gradient */
.lp-band{background:var(--lmL-grad)!important;border-radius:0!important}
.lp-band h2,.lp-band p{color:#fff!important}
.lp-band .btn{background:#fff!important;color:var(--nv-accent)!important;border-radius:13px!important;font-weight:800}

/* footer — light */
.lp-footer{background:#0d1220!important}

/* sticky cta + promo + exit modal polish */
.lp-promo{background:var(--lmL-grad)!important}
.lp-sticky{background:color-mix(in srgb,#ffffff 88%,transparent)!important;backdrop-filter:blur(14px);border-top:1px solid var(--lmL-border)!important;color:var(--lmL-ink)!important}
.lp-exit .box{border-radius:22px!important;box-shadow:0 40px 100px -30px rgba(13,18,35,.5)!important}

/* auth split pages (signup / reset) */
.lp-split .brandside{background:
  radial-gradient(700px 420px at 80% -120px,rgba(255,255,255,.14),transparent 60%),
  var(--lmL-grad)!important;color:#fff!important}
.lp-split .brandside h2{color:#fff!important;letter-spacing:-.02em}
.lp-split .brandside p{color:rgba(255,255,255,.85)!important}
.lp-split .brandside .bl{background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.24)!important;border-radius:13px!important;color:#fff!important}
.lp-split .brandside .bl i{color:#fff!important}
.lp-split .formside{background:var(--lmL-bg)!important}
.lp-split .formbox{background:#fff;border:1px solid var(--lmL-border);border-radius:22px;box-shadow:0 30px 80px -28px rgba(13,18,35,.25);padding:34px 30px}
.lp-split .formbox h1{color:var(--lmL-ink);letter-spacing:-.02em}
.lp-split .formbox .sub{color:var(--lmL-mut)}

/* ============================================================
   v2 — bring all standalone guest pages (smm-api, platform-
   services, blog, status, affiliate, child-panel) in line with
   the new dark-hero homepage: dark glass nav + dark footer,
   premium light content. Loads on those pages via injected link.
   ============================================================ */
.lp-nav{background:color-mix(in srgb,#0e1420 82%,transparent)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)!important}
.lp-nav .wrap{max-width:1180px}
.lp-nav .brand{color:#fff!important}
.lp-nav .nav-l{color:#96a2bb!important;font-weight:600}
.lp-nav .nav-l:hover{color:#fff!important}
.lp-nav .btn-ghost{background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.16)!important;color:#fff!important;border-radius:13px!important}
.lp-nav .btn-ghost:hover{background:rgba(255,255,255,.14)!important}
.lp-nav .btn-primary{border-radius:13px!important}

/* page hero (platform-services) -> dark to match homepage */
.lp-hero{background:linear-gradient(180deg,#0a0e17,#0e1420)!important;color:#eef2fa!important;border-bottom:1px solid rgba(255,255,255,.06)}
.lp-hero h1,.lp-hero h2{color:#fff!important}
.lp-hero .lead,.lp-hero p,.lp-hero .sub{color:#96a2bb!important}
.lp-hero .pill{background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.16)!important;color:#fff!important}

/* premium cards/tables used on guest pages */
.lp .api-ep,.lp .api-table{border-radius:16px!important;box-shadow:0 1px 2px rgba(13,18,35,.04),0 14px 40px -20px rgba(13,18,35,.22)!important;border:1px solid var(--lmL-border,#e6eaf3)!important;overflow:hidden}
.lp .api-ep .h{border-bottom:1px solid var(--lmL-border,#e6eaf3)!important}
.lp .api-ep .m{background:color-mix(in srgb,var(--nv-accent) 12%,transparent)!important;color:var(--nv-accent)!important;border-radius:8px!important}
.lp .api-table th{background:var(--lmL-bg,#f4f6fb)!important;color:var(--lmL-mut,#8691a9)!important}

/* dark footer to match homepage */
.lp-footer{background:#0e1420!important}

/* section headings + eyebrow use accent (already), ensure card hover lift */
.lp-plat .card:hover,.lp-svc:hover,.lp-feat .card:hover,.lp-blog .card:hover{transform:translateY(-3px);box-shadow:0 26px 60px -24px rgba(13,18,35,.3)!important}

/* ============================================================
   v3 — AUTH FORMS. signup / reset / setnewpassword include the
   Lumen split chrome (auth_head.twig -> .lp-split) but their
   bodies use .nv-* field classes that the base never styled.
   Style them inside the Lumen formbox so they match login.
   ============================================================ */
.lp-split .formbox{--nv-text:var(--lmL-ink);--nv-text-soft:var(--lmL-soft);--nv-muted:var(--lmL-mut)}
.lp-split .formbox h1{font-size:24px;font-weight:800;margin:0 0 4px;letter-spacing:-.02em;color:var(--lmL-ink)}
.lp-split .formbox .sub{font-size:14px;color:var(--lmL-mut);margin-bottom:20px}
.lp-split .formbox .nv-field{margin-bottom:14px}
.lp-split .formbox .nv-label{display:block;font-size:12.5px;font-weight:700;color:var(--lmL-soft);margin-bottom:6px}
.lp-split .formbox .nv-input{width:100%;height:48px;padding:0 14px;border:1.5px solid #dbe0ec;border-radius:13px;font-size:15px;font-family:inherit;background:#fff;color:var(--lmL-ink);outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}
.lp-split .formbox .nv-input:focus{border-color:var(--nv-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--nv-accent) 15%,transparent)}
.lp-split .formbox .nv-btn{width:100%;height:50px;border:0;border-radius:13px;background:var(--lmL-grad);color:#fff;font-weight:800;font-size:15px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 10px 26px -10px color-mix(in srgb,var(--nv-accent) 55%,transparent);transition:transform .16s var(--lmL-ease),filter .16s;margin-top:4px}
.lp-split .formbox .nv-btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.lp-split .formbox .nv-alert{padding:11px 14px;border-radius:12px;font-size:13.5px;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.lp-split .formbox .nv-alert.err{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}
.lp-split .formbox .nv-alert.ok{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}
.lp-split .formbox .nv-auth-foot{margin-top:18px;text-align:center;font-size:14px;color:var(--lmL-mut)}
.lp-split .formbox .nv-auth-foot a{color:var(--nv-accent);font-weight:700;text-decoration:none}
.lp-split .formbox .nv-auth-foot a:hover{text-decoration:underline}

/* ============================================================
   v3 — DARK MODE for every guest/landing page. Activated by
   html.nv-dark, which the theme bootstrap injected into the
   landing <head> sets from the SAME localStorage (lmTheme/nvDark)
   the logged-in Lumen shell uses — so the toggle carries over.
   !important throughout to beat the light base + any inline
   per-page contrast fixes (e.g. blog.twig "blog-contrast-fix").
   ============================================================ */
html.nv-dark body.lp{background:#0a0e17!important;color:#eaeef7!important;color-scheme:dark}
/* chrome (nav/hero/footer are already dark in the light build — refine borders) */
html.nv-dark .lp-nav{background:color-mix(in srgb,#0a0e17 84%,transparent)!important;border-bottom-color:rgba(255,255,255,.08)!important}
html.nv-dark .lp-hero{background:linear-gradient(180deg,#070a12,#0b1018)!important;border-bottom-color:rgba(255,255,255,.06)!important}
html.nv-dark .lp-phead{background:#0b1018!important;border-bottom:1px solid rgba(255,255,255,.06)}
html.nv-dark .lp-phead h1,html.nv-dark .lp-hero h1,html.nv-dark .lp-hero h2{color:#fff!important}
html.nv-dark .lp-phead p,html.nv-dark .lp-crumb span{color:#96a2bb!important}
html.nv-dark .lp-crumb a{color:#c3ccdd!important}
/* light content sections -> dark */
html.nv-dark .lp-stats,html.nv-dark .lp-serv,html.nv-dark .lp-svc-sec,html.nv-dark .lp-how,html.nv-dark .lp-test,html.nv-dark .lp-faq,html.nv-dark .lp-blog{background:#0a0e17!important}
html.nv-dark .lp-stats{border-top-color:rgba(255,255,255,.08)!important;border-bottom-color:rgba(255,255,255,.08)!important}
html.nv-dark .lp-stats .n{color:#fff!important}
html.nv-dark .lp-stats .l{color:#8691a9!important}
/* headings + section copy */
html.nv-dark .lp .sec-head h2,html.nv-dark .lp h1,html.nv-dark .lp h2,html.nv-dark .lp h3,html.nv-dark .lp h4,html.nv-dark .lp h5{color:#eaeef7!important}
html.nv-dark .lp .sec-head p,html.nv-dark .lp-hero .lead{color:#b7c1d6!important}
/* article / CMS body copy — beats blog.twig inline "blog-contrast-fix" */
html.nv-dark .lp .lp-copy,html.nv-dark .lp .lp-copy p,html.nv-dark .lp .lp-copy li,html.nv-dark .lp article,html.nv-dark .lp .post,html.nv-dark .lp .bp-body{color:#c4cddf!important}
html.nv-dark .lp .lp-copy h1,html.nv-dark .lp .lp-copy h2,html.nv-dark .lp .lp-copy h3,html.nv-dark .lp .lp-copy h4,html.nv-dark .lp .lp-copy h5{color:#eef2fa!important}
html.nv-dark .lp .lp-copy a{color:var(--nv-accent)!important}
html.nv-dark .lp .lp-copy code,html.nv-dark .lp .lp-copy pre{background:#0f1626!important;border:1px solid rgba(255,255,255,.08)!important;color:#e3e8f2!important}
html.nv-dark .lp .lp-copy blockquote{border-left-color:var(--nv-accent)!important;color:#aeb8cc!important;background:#0f1626!important}
html.nv-dark .lp .lp-copy hr{border-color:rgba(255,255,255,.1)!important}
/* cards */
html.nv-dark .lp-plat .card,html.nv-dark .lp-svc,html.nv-dark .lp-feat .card,html.nv-dark .lp-test .card,html.nv-dark .lp-blog .card,html.nv-dark .lp-offers .ofr,html.nv-dark .lp-how .step,html.nv-dark .lp-faq .item{background:#141c2b!important;border-color:rgba(255,255,255,.09)!important;box-shadow:0 1px 2px rgba(0,0,0,.4),0 18px 44px -24px rgba(0,0,0,.8)!important}
html.nv-dark .lp-plat .card .nm,html.nv-dark .lp-svc .nm,html.nv-dark .lp-feat .card h3,html.nv-dark .lp-blog .card h3,html.nv-dark .lp-test .card .who .nm,html.nv-dark .lp-faq .item .q,html.nv-dark .lp-how .step h3,html.nv-dark .lp-offers .ofr .t{color:#eaeef7!important}
html.nv-dark .lp-plat .card .ds,html.nv-dark .lp-svc .pf,html.nv-dark .lp-feat .card p,html.nv-dark .lp-blog .card p,html.nv-dark .lp-test .card .rl,html.nv-dark .lp-faq .item .a div,html.nv-dark .lp-test .card .q,html.nv-dark .lp-how .step p,html.nv-dark .lp-blog .card .dt{color:#9aa6bd!important}
html.nv-dark .lp-feat .card .ic{background:color-mix(in srgb,var(--nv-accent) 22%,transparent)!important;color:var(--nv-accent)!important}
html.nv-dark .lp-blog .card .img.ph{background:#0f1626!important;color:#4b566b!important}
html.nv-dark .lp-blog .card .rd,html.nv-dark .lp-svc .pr{color:var(--nv-accent)!important}
/* why-us comparison */
html.nv-dark .lp-why .col.them{background:#141c2b!important;border-color:rgba(255,255,255,.09)!important}
html.nv-dark .lp-why .col.them h3,html.nv-dark .lp-why .col.them li{color:#8691a9!important}
html.nv-dark .lp-why .col.us{background:color-mix(in srgb,var(--nv-accent) 15%,#0f1626)!important;border-color:color-mix(in srgb,var(--nv-accent) 40%,transparent)!important}
html.nv-dark .lp-why .col.us li{color:#eaeef7!important}
/* hero pills / trust / search / ghost buttons */
html.nv-dark .lp-hero .pill{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.14)!important;color:#dbe2ef!important}
html.nv-dark .lp-hero .trust span{color:#8691a9!important}
html.nv-dark .lp-hero .lp-search{background:#141c2b!important;box-shadow:0 18px 40px -20px rgba(0,0,0,.8)!important}
html.nv-dark .lp .btn-ghost{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.16)!important;color:#eaeef7!important}
html.nv-dark .lp .btn-ghost:hover{border-color:var(--nv-accent)!important;color:#fff!important}
/* login-style card (if present) */
html.nv-dark .lp-card{background:#121826!important;border:1px solid rgba(255,255,255,.09)!important;color:#eaeef7!important}
html.nv-dark .lp-card .seg{background:#0b1018!important}
html.nv-dark .lp-card .seg a.active{background:#1b2333!important;color:var(--nv-accent)!important}
html.nv-dark .lp-card .lp-field input,html.nv-dark .lp-field input{background:#0b1018!important;border-color:rgba(255,255,255,.12)!important;color:#eaeef7!important}
/* API docs (smm-api) */
html.nv-dark .lp .api-ep,html.nv-dark .lp .api-table{background:#111826!important;border-color:rgba(255,255,255,.09)!important}
html.nv-dark .lp .api-ep .h{background:#141c2b!important;border-bottom-color:rgba(255,255,255,.09)!important;color:#eaeef7!important}
html.nv-dark .lp .api-ep pre,html.nv-dark .lp .api-ep code{background:#0b1018!important;color:#dfe6f2!important}
html.nv-dark .lp .api-table th{background:#141c2b!important;color:#8691a9!important;border-color:rgba(255,255,255,.09)!important}
html.nv-dark .lp .api-table td{border-color:rgba(255,255,255,.07)!important;color:#c4cddf!important}
/* auth split (signup / reset / setnew) — dark */
html.nv-dark .lp-split .formside{background:#0a0e17!important}
html.nv-dark .lp-split .formbox{background:#121826!important;border-color:rgba(255,255,255,.09)!important;box-shadow:0 30px 80px -28px rgba(0,0,0,.75)!important;--nv-text:#eaeef7;--nv-text-soft:#b7c1d6;--nv-muted:#8691a9}
html.nv-dark .lp-split .formbox h1{color:#eaeef7!important}
html.nv-dark .lp-split .formbox .sub,html.nv-dark .lp-split .formbox .nv-auth-foot{color:#8691a9!important}
html.nv-dark .lp-split .formbox .nv-label{color:#aeb8cc!important}
html.nv-dark .lp-split .formbox .nv-input{background:#0b1018!important;border-color:rgba(255,255,255,.12)!important;color:#eaeef7!important}
html.nv-dark .lp-split .formbox .nv-input:focus{border-color:var(--nv-accent)!important}
html.nv-dark .lp-split .formbox .nv-alert.err{background:rgba(239,68,68,.12)!important;border-color:rgba(239,68,68,.3)!important;color:#fca5a5!important}
html.nv-dark .lp-split .formbox .nv-alert.ok{background:rgba(34,197,94,.12)!important;border-color:rgba(34,197,94,.3)!important;color:#86efac!important}
/* misc */
html.nv-dark .lp-sticky{background:color-mix(in srgb,#0a0e17 88%,transparent)!important;border-top-color:rgba(255,255,255,.08)!important;color:#eaeef7!important}