/* ════════════════════════════════════════════
   NS NEGÓCIOS DIGITAIS — páginas internas das soluções (v10)
   Mesma identidade da página inicial (v12): Sora + Inter, roxo, violeta, âmbar, dourado só no diagnóstico e verde do WhatsApp.
════════════════════════════════════════════ */
:root {
  --ns-bg: #170d27; --ns-bg-dark: #120a1f; --ns-bg-mid: #22143a; --ns-bg-footer: #0c0716;
  --ns-surface: #1d1230; --ns-border: #2f2145;
  --ns-yellow: #fbbf6a; --ns-gold: #c9a84c; --ns-gold-2: #e0c46e; --ns-gold-hover: #d9bc66;
  --ns-amber: #f59e0b; --ns-amber-2: #fbbf6a; --ns-violet: #a78bfa; --ns-violet-2: #c4b5fd;
  --ns-display: 'Sora', 'Inter', 'Segoe UI', Arial, sans-serif;

  --ns-wa: #25d366; --ns-wa-hover: #3ee07a; --ns-wa-text: #0b2e17; --ns-purple-glow: rgba(139,92,246,.2);
  --ns-white: #fff; --ns-gray-light: #ece6f5; --ns-gray: #bcb1c9;
  --ns-font: 'Inter', 'Segoe UI', Arial, sans-serif; --ns-mono: 'Inter', 'Segoe UI', Arial, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { background: var(--ns-bg-dark); color: var(--ns-gray-light); font-family: var(--ns-font); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid var(--ns-yellow); outline-offset: 3px; }

.ns-wrap { max-width: 1160px; margin: 0 auto; padding-inline: 20px; position: relative; z-index: 1; }
.ns-section { position: relative; overflow: hidden; padding-block: 64px 88px; }
.ns-glow::before, .ns-glow::after { content: ''; position: absolute; width: 520px; height: 520px; border-radius: 50%; background: radial-gradient(circle, var(--ns-purple-glow) 0%, transparent 65%); pointer-events: none; z-index: 0; }
.ns-glow::before { top: -220px; right: -200px; }
.ns-glow::after { bottom: -260px; left: -220px; opacity: .8; }
.ns-wave { position: absolute; left: 0; right: 0; bottom: -1px; height: 60px; line-height: 0; z-index: 1; pointer-events: none; }
.ns-wave svg { width: 100%; height: 100%; display: block; }
.ns-wave path { fill: currentColor; }

.ns-label { display: block; font-family: var(--ns-mono); font-size: 13px; font-weight: 600; letter-spacing: .2px; color: var(--ns-amber); margin-bottom: 14px; }
.ns-h2 { font-weight: 700; font-size: clamp(26px, 3.4vw, 40px); line-height: 1.1; color: var(--ns-white); letter-spacing: -0.5px; text-wrap: balance; }
.ns-hl { color: var(--ns-yellow); }
.ns-sub { font-size: 17px; color: var(--ns-gray-light); max-width: 640px; margin-top: 16px; }
.ns-sub strong { color: var(--ns-white); font-weight: 600; }
.ns-micro { font-size: 13px; color: var(--ns-gray); margin-top: 12px; }
.ns-link-sec { font-size: 14px; color: var(--ns-gray); margin-top: 14px; }
.ns-link-sec a { color: var(--ns-amber); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.ns-centro-head { text-align: center; max-width: 780px; margin: 0 auto; }
.ns-centro-head .ns-sub { margin-inline: auto; }

.ns-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0 26px; border-radius: 6px; border: 0; cursor: pointer; font-family: var(--ns-font); font-weight: 600; font-size: 16px; letter-spacing: .1px; text-decoration: none; text-align: center; line-height: 1.25; transition: transform .2s, box-shadow .2s, background .2s; }
.ns-btn svg { width: 20px; height: 20px; flex-shrink: 0; fill: currentColor; }
.ns-btn-wa { background: var(--ns-wa); color: var(--ns-wa-text); }
.ns-btn-wa:hover { background: var(--ns-wa-hover); transform: translateY(-2px); box-shadow: 0 10px 28px rgba(37,211,102,.35); }
.ns-btn-gold { position: relative; overflow: hidden; background: linear-gradient(135deg, var(--ns-gold), var(--ns-gold-2)); color: #111; }
.ns-btn-gold:hover { background: var(--ns-gold-hover); transform: translateY(-2px); box-shadow: 0 10px 28px rgba(201,168,76,.35); }
.ns-btn-gold::after { content: ''; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; pointer-events: none; background: linear-gradient(100deg, transparent, rgba(255,255,255,.55), transparent); transform: skewX(-20deg); animation: nsShine 6s 2s infinite; }
@keyframes nsShine { 0% { left: -60%; } 18%, 100% { left: 130%; } }
.ns-ctas { display: flex; flex-direction: column; gap: 12px; margin-top: 28px; }
.ns-ctas .ns-btn { width: 100%; }

.ns-card { position: relative; background: var(--ns-surface); border: 1px solid var(--ns-border); border-radius: 14px; transition: border-color .25s, transform .25s; }
.ns-card:hover { border-color: var(--ns-amber); transform: translateY(-3px); }
a.ns-card { text-decoration: none; color: inherit; }
@media (hover: hover) and (pointer: fine) {
  .ns-card::before { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity .3s; background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 50%), rgba(245,158,11,.13), transparent 70%); }
  .ns-card:hover::before { opacity: 1; }
}

/* HERO */
.pg-hero { background: var(--ns-bg-dark); padding-block: calc(56px + var(--ns-menu-h, 68px)) 104px; min-height: min(760px, 92vh); display: flex; align-items: center; }
.pg-hero .ns-wrap { width: 100%; }
.pg-hero-bg { position: absolute; inset: 0; z-index: 0; background-size: cover; background-position: 70% center; opacity: .7; }
.pg-hero-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, var(--ns-bg-dark) 0%, rgba(18,7,32,.88) 38%, rgba(18,7,32,.35) 100%), linear-gradient(to bottom, rgba(18,7,32,.4) 0%, transparent 30%, transparent 70%, var(--ns-bg-dark) 100%); }
.pg-trilha { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-family: var(--ns-mono); font-size: 13px; letter-spacing: .2px; color: var(--ns-gray); margin-bottom: 22px; }
.pg-trilha a { color: var(--ns-gray); text-decoration: none; }
.pg-trilha a:hover { color: var(--ns-amber); }
.pg-trilha span[aria-hidden] { color: var(--ns-amber); }
.pg-tag { display: inline-flex; align-items: center; gap: 10px; font-family: var(--ns-mono); font-size: 13px; letter-spacing: .2px; color: var(--ns-amber); border: 1px solid rgba(245,158,11,.35); background: rgba(245,158,11,.06); border-radius: 4px; padding: 8px 14px; }
.pg-tag::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--ns-amber); box-shadow: 0 0 10px var(--ns-amber); }
.pg-hero h1 { max-width: 760px; font-weight: 700; font-size: clamp(30px, 4.6vw, 56px); line-height: 1.06; color: var(--ns-white); margin-top: 20px; letter-spacing: -0.5px; text-wrap: balance; }
.pg-hero .ns-ctas { max-width: 640px; }
.pg-selos { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.pg-selos li { font-size: 13px; color: var(--ns-white); background: rgba(18,7,32,.7); border: 1px solid var(--ns-border); border-radius: 30px; padding: 6px 14px; }
.pg-selos li::before { content: '✓'; color: var(--ns-amber); font-weight: 700; margin-right: 8px; }
@keyframes nsUp { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
.pg-hero .pg-trilha { animation: nsUp .6s both; }
.pg-hero .pg-tag { animation: nsUp .7s .05s both; }
.pg-hero h1 { animation: nsUp .7s .15s both; }
.pg-hero .ns-sub { animation: nsUp .7s .28s both; }
.pg-hero .ns-ctas { animation: nsUp .7s .4s both; }
.pg-hero .pg-selos { animation: nsUp .7s .5s both; }

/* PARA QUEM É + O QUE RESOLVE */
.pg-quem { background: var(--ns-bg); }
.pg-duo { display: grid; gap: 22px; margin-top: 40px; }
.pg-bloco { padding: 26px 22px; }
.pg-bloco h3 { font-size: 15.0px; font-family: var(--ns-mono); font-weight: 600; letter-spacing: .2px; margin-bottom: 18px; }
.pg-bloco.sim { border-color: rgba(37,211,102,.35); background: linear-gradient(160deg, rgba(37,211,102,.07), var(--ns-surface) 55%); }
.pg-bloco.sim h3 { color: var(--ns-wa); }
.pg-bloco.dor h3 { color: var(--ns-violet-2); }
.pg-lista { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.pg-lista li { position: relative; padding-left: 34px; font-size: 15.5px; }
.pg-lista li::before { position: absolute; left: 0; top: 1px; width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; }
.sim .pg-lista li::before { content: '✓'; color: var(--ns-wa); background: rgba(37,211,102,.12); border: 1px solid rgba(37,211,102,.4); }
.dor .pg-lista li::before { content: '↗'; color: var(--ns-violet-2); background: rgba(167,139,250,.16); border: 1px solid rgba(167,139,250,.5); }
.pg-ponte { margin-top: 32px; text-align: center; font-size: clamp(19px, 2.2vw, 25px); font-weight: 700; color: var(--ns-white); line-height: 1.3; text-wrap: balance; }

/* ENTREGAS */
.pg-entregas { background: var(--ns-bg-mid); }
.pg-ent-grid { display: grid; gap: 14px; margin-top: 40px; }
.pg-ent { padding: 22px; display: grid; grid-template-columns: 40px 1fr; gap: 4px 14px; align-items: start; }
.pg-ent span { grid-row: span 2; width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-family: var(--ns-mono); font-size: 14.0px; color: var(--ns-amber-2); background: linear-gradient(145deg, rgba(245,158,11,.18), rgba(245,158,11,.04)); border: 1px solid rgba(245,158,11,.35); }
.pg-ent h3 { font-size: 16px; font-weight: 700; color: var(--ns-white); line-height: 1.3; }
.pg-ent p { font-size: 14.5px; }
.pg-prods { display: grid; gap: 16px; margin-top: 40px; }
.pg-prod { padding: 28px 24px; border-color: rgba(245,158,11,.45); background: linear-gradient(160deg, rgba(245,158,11,.10), var(--ns-surface) 55%); }
.pg-prod small { font-family: var(--ns-mono); font-size: 13px; letter-spacing: .2px; color: var(--ns-amber); }
.pg-prod h3 { font-size: 22px; font-weight: 700; color: var(--ns-white); margin: 6px 0 10px; line-height: 1.15; }
.pg-prod p { font-size: 15px; }

/* COMO FUNCIONA (linha do tempo) */
.pg-como { background: var(--ns-bg-dark); }
.ns-tl { list-style: none; position: relative; margin-top: 44px; display: grid; gap: 26px; }
.ns-tl::before, .ns-tl::after { content: ''; position: absolute; left: 27px; top: 28px; bottom: 28px; width: 2px; border-radius: 2px; }
.ns-tl::before { background: var(--ns-border); }
.ns-tl::after { background: linear-gradient(to bottom, var(--ns-amber), var(--ns-yellow)); transform-origin: top; transition: transform 1.8s cubic-bezier(.2,.7,.2,1); }
html.ns-js .ns-tl:not(.ns-in)::after { transform: scaleY(0); }
.ns-tl-item { position: relative; display: grid; grid-template-columns: 56px 1fr; gap: 18px; align-items: start; align-content: start; }
.ns-tl-no { position: relative; z-index: 1; width: 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--ns-mono); font-size: 18.0px; color: var(--ns-amber-2); background: var(--ns-bg-dark); border: 1px solid rgba(245,158,11,.55); box-shadow: 0 0 0 6px var(--ns-bg-dark); transition: background .5s, color .5s, box-shadow .5s; }
.ns-tl-item.ns-in .ns-tl-no { background: linear-gradient(135deg, var(--ns-amber), var(--ns-amber-2)); color: #111; box-shadow: 0 0 0 6px var(--ns-bg-dark), 0 0 26px rgba(245,158,11,.45); }
.ns-tl-txt { padding-top: 4px; }
.ns-tl-txt small { font-family: var(--ns-mono); font-size: 13px; letter-spacing: .2px; color: var(--ns-amber); }
.ns-tl-txt h3 { font-size: 18px; font-weight: 700; color: var(--ns-white); letter-spacing: .3px; margin: 4px 0 6px; line-height: 1.2; }
.ns-tl-txt p { font-size: 14.5px; }

/* PROVAS */
.pg-provas { background: var(--ns-bg); }
.ns-faixa-grid { display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid var(--ns-border); border-radius: 14px; overflow: hidden; background: rgba(30,13,51,.6); margin-top: 36px; }
.ns-faixa-grid div { padding: 22px 12px; text-align: center; border-right: 1px solid var(--ns-border); border-bottom: 1px solid var(--ns-border); }
.ns-faixa-grid div:nth-child(2n) { border-right: 0; }
.ns-faixa-grid div:nth-child(n+3) { border-bottom: 0; }
.ns-faixa-grid b { display: block; font-size: clamp(28px, 3.4vw, 40px); font-weight: 700; color: var(--ns-amber); line-height: 1; font-variant-numeric: tabular-nums; }
.ns-faixa-grid span { display: block; margin-top: 8px; font-family: var(--ns-mono); font-size: 13px; letter-spacing: .2px; color: var(--ns-gray); }
.pg-depos { display: grid; gap: 16px; margin-top: 16px; }
.pg-depo { padding: 24px 22px; display: flex; flex-direction: column; gap: 16px; }
.pg-depo blockquote { font-size: 18px; font-weight: 600; color: var(--ns-white); line-height: 1.45; }
.ns-quem { display: flex; align-items: center; gap: 12px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--ns-border); }
.ns-quem .ns-av { width: 42px; height: 42px; border-radius: 50%; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #4c1d95, #7e22ce); color: var(--ns-white); font-weight: 700; border: 1px solid rgba(245,158,11,.4); }
.ns-quem b { display: block; color: var(--ns-white); font-size: 14.5px; font-weight: 700; line-height: 1.3; }
.ns-quem small { display: block; font-size: 13px; color: var(--ns-gray); line-height: 1.4; }
.pg-provas .ns-link-sec { text-align: center; margin-top: 24px; }

/* FAQ */
.pg-faq { background: var(--ns-bg-dark); }
.ns-faq-grid { display: grid; gap: 28px; }
.ns-faq-cta { margin-top: 22px; }
.ns-faq-cta p { font-weight: 700; color: var(--ns-white); margin-bottom: 12px; }
.ns-faq-list { display: flex; flex-direction: column; gap: 10px; }
.ns-faq-list details { background: var(--ns-surface); border: 1px solid var(--ns-border); border-radius: 12px; transition: border-color .2s; }
.ns-faq-list details[open] { border-color: rgba(245,158,11,.55); }
.ns-faq-list summary { list-style: none; cursor: pointer; padding: 18px 20px; display: flex; justify-content: space-between; gap: 14px; font-weight: 700; color: var(--ns-white); font-size: 16px; }
.ns-faq-list summary::-webkit-details-marker { display: none; }
.ns-faq-list summary::after { content: '+'; color: var(--ns-amber); font-size: 22px; line-height: 1; flex-shrink: 0; transition: transform .2s; }
.ns-faq-list details[open] summary::after { transform: rotate(45deg); }
.ns-faq-list details p { padding: 0 20px 18px; font-size: 15px; }
.ns-faq-list details[open] p { animation: nsUp .35s both; }

/* CTA FINAL */
.pg-final { background: var(--ns-bg); text-align: center; }
.pg-final-box { max-width: 880px; margin: 0 auto; border: 2px solid var(--ns-amber); border-radius: 18px; padding: 40px 22px; background: linear-gradient(150deg, rgba(245,158,11,.10), var(--ns-surface) 60%); box-shadow: 0 0 60px rgba(245,158,11,.10); }
.pg-final-box .ns-sub { margin-inline: auto; }
.pg-final-box .ns-ctas { max-width: 640px; margin-inline: auto; }

/* OUTRAS PÁGINAS */
.pg-outras { background: var(--ns-bg-dark); padding-block: 56px 72px; }
.pg-outras-lista { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 24px; }
.pg-outras-lista a { text-decoration: none; font-size: 14px; font-weight: 600; color: var(--ns-gray-light); padding: 10px 16px; border-radius: 30px; border: 1px solid var(--ns-border); background: var(--ns-surface); transition: border-color .2s, color .2s; }
.pg-outras-lista a:hover { border-color: var(--ns-amber); color: var(--ns-white); }
.pg-outras-lista a::after { content: ' →'; color: var(--ns-amber); }

/* RODAPÉ */
#ns-rodape { background: var(--ns-bg-footer); padding-block: 36px calc(110px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--ns-border); }
.ns-rodape-inner { display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; }
.ns-rodape-logo img { height: 30px; width: auto; }
.ns-rodape-legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 16px; font-size: 13px; color: var(--ns-gray); }
.ns-rodape-legal a { color: var(--ns-gray); text-decoration: none; }
.ns-rodape-legal a:hover { color: var(--ns-amber); }

/* BARRA DO CELULAR + WHATSAPP FLUTUANTE */
#ns-barra { position: fixed; left: 0; right: 0; bottom: 0; z-index: 998; display: flex; gap: 8px; padding: 10px max(12px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px)); background: rgba(13,5,24,.94); border-top: 1px solid var(--ns-border); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transform: translateY(110%); transition: transform .35s ease; }
#ns-barra.visivel { transform: none; }
#ns-barra .ns-btn { flex: 1; min-height: 48px; padding: 0 10px; font-size: 14px; letter-spacing: .2px; }
#ns-barra .ns-btn svg { width: 18px; height: 18px; }
#ns-wa-float { position: fixed; z-index: 997; right: calc(18px + env(safe-area-inset-right, 0px)); bottom: calc(18px + env(safe-area-inset-bottom, 0px)); opacity: 0; transform: translateY(16px); pointer-events: none; transition: opacity .4s, transform .4s; }
#ns-wa-float.visivel { opacity: 1; transform: none; pointer-events: auto; }
#ns-wa-float a { position: relative; width: 60px; height: 60px; border-radius: 50%; background: var(--ns-wa); display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 24px rgba(37,211,102,.4); }
#ns-wa-float a::before { content: ''; position: absolute; inset: -6px; border-radius: 50%; border: 2px solid rgba(37,211,102,.45); animation: nsPulse 2.4s ease-out infinite; }
#ns-wa-float svg { width: 28px; height: 28px; fill: #fff; }
@keyframes nsPulse { 0% { transform: scale(.9); opacity: 1; } 100% { transform: scale(1.45); opacity: 0; } }

/* REVELAR AO ROLAR */
html.ns-js .ns-rv { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
html.ns-js .ns-rv.ns-in { opacity: 1; transform: none; }

/* RESPONSIVO */
@media (max-width: 899px) { #ns-wa-float { display: none; } }
@media (min-width: 640px) {
  .pg-ent-grid, .pg-depos, .pg-prods { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 900px) {
  .ns-section { padding-block: 96px 112px; }
  #ns-barra { display: none; }
  .ns-ctas { flex-direction: row; flex-wrap: wrap; }
  .ns-ctas .ns-btn { width: auto; flex: 1 1 auto; white-space: nowrap; letter-spacing: .2px; padding: 0 22px; font-size: 15px; }
  .pg-duo { grid-template-columns: 1fr 1fr; gap: 24px; }
  .pg-bloco { padding: 32px 30px; }
  .ns-faixa-grid { grid-template-columns: repeat(4, 1fr); }
  .ns-faixa-grid div { border-bottom: 0; }
  .ns-faixa-grid div:nth-child(2n) { border-right: 1px solid var(--ns-border); }
  .ns-faixa-grid div:last-child { border-right: 0; }
  .ns-faq-grid { grid-template-columns: .85fr 1.15fr; gap: 64px; align-items: start; }
  .ns-faq-head { position: sticky; top: calc(var(--ns-menu-h, 68px) + 24px); }
  .pg-final-box { padding: 56px 48px; }
}
@media (min-width: 1024px) {
  .pg-ent-grid { grid-template-columns: repeat(3, 1fr); }
  .pg-ent-grid.quatro { grid-template-columns: repeat(4, 1fr); }
  .ns-tl.c4 { grid-template-columns: repeat(4, 1fr); }
  .ns-tl.c5 { grid-template-columns: repeat(5, 1fr); }
  .ns-tl { gap: 20px; }
  .ns-tl::before, .ns-tl::after { left: 10%; right: 10%; top: 27px; bottom: auto; width: auto; height: 2px; }
  .ns-tl.c4::before, .ns-tl.c4::after { left: 12.5%; right: 12.5%; }
  .ns-tl::after { transform-origin: left; }
  html.ns-js .ns-tl:not(.ns-in)::after { transform: scaleX(0); }
  .ns-tl-item { grid-template-columns: 1fr; justify-items: center; text-align: center; gap: 16px; }
}
@media (max-width: 480px) { .ns-btn { font-size: 15px; letter-spacing: .1px; padding: 0 18px; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* v17: chamada final + formulário lado a lado */
.pg-final-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: stretch; }
.pg-final-grid .pg-final-box { max-width: none; margin: 0; display: flex; flex-direction: column; justify-content: center; }
.pg-final-grid .pg-final-box .ns-ctas { flex-direction: column; width: 100%; }
@media (min-width: 960px) {
  .pg-final-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
  .pg-final-grid .pg-final-box { padding: 40px 32px; }
}

/* v12: Sora nos títulos e Inter no texto; violeta e âmbar como cores de apoio (dourado só no diagnóstico) */
h1, h2, h3, .ns-h2, .ns-faixa-grid b, .ns-sol-banner-t { font-family: var(--ns-display); }
h1, .ns-h2 { letter-spacing: -0.02em; }
.ns-label { color: var(--ns-amber-2); }
.ns-sol-ico, .pg-ent-ico { background: rgba(167,139,250,.12) !important; border-color: rgba(167,139,250,.3) !important; }
.ns-sol-ico svg, .pg-ent-ico svg { stroke: var(--ns-violet-2) !important; }
.ns-out small, .ns-tl-txt small, .ns-case-tag, .pg-tag, .ns-photo-card small, .ns-quote cite { color: var(--ns-violet-2); }
.ns-tl::after { background: linear-gradient(to bottom, var(--ns-violet), var(--ns-amber)); }
@media (min-width: 1024px) { .ns-tl::after { background: linear-gradient(to right, var(--ns-violet), var(--ns-amber)); } }
.ns-tl-item.ns-in .ns-tl-no { background: linear-gradient(135deg, var(--ns-violet), var(--ns-amber)); color: #170d27; }
.ns-sol-banner { background: linear-gradient(100deg, #24103d 0%, #3d1c66 34%, #5b2a86 56%, #b4542f 84%, #e8902a 100%); background-origin: border-box; box-shadow: 0 18px 50px rgba(91,42,134,.28); }
.ns-sol-banner-t span { width: fit-content; background-image: linear-gradient(90deg, #c4b5fd 10%, #fbbf6a 90%); }

/* v22: resultados na própria página (mesmo visual da inicial) */
.pg-provas .ns-res-a { margin-bottom: 16px; }
.ns-case-tag { font-family: var(--ns-mono); font-size: 13px; letter-spacing: .2px; }
.ns-res-dest .ns-res-print { align-self: flex-start; margin-top: 4px; }
.ns-res-a { display: grid; gap: 20px; margin-top: 36px; }
.ns-res-dest { padding: 26px; display: flex; flex-direction: column; gap: 10px; border-color: rgba(167,139,250,.35); background: linear-gradient(160deg, rgba(91,42,134,.30), var(--ns-surface) 60%); }
.ns-res-dest:hover { transform: none; }
.ns-res-dp { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 16px; margin-top: 6px; }
.ns-res-dp s { font-family: var(--ns-display); font-size: clamp(20px, 2.2vw, 26px); font-weight: 600; color: var(--ns-gray); opacity: .7; }
.ns-res-dp b { font-family: var(--ns-display); font-size: clamp(42px, 5vw, 62px); line-height: 1; font-weight: 700; letter-spacing: -0.02em; color: var(--ns-amber-2); }
.ns-res-dsub { font-size: 15.5px; color: var(--ns-gray); }
.ns-res-dsub strong { color: var(--ns-white); font-weight: 600; }
.ns-res-bars { display: flex; align-items: stretch; gap: 18px; flex: 1 1 auto; min-height: 190px; padding-top: 22px; }
.ns-res-bars div { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; }
.ns-res-bars i { display: block; flex: 0 0 calc((100% - 32px) * var(--p)); border-radius: 10px 10px 4px 4px; background: rgba(167,139,250,.22); transform-origin: bottom; transition: transform 1.2s cubic-bezier(.2,.7,.2,1) .2s; }
.ns-res-bars .fim i { background: linear-gradient(to top, var(--ns-amber), var(--ns-amber-2)); box-shadow: 0 10px 30px rgba(245,158,11,.25); }
.ns-res-bars span { font-size: 13px; color: var(--ns-gray); white-space: nowrap; }
.ns-res-bars .fim span { color: var(--ns-white); font-weight: 600; }
html.ns-js .ns-res-dest:not(.ns-in) .ns-res-bars i { transform: scaleY(0); }
.ns-res-lista { list-style: none; display: flex; flex-direction: column; }
.ns-res-lista li { display: grid; grid-template-columns: 1fr auto; gap: 4px 14px; align-items: center; padding: 18px 2px; border-bottom: 1px solid var(--ns-border); }
.ns-res-lista li:last-child { border-bottom: 0; }
.ns-res-n { font-family: var(--ns-display); font-size: clamp(24px, 2.4vw, 30px); font-weight: 700; line-height: 1.1; color: var(--ns-amber-2); white-space: nowrap; }
.ns-res-lista li > div { grid-column: 1 / -1; grid-row: 2; }
.ns-res-lista strong { display: block; font-size: 16px; font-weight: 600; color: var(--ns-white); line-height: 1.35; }
.ns-res-lista small { display: block; margin-top: 3px; font-size: 13.5px; color: var(--ns-violet-2); }
.ns-res-print { grid-column: 2; grid-row: 1; font-size: 13px; font-weight: 600; color: var(--ns-amber-2); text-decoration: none; white-space: nowrap; border: 1px solid rgba(245,158,11,.4); border-radius: 30px; padding: 6px 13px; cursor: zoom-in; transition: background .2s; }
.ns-res-print::after { content: ' ↗'; }
.ns-res-print:hover { background: rgba(245,158,11,.12); }
@media (min-width: 560px) {
  .ns-res-lista li { grid-template-columns: 158px 1fr auto; gap: 18px; }
  .ns-res-lista li > div { grid-column: 2; grid-row: 1; }
  .ns-res-print { grid-column: 3; }
}
@media (min-width: 960px) {
  .ns-res-a { grid-template-columns: 1fr 1.05fr; gap: 36px; align-items: stretch; }
  .ns-res-dest { padding: 32px; }
  .ns-res-lista li:first-child { padding-top: 4px; }
}
#ns-lb { border: 0; padding: 0; background: transparent; max-width: 100vw; max-height: 100vh; width: 100vw; height: 100vh; margin: 0; }
#ns-lb::backdrop { background: rgba(8,3,16,.92); }
#ns-lb .ns-lb-in { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 64px 16px 24px; }
#ns-lb img { max-width: min(92vw, 720px); max-height: calc(100vh - 160px); width: auto; height: auto; border-radius: 10px; box-shadow: 0 20px 60px rgba(0,0,0,.6); }
#ns-lb p { color: var(--ns-gray-light); font-size: 14px; text-align: center; max-width: 620px; }
#ns-lb button {
  position: absolute; width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(245,158,11,.5);
  background: rgba(18,7,32,.85); color: var(--ns-amber); font-size: 22px; cursor: pointer;
}
#ns-lb .ns-lb-x { top: calc(12px + env(safe-area-inset-top, 0px)); right: 14px; }
#ns-lb .ns-lb-prev { left: 10px; top: 50%; transform: translateY(-50%); }
#ns-lb .ns-lb-next { right: 10px; top: 50%; transform: translateY(-50%); }
@media (min-width: 900px) { #ns-lb .ns-lb-prev { left: 28px; } #ns-lb .ns-lb-next { right: 28px; } }

/* v22: comparativo mercado x NS */
.pg-comparativo { background: var(--ns-bg); }
.pg-comp { display: grid; gap: 18px; margin-top: 40px; }
.pg-comp-col { padding: 24px 20px; }
.pg-comp-col:hover { transform: none; }
.pg-comp-col h3 { font-size: 19px; font-weight: 700; color: var(--ns-white); line-height: 1.25; }
.pg-comp-col p { font-size: 14px; color: var(--ns-gray); margin-top: 4px; }
.pg-comp-tt { min-height: 74px; margin-bottom: 18px; }
.pg-comp-tt img { height: 30px; width: auto; margin-bottom: 8px; }
.pg-comp-col ul { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.pg-comp-col li { position: relative; display: flex; align-items: center; padding: 10px 12px 10px 44px; font-size: 15px; line-height: 1.35; border-radius: 8px; background: rgba(255,255,255,.03); }
.pg-comp-col li::before { content: '✕'; position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; color: var(--ns-gray); background: rgba(255,255,255,.08); }
.pg-comp-col.ns { border-color: rgba(245,158,11,.55); background: linear-gradient(160deg, rgba(91,42,134,.34), var(--ns-surface) 60%); box-shadow: 0 0 50px rgba(245,158,11,.08); }
.pg-comp-col.ns li { color: var(--ns-white); background: rgba(245,158,11,.06); }
.pg-comp-col.ns li::before { content: '✓'; color: #170d27; background: var(--ns-amber-2); }
.pg-comp-cta { display: flex; justify-content: center; margin-top: 28px; }
@media (max-width: 479px) { .pg-comp-cta .ns-btn { width: 100%; } }
@media (min-width: 900px) {
  .pg-comp { grid-template-columns: 1fr 1fr; grid-template-rows: auto repeat(8, auto); column-gap: 20px; row-gap: 0; }
  .pg-comp-col { display: grid; grid-row: span 9; grid-template-rows: subgrid; padding: 28px 26px; }
  .pg-comp-col ul { display: grid; grid-row: span 8; grid-template-rows: subgrid; gap: 0; }
  .pg-comp-col li { margin-bottom: 8px; }
}

/* v22: foto discreta ao fundo do FAQ */
.pg-faq-foto { position: absolute; inset: 0; z-index: 0; background-size: cover; background-position: 0% 30%; opacity: .13; pointer-events: none; }
.pg-faq-foto::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 0%, transparent 34%, var(--ns-bg-dark) 72%), linear-gradient(to bottom, var(--ns-bg-dark) 0%, transparent 22%, transparent 74%, var(--ns-bg-dark) 100%); }
@media (max-width: 899px) { .pg-faq-foto { background-position: 20% 0%; background-size: auto 340px; background-repeat: no-repeat; opacity: .2; } .pg-faq-foto::after { background: linear-gradient(to bottom, var(--ns-bg-dark) 0%, transparent 14%, transparent 180px, var(--ns-bg-dark) 340px); } }

/* v24: fotos de fundo entre as seções */
.pg-quem { --f: var(--ns-bg); } .pg-entregas { --f: var(--ns-bg-mid); } .pg-como { --f: var(--ns-bg-dark); } .pg-provas { --f: var(--ns-bg); }
.pg-sec-foto { position: absolute; inset: 0; z-index: 0; background-size: cover; background-position: center; opacity: .34; pointer-events: none; }
.pg-sec-foto::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, var(--f) 0%, transparent 28%, transparent 72%, var(--f) 100%); }
.pg-entregas:has(.pg-sec-foto) .pg-ent, .pg-quem:has(.pg-sec-foto) .pg-bloco { background-color: rgba(29,18,48,.86); }
.pg-provas:has(.pg-sec-foto) .ns-res-lista { padding: 6px 20px; border-radius: 14px; background: rgba(23,13,39,.8); }
.pg-entregas .pg-sec-foto { opacity: .24; }
.pg-como .pg-sec-foto { opacity: .2; }
.pg-hero-bg { opacity: 1; background-position: 78% 18%; }
.pg-hero-bg::after { background: linear-gradient(90deg, var(--ns-bg-dark) 0%, rgba(18,7,32,.9) 36%, rgba(18,7,32,.1) 62%, transparent 100%), linear-gradient(to bottom, rgba(18,7,32,.4) 0%, transparent 30%, transparent 72%, var(--ns-bg-dark) 100%); }
@media (max-width: 899px) { .pg-hero-bg { background-position: 74% top; } .pg-hero-bg::after { background: linear-gradient(to bottom, rgba(18,7,32,.55) 0%, rgba(18,7,32,.82) 45%, var(--ns-bg-dark) 100%); } }
.pg-provas .pg-sec-foto { opacity: .18; }
.pg-provas:has(.pg-sec-foto) .ns-res-dest { background: linear-gradient(160deg, #2c1a4a, var(--ns-surface) 60%); }
.pg-provas:has(.pg-sec-foto) .ns-faixa-grid { background: rgba(23,13,39,.88); }

/* Resultados com poucos itens ficam centralizados ao lado do destaque (v28) */
.pg-provas .ns-res-lista { justify-content: center; }
