/* ==========================================================================
   /novalanding — landing comercial nova (em avaliação). Prefixo .nl- para não
   colidir com o sistema nem com as outras landings.
   Identidade IntegraLegal: roxo da marca #3E1B9A, roxo vivo #8c37e1/#a85ef0,
   marinho #1b2a69, ouro #d4a853 — em base escura, como a referência.
   ========================================================================== */
/* Tema CLARO — padrão da página. O escuro (html[data-tema="escuro"]) é opcional,
   escolhido pelo botão sol/lua do cabeçalho e lembrado no navegador do visitante. */
:root {
    color-scheme: light;
    --nl-bg: #f7f5fc;
    --nl-bg-2: #efebf8;
    --nl-bg-3: #ffffff;
    --nl-card: #ffffff;
    --nl-card-2: #fbfaff;
    --nl-borda: rgba(40, 28, 90, .10);
    --nl-borda-2: rgba(40, 28, 90, .17);
    --nl-texto: #2b2648;
    --nl-texto-2: #565076;
    --nl-texto-3: #7c7799;
    --nl-forte: #17122f;
    --nl-marca: #3e1b9a;
    --nl-roxo: #8c37e1;
    --nl-roxo-2: #8c37e1;
    --nl-roxo-3: #7426c9;
    --nl-roxo-rgb: 140, 55, 225;
    --nl-marinho: #1b2a69;
    --nl-ouro: #b0801f;
    --nl-verde: #0f9a5f;
    --nl-azul: #2e6ad8;
    --nl-grad: linear-gradient(135deg, #3e1b9a 0%, #8c37e1 60%, #a85ef0 100%);
    --nl-raio: 18px;
    --nl-max: 1200px;
    --nl-mont: 'Manrope', 'Inter', system-ui, sans-serif;
    --nl-mono: 'JetBrains Mono', ui-monospace, monospace;
    --nl-tinta: 40, 28, 90;
    --nl-sombra: 46, 30, 110;
    --nl-sombra-k: .32;
    --nl-vidro: rgba(255, 255, 255, .86);
    --nl-vidro-forte: rgba(255, 255, 255, .96);
    --nl-vidro-ilu: #ffffff;
    --nl-bg-planos: #f1ecfb;
    --nl-bg-aviso: #efe7fd;
    --nl-th-destaque: #efe4ff;
    --nl-pd-1: #f1e6ff;
    --nl-pd-2: #ffffff;
    --nl-grad-meio: #a85ef0;
}
html[data-tema="escuro"] {
    color-scheme: dark;
    --nl-bg: #0b0a1a;
    --nl-bg-2: #110f25;
    --nl-bg-3: #16132e;
    --nl-card: #151230;
    --nl-card-2: #1b1838;
    --nl-borda: rgba(255, 255, 255, .08);
    --nl-borda-2: rgba(255, 255, 255, .14);
    --nl-texto: #f1effa;
    --nl-texto-2: #b2adcc;
    --nl-texto-3: #7f7aa0;
    --nl-marca: #3e1b9a;
    --nl-roxo: #8c37e1;
    --nl-roxo-2: #a85ef0;
    --nl-roxo-3: #c9a3ff;
    --nl-roxo-rgb: 140, 55, 225;
    --nl-marinho: #1b2a69;
    --nl-ouro: #e2bc6a;
    --nl-verde: #2fd38a;
    --nl-azul: #6ea8ff;
    --nl-grad: linear-gradient(135deg, #3e1b9a 0%, #8c37e1 60%, #a85ef0 100%);
    --nl-raio: 18px;
    --nl-max: 1200px;
    --nl-mont: 'Manrope', 'Inter', system-ui, sans-serif;
    --nl-mono: 'JetBrains Mono', ui-monospace, monospace;
    --nl-forte: #ffffff;
    --nl-tinta: 255, 255, 255;
    --nl-sombra: 0, 0, 0;
    --nl-sombra-k: 1;
    --nl-vidro: rgba(21, 18, 48, .82);
    --nl-vidro-forte: rgba(14, 12, 32, .92);
    --nl-vidro-ilu: rgba(11, 10, 26, .75);
    --nl-bg-planos: #07061a;
    --nl-bg-aviso: #120d2b;
    --nl-th-destaque: #241a4f;
    --nl-pd-1: #2a1660;
    --nl-pd-2: #17123a;
    --nl-grad-meio: #d6a8ff;
}

/* ── Base ─────────────────────────────────────────────────────────────── */
.nl-page { margin: 0; background: var(--nl-bg); color: var(--nl-texto); font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
           line-height: 1.6; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
.nl-page *, .nl-page *::before, .nl-page *::after { box-sizing: border-box; }
.nl-page img { max-width: 100%; display: block; height: auto; }
/* `hidden` precisa vencer os display:grid/flex dos componentes (abas, selos, recursos extras). */
.nl-page [hidden] { display: none !important; }
:where(.nl-page a) { color: inherit; }
.nl-page :focus-visible { outline: 3px solid var(--nl-roxo-2); outline-offset: 3px; border-radius: 8px; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
.nl-wrap { width: 100%; max-width: var(--nl-max); margin: 0 auto; padding: 0 24px; }
.nl-skip { position: absolute; left: -9999px; top: 8px; z-index: 2000; background: #fff; color: #111; padding: 10px 16px; border-radius: 10px; font-weight: 700; }
.nl-skip:focus { left: 12px; }
.nl-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.nl-centro { text-align: center; margin-left: auto; margin-right: auto; }
.nl-roxo { color: var(--nl-roxo-2); }
.nl-verde { color: var(--nl-verde) !important; }
.nl-cor-roxo { color: var(--nl-roxo-2); } .nl-cor-ouro { color: var(--nl-ouro); } .nl-cor-verde { color: var(--nl-verde); } .nl-cor-azul { color: var(--nl-azul); }

/* Palavras vazadas (contorno) — assinatura visual da referência. */
.nl-vazado { color: transparent; -webkit-text-stroke: 2px var(--nl-forte); }
.nl-vazado-roxo { color: transparent; -webkit-text-stroke: 1.6px var(--nl-roxo-2); }

/* ── Botões ───────────────────────────────────────────────────────────── */
.nl-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 46px; padding: 0 22px; border-radius: 10px;
          font: 700 .93rem/1 var(--nl-mont); text-decoration: none; border: 1px solid transparent; cursor: pointer; white-space: nowrap;
          transition: transform .18s, box-shadow .18s, background .18s, border-color .18s, color .18s; }
.nl-btn:hover { transform: translateY(-2px); }
.nl-btn-sm { height: 40px; padding: 0 16px; font-size: .85rem; }
.nl-btn-lg { height: 54px; padding: 0 28px; font-size: 1rem; }
.nl-btn-bloco { width: 100%; }
.nl-btn-pri { background: var(--nl-grad); color: #fff; box-shadow: 0 10px 30px rgba(var(--nl-roxo-rgb), .35); }
.nl-btn-pri:hover { box-shadow: 0 16px 40px rgba(var(--nl-roxo-rgb), .5); }
.nl-btn-escuro { background: rgba(var(--nl-tinta), .05); color: var(--nl-forte); border-color: var(--nl-borda-2); }
.nl-btn-escuro:hover { background: rgba(var(--nl-tinta), .1); border-color: rgba(var(--nl-tinta), .28); }
.nl-btn-branco { background: #fff; color: var(--nl-marca); }
.nl-btn-contorno-claro { background: transparent; color: #fff; border-color: rgba(var(--nl-tinta), .6); }
.nl-btn-contorno-claro:hover { background: rgba(var(--nl-tinta), .12); }

/* ── Pílula / eyebrow / títulos ───────────────────────────────────────── */
.nl-pill { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 999px; border: 1px solid rgba(var(--nl-roxo-rgb), .55);
           background: rgba(var(--nl-roxo-rgb), .12); color: var(--nl-roxo-3); font: 800 .7rem/1.2 var(--nl-mont); letter-spacing: .06em; text-transform: uppercase; }
.nl-pill-ponto { width: 8px; height: 8px; border-radius: 50%; background: var(--nl-roxo-2); box-shadow: 0 0 0 0 rgba(var(--nl-roxo-rgb), .7); animation: nl-pulsa 2s infinite; }
.nl-pill-claro { border-color: rgba(var(--nl-tinta), .5); background: rgba(var(--nl-tinta), .12); color: #fff; }
.nl-pill-claro .nl-pill-ponto { background: #fff; }
@keyframes nl-pulsa { 70% { box-shadow: 0 0 0 9px rgba(var(--nl-roxo-rgb), 0); } 100% { box-shadow: 0 0 0 0 rgba(var(--nl-roxo-rgb), 0); } }
.nl-eyebrow { display: block; font: 700 .68rem/1.4 var(--nl-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--nl-texto-3); }
.nl-h2 { font: 700 clamp(1.9rem, 4.2vw, 3.1rem)/1.1 'Inter', sans-serif; letter-spacing: -.02em; margin: 0; }
.nl-h2 em, .nl-h3 em { font-style: normal; color: var(--nl-roxo-2); }
.nl-h2-mont { font-family: var(--nl-mont); font-weight: 800; }
.nl-h2-grande { font-size: clamp(2.1rem, 5vw, 3.6rem); }
.nl-h3 { font: 800 clamp(1.5rem, 3vw, 2.2rem)/1.15 var(--nl-mont); margin: 6px 0 10px; }
.nl-lead { color: var(--nl-texto-2); font-size: 1.05rem; max-width: 640px; margin: 18px 0 0; }
.nl-lead a { color: var(--nl-roxo-3); font-weight: 600; }
.nl-lead strong { color: var(--nl-forte); }
.nl-lead.nl-centro { margin-left: auto; margin-right: auto; }

/* Cabeçalho de seção: traço + rótulo mono à esquerda, título à direita. */
.nl-cabeca { display: grid; grid-template-columns: 200px 1fr; gap: 40px; align-items: end; margin-bottom: 48px; }
.nl-cabeca-rotulo { border-top: 2px solid var(--nl-roxo); padding-top: 14px; }
.nl-cabeca-rotulo span { font: 700 .66rem/1.6 var(--nl-mono); letter-spacing: .2em; text-transform: uppercase; color: var(--nl-roxo-2); }
.nl-cabeca-rotulo span::before { content: '— '; }
.nl-cabeca-rotulo-solo { display: inline-block; min-width: 180px; margin-bottom: 18px; }
.nl-cabeca .nl-lead { grid-column: 2; margin-top: 0; }

/* ── Faixa de aviso ───────────────────────────────────────────────────── */
.nl-aviso { background: var(--nl-grad); }
.nl-aviso-in { display: flex; align-items: center; gap: 24px; min-height: 64px; padding-top: 8px; padding-bottom: 8px; }
.nl-aviso p { margin: 0; flex: 1; font: 600 .92rem/1.4 var(--nl-mont); }
.nl-aviso-x { background: none; border: 0; color: var(--nl-forte); font-size: 1.4rem; cursor: pointer; padding: 6px; opacity: .85; }
.nl-aviso.fechado { display: none; }

/* ── Header ───────────────────────────────────────────────────────────── */
.nl-header { position: sticky; top: 0; z-index: 1000; background: var(--nl-vidro); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
             border-bottom: 1px solid var(--nl-borda); transition: background .2s; }
.nl-header.rolou { background: var(--nl-vidro-forte); }
.nl-header-in { display: flex; align-items: center; gap: 28px; height: 78px; }
.nl-logo img { height: 36px; width: auto; }
.nl-nav { display: flex; align-items: center; gap: 30px; margin-left: auto; }
.nl-nav > a, .nl-menu > button { font: 500 .95rem var(--nl-mont); text-decoration: none; color: var(--nl-texto); background: none; border: 0; cursor: pointer;
                                 display: inline-flex; align-items: center; gap: 6px; padding: 8px 0; }
.nl-nav > a:hover, .nl-menu > button:hover, .nl-nav > a.ativo { color: var(--nl-roxo-2); }
.nl-menu { position: relative; }
.nl-menu-lista { position: absolute; top: calc(100% + 10px); left: -16px; min-width: 290px; padding: 8px; border-radius: 14px; background: var(--nl-bg-3);
                 border: 1px solid var(--nl-borda-2); box-shadow: 0 30px 60px rgba(var(--nl-sombra), calc(.5 * var(--nl-sombra-k))); opacity: 0; visibility: hidden; transform: translateY(6px); transition: .18s; }
.nl-menu:hover .nl-menu-lista, .nl-menu.aberto .nl-menu-lista { opacity: 1; visibility: visible; transform: none; }
.nl-menu-lista a { display: block; padding: 10px 12px; border-radius: 10px; text-decoration: none; font: 700 .9rem var(--nl-mont); }
.nl-menu-lista a small { display: block; font: 400 .78rem 'Inter', sans-serif; color: var(--nl-texto-3); margin-top: 2px; }
.nl-menu-lista a:hover { background: rgba(var(--nl-roxo-rgb), .14); }
.nl-header-acoes { display: flex; align-items: center; gap: 12px; }
.nl-burger { display: none; background: none; border: 1px solid var(--nl-borda-2); color: var(--nl-forte); width: 42px; height: 42px; border-radius: 10px; font-size: 1.3rem; cursor: pointer; }

.nl-drawer { position: fixed; inset: 0; z-index: 1500; visibility: hidden; }
.nl-drawer.aberto { visibility: visible; }
.nl-drawer-fundo { position: absolute; inset: 0; background: rgba(var(--nl-sombra), calc(.6 * var(--nl-sombra-k))); opacity: 0; transition: .25s; }
.nl-drawer.aberto .nl-drawer-fundo { opacity: 1; }
.nl-drawer-painel { position: absolute; top: 0; right: 0; bottom: 0; width: min(340px, 88vw); background: var(--nl-bg-2); padding: 20px; display: flex; flex-direction: column; gap: 4px;
                    transform: translateX(100%); transition: transform .28s; overflow-y: auto; border-left: 1px solid var(--nl-borda); }
.nl-drawer.aberto .nl-drawer-painel { transform: none; }
.nl-drawer-topo { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.nl-drawer-x { background: none; border: 0; color: var(--nl-forte); font-size: 1.5rem; cursor: pointer; }
.nl-drawer-painel > a { display: flex; gap: 12px; align-items: center; padding: 13px 10px; border-radius: 10px; text-decoration: none; font: 600 1rem var(--nl-mont); }
.nl-drawer-painel > a:hover { background: rgba(var(--nl-tinta), .06); }
.nl-drawer-painel > a i { color: var(--nl-roxo-2); font-size: 1.2rem; }
.nl-drawer-botoes { display: grid; gap: 10px; margin-top: auto; padding-top: 20px; }

/* ── Hero ─────────────────────────────────────────────────────────────── */
.nl-hero { position: relative; padding: 90px 0 110px; overflow: hidden; }
.nl-hero-luz { position: absolute; inset: 0; pointer-events: none;
               background: radial-gradient(700px 500px at 82% 40%, rgba(var(--nl-roxo-rgb), .35), transparent 65%),
                           radial-gradient(500px 400px at 60% 90%, rgba(27, 42, 105, .5), transparent 70%); }
.nl-hero-in { position: relative; display: grid; grid-template-columns: 1fr 1.05fr; gap: 56px; align-items: center; }
.nl-hero-titulo { font: 900 clamp(3rem, 7.2vw, 5.6rem)/.98 var(--nl-mont); letter-spacing: -.03em; margin: 26px 0 30px; }
.nl-hero-titulo span { display: block; }
.nl-hero-titulo .nl-vazado { -webkit-text-stroke-width: 2.5px; }
.nl-hero-desc { color: var(--nl-texto-2); font-size: 1.12rem; max-width: 560px; margin: 0 0 34px; }
.nl-hero-desc strong { color: var(--nl-forte); display: block; margin-bottom: 4px; font-size: 1.18rem; }
.nl-hero-cta { display: flex; gap: 14px; flex-wrap: wrap; }
.nl-hero-garantias { display: flex; flex-wrap: wrap; gap: 8px 22px; list-style: none; padding: 0; margin: 26px 0 0; color: var(--nl-texto-2); font-size: .9rem; }
.nl-hero-garantias i { color: var(--nl-verde); margin-right: 6px; }
.nl-hero-visual { position: relative; }
.nl-janela { border-radius: 14px; overflow: hidden; background: #fff; border: 1px solid var(--nl-borda-2);
             box-shadow: 0 40px 100px rgba(var(--nl-sombra), calc(.55 * var(--nl-sombra-k))), 0 0 0 8px rgba(var(--nl-tinta), .03); }
.nl-janela-barra { display: flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; background: #1d1a38; }
.nl-janela-barra span { width: 10px; height: 10px; border-radius: 50%; background: #ff5f57; }
.nl-janela-barra span:nth-child(2) { background: #febc2e; } .nl-janela-barra span:nth-child(3) { background: #28c840; }
.nl-janela-barra em { margin-left: 10px; font: 500 .72rem var(--nl-mono); font-style: normal; color: var(--nl-texto-3); }
.nl-hero-visual .nl-janela { transform: perspective(1400px) rotateY(-9deg) rotateX(3deg); transition: transform .6s; }
.nl-hero-visual:hover .nl-janela { transform: perspective(1400px) rotateY(-3deg) rotateX(1deg); }
.nl-flutua { position: absolute; display: flex; gap: 10px; align-items: center; padding: 11px 15px; border-radius: 14px; background: var(--nl-vidro-forte);
             border: 1px solid var(--nl-borda-2); backdrop-filter: blur(10px); box-shadow: 0 20px 40px rgba(var(--nl-sombra), calc(.45 * var(--nl-sombra-k))); animation: nl-flutuar 6s ease-in-out infinite; }
.nl-flutua i { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; font-size: 1.15rem; background: rgba(var(--nl-roxo-rgb), .2); color: var(--nl-roxo-3); }
.nl-flutua b { display: block; font: 700 .85rem var(--nl-mont); }
.nl-flutua small { color: var(--nl-texto-2); font-size: .75rem; }
.nl-flutua-1 { top: -22px; left: -34px; }
.nl-flutua-2 { bottom: 70px; left: -54px; animation-delay: -2s; }
.nl-flutua-2 i { background: rgba(226, 188, 106, .18); color: var(--nl-ouro); }
.nl-flutua-3 { bottom: -26px; right: 18px; animation-delay: -4s; }
.nl-flutua-3 i { background: rgba(47, 211, 138, .16); color: var(--nl-verde); }
@keyframes nl-flutuar { 50% { transform: translateY(-10px); } }

/* ── Números ──────────────────────────────────────────────────────────── */
.nl-numeros { background: var(--nl-bg-2); border-top: 1px solid var(--nl-borda); border-bottom: 1px solid var(--nl-borda); }
.nl-numeros-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.nl-numero { padding: 46px 26px; border-left: 1px solid var(--nl-borda); }
.nl-numero:first-child { border-left: 0; }
.nl-numero-valor { font: 900 3.4rem/1 var(--nl-mont); color: var(--nl-roxo-2); display: flex; align-items: flex-start; gap: 4px; }
.nl-numero-valor sup { font-size: 1.4rem; color: var(--nl-forte); top: 0; margin-top: 4px; }
.nl-numero p { margin: 12px 0 0; color: var(--nl-texto-2); font-size: .92rem; max-width: 240px; }

/* ── Seções ───────────────────────────────────────────────────────────── */
.nl-sec { position: relative; padding: 110px 0; }
.nl-sec-alt { background: var(--nl-bg-2); }
.nl-sec-borda { border-top: 1px solid var(--nl-borda); }
.nl-sec-grade { background-image: linear-gradient(rgba(var(--nl-tinta), .025) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--nl-tinta), .025) 1px, transparent 1px);
                background-size: 48px 48px; }

/* Lista com traço (como a referência). */
.nl-traco { list-style: none; padding: 0; margin: 28px 0 32px; }
.nl-traco li { position: relative; padding: 11px 0 11px 26px; border-bottom: 1px solid var(--nl-borda); color: var(--nl-texto); font-size: .93rem; }
.nl-traco li::before { content: ''; position: absolute; left: 0; top: 21px; width: 12px; height: 2px; background: var(--nl-roxo-2); }
.nl-traco-mini li { font-size: .86rem; padding: 9px 0 9px 22px; color: var(--nl-texto-2); }
.nl-traco-mini li::before { top: 18px; }

/* ── Pilares ──────────────────────────────────────────────────────────── */
.nl-pilar { --cor: var(--nl-roxo-2); --cor-rgb: 168, 94, 240; display: grid; grid-template-columns: 1fr 1fr; border-radius: 22px; overflow: hidden;
            border: 1px solid rgba(var(--cor-rgb), .35); margin-bottom: 26px; background: var(--nl-bg); }
.nl-pilar-ouro { --cor: var(--nl-ouro); --cor-rgb: 226, 188, 106; }
.nl-pilar-verde { --cor: var(--nl-verde); --cor-rgb: 47, 211, 138; }
.nl-pilar-azul { --cor: var(--nl-azul); --cor-rgb: 110, 168, 255; }
.nl-pilar-texto { padding: 52px 48px; background: linear-gradient(160deg, rgba(var(--cor-rgb), .14), transparent 60%); }
.nl-pilar-nome { font: 900 clamp(2rem, 3.6vw, 2.7rem)/1.05 var(--nl-mont); margin: 14px 0 12px; letter-spacing: -.02em; }
.nl-pilar-nome span { color: var(--cor); }
.nl-pilar-sub { display: block; font: 800 .74rem var(--nl-mont); letter-spacing: .1em; text-transform: uppercase; color: var(--nl-forte); margin-bottom: 18px; }
.nl-pilar-texto > p { color: var(--nl-texto-2); margin: 0; }
.nl-pilar-texto .nl-traco li::before { background: var(--cor); }
.nl-pilar-visual { position: relative; display: grid; place-items: center; padding: 40px 32px; min-height: 420px; border-left: 1px solid var(--nl-borda);
                   background: radial-gradient(420px 320px at 50% 50%, rgba(var(--cor-rgb), .1), transparent 70%); }

/* Hub entrada → saída */
.nl-hub { position: relative; width: 100%; max-width: 440px; aspect-ratio: 4 / 3.1; }
.nl-hub-linhas { position: absolute; inset: 0; width: 100%; height: 100%; }
.nl-hub-linhas path { fill: none; stroke: var(--nl-roxo-2); stroke-width: 1.5; stroke-dasharray: 4 6; animation: nl-fluxo 1.6s linear infinite; opacity: .7; }
.nl-hub-linhas path.s { stroke: var(--nl-verde); }
@keyframes nl-fluxo { to { stroke-dashoffset: -20; } }
.nl-hub-rot { position: absolute; top: -26px; font: 700 .66rem var(--nl-mono); letter-spacing: .2em; text-transform: uppercase; }
.nl-hub-rot-e { left: 0; color: var(--nl-roxo-2); } .nl-hub-rot-s { right: 0; color: var(--nl-verde); }
.nl-hub-centro { position: absolute; left: 50%; top: 50%; width: 132px; height: 132px; margin: -66px 0 0 -66px; border-radius: 50%; display: grid; place-content: center; text-align: center;
                 background: var(--nl-bg-2); border: 2px solid var(--nl-roxo); box-shadow: 0 0 0 10px rgba(var(--nl-roxo-rgb), .1), 0 0 60px rgba(var(--nl-roxo-rgb), .4); }
.nl-hub-centro b { font: 800 .95rem var(--nl-mont); }
.nl-hub-centro small { font: 700 .62rem var(--nl-mono); letter-spacing: .2em; text-transform: uppercase; color: var(--nl-roxo-2); }
.nl-chip { position: absolute; display: grid; grid-template-columns: auto 1fr; column-gap: 8px; align-items: center; padding: 8px 12px; border-radius: 12px; min-width: 132px;
           background: var(--nl-card); border: 1px solid rgba(var(--nl-roxo-rgb), .4); font-size: .7rem; }
.nl-chip i { grid-row: span 2; font-size: 1.15rem; color: var(--nl-roxo-3); }
.nl-chip b { font: 700 .78rem var(--nl-mont); }
.nl-chip small { font-family: var(--nl-mono); color: var(--nl-texto-3); font-size: .62rem; }
.nl-chip.s1, .nl-chip.s2, .nl-chip.s3 { border-color: rgba(47, 211, 138, .4); }
.nl-chip.s1 i, .nl-chip.s2 i, .nl-chip.s3 i { color: var(--nl-verde); }
.nl-chip.e1 { left: 0; top: 10%; transform: translateY(-50%); } .nl-chip.e2 { left: 0; top: 48%; transform: translateY(-50%); } .nl-chip.e3 { left: 0; top: 85%; transform: translateY(-50%); }
.nl-chip.s1 { right: 0; top: 10%; transform: translateY(-50%); } .nl-chip.s2 { right: 0; top: 48%; transform: translateY(-50%); } .nl-chip.s3 { right: 0; top: 85%; transform: translateY(-50%); }

/* Camadas da IA */
.nl-camadas, .nl-kanban { width: 100%; max-width: 440px; text-align: center; }
.nl-camadas-rot { display: block; font: 700 .66rem var(--nl-mono); letter-spacing: .2em; text-transform: uppercase; color: var(--cor); margin-bottom: 18px; text-align: left; }
.nl-camadas-orbe { width: 92px; height: 92px; margin: 0 auto 18px; border-radius: 50%; display: grid; place-items: center; font-size: 2.2rem; color: var(--nl-ouro);
                   border: 2px solid var(--nl-ouro); box-shadow: 0 0 0 12px rgba(226, 188, 106, .08), 0 0 0 24px rgba(226, 188, 106, .04), 0 0 50px rgba(226, 188, 106, .3);
                   animation: nl-gira 14s linear infinite; }
@keyframes nl-gira { 50% { box-shadow: 0 0 0 16px rgba(226, 188, 106, .1), 0 0 0 30px rgba(226, 188, 106, .03), 0 0 70px rgba(226, 188, 106, .4); } }
.nl-camadas ol { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.nl-camadas li { display: flex; gap: 12px; align-items: center; padding: 9px 14px; border-radius: 9px; border: 1px solid rgba(226, 188, 106, .35); background: rgba(226, 188, 106, .05);
                 font: 600 .82rem var(--nl-mont); text-align: left; animation: nl-acende 6s infinite; animation-delay: calc(var(--i) * .5s); }
.nl-camadas li em { font: italic 700 .72rem var(--nl-mono); color: var(--nl-ouro); }
@keyframes nl-acende { 0%, 70%, 100% { background: rgba(226, 188, 106, .05); } 10% { background: rgba(226, 188, 106, .2); border-color: var(--nl-ouro); } }
.nl-camadas-ok { display: inline-flex; gap: 8px; align-items: center; margin-top: 18px; padding: 8px 18px; border-radius: 999px; border: 1px solid var(--nl-verde); color: var(--nl-verde); font: 700 .8rem var(--nl-mont); }

/* Kanban */
.nl-kanban-cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.nl-kcol { min-height: 250px; padding: 8px; border-radius: 10px; border: 1px solid var(--nl-borda); background: rgba(var(--nl-tinta), .02); border-top: 2px solid var(--nl-roxo-2); text-align: left; }
.nl-kcol-1 { border-top-color: var(--nl-ouro); } .nl-kcol-2 { border-top-color: var(--nl-azul); } .nl-kcol-3 { border-top-color: var(--nl-verde); }
.nl-kcol > span { display: block; font: 700 .58rem var(--nl-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--nl-texto-2); margin: 2px 0 10px; }
.nl-kcard { position: relative; padding: 9px; border-radius: 8px; background: var(--nl-card-2); border: 1px solid var(--nl-borda-2); margin-bottom: 8px; }
.nl-kcard b { display: block; font: 700 .72rem var(--nl-mont); }
.nl-kcard small { font: .6rem var(--nl-mono); color: var(--nl-texto-3); }
.nl-kcard i { display: block; width: 18px; height: 18px; border-radius: 50%; margin-top: 6px; background: var(--nl-grad); }
.nl-kcol-0 .nl-kcard:first-of-type { animation: nl-move 5s ease-in-out infinite; }
@keyframes nl-move { 0%, 30% { transform: none; opacity: 1; } 45% { transform: translateX(30px); opacity: 0; } 55% { transform: translateX(-10px); opacity: 0; } 70%, 100% { transform: none; opacity: 1; } }

/* Documento assinado */
.nl-doc { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; align-items: center; width: 100%; max-width: 460px; }
.nl-doc-folha { background: #f6f4fd; border-radius: 10px; padding: 20px 16px; transform: rotate(-3deg); box-shadow: 0 30px 60px rgba(var(--nl-sombra), calc(.5 * var(--nl-sombra-k))); }
.nl-doc-tit { display: block; font: 800 .74rem var(--nl-mont); color: var(--nl-marca); margin-bottom: 12px; }
.nl-doc-folha > i { display: block; height: 6px; border-radius: 4px; background: #dcd6ef; margin-bottom: 8px; }
.nl-doc-folha > i.curta { width: 60%; }
.nl-doc-assin { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 22px; }
.nl-doc-assin div { border-top: 1px solid #b9b1d8; padding-top: 4px; position: relative; }
.nl-doc-assin small { font-size: .55rem; color: #6f6795; }
.rabisco { position: absolute; bottom: 14px; left: 4px; width: 70%; height: 18px; border-bottom: 2px solid var(--nl-marca); border-radius: 0 0 60% 40%; transform: skewX(-20deg); }
.rabisco.r2 { width: 55%; border-radius: 0 0 30% 70%; }
.nl-doc-linha { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.nl-doc-linha li { display: flex; gap: 10px; align-items: center; font: 600 .8rem var(--nl-mont); color: var(--nl-texto-3); }
.nl-doc-linha li i { width: 30px; height: 30px; flex: 0 0 30px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--nl-borda-2); }
.nl-doc-linha li.ok { color: var(--nl-forte); }
.nl-doc-linha li.ok i { background: rgba(110, 168, 255, .16); border-color: var(--nl-azul); color: var(--nl-azul); }
.nl-doc-linha li:last-child i { animation: nl-ok 3s infinite; }
@keyframes nl-ok { 50% { background: rgba(47, 211, 138, .2); border-color: var(--nl-verde); color: var(--nl-verde); } }

/* ── Cartões ──────────────────────────────────────────────────────────── */
.nl-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.nl-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.nl-cartao { padding: 30px 26px; border-radius: var(--nl-raio); background: var(--nl-card); border: 1px solid var(--nl-borda); }
.nl-cartao h3 { font: 700 1.2rem/1.3 var(--nl-mont); margin: 14px 0 14px; }
.nl-cartao p { color: var(--nl-texto-2); font-size: .92rem; margin: 0 0 14px; }
.nl-cartao .nl-eyebrow { color: var(--nl-roxo-2); }
.nl-cartao-destaque { border-color: rgba(var(--nl-roxo-rgb), .55); background: linear-gradient(170deg, rgba(var(--nl-roxo-rgb), .18), var(--nl-card) 60%); }
.nl-cartao-mini { padding: 18px; }
.nl-cartao-mini p { margin: 8px 0 0; font-size: .86rem; }

/* ── Módulos em abas ──────────────────────────────────────────────────── */
.nl-abas { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-bottom: 40px; }
.nl-abas button { display: inline-flex; gap: 8px; align-items: center; padding: 11px 18px; border-radius: 999px; border: 1px solid var(--nl-borda-2); background: rgba(var(--nl-tinta), .03);
                  color: var(--nl-texto-2); font: 700 .88rem var(--nl-mont); cursor: pointer; transition: .18s; }
.nl-abas button:hover { color: var(--nl-forte); border-color: rgba(var(--nl-roxo-rgb), .6); }
.nl-abas button[aria-selected="true"] { background: var(--nl-grad); color: #fff; border-color: transparent; box-shadow: 0 10px 30px rgba(var(--nl-roxo-rgb), .35); }
.nl-painel { display: grid; grid-template-columns: .85fr 1.15fr; gap: 50px; align-items: center; animation: nl-entra .45s ease; }
.nl-painel h3 { font: 800 1.8rem/1.2 var(--nl-mont); margin: 0 0 22px; }
@keyframes nl-entra { from { opacity: 0; transform: translateY(14px); } }
.nl-checks { list-style: none; padding: 0; margin: 0 0 30px; display: grid; gap: 14px; }
.nl-checks li { display: flex; gap: 12px; color: var(--nl-texto); }
.nl-checks i { color: var(--nl-roxo-2); font-size: 1.2rem; margin-top: 1px; }

/* ── Dados ────────────────────────────────────────────────────────────── */
.nl-dados { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.nl-dados h2 { margin-top: 22px; }
.nl-dados-cartoes { margin-top: 32px; }
.nl-dados-visual { position: relative; }
.nl-selo-flutua { position: absolute; top: -18px; right: -12px; z-index: 2; display: inline-flex; gap: 8px; align-items: center; padding: 9px 16px; border-radius: 10px;
                  background: var(--nl-grad); font: 700 .8rem var(--nl-mont); transform: rotate(3deg); box-shadow: 0 16px 40px rgba(var(--nl-roxo-rgb), .45); }

/* ── WhatsApp ─────────────────────────────────────────────────────────── */
.nl-zapsec { display: grid; grid-template-columns: .7fr 1.3fr; gap: 70px; align-items: center; }
.nl-celular { max-width: 340px; margin: 0 auto; border-radius: 36px; padding: 12px; background: #1a1733; border: 1px solid var(--nl-borda-2); box-shadow: 0 40px 90px rgba(var(--nl-sombra), calc(.55 * var(--nl-sombra-k))); position: relative; }
.nl-celular-topo { display: flex; gap: 10px; align-items: center; padding: 14px 16px; border-radius: 26px 26px 0 0; background: #075e54; }
.nl-celular-topo i { font-size: 1.6rem; }
.nl-celular-topo b { display: block; font-size: .9rem; }
.nl-celular-topo small { font-size: .72rem; opacity: .8; }
.nl-celular-chat { background: #0b141a; padding: 16px 12px 22px; border-radius: 0 0 26px 26px; display: flex; flex-direction: column; gap: 8px; min-height: 380px; }
.nl-celular-chat p { margin: 0; max-width: 84%; padding: 8px 11px; border-radius: 10px; font-size: .8rem; line-height: 1.45; opacity: 0; transform: translateY(8px); }
.nl-celular-palco.visivel .nl-celular-chat p { animation: nl-msg .4s forwards; }
.nl-celular-palco.visivel .nl-celular-chat p:nth-of-type(2) { animation-delay: .7s; } .nl-celular-palco.visivel .nl-celular-chat p:nth-of-type(3) { animation-delay: 1.4s; }
.nl-celular-palco.visivel .nl-celular-chat p:nth-of-type(4) { animation-delay: 2.1s; } .nl-celular-palco.visivel .nl-celular-chat p:nth-of-type(5) { animation-delay: 2.8s; }
.nl-celular-palco.visivel .nl-celular-chat p:nth-of-type(6) { animation-delay: 3.5s; }
@keyframes nl-msg { to { opacity: 1; transform: none; } }
.nl-celular-chat .cli { align-self: flex-end; background: #005c4b; }
.nl-celular-chat .bot { align-self: flex-start; background: #202c33; }
.nl-celular-chat .bot.ok { border: 1px solid var(--nl-verde); }
.nl-celular-nota { position: absolute; bottom: -28px; left: 0; right: 0; text-align: center; font: .7rem var(--nl-mono); color: var(--nl-texto-3); }
.nl-recurso { display: flex; gap: 14px; padding: 18px; border-radius: 14px; background: var(--nl-card); border: 1px solid var(--nl-borda); }
.nl-recurso > i { flex: 0 0 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; font-size: 1.3rem; background: rgba(47, 211, 138, .14); color: var(--nl-verde); }
.nl-recurso b { font: 700 .95rem var(--nl-mont); }
.nl-recurso p { margin: 4px 0 0; color: var(--nl-texto-2); font-size: .86rem; }
#whatsapp .nl-grid-2 { margin-top: 30px; }

/* ── Integrações ──────────────────────────────────────────────────────── */
.nl-integra { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.nl-integra-item { text-align: center; padding: 28px 14px; border-radius: 16px; background: var(--nl-card); border: 1px solid var(--nl-borda); transition: .2s; }
.nl-integra-item:hover { border-color: rgba(var(--nl-roxo-rgb), .6); transform: translateY(-4px); }
.nl-integra-item i { font-size: 2rem; color: var(--nl-roxo-2); }
.nl-integra-item b { display: block; margin: 12px 0 4px; font: 700 .95rem var(--nl-mont); }
.nl-integra-item small { color: var(--nl-texto-3); font-size: .78rem; }

/* ── Planos ───────────────────────────────────────────────────────────── */
.nl-planos { background: var(--nl-bg-planos); overflow: hidden; }
.nl-planos-luz { position: absolute; left: 50%; top: 120px; width: 1100px; height: 700px; transform: translateX(-50%); pointer-events: none;
                 background: radial-gradient(closest-side, rgba(var(--nl-roxo-rgb), .28), transparent); }
.nl-planos .nl-wrap { position: relative; }
.nl-planos .nl-h2 { margin-top: 22px; }
.nl-ciclo { position: relative; display: flex; width: max-content; margin: 40px auto 46px; padding: 5px; border-radius: 999px; background: var(--nl-card); border: 1px solid var(--nl-borda-2); }
.nl-ciclo button { position: relative; z-index: 1; display: inline-flex; gap: 8px; align-items: center; padding: 11px 26px; border: 0; background: none; color: var(--nl-texto-2);
                   font: 700 .92rem var(--nl-mont); cursor: pointer; border-radius: 999px; transition: color .2s; }
.nl-ciclo button[aria-checked="true"] { color: #fff; }
.nl-ciclo-trilho { position: absolute; top: 5px; bottom: 5px; left: 5px; border-radius: 999px; background: var(--nl-grad); transition: transform .3s, width .3s; }
.nl-ciclo-selo { padding: 3px 8px; border-radius: 999px; background: var(--nl-verde); color: #062b1b; font-size: .68rem; font-weight: 800; }

.nl-planos-grid { display: grid; gap: 18px; align-items: stretch; margin-top: 40px; }
.nl-ciclo + .nl-planos-grid { margin-top: 0; }
.nl-qtd-1 { grid-template-columns: minmax(0, 400px); justify-content: center; }
.nl-qtd-2 { grid-template-columns: repeat(2, minmax(0, 380px)); justify-content: center; }
.nl-qtd-3 { grid-template-columns: repeat(3, 1fr); }
.nl-qtd-4 { grid-template-columns: repeat(4, 1fr); }
.nl-qtd-5 { grid-template-columns: repeat(5, 1fr); }
.nl-plano { position: relative; display: flex; flex-direction: column; padding: 30px 22px 26px; border-radius: 20px; background: linear-gradient(180deg, var(--nl-card-2), var(--nl-card));
            border: 1px solid var(--nl-borda-2); transition: transform .25s, border-color .25s, box-shadow .25s; }
.nl-plano:hover { transform: translateY(-6px); border-color: rgba(var(--nl-roxo-rgb), .6); box-shadow: 0 30px 70px rgba(var(--nl-sombra), calc(.45 * var(--nl-sombra-k))); }
.nl-plano-destaque { border: 0; background: linear-gradient(180deg, var(--nl-pd-1), var(--nl-pd-2) 55%); box-shadow: 0 30px 80px rgba(var(--nl-roxo-rgb), .35); }
.nl-plano-destaque::before { content: ''; position: absolute; inset: 0; padding: 2px; border-radius: 20px; background: linear-gradient(160deg, var(--nl-roxo-2), var(--nl-marca) 50%, var(--nl-ouro));
                             -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
@media (min-width: 1100px) { .nl-plano-destaque { transform: scale(1.04); z-index: 1; } .nl-plano-destaque:hover { transform: scale(1.04) translateY(-6px); } }
.nl-plano-fita, .nl-plano-sugerido { position: absolute; top: -13px; left: 50%; transform: translateX(-50%); display: inline-flex; gap: 6px; align-items: center; padding: 6px 14px; border-radius: 999px;
                                     font: 800 .68rem var(--nl-mont); letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.nl-plano-fita { background: linear-gradient(90deg, var(--nl-ouro), #f3d48f); color: #3b2a05; }
.nl-plano-sugerido { background: var(--nl-verde); color: #062b1b; }
.nl-plano-destaque .nl-plano-sugerido { top: 18px; }
.nl-plano.sugerido { border-color: var(--nl-verde); box-shadow: 0 0 0 2px var(--nl-verde), 0 30px 70px rgba(47, 211, 138, .2); }
.nl-plano header .nl-eyebrow { color: var(--nl-roxo-3); }
.nl-plano-destaque header .nl-eyebrow { color: var(--nl-ouro); }
.nl-plano h3 { font: 900 1.55rem/1.1 var(--nl-mont); margin: 10px 0 6px; text-transform: uppercase; letter-spacing: -.01em; }
.nl-plano-desc { margin: 0; color: var(--nl-texto-3); font-size: .82rem; min-height: 2.6em; }
.nl-plano-preco { padding: 20px 0 18px; margin-bottom: 18px; border-bottom: 1px solid var(--nl-borda); }
.nl-preco { display: flex; align-items: baseline; gap: 4px; flex-wrap: wrap; }
.nl-preco small { font: 700 1rem var(--nl-mont); color: var(--nl-texto-2); }
.nl-preco strong { font: 800 clamp(1.8rem, 2.4vw, 2.3rem)/1 var(--nl-mont); letter-spacing: -.02em; transition: opacity .2s; }
.nl-preco span { color: var(--nl-texto-3); font-size: .85rem; }
.nl-preco.trocando strong { opacity: 0; }
.nl-preco-nota { margin: 4px 0 0; font-size: .76rem; color: var(--nl-texto-3); min-height: 2.4em; }
.nl-preco-dia { display: inline-block; margin: 8px 0 0; padding: 3px 10px; border-radius: 999px; background: rgba(var(--nl-roxo-rgb), .1); color: var(--nl-roxo-2); font-size: .78rem; font-weight: 700; }
.nl-plano-recursos { list-style: none; padding: 0; margin: 22px 0 0; display: grid; gap: 10px; }
.nl-plano-recursos li { display: flex; gap: 9px; font-size: .84rem; color: var(--nl-texto); line-height: 1.4; }
.nl-plano-recursos i { color: var(--nl-verde); margin-top: 1px; }
.nl-plano-mais { margin-top: 14px; background: none; border: 0; padding: 0; color: var(--nl-roxo-3); font: 700 .8rem var(--nl-mont); cursor: pointer; text-align: left; }
.nl-plano-mais:hover { text-decoration: underline; }

.nl-garantias { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 34px; list-style: none; padding: 0; margin: 44px 0 0; color: var(--nl-texto-2); font-size: .9rem; }
.nl-garantias i { color: var(--nl-roxo-2); margin-right: 8px; font-size: 1.1rem; vertical-align: -2px; }

.nl-qual { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; margin-top: 80px; padding: 42px; border-radius: 22px;
           background: linear-gradient(135deg, rgba(var(--nl-roxo-rgb), .16), rgba(27, 42, 105, .25)); border: 1px solid rgba(var(--nl-roxo-rgb), .35); }
.nl-qual p { color: var(--nl-texto-2); margin: 0; }
.nl-qual-controle label { display: flex; justify-content: space-between; align-items: center; font: 700 .95rem var(--nl-mont); margin-bottom: 14px; }
.nl-qual-controle output { min-width: 54px; text-align: center; padding: 4px 12px; border-radius: 8px; background: var(--nl-grad); font: 800 1.1rem var(--nl-mont); }
.nl-qual input[type=range] { width: 100%; accent-color: var(--nl-roxo-2); height: 6px; cursor: pointer; }
.nl-qual-res { margin-top: 18px; min-height: 52px; padding: 14px 18px; border-radius: 12px; background: rgba(var(--nl-sombra), calc(.25 * var(--nl-sombra-k))); border: 1px solid var(--nl-borda); font: 600 .95rem var(--nl-mont); }
.nl-qual-res b { color: var(--nl-verde); }
.nl-qual-res a { color: var(--nl-roxo-3); margin-left: 6px; }

.nl-cabeca-comp { margin-top: 100px; }
.nl-comparar { overflow-x: auto; border-radius: 18px; border: 1px solid var(--nl-borda-2); background: var(--nl-bg-2); -webkit-overflow-scrolling: touch; }
.nl-comparar table { width: 100%; border-collapse: collapse; min-width: 720px; font-size: .86rem; }
.nl-comparar th, .nl-comparar td { padding: 14px 16px; border-bottom: 1px solid var(--nl-borda); text-align: center; }
.nl-comparar thead th { position: sticky; top: 0; background: var(--nl-bg-3); font: 800 .78rem var(--nl-mont); text-transform: uppercase; letter-spacing: .06em; color: var(--nl-forte); }
.nl-comparar thead th small { display: block; margin-top: 4px; font: 600 .72rem var(--nl-mono); color: var(--nl-texto-3); text-transform: none; letter-spacing: 0; }
.nl-comparar thead th:first-child { color: var(--nl-roxo-2); font-family: var(--nl-mono); }
.nl-comparar tbody th { text-align: left; font-weight: 600; color: var(--nl-texto); position: sticky; left: 0; background: var(--nl-bg-2); min-width: 190px; }
.nl-comparar .destaque { background: rgba(var(--nl-roxo-rgb), .1); }
.nl-comparar thead th.destaque { color: var(--nl-ouro); background: var(--nl-th-destaque); }
.nl-comp-grupo th { background: rgba(var(--nl-tinta), .03) !important; font: 700 .7rem var(--nl-mono) !important; letter-spacing: .18em; text-transform: uppercase; color: var(--nl-roxo-3) !important; }
.nl-comparar .sim { color: var(--nl-verde); font-size: 1.2rem; }
.nl-comparar .nao { color: var(--nl-texto-3); opacity: .6; }
.nl-comparar .valor { font: 700 .86rem var(--nl-mont); }
.nl-comparar tr:hover td, .nl-comparar tr:hover tbody th { background-color: rgba(var(--nl-tinta), .02); }

/* ── Visão ────────────────────────────────────────────────────────────── */
.nl-formula { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 16px; align-items: center; }
.nl-formula-op { font: 900 2.6rem var(--nl-mont); }
.nl-formula h3 { font: 800 1.35rem/1.25 var(--nl-mont); }
.nl-formula-roxo { border-color: rgba(var(--nl-roxo-rgb), .5); background: linear-gradient(170deg, rgba(var(--nl-roxo-rgb), .2), var(--nl-card) 60%); }
.nl-formula-roxo h3 span { color: var(--nl-roxo-2); }
.nl-formula-verde { border-color: rgba(47, 211, 138, .45); background: linear-gradient(170deg, rgba(47, 211, 138, .12), var(--nl-card) 60%); }
.nl-formula-verde h3 span, .nl-formula-verde .nl-eyebrow { color: var(--nl-verde); }
.nl-formula-verde .nl-traco li::before { background: var(--nl-verde); }
.nl-formula-neutro .nl-eyebrow { color: var(--nl-texto-2); }
.nl-formula-neutro .nl-traco li::before { background: var(--nl-texto-3); }
.nl-manifesto { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: start; margin-top: 90px; padding-top: 70px; border-top: 1px solid var(--nl-borda); }
.nl-manifesto .nl-eyebrow { color: var(--nl-roxo-2); }
.nl-manifesto .nl-h3 { font-size: clamp(1.6rem, 3vw, 2.3rem); }
.nl-manifesto blockquote { position: relative; margin: 0; padding: 40px 32px 28px; border-radius: 18px; border: 1px solid rgba(var(--nl-roxo-rgb), .45);
                           background: linear-gradient(170deg, rgba(var(--nl-roxo-rgb), .14), var(--nl-card)); }
.nl-manifesto blockquote > i { position: absolute; top: -26px; left: 22px; font-size: 3.4rem; color: var(--nl-roxo); }
.nl-manifesto blockquote p { color: var(--nl-texto); font-size: .95rem; margin: 0 0 16px; }
.nl-manifesto blockquote footer { display: flex; gap: 10px; align-items: center; padding-top: 16px; border-top: 1px solid var(--nl-borda); font: 700 .85rem var(--nl-mont); }

/* ── Passos ───────────────────────────────────────────────────────────── */
.nl-passos { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; counter-reset: passo; }
.nl-passos li { position: relative; padding: 30px 24px; border-radius: 18px; background: var(--nl-card); border: 1px solid var(--nl-borda); }
.nl-passo-num { position: absolute; top: 18px; right: 20px; font: 900 2.6rem var(--nl-mont); color: transparent; -webkit-text-stroke: 1px rgba(var(--nl-roxo-rgb), .6); }
.nl-passos li > i { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 14px; background: var(--nl-grad); font-size: 1.4rem; margin-bottom: 20px; }
.nl-passos b { font: 700 1.05rem var(--nl-mont); }
.nl-passos p { margin: 8px 0 0; color: var(--nl-texto-2); font-size: .9rem; }

/* ── FAQ ──────────────────────────────────────────────────────────────── */
.nl-faq-wrap { display: grid; grid-template-columns: .9fr 1.1fr; gap: 60px; align-items: start; }
.nl-faq details { border-bottom: 1px solid var(--nl-borda-2); }
.nl-faq summary { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 22px 0; cursor: pointer; list-style: none; font: 700 1.02rem var(--nl-mont); }
.nl-faq summary::-webkit-details-marker { display: none; }
.nl-faq summary i { color: var(--nl-roxo-2); transition: transform .2s; }
.nl-faq details[open] summary i { transform: rotate(45deg); }
.nl-faq details p { margin: 0 0 22px; color: var(--nl-texto-2); font-size: .94rem; }

/* ── CTA final ────────────────────────────────────────────────────────── */
.nl-cta { position: relative; padding: 110px 0; background: var(--nl-grad); overflow: hidden; }
.nl-cta::after { content: ''; position: absolute; right: -120px; top: -120px; width: 520px; height: 520px; opacity: .08;
                 background: url('/marca/integralegal-icone-branco.svg') center/contain no-repeat; pointer-events: none; }
.nl-cta-in { position: relative; z-index: 1; }
.nl-cta h2 { font: 900 clamp(2.2rem, 5.6vw, 4.2rem)/1.05 var(--nl-mont); letter-spacing: -.02em; margin: 26px 0 22px; }
.nl-cta p { max-width: 620px; font-size: 1.1rem; color: rgba(var(--nl-tinta), .88); margin: 0 0 34px; }

/* ── Footer ───────────────────────────────────────────────────────────── */
.nl-footer { background: var(--nl-bg-2); padding-top: 70px; }
.nl-footer-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 30px; }
.nl-footer h4 { font: 800 .82rem var(--nl-mont); text-transform: uppercase; letter-spacing: .06em; margin: 0 0 16px; color: var(--nl-forte); }
.nl-footer-grid a { display: block; text-decoration: none; color: var(--nl-texto-2); font-size: .88rem; padding: 5px 0; }
.nl-footer-grid a:hover { color: var(--nl-roxo-3); }
.nl-footer-marca { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 50px; padding: 34px 0; border-top: 1px solid var(--nl-borda); }
.nl-footer-marca img { height: 40px; width: auto; }
.nl-footer-marca p { margin: 0; color: var(--nl-texto-3); font-size: .88rem; }
.nl-footer-base { background: var(--nl-bg-2); padding: 24px 0; font-size: .82rem; color: var(--nl-texto-3); }
.nl-footer-base-in { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.nl-footer-base a { color: var(--nl-forte); text-decoration: none; }

/* ── Flutuantes ───────────────────────────────────────────────────────── */
.nl-zap { position: fixed; left: 22px; bottom: 22px; z-index: 1080; width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: #25d366; color: #fff !important;
          font-size: 1.8rem; text-decoration: none; box-shadow: 0 12px 30px rgba(37, 211, 102, .45); transition: transform .2s; }
.nl-zap:hover { transform: scale(1.08); }
.nl-zap::after { content: ''; position: absolute; top: 2px; right: 2px; width: 12px; height: 12px; border-radius: 50%; background: var(--nl-roxo-2); border: 2px solid var(--nl-bg); }
.nl-topo { position: fixed; right: 24px; bottom: 30px; z-index: 1080; width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--nl-borda-2); background: var(--nl-bg-3); color: var(--nl-forte);
           font-size: 1.2rem; cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(10px); transition: .25s; }
.nl-topo.visivel { opacity: 1; visibility: visible; transform: none; }
.nl-topo:hover { background: var(--nl-roxo); }

/* ── Revelar ao rolar ─────────────────────────────────────────────────── */
.nl-js .nl-revela { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s ease; transition-delay: var(--atraso, 0ms); }
.nl-js .nl-revela.visivel { opacity: 1; transform: none; }
.nl-js .nl-plano-destaque.nl-revela.visivel { transform: none; }
@media (min-width: 1100px) { .nl-js .nl-plano-destaque.nl-revela.visivel { transform: scale(1.04); } }

@media (prefers-reduced-motion: reduce) {
    .nl-page *, .nl-page *::before, .nl-page *::after { animation: none !important; transition: none !important; }
    .nl-js .nl-revela { opacity: 1; transform: none; }
    .nl-celular-chat p { opacity: 1 !important; transform: none !important; }
    html { scroll-behavior: auto; }
}

/* ── Responsivo ───────────────────────────────────────────────────────── */
@media (max-width: 1180px) {
    .nl-nav { gap: 20px; }
    .nl-qtd-5, .nl-qtd-4 { grid-template-columns: repeat(3, 1fr); }
    .nl-integra { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 1000px) {
    .nl-nav, .nl-so-desk { display: none; }
    .nl-burger { display: inline-grid; place-items: center; }
    .nl-header-acoes { margin-left: auto; }
    .nl-hero { padding: 60px 0 90px; }
    .nl-hero-in, .nl-pilar, .nl-painel, .nl-dados, .nl-zapsec, .nl-qual, .nl-manifesto, .nl-faq-wrap { grid-template-columns: 1fr; }
    .nl-hero-visual { margin: 20px 18px 0; }
    .nl-hero-visual .nl-janela { transform: none; }
    .nl-pilar-visual { border-left: 0; border-top: 1px solid var(--nl-borda); }
    .nl-pilar-texto { padding: 40px 28px; }
    .nl-cabeca { grid-template-columns: 1fr; gap: 18px; }
    .nl-cabeca .nl-lead { grid-column: 1; }
    .nl-cabeca-rotulo { max-width: 220px; }
    .nl-numeros-grid { grid-template-columns: repeat(2, 1fr); }
    .nl-numero:nth-child(3) { border-left: 0; }
    .nl-numero:nth-child(n+3) { border-top: 1px solid var(--nl-borda); }
    .nl-grid-3, .nl-passos { grid-template-columns: repeat(2, 1fr); }
    .nl-formula { grid-template-columns: 1fr; }
    .nl-formula-op { text-align: center; line-height: 1; }
    .nl-qtd-5, .nl-qtd-4, .nl-qtd-3 { grid-template-columns: repeat(2, 1fr); }
    .nl-footer-grid { grid-template-columns: repeat(3, 1fr); }
    .nl-sec { padding: 80px 0; }
}
@media (max-width: 680px) {
    .nl-wrap { padding: 0 16px; }
    .nl-aviso-in { gap: 10px; }
    .nl-aviso p { font-size: .8rem; }
    .nl-aviso .nl-btn { display: none; }
    .nl-header-in { height: 66px; }
    .nl-logo img { height: 30px; }
    .nl-header-acoes .nl-btn-pri { padding: 0 12px; }
    .nl-hero-titulo { font-size: clamp(2.6rem, 13vw, 3.4rem); }
    .nl-hero-cta .nl-btn { width: 100%; }
    .nl-flutua { display: none; }
    .nl-flutua-1 { display: flex; top: -18px; left: -8px; }
    .nl-numero { padding: 30px 14px; }
    .nl-numero-valor { font-size: 2.5rem; }
    .nl-grid-3, .nl-grid-2, .nl-passos, .nl-qtd-5, .nl-qtd-4, .nl-qtd-3, .nl-qtd-2 { grid-template-columns: 1fr; }
    .nl-integra { grid-template-columns: repeat(2, 1fr); }
    .nl-pilar-visual { padding: 36px 14px; min-height: 0; }
    .nl-chip { min-width: 0; padding: 6px 8px; } .nl-chip small { display: none; }
    .nl-hub-centro { width: 100px; height: 100px; margin: -50px 0 0 -50px; }
    .nl-hub-centro b { font-size: .78rem; }
    .nl-kanban-cols { grid-template-columns: repeat(2, 1fr); }
    .nl-kcol { min-height: 0; }
    .nl-doc { grid-template-columns: 1fr; }
    .nl-qual { padding: 26px 20px; }
    .nl-ciclo button { padding: 10px 16px; }
    .nl-footer-grid { grid-template-columns: repeat(2, 1fr); }
    .nl-footer-marca { flex-direction: column; align-items: flex-start; }
    .nl-cta::after { width: 300px; height: 300px; }
}

/* ==========================================================================
   CAMADA V2 — identidade própria (afasta o layout do modelo de referência).
   Mantém estrutura e conteúdo; muda tipografia, rótulos, hero, cabeçalhos,
   pilares, trilha, equação, FAQ, CTA e rodapé.
   ========================================================================== */

/* Texto em degradê + marca-texto no lugar das palavras vazadas. */
.nl-grad-texto, .nl-vazado, .nl-vazado-roxo {
    color: transparent; -webkit-text-stroke: 0; background: linear-gradient(100deg, var(--nl-roxo-2) 0%, var(--nl-grad-meio) 45%, var(--nl-ouro) 100%);
    -webkit-background-clip: text; background-clip: text; }
.nl-vazado-roxo { position: relative; }
.nl-h2 em, .nl-h3 em { background: linear-gradient(100deg, var(--nl-roxo-2), var(--nl-grad-meio)); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Rótulos: selo com ponto (sem traço, sem fonte mono). */
.nl-eyebrow { font: 700 .7rem/1.4 var(--nl-mont); letter-spacing: .08em; color: var(--nl-roxo-3); display: inline-flex; align-items: center; gap: 8px; }
.nl-eyebrow::before { content: ''; width: 6px; height: 6px; border-radius: 2px; background: currentColor; transform: rotate(45deg); flex: 0 0 6px; }
.nl-cabeca { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 18px; margin-bottom: 56px; }
.nl-cabeca .nl-h2 { max-width: 860px; }
.nl-cabeca .nl-lead { margin: 0 auto; text-align: center; }
.nl-cabeca-rotulo { border: 1px solid rgba(var(--nl-roxo-rgb), .35); padding: 7px 16px 7px 12px; border-radius: 999px; background: rgba(var(--nl-roxo-rgb), .08);
                    display: inline-flex; align-items: center; gap: 8px; max-width: none; }
.nl-cabeca-rotulo::before { content: '\f6d7'; font-family: 'tabler-icons'; font-size: .95rem; color: var(--nl-ouro); }
.nl-cabeca-rotulo span { font: 700 .74rem/1.2 var(--nl-mont); letter-spacing: .06em; color: var(--nl-texto); }
.nl-cabeca-rotulo span::before { content: none; }
.nl-cabeca-rotulo-solo { min-width: 0; }
.nl-h2 { font-family: var(--nl-mont); font-weight: 800; letter-spacing: -.025em; }
.nl-pill { font-family: var(--nl-mont); letter-spacing: .04em; }

/* ── Aviso fino ───────────────────────────────────────────────────────── */
.nl-aviso { background: var(--nl-bg-aviso); border-bottom: 1px solid rgba(var(--nl-roxo-rgb), .35); }
.nl-aviso-in { justify-content: center; min-height: 44px; gap: 14px; }
.nl-aviso p { flex: 0 1 auto; font: 500 .86rem/1.4 'Inter', sans-serif; color: var(--nl-texto-2); }
.nl-aviso p a { color: var(--nl-forte); font-weight: 700; text-decoration: none; margin-left: 6px; }
.nl-aviso p a:hover { color: var(--nl-roxo-3); }
.nl-aviso-selo { display: inline-flex; gap: 6px; align-items: center; padding: 4px 10px; border-radius: 999px; background: var(--nl-grad); font: 700 .74rem var(--nl-mont); white-space: nowrap; }
.nl-aviso-x { position: absolute; right: 18px; font-size: 1.1rem; }
.nl-aviso-in { position: relative; }

/* ── Cabeçalho em cápsula flutuante ───────────────────────────────────── */
.nl-header { background: transparent; border-bottom: 0; backdrop-filter: none; -webkit-backdrop-filter: none; padding-top: 14px; }
.nl-header-in { height: 66px; padding: 0 10px 0 24px; border-radius: 999px; max-width: calc(var(--nl-max) - 48px);
                background: var(--nl-vidro); border: 1px solid var(--nl-borda-2); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
                box-shadow: 0 20px 50px rgba(var(--nl-sombra), calc(.35 * var(--nl-sombra-k))); transition: background .2s, box-shadow .2s; }
.nl-header.rolou { background: transparent; }
.nl-header.rolou .nl-header-in { background: var(--nl-vidro-forte); box-shadow: 0 20px 50px rgba(var(--nl-sombra), calc(.55 * var(--nl-sombra-k))); }
.nl-logo img { height: 32px; }
.nl-nav { gap: 6px; }
.nl-nav > a, .nl-menu > button { padding: 8px 14px; border-radius: 999px; font-size: .9rem; }
.nl-nav > a:hover, .nl-menu > button:hover { background: rgba(var(--nl-tinta), .06); color: var(--nl-forte); }
.nl-nav > a.ativo { background: rgba(var(--nl-roxo-rgb), .18); color: var(--nl-forte); }
.nl-header-acoes .nl-btn { border-radius: 999px; }
.nl-menu-lista { left: 0; top: calc(100% + 14px); }

/* Botões mais arredondados. */
.nl-btn { border-radius: 999px; }
.nl-btn-pri { background: linear-gradient(135deg, #7b2ff0, #a85ef0); }

/* ── Hero centralizado com palco ──────────────────────────────────────── */
.nl-hero { padding: 70px 0 0; margin-top: -80px; padding-top: 150px; }
.nl-hero-luz { background: radial-gradient(900px 520px at 50% 0%, rgba(var(--nl-roxo-rgb), .38), transparent 70%),
                          radial-gradient(600px 400px at 10% 60%, rgba(27, 42, 105, .45), transparent 70%),
                          radial-gradient(600px 400px at 90% 60%, rgba(226, 188, 106, .08), transparent 70%); }
.nl-hero::before { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .5;
                   background-image: radial-gradient(rgba(var(--nl-tinta), .12) 1px, transparent 1px); background-size: 26px 26px;
                   -webkit-mask-image: radial-gradient(ellipse 60% 50% at 50% 30%, #000, transparent); mask-image: radial-gradient(ellipse 60% 50% at 50% 30%, #000, transparent); }
.nl-hero-in { grid-template-columns: 1fr; gap: 56px; text-align: center; }
.nl-hero-texto { max-width: 880px; margin: 0 auto; }
.nl-anuncio { display: inline-flex; align-items: center; gap: 10px; padding: 5px 14px 5px 5px; border-radius: 999px; text-decoration: none; font-size: .85rem; color: var(--nl-texto-2);
              background: rgba(var(--nl-tinta), .04); border: 1px solid var(--nl-borda-2); transition: border-color .2s; }
.nl-anuncio:hover { border-color: rgba(var(--nl-roxo-rgb), .7); color: var(--nl-forte); }
.nl-anuncio-tag { padding: 3px 10px; border-radius: 999px; background: var(--nl-grad); color: #fff; font: 700 .72rem var(--nl-mont); }
.nl-hero-titulo { font: 800 clamp(2.7rem, 6.4vw, 5rem)/1.04 var(--nl-mont); letter-spacing: -.035em; margin: 26px 0 24px; }
.nl-hero-titulo span { display: block; }
.nl-hero-desc { margin: 0 auto 34px; max-width: 680px; }
.nl-hero-desc strong { display: inline; font-size: inherit; margin: 0; }
.nl-hero-cta { justify-content: center; }
.nl-hero-garantias { justify-content: center; }
.nl-hero-visual { max-width: 1060px; margin: 0 auto; width: 100%; }
.nl-palco-brilho { position: absolute; left: 8%; right: 8%; top: -30px; height: 140px; background: var(--nl-grad); filter: blur(70px); opacity: .55; border-radius: 50%; }
.nl-hero-visual .nl-janela { position: relative; transform: perspective(1800px) rotateX(14deg); transform-origin: 50% 0; border-radius: 18px 18px 0 0;
                              border-bottom: 0; -webkit-mask-image: linear-gradient(#000 70%, transparent); mask-image: linear-gradient(#000 70%, transparent); }
.nl-hero-visual:hover .nl-janela { transform: perspective(1800px) rotateX(6deg); }
.nl-flutua-1 { top: 18%; left: -40px; }
.nl-flutua-2 { top: 46%; left: auto; right: -40px; bottom: auto; }
.nl-flutua-3 { top: 70%; bottom: auto; left: 6%; right: auto; }

/* ── Números sobrepostos ao palco ─────────────────────────────────────── */
.nl-numeros { background: transparent; border: 0; position: relative; z-index: 2; margin-top: -120px; }
.nl-numeros-grid { grid-template-columns: repeat(4, 1fr); gap: 0; border-radius: 22px; background: var(--nl-vidro); border: 1px solid var(--nl-borda-2);
                   backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); box-shadow: 0 30px 70px rgba(var(--nl-sombra), calc(.5 * var(--nl-sombra-k))); overflow: hidden; }
.nl-numero { display: flex; gap: 16px; align-items: flex-start; padding: 28px 24px; border-left: 1px solid var(--nl-borda); }
.nl-numero-ico { flex: 0 0 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; font-size: 1.3rem; color: var(--nl-ouro);
                 background: rgba(226, 188, 106, .1); border: 1px solid rgba(226, 188, 106, .3); }
.nl-numero-valor { font: 800 2.3rem/1 var(--nl-mont); color: var(--nl-forte); }
.nl-numero-valor sup { font-size: 1rem; color: var(--nl-roxo-3); margin-top: 2px; }
.nl-numero p { margin-top: 6px; font-size: .84rem; }

/* ── Listas: marcador de check em vez de traço ────────────────────────── */
.nl-traco li { padding: 9px 0 9px 32px; border-bottom: 0; }
.nl-traco li::before { content: '\ea5e'; font-family: 'tabler-icons'; width: 20px; height: 20px; top: 9px; border-radius: 6px; display: grid; place-items: center;
                       font-size: .75rem; color: var(--nl-roxo-3); background: rgba(var(--nl-roxo-rgb), .16); }
.nl-traco-mini li::before { top: 8px; }

/* ── Pilares em zigue-zague, com número d'água ────────────────────────── */
.nl-pilar { position: relative; border: 1px solid var(--nl-borda-2); border-radius: 28px; gap: 0; background: linear-gradient(180deg, var(--nl-bg-2), var(--nl-bg)); margin-bottom: 34px; }
.nl-pilar::before { content: ''; position: absolute; left: 40px; right: 40px; top: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--cor), transparent); }
.nl-pilar-texto { background: none; padding: 56px 52px; position: relative; }
.nl-pilar:nth-of-type(even) .nl-pilar-texto { order: 2; }
.nl-pilar:nth-of-type(even) .nl-pilar-visual { order: 1; border-left: 0; border-right: 1px solid var(--nl-borda); }
.nl-pilar-visual { margin: 16px; border-radius: 20px; border: 1px solid var(--nl-borda) !important; background: radial-gradient(420px 320px at 50% 40%, rgba(var(--cor-rgb), .14), transparent 70%), rgba(var(--nl-tinta), .015); }
.nl-pilar-nome { font-weight: 800; }
.nl-pilar-sub { display: inline-block; padding: 5px 12px; border-radius: 8px; background: rgba(var(--cor-rgb), .12); color: var(--cor); letter-spacing: .04em; text-transform: none; font-size: .82rem; }
.nl-pilar-texto .nl-traco li::before { color: var(--cor); background: rgba(var(--cor-rgb), .14); }
.nl-pilar .nl-eyebrow { color: var(--cor); }
.nl-pilar .nl-btn-escuro:hover { border-color: var(--cor); }
.nl-hub-rot, .nl-camadas-rot { font-family: var(--nl-mont); letter-spacing: .1em; }

/* ── Trilha cenário → risco → diferencial ─────────────────────────────── */
.nl-trilha { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; position: relative; }
.nl-trilha::before { content: ''; position: absolute; top: 31px; left: 16%; right: 16%; height: 2px;
                     background: linear-gradient(90deg, #e2626b, var(--nl-ouro), var(--nl-verde)); opacity: .6; }
.nl-trilha-item { position: relative; text-align: center; }
.nl-trilha-no { position: relative; z-index: 1; width: 64px; height: 64px; margin: 0 auto 22px; border-radius: 20px; display: grid; place-items: center; font-size: 1.6rem;
                background: var(--nl-bg-3); border: 1px solid var(--nl-borda-2); color: #f08b92; transform: rotate(45deg); }
.nl-trilha-no i { transform: rotate(-45deg); }
.nl-trilha-item:nth-child(2) .nl-trilha-no { color: var(--nl-ouro); }
.nl-trilha-solucao .nl-trilha-no { background: var(--nl-grad); color: #fff; border-color: transparent; box-shadow: 0 0 40px rgba(var(--nl-roxo-rgb), .55); }
.nl-trilha-corpo { padding: 26px 24px; border-radius: 20px; background: var(--nl-card); border: 1px solid var(--nl-borda); height: calc(100% - 86px); }
.nl-trilha-solucao .nl-trilha-corpo { border-color: rgba(var(--nl-roxo-rgb), .6); background: linear-gradient(180deg, rgba(var(--nl-roxo-rgb), .2), var(--nl-card)); }
.nl-trilha-corpo h3 { font: 800 1.2rem/1.3 var(--nl-mont); margin: 12px 0; }
.nl-trilha-corpo p { color: var(--nl-texto-2); font-size: .92rem; margin: 0 0 12px; }
.nl-trilha-fecho { padding-top: 12px; border-top: 1px dashed var(--nl-borda-2); color: var(--nl-texto) !important; font-weight: 500; }

/* ── Abas de módulos: barra segmentada ────────────────────────────────── */
.nl-abas { display: flex; width: max-content; max-width: 100%; margin: 0 auto 44px; padding: 6px; gap: 4px; border-radius: 16px; background: var(--nl-card); border: 1px solid var(--nl-borda-2); overflow-x: auto; flex-wrap: nowrap; }
.nl-abas button { border: 0; border-radius: 11px; background: none; white-space: nowrap; }
.nl-abas button[aria-selected="true"] { box-shadow: none; }
.nl-painel .nl-janela { border-radius: 18px; transform: rotate(-1.2deg); }
.nl-painel h3 { font-family: var(--nl-mont); }

/* ── Dados e WhatsApp: cartões com borda superior colorida ────────────── */
.nl-cartao-mini { border-top: 2px solid rgba(var(--nl-roxo-rgb), .6); }
.nl-selo-flutua { border-radius: 999px; transform: none; top: -16px; right: 20px; }
.nl-recurso { flex-direction: column; gap: 12px; }

/* ── Integrações: logotipos em linha com brilho ───────────────────────── */
.nl-integra-item { display: flex; flex-direction: column; align-items: center; border-radius: 22px; background: linear-gradient(180deg, var(--nl-card-2), var(--nl-card)); }
.nl-integra-item i { width: 58px; height: 58px; border-radius: 18px; display: grid; place-items: center; background: rgba(var(--nl-roxo-rgb), .14); }

/* ── Equação da visão ─────────────────────────────────────────────────── */
.nl-equacao { display: grid; gap: 40px; }
.nl-equacao-par { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.nl-eq-cartao { position: relative; padding: 34px 32px; border-radius: 24px; background: var(--nl-card); border: 1px solid var(--nl-borda-2); }
.nl-eq-roxo { border-color: rgba(var(--nl-roxo-rgb), .55); background: linear-gradient(200deg, rgba(var(--nl-roxo-rgb), .2), var(--nl-card) 60%); }
.nl-eq-ico { width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; font-size: 1.5rem; margin-bottom: 18px; background: rgba(var(--nl-tinta), .06); color: var(--nl-forte); }
.nl-eq-roxo .nl-eq-ico { background: var(--nl-grad); }
.nl-eq-cartao h3 { font: 800 1.35rem/1.3 var(--nl-mont); margin: 12px 0 6px; }
.nl-eq-cartao h3 span { color: var(--nl-roxo-2); }
.nl-eq-neutro .nl-eyebrow { color: var(--nl-texto-2); }
.nl-eq-op { position: absolute; z-index: 2; width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; font: 800 1.8rem/1 var(--nl-mont);
            background: var(--nl-bg); border: 1px solid var(--nl-borda-2); box-shadow: 0 10px 30px rgba(var(--nl-sombra), calc(.5 * var(--nl-sombra-k))); }
.nl-eq-mais { left: 50%; top: 50%; transform: translate(-50%, -50%); color: var(--nl-roxo-2); }
.nl-eq-igual { left: 50%; top: 0; transform: translate(-50%, -50%); color: var(--nl-verde); }
.nl-eq-resultado { position: relative; display: grid; grid-template-columns: .8fr 1.2fr; gap: 30px; align-items: center; padding: 44px 40px 36px; border-radius: 24px;
                   border: 1px solid rgba(47, 211, 138, .45); background: linear-gradient(110deg, rgba(47, 211, 138, .14), rgba(var(--nl-roxo-rgb), .1) 70%), var(--nl-card); }
.nl-eq-resultado .nl-eyebrow { color: var(--nl-verde); }
.nl-eq-resultado h3 { font: 800 clamp(1.6rem, 3vw, 2.2rem)/1.15 var(--nl-mont); margin: 10px 0 0; }
.nl-eq-resultado h3 span { color: var(--nl-verde); }
.nl-eq-resultado ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.nl-eq-resultado li { display: flex; gap: 10px; font-size: .92rem; color: var(--nl-texto); }
.nl-eq-resultado li i { color: var(--nl-verde); font-size: 1.15rem; }

/* ── Manifesto centralizado ───────────────────────────────────────────── */
.nl-manifesto { display: block; text-align: center; max-width: 860px; margin: 100px auto 0; padding: 56px 48px 44px; border: 0; border-radius: 28px; position: relative;
                background: radial-gradient(500px 220px at 50% 0%, rgba(var(--nl-roxo-rgb), .25), transparent 70%), var(--nl-card); }
.nl-manifesto::before { content: ''; position: absolute; inset: 0; border-radius: 28px; padding: 1px; pointer-events: none;
                        background: linear-gradient(180deg, rgba(var(--nl-roxo-rgb), .8), rgba(var(--nl-tinta), .05) 60%, rgba(226, 188, 106, .4));
                        -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; }
.nl-manifesto-selo { margin: -84px auto 22px; width: 64px; height: 64px; padding: 14px; border-radius: 20px; background: var(--nl-grad); box-shadow: 0 16px 40px rgba(var(--nl-roxo-rgb), .5); }
.nl-manifesto .nl-eyebrow { justify-content: center; }
.nl-manifesto .nl-h3 { font-size: clamp(1.4rem, 2.6vw, 1.9rem); margin: 14px auto 22px; max-width: 700px; }
.nl-manifesto blockquote { margin: 0; padding: 0; border: 0; background: none; }
.nl-manifesto blockquote p { color: var(--nl-texto-2); font-size: 1rem; }
.nl-manifesto figcaption { margin-top: 10px; font: 700 .85rem var(--nl-mont); color: var(--nl-roxo-3); }

/* ── Passos: linha do tempo horizontal ────────────────────────────────── */
.nl-passos { position: relative; }
.nl-passos::before { content: ''; position: absolute; top: 55px; left: 12%; right: 12%; height: 2px; background: repeating-linear-gradient(90deg, rgba(var(--nl-roxo-rgb), .6) 0 8px, transparent 8px 16px); }
.nl-passos li { text-align: center; background: none; border: 0; padding: 30px 16px; }
.nl-passos li > i { position: relative; margin: 0 auto 20px; width: 52px; height: 52px; border-radius: 50%; box-shadow: 0 0 0 8px var(--nl-bg-2), 0 0 30px rgba(var(--nl-roxo-rgb), .5); }
.nl-passo-num { position: static; display: block; font: 800 .74rem var(--nl-mont); color: var(--nl-ouro); -webkit-text-stroke: 0; letter-spacing: .12em; margin-bottom: 6px; }

/* ── FAQ em cartões, duas colunas ─────────────────────────────────────── */
.nl-faq { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: start; }
.nl-faq details { border: 1px solid var(--nl-borda); border-radius: 16px; background: var(--nl-card); padding: 0 20px; transition: border-color .2s, background .2s; }
.nl-faq details[open] { border-color: rgba(var(--nl-roxo-rgb), .55); background: linear-gradient(180deg, rgba(var(--nl-roxo-rgb), .12), var(--nl-card)); }
.nl-faq summary { padding: 18px 0; font-size: .96rem; justify-content: flex-start; }
.nl-faq summary i { margin-left: auto; }
.nl-faq details[open] summary i { transform: rotate(180deg); }
.nl-faq-num { flex: 0 0 auto; font: 800 .74rem var(--nl-mont); color: var(--nl-ouro); padding: 4px 8px; border-radius: 8px; background: rgba(226, 188, 106, .1); }
.nl-faq details p { margin: 0 0 20px; }
.nl-faq-ajuda { display: flex; justify-content: center; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 34px; color: var(--nl-texto-2); }
.nl-faq-ajuda span i { color: var(--nl-roxo-2); margin-right: 8px; font-size: 1.2rem; vertical-align: -3px; }

/* ── CTA: cartão flutuante ────────────────────────────────────────────── */
.nl-cta { background: var(--nl-bg); padding: 40px 0 110px; }
.nl-cta::after { content: none; }
.nl-cta-cartao { position: relative; overflow: hidden; display: grid; grid-template-columns: 1.4fr .6fr; gap: 40px; align-items: center; padding: 64px 56px; border-radius: 32px;
                 background: radial-gradient(500px 300px at 100% 0%, rgba(226, 188, 106, .3), transparent 60%), var(--nl-grad); box-shadow: 0 40px 100px rgba(var(--nl-roxo-rgb), .35); }
.nl-cta-cartao::after { content: ''; position: absolute; right: -60px; bottom: -80px; width: 320px; height: 320px; opacity: .1; background: url('/marca/integralegal-icone-branco.svg') center/contain no-repeat; pointer-events: none; }
.nl-cta h2 { font-weight: 800; font-size: clamp(2rem, 4.4vw, 3.2rem); }
.nl-cta-lista { position: relative; z-index: 1; list-style: none; padding: 22px; margin: 0; display: grid; gap: 12px; border-radius: 20px; background: rgba(11, 10, 26, .28); border: 1px solid rgba(var(--nl-tinta), .2); }
.nl-cta-lista li { display: flex; gap: 12px; align-items: center; font: 600 .92rem var(--nl-mont); }
.nl-cta-lista i { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: rgba(var(--nl-tinta), .16); font-size: 1.05rem; }
.nl-cta .nl-hero-cta { justify-content: flex-start; }

/* ── Rodapé: marca à esquerda, links à direita ────────────────────────── */
.nl-footer { padding-top: 64px; border-top: 1px solid var(--nl-borda); }
.nl-footer-topo { display: grid; grid-template-columns: 1fr 2fr; gap: 50px; padding-bottom: 50px; }
.nl-footer-marca { display: block; margin: 0; padding: 0; border: 0; }
.nl-footer-marca p { margin: 18px 0 20px; max-width: 320px; line-height: 1.6; }
.nl-footer-contato { display: flex; gap: 10px; }
.nl-footer-contato a { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; text-decoration: none; font-size: 1.15rem;
                       background: rgba(var(--nl-tinta), .05); border: 1px solid var(--nl-borda-2); }
.nl-footer-contato a:hover { background: var(--nl-grad); border-color: transparent; }
.nl-footer-grid { grid-template-columns: repeat(4, 1fr); }
.nl-footer h4 { font-size: .78rem; color: var(--nl-roxo-3); }
.nl-footer-base { background: transparent; border-top: 1px solid var(--nl-borda); }

/* ── Planos: detalhes de identidade ───────────────────────────────────── */
.nl-plano { border-radius: 24px; }
.nl-plano h3 { text-transform: none; font-weight: 800; }
.nl-plano-fita { background: var(--nl-grad); color: #fff; }
.nl-plano-destaque::before { border-radius: 24px; }
.nl-comparar thead th:first-child { font-family: var(--nl-mont); }
.nl-comp-grupo th { font-family: var(--nl-mont) !important; letter-spacing: .1em; }

/* ── Responsivo v2 ────────────────────────────────────────────────────── */
@media (max-width: 1000px) {
    .nl-header { padding-top: 10px; }
    .nl-header-in { margin: 0 12px; padding: 0 8px 0 18px; max-width: none; width: auto; }
    .nl-hero { padding-top: 130px; }
    .nl-hero-visual { margin: 0 auto; }
    .nl-flutua-1 { left: -6px; } .nl-flutua-2 { right: -6px; }
    .nl-numeros { margin-top: -70px; }
    .nl-numeros-grid { grid-template-columns: repeat(2, 1fr); }
    .nl-numero:nth-child(3) { border-left: 0; }
    .nl-numero:nth-child(n+3) { border-top: 1px solid var(--nl-borda); }
    .nl-pilar:nth-of-type(even) .nl-pilar-texto { order: 0; }
    .nl-pilar:nth-of-type(even) .nl-pilar-visual { order: 0; }
    .nl-trilha { grid-template-columns: 1fr; gap: 18px; }
    .nl-trilha::before { top: 30px; bottom: 30px; left: 31px; right: auto; width: 2px; height: auto; background: linear-gradient(180deg, #e2626b, var(--nl-ouro), var(--nl-verde)); }
    .nl-trilha-item { display: grid; grid-template-columns: 64px 1fr; gap: 18px; text-align: left; }
    .nl-trilha-no { margin: 0; }
    .nl-trilha-corpo { height: auto; }
    .nl-abas { justify-content: flex-start; }
    .nl-equacao-par, .nl-eq-resultado, .nl-faq, .nl-cta-cartao, .nl-footer-topo { grid-template-columns: 1fr; }
    .nl-passos::before { display: none; }
}
@media (max-width: 680px) {
    .nl-aviso-in { justify-content: flex-start; padding-right: 40px; }
    .nl-aviso p a { display: none; }
    .nl-aviso p { font-size: .78rem; }
    .nl-header-in { height: 58px; }
    .nl-hero { padding-top: 110px; }
    .nl-hero-visual .nl-janela { transform: none; }
    .nl-flutua-1 { display: flex; top: auto; bottom: -10px; left: 8px; }
    .nl-numeros { margin-top: -30px; }
    .nl-numeros-grid { grid-template-columns: 1fr; }
    .nl-numero { border-left: 0; border-top: 1px solid var(--nl-borda); padding: 18px; }
    .nl-numero:first-child { border-top: 0; }
    .nl-pilar-texto { padding: 36px 22px; }
    .nl-pilar-visual { margin: 0 10px 10px; }
    .nl-eq-resultado ul { grid-template-columns: 1fr; }
    .nl-eq-resultado { padding: 40px 22px 26px; }
    .nl-eq-cartao { padding: 28px 22px; }
    .nl-manifesto { padding: 50px 22px 34px; }
    .nl-cta-cartao { padding: 40px 22px; border-radius: 24px; }
    .nl-footer-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ── Ilustrações próprias dos pilares (v2) ────────────────────────────── */
.nl-recurso > i { align-self: flex-start; width: 42px; }
.nl-ilu { position: relative; width: 100%; max-width: 440px; padding: 20px; border-radius: 20px; text-align: left;
          background: var(--nl-vidro-ilu); border: 1px solid var(--nl-borda-2); box-shadow: 0 30px 70px rgba(var(--nl-sombra), calc(.45 * var(--nl-sombra-k))); }
.nl-ilu-topo { display: flex; align-items: center; gap: 10px; padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid var(--nl-borda); }
.nl-ilu-topo > i { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; background: rgba(var(--cor-rgb), .16); color: var(--cor); }
.nl-ilu-topo b { font: 700 .9rem var(--nl-mont); }
.nl-ilu-vivo { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font: 700 .68rem var(--nl-mont); color: var(--nl-verde); }
.nl-ilu-vivo::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--nl-verde); animation: nl-pisca 1.4s infinite; }
@keyframes nl-pisca { 50% { opacity: .25; } }
.nl-ilu-nota { display: block; margin-top: 12px; text-align: right; font-size: .68rem; color: var(--nl-texto-3); }

/* Feed de automação */
.nl-feed ol { list-style: none; margin: 0; padding: 0; position: relative; }
.nl-feed ol::before { content: ''; position: absolute; left: 17px; top: 18px; bottom: 18px; width: 2px; background: linear-gradient(180deg, var(--nl-roxo-2), var(--nl-verde)); opacity: .5; }
.nl-feed li { position: relative; display: grid; grid-template-columns: 36px 1fr auto; gap: 12px; align-items: center; padding: 8px 0;
              animation: nl-feed-entra 7s infinite; animation-delay: calc(var(--i) * .5s); }
.nl-feed-ico { position: relative; z-index: 1; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; font-size: 1rem;
               background: var(--nl-bg-3); border: 1px solid rgba(var(--nl-roxo-rgb), .5); color: var(--nl-roxo-3); }
.nl-feed li:nth-child(n+3) .nl-feed-ico { border-color: rgba(47, 211, 138, .5); color: var(--nl-verde); }
.nl-feed li b { display: block; font: 700 .85rem var(--nl-mont); }
.nl-feed li small { font-size: .74rem; color: var(--nl-texto-3); }
.nl-feed li em { font: 600 .7rem var(--nl-mono); font-style: normal; color: var(--nl-texto-3); padding: 3px 7px; border-radius: 6px; background: rgba(var(--nl-tinta), .05); }
@keyframes nl-feed-entra { 0% { opacity: .35; } 8%, 85% { opacity: 1; } 100% { opacity: .35; } }

/* Pedido à IA */
.nl-ia-prompt { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 14px; background: rgba(226, 188, 106, .1); border: 1px solid rgba(226, 188, 106, .35);
                font: 600 .85rem/1.45 var(--nl-mont); }
.nl-ia-prompt i { color: var(--nl-ouro); font-size: 1.1rem; margin-top: 1px; }
.nl-ia-ctx { margin: 14px 0; }
.nl-ia-ctx small { display: block; margin-bottom: 8px; font: 700 .66rem var(--nl-mont); letter-spacing: .08em; text-transform: uppercase; color: var(--nl-texto-3); }
.nl-ia-ctx div { display: flex; flex-wrap: wrap; gap: 6px; }
.nl-ia-ctx span { padding: 4px 9px; border-radius: 999px; font-size: .7rem; color: var(--nl-texto); background: rgba(var(--nl-tinta), .05); border: 1px solid var(--nl-borda-2); }
.nl-ia-etapas { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 7px; }
.nl-ia-etapas li { display: flex; gap: 8px; align-items: center; font-size: .8rem; color: var(--nl-texto-2); }
.nl-ia-etapas li.ok i { color: var(--nl-verde); }
.nl-ia-etapas li.rodando { color: var(--nl-forte); }
.nl-ia-etapas li.rodando i { color: var(--nl-ouro); animation: nl-roda 1s linear infinite; }
@keyframes nl-roda { to { transform: rotate(360deg); } }
.nl-ia-doc { padding: 14px; border-radius: 12px; background: #f6f4fd; }
.nl-ia-doc b { display: block; font: 800 .74rem var(--nl-mont); color: var(--nl-marca); margin-bottom: 10px; text-transform: uppercase; letter-spacing: .06em; }
.nl-ia-doc i { display: block; height: 6px; border-radius: 4px; background: #dcd6ef; margin-bottom: 7px; }
.nl-ia-doc i.curta { width: 70%; }
.nl-ia-doc i.digitando { width: 0; background: linear-gradient(90deg, #c9b6f5, var(--nl-roxo-2)); animation: nl-digita 3.2s ease-in-out infinite; margin-bottom: 0; }
@keyframes nl-digita { 0% { width: 0; } 70%, 100% { width: 88%; } }

/* Funil comercial */
.nl-funil { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.nl-funil .nl-ilu-topo { align-self: stretch; }
.nl-funil-etapa { width: var(--larg); min-width: 150px; display: flex; justify-content: center; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 10px;
                  font: 700 .8rem var(--nl-mont); white-space: nowrap; color: var(--nl-texto);
                  background: linear-gradient(90deg, rgba(47, 211, 138, calc(.1 + var(--i) * .07)), rgba(47, 211, 138, calc(.18 + var(--i) * .08)));
                  border: 1px solid rgba(47, 211, 138, .35); animation: nl-funil-brilho 5s infinite; animation-delay: calc(var(--i) * .4s); }
.nl-funil-etapa i { color: var(--nl-verde); }
@keyframes nl-funil-brilho { 0%, 80%, 100% { box-shadow: none; } 10% { box-shadow: 0 0 24px rgba(47, 211, 138, .45); } }
.nl-funil-toast { position: absolute; right: -18px; top: 54px; display: flex; gap: 10px; align-items: center; padding: 10px 14px; border-radius: 14px;
                  background: var(--nl-card-2); border: 1px solid var(--nl-borda-2); box-shadow: 0 16px 40px rgba(var(--nl-sombra), calc(.5 * var(--nl-sombra-k))); animation: nl-flutuar 5s ease-in-out infinite; }
.nl-funil-toast > i { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: #25d366; color: #fff; font-size: 1.1rem; }
.nl-funil-toast b { display: block; font: 700 .78rem var(--nl-mont); }
.nl-funil-toast small { font-size: .68rem; color: var(--nl-texto-3); }

@media (max-width: 680px) {
    .nl-ilu { padding: 16px; }
    .nl-feed li em { display: none; }
    .nl-feed li { grid-template-columns: 36px 1fr; }
    .nl-funil-toast { position: static; margin-top: 10px; align-self: stretch; }
    .nl-funil-etapa { min-width: 0; font-size: .74rem; }
}

/* ── Produtos: seletor vertical + painel (substitui os cartões lado a lado) ── */
.nl-prod { display: grid; grid-template-columns: 300px 1fr; gap: 26px; align-items: start; }
.nl-prod-nav { position: sticky; top: 110px; display: grid; gap: 10px; }
.nl-prod-tab { --cor: var(--nl-roxo-2); --cor-rgb: 168, 94, 240; position: relative; overflow: hidden; display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: center;
               padding: 16px 18px; border-radius: 18px; border: 1px solid var(--nl-borda); background: var(--nl-card); color: var(--nl-texto); text-align: left; cursor: pointer;
               transition: border-color .2s, background .2s, transform .2s; font: inherit; }
.nl-prod-tab:hover { border-color: rgba(var(--cor-rgb), .5); transform: translateX(3px); }
.nl-prod-tab[aria-selected="true"] { border-color: rgba(var(--cor-rgb), .7); background: linear-gradient(120deg, rgba(var(--cor-rgb), .18), var(--nl-card) 70%); }
.nl-prod-tab.nl-pilar-ouro { --cor: var(--nl-ouro); --cor-rgb: 226, 188, 106; }
.nl-prod-tab.nl-pilar-verde { --cor: var(--nl-verde); --cor-rgb: 47, 211, 138; }
.nl-prod-tab.nl-pilar-azul { --cor: var(--nl-azul); --cor-rgb: 110, 168, 255; }
.nl-prod-num { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; font: 800 .9rem var(--nl-mont); color: var(--cor);
               background: rgba(var(--cor-rgb), .12); border: 1px solid rgba(var(--cor-rgb), .35); }
.nl-prod-tab[aria-selected="true"] .nl-prod-num { background: var(--cor); color: #0b0a1a; }
.nl-prod-tit b { display: block; font: 800 1rem var(--nl-mont); }
.nl-prod-tit em { font-style: normal; color: var(--cor); }
.nl-prod-tit small { display: block; margin-top: 2px; font-size: .78rem; color: var(--nl-texto-3); line-height: 1.35; }
.nl-prod-barra { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(var(--nl-tinta), .04); }
.nl-prod-barra i { display: block; height: 100%; width: 0; background: var(--cor); }
.nl-prod-tab[aria-selected="true"] .nl-prod-barra i { animation: nl-prod-tempo var(--nl-prod-ms, 7000ms) linear forwards; }
.nl-prod.pausado .nl-prod-tab[aria-selected="true"] .nl-prod-barra i { animation-play-state: paused; }
.nl-prod.parado .nl-prod-tab[aria-selected="true"] .nl-prod-barra i { animation: none; width: 100%; }
@keyframes nl-prod-tempo { to { width: 100%; } }

.nl-prod .nl-pilar { display: block; margin: 0; padding: 36px; border-radius: 26px; background: linear-gradient(160deg, rgba(var(--cor-rgb), .1), var(--nl-bg-2) 45%);
                     border: 1px solid rgba(var(--cor-rgb), .3); animation: nl-entra .45s ease; }
.nl-prod .nl-pilar::before { left: 36px; right: 36px; }
.nl-pilar-cabeca { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: end; padding-bottom: 26px; margin-bottom: 26px; border-bottom: 1px dashed var(--nl-borda-2); }
.nl-pilar-cabeca .nl-pilar-nome { margin: 10px 0 10px; }
.nl-pilar-cabeca p { margin: 0; color: var(--nl-texto-2); font-size: .98rem; }
.nl-pilar-corpo { display: grid; grid-template-columns: 1fr 1.1fr; gap: 26px; align-items: center; }
.nl-pilar-lado { display: grid; gap: 22px; }
.nl-pilar-lado .nl-btn { justify-self: start; }
.nl-pilar-itens { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.nl-pilar-itens li { display: grid; gap: 10px; align-content: start; padding: 14px; border-radius: 14px; background: rgba(var(--nl-tinta), .03); border: 1px solid var(--nl-borda); font-size: .84rem; color: var(--nl-texto); line-height: 1.45; }
.nl-pilar-itens i { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; font-size: 1rem; color: var(--cor); background: rgba(var(--cor-rgb), .14); }
.nl-prod .nl-pilar-visual { order: 0 !important; min-height: 0; margin: 0; padding: 26px 18px; border-radius: 20px; border: 1px solid var(--nl-borda) !important; }

/* Ajustes das ilustrações */
.nl-funil { padding-top: 20px; }
.nl-funil-toast { top: -22px; right: -14px; }
.nl-doc-ilu .nl-doc { max-width: none; }

@media (max-width: 1000px) {
    .nl-prod { grid-template-columns: 1fr; }
    .nl-prod-nav { position: static; display: flex; overflow-x: auto; gap: 8px; padding-bottom: 4px; scroll-snap-type: x mandatory; }
    .nl-prod-tab { flex: 0 0 auto; min-width: 230px; scroll-snap-align: start; }
    .nl-prod-tab:hover { transform: none; }
    .nl-pilar-cabeca, .nl-pilar-corpo { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
    .nl-prod .nl-pilar { padding: 24px 16px; }
    .nl-pilar-itens { grid-template-columns: 1fr; }
    .nl-prod-tab { min-width: 200px; padding: 12px 14px; }
    .nl-prod-tit small { display: none; }
    .nl-funil-toast { top: auto; right: auto; }
}
.nl-prod .nl-pilar-visual { padding: 0; border: 0 !important; background: none; }
.nl-prod .nl-ilu { max-width: none; }

/* ── Faixa de aviso no celular: uma linha só (selo + frase curta + link) ── */
.nl-aviso-curto { display: none; }
@media (max-width: 680px) {
    .nl-aviso-in { justify-content: flex-start; gap: 10px; min-height: 42px; padding-right: 44px; }
    .nl-aviso-longo { display: none; }
    .nl-aviso-curto { display: inline; }
    .nl-aviso p { flex: 1 1 auto; min-width: 0; font-size: .78rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .nl-aviso p a { display: inline; margin-left: 4px; }
    .nl-aviso-selo { padding: 3px 9px; font-size: .7rem; flex: 0 0 auto; }
    .nl-aviso-x { right: 10px; padding: 6px; }
}
@media (max-width: 440px) {
    .nl-aviso-curto { display: none; } /* telas muito estreitas: selo + link */
}

/* ── Carrossel no celular (produtos e módulos) ───────────────────────── */
.nl-car { display: none; }
@media (max-width: 768px) {
    .nl-prod-nav, .nl-abas { display: none !important; }
    .nl-car { --car-cor: var(--nl-roxo-2); display: flex; align-items: center; gap: 10px; margin: 0 0 18px; padding: 8px; border-radius: 20px;
              background: var(--nl-vidro); border: 1px solid var(--nl-borda-2); box-shadow: 0 16px 40px rgba(var(--nl-sombra), calc(.35 * var(--nl-sombra-k)));
              position: sticky; top: 80px; z-index: 5; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
    .nl-car-seta { flex: 0 0 46px; height: 46px; border-radius: 14px; border: 1px solid var(--nl-borda-2); cursor: pointer; display: grid; place-items: center;
                   background: linear-gradient(180deg, rgba(var(--nl-tinta), .08), rgba(var(--nl-tinta), .02)); color: var(--nl-forte); font-size: 1.2rem;
                   transition: transform .15s, background .2s, border-color .2s; -webkit-tap-highlight-color: transparent; }
    .nl-car-seta:active { transform: scale(.92); }
    .nl-car-seta[data-dir="1"] { background: var(--nl-grad); border-color: transparent; box-shadow: 0 8px 22px rgba(var(--nl-roxo-rgb), .45); }
    .nl-car-meio { flex: 1 1 auto; min-width: 0; display: grid; justify-items: center; gap: 7px; }
    .nl-car-rot { display: flex; align-items: center; gap: 8px; max-width: 100%; font: 800 .95rem var(--nl-mont); white-space: nowrap; overflow: hidden; }
    .nl-car-rot b { overflow: hidden; text-overflow: ellipsis; }
    .nl-car-rot b em { font-style: normal; color: var(--car-cor); }
    .nl-car-rot > em { flex: 0 0 auto; font-style: normal; font-size: .72rem; padding: 3px 7px; border-radius: 7px; color: #0b0a1a; background: var(--car-cor); }
    .nl-car-rot > i { color: var(--nl-roxo-2); font-size: 1.05rem; }
    .nl-car-rot { animation: nl-car-troca .3s ease; }
    @keyframes nl-car-troca { from { opacity: 0; transform: translateY(4px); } }
    .nl-car-pontos { display: flex; gap: 6px; }
    .nl-car-ponto { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 999px; background: rgba(var(--nl-tinta), .22); cursor: pointer; transition: width .25s, background .25s; }
    .nl-car-ponto.ativo { width: 22px; background: var(--car-cor); }

    /* Responsividade dos painéis no celular */
    .nl-prod { gap: 0; }
    .nl-prod .nl-pilar { padding: 22px 16px; border-radius: 22px; }
    .nl-prod .nl-pilar::before { left: 20px; right: 20px; }
    .nl-pilar-cabeca { gap: 14px; padding-bottom: 18px; margin-bottom: 18px; }
    .nl-pilar-cabeca .nl-pilar-nome { font-size: 1.8rem; }
    .nl-pilar-cabeca p { font-size: .92rem; }
    .nl-pilar-corpo { gap: 18px; }
    .nl-pilar-itens { grid-template-columns: 1fr; gap: 8px; }
    .nl-pilar-itens li { grid-template-columns: 30px 1fr; align-items: center; padding: 11px 12px; }
    .nl-pilar-lado .nl-btn { justify-self: stretch; }
    .nl-ilu { padding: 14px; }
    .nl-feed li { grid-template-columns: 32px 1fr; gap: 10px; }
    .nl-feed li em { display: none; }
    .nl-feed-ico { width: 32px; height: 32px; }
    .nl-feed ol::before { left: 15px; }
    .nl-painel { gap: 22px; }
    .nl-painel h3 { font-size: 1.35rem; margin-bottom: 16px; }
    .nl-painel .nl-janela { transform: none; border-radius: 14px; }
    .nl-checks { gap: 11px; margin-bottom: 22px; font-size: .92rem; }
    .nl-painel .nl-btn { width: 100%; }
}

/* Tablet: sem barra de rolagem — produtos em grade 2×2 e abas quebrando linha. */
@media (min-width: 769px) and (max-width: 1000px) {
    .nl-prod-nav { display: grid !important; grid-template-columns: 1fr 1fr; overflow: visible; margin-bottom: 18px; }
    .nl-prod-tab { min-width: 0; }
    .nl-abas { flex-wrap: wrap; justify-content: center; width: auto; overflow: visible; }
}

/* Logo do topo um pouco maior (pedido 04/10). */
.nl-logo img { height: 38px; }
@media (max-width: 680px) { .nl-logo img { height: 34px; } }

/* ==========================================================================
   TEMA CLARO/ESCURO — ajustes
   ========================================================================== */
/* Títulos sempre com o texto mais forte do tema. */
.nl-page h1, .nl-page h2, .nl-page h3 { color: var(--nl-forte); }

/* Sobre roxo/degradê o conteúdo é branco nos DOIS temas (tinta local branca). */
.nl-cta-cartao, .nl-btn-pri, .nl-btn-contorno-claro, .nl-pill-claro, .nl-aviso-selo, .nl-anuncio-tag,
.nl-car-seta[data-dir="1"], .nl-eq-roxo .nl-eq-ico, .nl-trilha-solucao .nl-trilha-no, .nl-passos li > i,
.nl-selo-flutua, .nl-plano-fita, .nl-abas button[aria-selected="true"], .nl-ciclo button[aria-checked="true"],
.nl-prod-tab[aria-selected="true"] .nl-prod-num, .nl-zap, .nl-qual-controle output, .nl-manifesto-selo {
    --nl-tinta: 255, 255, 255; --nl-forte: #ffffff; --nl-texto: #ffffff; color: #ffffff; }
.nl-cta-cartao h2, .nl-cta-cartao .nl-cta-lista li { color: #fff; }
.nl-feed-ico, .nl-numero-ico { background: var(--nl-bg-3); }

/* Logos: roxa no claro, branca no escuro. */
.nl-logo-escuro { display: none !important; }
html[data-tema="escuro"] .nl-logo-claro { display: none !important; }
html[data-tema="escuro"] .nl-logo-escuro { display: block !important; }

/* Ajustes finos do claro */
:root:not([data-tema="escuro"]) .nl-header-in { box-shadow: 0 14px 40px rgba(46, 30, 110, .12); }
:root:not([data-tema="escuro"]) .nl-hero-luz { opacity: .55; }
:root:not([data-tema="escuro"]) .nl-palco-brilho { opacity: .35; }
:root:not([data-tema="escuro"]) .nl-janela, :root:not([data-tema="escuro"]) .nl-ilu,
:root:not([data-tema="escuro"]) .nl-plano, :root:not([data-tema="escuro"]) .nl-cartao,
:root:not([data-tema="escuro"]) .nl-trilha-corpo, :root:not([data-tema="escuro"]) .nl-eq-cartao,
:root:not([data-tema="escuro"]) .nl-faq details, :root:not([data-tema="escuro"]) .nl-integra-item,
:root:not([data-tema="escuro"]) .nl-recurso, :root:not([data-tema="escuro"]) .nl-prod-tab { box-shadow: 0 10px 30px rgba(46, 30, 110, .07); }
:root:not([data-tema="escuro"]) .nl-plano-destaque { box-shadow: 0 30px 70px rgba(var(--nl-roxo-rgb), .22); }
:root:not([data-tema="escuro"]) .nl-doc-folha, :root:not([data-tema="escuro"]) .nl-ia-doc { border: 1px solid var(--nl-borda-2); }
:root:not([data-tema="escuro"]) .nl-cabeca-rotulo span { color: var(--nl-roxo-3); }

/* Botão sol/lua */
.nl-tema { width: 42px; height: 42px; flex: 0 0 42px; border-radius: 999px; border: 1px solid var(--nl-borda-2); background: rgba(var(--nl-tinta), .05);
           color: var(--nl-forte); display: grid; place-items: center; font-size: 1.15rem; cursor: pointer; transition: transform .2s, background .2s; }
.nl-tema:hover { background: rgba(var(--nl-roxo-rgb), .14); transform: rotate(-12deg); }
.nl-tema .ti-sun { display: none; }
html[data-tema="escuro"] .nl-tema .ti-sun { display: inline; }
html[data-tema="escuro"] .nl-tema .ti-moon { display: none; }
.nl-drawer-tema { display: flex; align-items: center; gap: 12px; width: 100%; padding: 13px 10px; border: 0; border-radius: 10px; background: none; color: var(--nl-forte);
                  font: 600 1rem var(--nl-mont); cursor: pointer; text-align: left; }
.nl-drawer-tema:hover { background: rgba(var(--nl-tinta), .06); }
.nl-drawer-tema i { color: var(--nl-roxo-2); font-size: 1.2rem; }
.nl-drawer-tema .nl-txt-escuro { display: none; }
html[data-tema="escuro"] .nl-drawer-tema .nl-txt-claro { display: none; }
html[data-tema="escuro"] .nl-drawer-tema .nl-txt-escuro { display: inline; }
/* Transição suave ao trocar o tema (só durante a troca). */
html.nl-trocando-tema, html.nl-trocando-tema * { transition: background-color .35s, color .35s, border-color .35s !important; }
@media (max-width: 680px) { .nl-tema { width: 38px; height: 38px; flex-basis: 38px; } }


/* ==========================================================================
   Celular do WhatsApp (v3) — claro no tema claro, escuro no tema escuro
   ========================================================================== */
.nl-celular-palco { position: relative; max-width: 360px; width: 100%; margin: 0 auto; padding: 18px 0 34px; }
.nl-celular-palco::before { content: ''; position: absolute; inset: 8% -12% 12%; border-radius: 50%; background: radial-gradient(closest-side, rgba(37, 211, 102, .28), rgba(var(--nl-roxo-rgb), .18) 60%, transparent);
                            filter: blur(10px); pointer-events: none; }
.nl-celular { position: relative; max-width: 340px; margin: 0 auto; padding: 10px; border-radius: 40px; border: 0; overflow: hidden;
              --wa-moldura: #1a1733; --wa-topo: #1f2c34; --wa-topo-txt: #e9edef; --wa-fundo: #0b141a; --wa-cli: #005c4b; --wa-bot: #202c33; --wa-txt: #e9edef;
              --wa-hora: rgba(233, 237, 239, .6); --wa-tique: #53bdeb; --wa-dia: #182229; --wa-barra: #1f2c34; --wa-campo: #2a3942; --wa-padrao: rgba(255, 255, 255, .025);
              background: var(--wa-moldura); color: var(--wa-txt);
              box-shadow: 0 0 0 2px rgba(var(--nl-roxo-rgb), .45), 0 40px 90px rgba(var(--nl-sombra), calc(.6 * var(--nl-sombra-k))); }
:root:not([data-tema="escuro"]) .nl-celular {
              --wa-moldura: #ffffff; --wa-topo: #008069; --wa-topo-txt: #ffffff; --wa-fundo: #efeae2; --wa-cli: #d9fdd3; --wa-bot: #ffffff; --wa-txt: #111b21;
              --wa-hora: #667781; --wa-tique: #53bdeb; --wa-dia: #ffffff; --wa-barra: #f0f2f5; --wa-campo: #ffffff; --wa-padrao: rgba(17, 27, 33, .045);
              box-shadow: 0 0 0 1px rgba(40, 28, 90, .08), 0 0 0 7px rgba(var(--nl-roxo-rgb), .10), 0 40px 90px rgba(46, 30, 110, .25); }
.nl-celular-topo { display: flex; gap: 10px; align-items: center; padding: 14px 14px; border-radius: 30px 30px 0 0; background: var(--wa-topo); color: var(--wa-topo-txt); }
.nl-cel-avatar { flex: 0 0 38px; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: var(--nl-grad); box-shadow: 0 0 0 2px rgba(255, 255, 255, .35); }
.nl-cel-avatar img { width: 20px; height: 20px; }
.nl-celular-topo b { display: block; font: 700 .92rem var(--nl-mont); color: var(--wa-topo-txt); }
.nl-celular-topo small { font-size: .72rem; opacity: .85; }
.nl-cel-acoes { margin-left: auto; display: flex; gap: 14px; font-size: 1.15rem; opacity: .9; }
.nl-celular-chat { position: relative; min-height: 400px; padding: 14px 12px 16px; display: flex; flex-direction: column; gap: 7px; border-radius: 0;
                   background-color: var(--wa-fundo);
                   background-image: radial-gradient(var(--wa-padrao) 1.2px, transparent 1.3px), radial-gradient(var(--wa-padrao) 1.2px, transparent 1.3px);
                   background-size: 22px 22px; background-position: 0 0, 11px 11px; }
.nl-cel-dia { align-self: center; padding: 4px 12px; margin-bottom: 4px; border-radius: 8px; font-size: .68rem; font-weight: 600; color: var(--wa-hora); background: var(--wa-dia);
              box-shadow: 0 1px 1px rgba(11, 20, 26, .08); }
.nl-celular-chat p { position: relative; margin: 0; max-width: 82%; padding: 7px 10px 18px; border-radius: 10px; font-size: .8rem; line-height: 1.42; color: var(--wa-txt);
                     box-shadow: 0 1px 1px rgba(11, 20, 26, .13); }
.nl-celular-chat .cli { align-self: flex-end; background: var(--wa-cli); border-top-right-radius: 3px; }
.nl-celular-chat .bot { align-self: flex-start; background: var(--wa-bot); border-top-left-radius: 3px; }
/* "rabinho" dos balões */
.nl-celular-chat .cli::after, .nl-celular-chat .bot::after { content: ''; position: absolute; top: 0; width: 9px; height: 12px; }
.nl-celular-chat .cli::after { right: -7px; background: var(--wa-cli); clip-path: polygon(0 0, 100% 0, 0 100%); }
.nl-celular-chat .bot::after { left: -7px; background: var(--wa-bot); clip-path: polygon(0 0, 100% 0, 100% 100%); }
.nl-celular-chat .bot.ok { border: 1.5px solid #25d366; }
.nl-celular-chat .bot.ok > i { color: #1aa356; }
.nl-hora { position: absolute; right: 8px; bottom: 3px; display: inline-flex; align-items: center; gap: 3px; font-size: .6rem; color: var(--wa-hora); }
.nl-hora i { font-size: .85rem; color: var(--wa-tique); }
.nl-cel-digitando { align-self: flex-start; display: inline-flex; gap: 4px; padding: 10px 12px; border-radius: 10px; border-top-left-radius: 3px; background: var(--wa-bot);
                    box-shadow: 0 1px 1px rgba(11, 20, 26, .13); opacity: 0; }
.nl-cel-digitando i { width: 6px; height: 6px; border-radius: 50%; background: var(--wa-hora); animation: nl-digita-ponto 1.2s infinite; }
.nl-cel-digitando i:nth-child(2) { animation-delay: .2s; } .nl-cel-digitando i:nth-child(3) { animation-delay: .4s; }
@keyframes nl-digita-ponto { 0%, 60%, 100% { transform: none; opacity: .5; } 30% { transform: translateY(-4px); opacity: 1; } }
.nl-celular-palco.visivel .nl-cel-digitando { animation: nl-msg .4s 4.2s forwards; }
.nl-cel-barra { display: flex; gap: 8px; align-items: center; padding: 8px 10px 10px; background: var(--wa-barra); border-radius: 0 0 30px 30px; }
.nl-cel-barra span { flex: 1; display: flex; gap: 8px; align-items: center; padding: 9px 12px; border-radius: 999px; background: var(--wa-campo); color: var(--wa-hora); font-size: .78rem; }
.nl-cel-barra span i { font-size: 1.1rem; }
.nl-cel-barra b { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: #00a884; color: #fff; font-size: 1.1rem; }
/* Selos flutuantes de destaque */
.nl-cel-selo { position: absolute; z-index: 2; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 14px;
               font: 700 .8rem var(--nl-mont); color: var(--nl-forte); background: var(--nl-card); border: 1px solid var(--nl-borda-2);
               box-shadow: 0 18px 40px rgba(var(--nl-sombra), calc(.5 * var(--nl-sombra-k))); animation: nl-flutuar 6s ease-in-out infinite; }
.nl-cel-selo i { width: 28px; height: 28px; border-radius: 9px; display: grid; place-items: center; font-size: 1rem; color: #fff; background: var(--nl-grad); }
.nl-cel-selo-1 { top: 70px; left: -46px; }
.nl-cel-selo-2 { bottom: 120px; right: -40px; animation-delay: -3s; }
.nl-cel-selo-2 i { background: #25d366; }
.nl-celular-nota { position: static; display: block; margin-top: 16px; text-align: center; font: .7rem var(--nl-mono); color: var(--nl-texto-3); }
@media (max-width: 1000px) { .nl-cel-selo-1 { left: -6px; } .nl-cel-selo-2 { right: -6px; } }
@media (max-width: 680px) {
    .nl-celular-palco { max-width: 320px; }
    .nl-cel-selo { font-size: .72rem; padding: 7px 10px; }
    .nl-cel-selo-1 { top: 4px; left: -4px; } .nl-cel-selo-2 { bottom: 70px; right: -4px; }
}
@media (prefers-reduced-motion: reduce) { .nl-cel-digitando { opacity: 1; } }

/* ==========================================================================
   HERO no tema CLARO: degradê da marca (mais claro que o tema escuro),
   com o conteúdo em branco. Variáveis locais: só o hero muda.
   ========================================================================== */
:root:not([data-tema="escuro"]) .nl-hero {
    --nl-forte: #ffffff; --nl-texto: #ffffff; --nl-texto-2: #ece4ff; --nl-texto-3: #d9ccff;
    --nl-tinta: 255, 255, 255; --nl-borda: rgba(255, 255, 255, .16); --nl-borda-2: rgba(255, 255, 255, .28);
    --nl-roxo-2: #e2c6ff; --nl-roxo-3: #f1e4ff; --nl-grad-meio: #ffffff; --nl-ouro: #f5d58e; --nl-verde: #7cf0bf;
    color: #fff;
    background:
        radial-gradient(900px 520px at 50% -10%, rgba(255, 255, 255, .20), transparent 65%),
        radial-gradient(700px 500px at 0% 70%, rgba(110, 168, 255, .22), transparent 70%),
        radial-gradient(700px 500px at 100% 60%, rgba(245, 213, 142, .16), transparent 70%),
        linear-gradient(165deg, #3a1c96 0%, #5a26c2 42%, #7a35dc 75%, #8c37e1 100%);
    border-radius: 0 0 48px 48px;
    padding-bottom: 150px;
}
:root:not([data-tema="escuro"]) .nl-hero-luz { display: none; }
:root:not([data-tema="escuro"]) .nl-hero::before { opacity: .55; }
:root:not([data-tema="escuro"]) .nl-hero-desc { color: var(--nl-texto-2); }
:root:not([data-tema="escuro"]) .nl-hero-desc strong { color: #fff; }
:root:not([data-tema="escuro"]) .nl-hero .nl-anuncio { background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .3); color: #fff; }
:root:not([data-tema="escuro"]) .nl-hero .nl-anuncio-tag { background: #fff; color: #5a26c2; }
/* No degradê o botão principal fica BRANCO (contraste máximo) e o secundário em vidro. */
:root:not([data-tema="escuro"]) .nl-hero .nl-btn-pri { background: #fff; color: #4a1fb0; --nl-forte: #4a1fb0; box-shadow: 0 14px 34px rgba(20, 8, 70, .35); }
:root:not([data-tema="escuro"]) .nl-hero .nl-btn-escuro { background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .45); color: #fff; }
:root:not([data-tema="escuro"]) .nl-hero .nl-btn-escuro:hover { background: rgba(255, 255, 255, .22); }
:root:not([data-tema="escuro"]) .nl-hero-garantias { color: #ece4ff; }
:root:not([data-tema="escuro"]) .nl-palco-brilho { opacity: .5; background: linear-gradient(90deg, #ffffff, #e2c6ff, #f5d58e); filter: blur(80px); }
:root:not([data-tema="escuro"]) .nl-hero-visual .nl-janela { box-shadow: 0 40px 100px rgba(20, 8, 70, .45), 0 0 0 8px rgba(255, 255, 255, .08); }
/* Cartões flutuantes do hero continuam claros (destacam sobre o roxo). */
:root:not([data-tema="escuro"]) .nl-hero .nl-flutua { --nl-forte: #17122f; --nl-texto-2: #565076; background: rgba(255, 255, 255, .96); border-color: rgba(255, 255, 255, .7);
    box-shadow: 0 20px 44px rgba(20, 8, 70, .35); color: #17122f; }
:root:not([data-tema="escuro"]) .nl-hero .nl-flutua i { background: rgba(140, 55, 225, .12); color: #7426c9; }
:root:not([data-tema="escuro"]) .nl-hero .nl-flutua-2 i { background: rgba(176, 128, 31, .14); color: #b0801f; }
:root:not([data-tema="escuro"]) .nl-hero .nl-flutua-3 i { background: rgba(15, 154, 95, .12); color: #0f9a5f; }
:root:not([data-tema="escuro"]) .nl-numeros { margin-top: -150px; }
:root:not([data-tema="escuro"]) .nl-numeros-grid { background: rgba(255, 255, 255, .97); box-shadow: 0 30px 70px rgba(46, 30, 110, .22); }
@media (max-width: 1000px) { :root:not([data-tema="escuro"]) .nl-hero { border-radius: 0 0 32px 32px; padding-bottom: 110px; } :root:not([data-tema="escuro"]) .nl-numeros { margin-top: -100px; } }
@media (max-width: 680px)  { :root:not([data-tema="escuro"]) .nl-hero { border-radius: 0 0 26px 26px; padding-bottom: 70px; } :root:not([data-tema="escuro"]) .nl-numeros { margin-top: -50px; } }
@media (max-width: 680px) { .nl-cel-selo-2 { right: 10px; bottom: 74px; } .nl-cel-selo-1 { left: 10px; } }
/* Tema claro: a tela do sistema aparece inteira, sem o esmaecido (degradê) por cima da base. */
:root:not([data-tema="escuro"]) .nl-hero-visual .nl-janela { -webkit-mask-image: none; mask-image: none; border-radius: 18px; border-bottom: 1px solid var(--nl-borda-2); }

/* ── Faixa de números em destaque (cada item com sua cor da marca) ───── */
.nl-numero { --n-cor: #8c37e1; --n-cor-2: #a85ef0; position: relative; transition: background .25s; }
.nl-numero:nth-child(2) { --n-cor: #3e1b9a; --n-cor-2: #6c3fe0; }
.nl-numero:nth-child(3) { --n-cor: #0f9a5f; --n-cor-2: #25d366; }
.nl-numero:nth-child(4) { --n-cor: #b0801f; --n-cor-2: #e2bc6a; }
.nl-numero::before { content: ''; position: absolute; left: 24px; right: 24px; top: 0; height: 3px; border-radius: 0 0 4px 4px;
                     background: linear-gradient(90deg, var(--n-cor), var(--n-cor-2)); }
.nl-numero:hover { background: rgba(var(--nl-roxo-rgb), .04); }
.nl-numero-ico { flex: 0 0 52px; height: 52px; border-radius: 16px; font-size: 1.5rem; color: #fff !important; border: 0 !important;
                 background: linear-gradient(135deg, var(--n-cor), var(--n-cor-2)) !important;
                 box-shadow: 0 10px 24px color-mix(in srgb, var(--n-cor) 35%, transparent); }
.nl-numero-valor { font-size: 2.7rem; }
.nl-numero-valor span { background: linear-gradient(120deg, var(--n-cor), var(--n-cor-2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.nl-numero-valor sup { color: var(--n-cor); font-weight: 800; }
.nl-numero p { color: var(--nl-texto-2); font-weight: 500; }
:root:not([data-tema="escuro"]) .nl-numeros-grid { border: 1px solid rgba(var(--nl-roxo-rgb), .18);
    box-shadow: 0 0 0 6px rgba(255, 255, 255, .55), 0 34px 80px rgba(46, 30, 110, .26); }
html[data-tema="escuro"] .nl-numero:nth-child(2) { --n-cor: #6c3fe0; --n-cor-2: #a85ef0; }

/* ── Celular: sem a faixa de aviso e com a logo maior ──────────────────
   O botão sol/lua sai do cabeçalho no celular (continua no menu ☰) para a logo ganhar espaço. */
@media (max-width: 680px) {
    .nl-aviso { display: none !important; }
    .nl-header-in { height: 64px; padding-left: 14px; gap: 10px; }
    .nl-logo img { height: 40px; filter: drop-shadow(0 4px 10px rgba(var(--nl-roxo-rgb), .25)); }
    .nl-header-acoes { gap: 8px; }
    .nl-header-acoes .nl-tema { display: none; }
    .nl-header-acoes .nl-btn-pri { height: 38px; padding: 0 12px; font-size: .8rem; }
    .nl-burger { width: 40px; height: 40px; }
}
@media (max-width: 370px) { .nl-logo img { height: 34px; } }

/* ==========================================================================
   Planos: 5 colunas lado a lado (catálogo out/2026)
   ========================================================================== */
.nl-planos .nl-wrap { max-width: 1440px; }
.nl-planos .nl-centro, .nl-planos .nl-qual, .nl-planos .nl-cabeca-comp, .nl-planos .nl-comparar { max-width: var(--nl-max); margin-left: auto; margin-right: auto; }
.nl-planos-grid.nl-qtd-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.nl-qtd-5 .nl-plano { padding: 26px 18px 22px; }
.nl-qtd-5 .nl-plano h3 { font-size: 1.12rem; line-height: 1.2; min-height: 2.4em; }
.nl-qtd-5 .nl-preco strong { font-size: clamp(1.45rem, 1.9vw, 1.9rem); }
.nl-qtd-5 .nl-plano-desc { font-size: .78rem; min-height: 3.9em; }
.nl-qtd-5 .nl-btn-bloco { height: 44px; font-size: .84rem; padding: 0 12px; }
.nl-qtd-5 .nl-plano-recursos li { font-size: .8rem; }
@media (min-width: 1100px) { .nl-qtd-5 .nl-plano-destaque { transform: scale(1.025); } .nl-qtd-5 .nl-plano-destaque:hover { transform: scale(1.025) translateY(-6px); }
    .nl-js .nl-qtd-5 .nl-plano-destaque.nl-revela.visivel { transform: scale(1.025); } }
.nl-plano-setup { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin: 10px 0 0; padding: 8px 10px; border-radius: 10px;
                  font: 700 .78rem var(--nl-mont); color: var(--nl-forte); background: rgba(var(--nl-roxo-rgb), .07); border: 1px dashed rgba(var(--nl-roxo-rgb), .3); }
.nl-plano-setup i { color: var(--nl-roxo-2); }
.nl-plano-setup small { font: 500 .7rem 'Inter', sans-serif; color: var(--nl-texto-3); }
.nl-plano-modulos { margin: 18px 0 0; padding: 10px 12px; border-radius: 12px; font-size: .76rem; line-height: 1.45; color: var(--nl-texto-2);
                    background: rgba(var(--nl-tinta), .03); border: 1px solid var(--nl-borda); }
.nl-plano-modulos span { display: block; margin-bottom: 3px; font: 800 .66rem var(--nl-mont); letter-spacing: .08em; text-transform: uppercase; color: var(--nl-roxo-3); }
.nl-plano-destaque .nl-plano-setup { background: rgba(var(--nl-roxo-rgb), .12); }

/* Abaixo de 1100px: os 5 continuam lado a lado, deslizando (sem barra visível). */
@media (max-width: 1099px) {
    .nl-planos-grid.nl-qtd-5 { display: flex; grid-template-columns: none; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory;
                               padding: 18px 4px 22px; margin: 0 -16px; padding-left: 16px; padding-right: 16px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
    .nl-planos-grid.nl-qtd-5::-webkit-scrollbar { display: none; }
    .nl-qtd-5 .nl-plano { flex: 0 0 min(300px, 78vw); scroll-snap-align: center; }
    .nl-qtd-5 .nl-plano-destaque, .nl-js .nl-qtd-5 .nl-plano-destaque.nl-revela.visivel { transform: none; }
}
.nl-planos-dica { display: none; }
@media (max-width: 1099px) { .nl-planos-dica { display: flex; justify-content: center; align-items: center; gap: 8px; margin: -4px 0 0; font-size: .8rem; color: var(--nl-texto-3); } }

/* ── Seletor de idioma (cabeçalho e menu do celular) ─────────────────── */
.nl-idioma > button { display: inline-flex; align-items: center; gap: 6px; height: 42px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--nl-borda-2);
                      background: rgba(var(--nl-tinta), .05); color: var(--nl-forte); font: 700 .82rem var(--nl-mont); cursor: pointer; }
.nl-idioma > button span { font-size: 1.05rem; line-height: 1; }
.nl-idioma > button i { font-size: .8rem; opacity: .7; }
.nl-idioma .nl-menu-lista { left: auto; right: 0; min-width: 220px; }
.nl-idioma .nl-menu-lista a { display: flex; align-items: center; gap: 10px; }
.nl-idioma .nl-menu-lista a[aria-current="true"] { background: rgba(var(--nl-roxo-rgb), .14); color: var(--nl-roxo-3); }
.nl-drawer-idiomas { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin: 14px 0 0; }
.nl-drawer-idiomas a { display: grid; justify-items: center; gap: 2px; padding: 8px 4px; border-radius: 12px; border: 1px solid var(--nl-borda-2);
                       font: 700 .72rem var(--nl-mont); text-decoration: none; color: var(--nl-forte); }
.nl-drawer-idiomas a span { font-size: 1.2rem; }
.nl-drawer-idiomas a[aria-current="true"] { border-color: var(--nl-roxo-2); background: rgba(var(--nl-roxo-rgb), .12); }
@media (max-width: 680px) { .nl-header-acoes .nl-idioma { display: none; } }

/* Rodapé: botões de contato sempre em violeta com ícone branco (claro e escuro) */
.nl-footer-contato a { background: var(--nl-grad); border-color: transparent; color: #fff; }
.nl-footer-contato a i { color: #fff; }
.nl-footer-contato a:hover { filter: brightness(1.12); transform: translateY(-2px); }
