/* New Start Suite — formulário de pré-qualificação (landing de anúncios).
   Mesmo visual do site: fundo escuro, títulos condensados, cartões com brilho azul-marinho.
   Cores da logo: azul-marinho, prata e creme. Mobile primeiro; funciona sem o CSS do site. */

.nsq {
	--nsq-bg: var(--ns-bg, #070b14);
	--nsq-bg-2: var(--ns-bg-2, #0b111e);
	--nsq-panel: var(--ns-panel, #0e1626);
	--nsq-panel-2: var(--ns-panel-2, #121c30);
	--nsq-navy: var(--ns-navy, #11294e);
	--nsq-navy-2: var(--ns-navy-2, #1a3f78);
	--nsq-blue: var(--ns-blue, #3b6fc4);
	--nsq-silver: var(--ns-silver, #b7bcc6);
	--nsq-silver-2: var(--ns-silver-2, #e3e6ec);
	--nsq-cream: var(--ns-cream, #fbf8f2);
	--nsq-text: var(--ns-text, #f1eee8);
	--nsq-muted: var(--ns-muted, #a5abb8);
	--nsq-line: rgba(183, 188, 198, .18);
	--nsq-line-2: rgba(183, 188, 198, .32);
	--nsq-glow: rgba(26, 63, 120, .55);
	--nsq-bad: var(--ns-bad, #ff9b92);
	--nsq-display: var(--ns-display, "Inter Display", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif);
	--nsq-font: var(--ns-font, "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);

	box-sizing: border-box;
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
	background:
		radial-gradient(54rem 26rem at 100% -8%, rgba(26, 63, 120, .5), transparent 62%),
		radial-gradient(44rem 24rem at -10% 108%, rgba(59, 111, 196, .16), transparent 62%),
		linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px) 0 0 / 56px 56px,
		linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px) 0 0 / 56px 56px,
		var(--nsq-bg);
	color: var(--nsq-text);
	font-family: var(--nsq-font);
	font-size: 1rem;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}
.nsq *, .nsq *::before, .nsq *::after { box-sizing: inherit; }

/* a página não deve mostrar bordas claras ao redor da landing */
body.ns-site { background: #070b14; }

/* O Elementor não deve colocar margens ao redor da landing */
.elementor .e-con.ns-lp { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; padding: 0; gap: 0; }
.ns-lp .elementor-widget { margin: 0 !important; }
.ns-lp .elementor-widget-container { margin: 0; padding: 0; }

/* Barra de progresso */
.nsq__bar { position: sticky; top: 0; z-index: 5; display: grid; grid-template-columns: 44px 1fr 56px; align-items: center; gap: 10px; padding: 12px 16px; background: rgba(7, 11, 20, .88); border-bottom: 1px solid var(--nsq-line); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.nsq__bar.is-hidden-progress .nsq__progress { visibility: hidden; }
.nsq__back { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--nsq-line-2); background: rgba(255, 255, 255, .04); color: var(--nsq-cream); font-size: 1.2rem; line-height: 1; cursor: pointer; }
.nsq__back:hover { border-color: var(--nsq-silver); background: rgba(255, 255, 255, .08); }
.nsq__back[hidden] { display: block; visibility: hidden; }
.nsq__progress { height: 6px; border-radius: 999px; background: rgba(255, 255, 255, .12); overflow: hidden; }
.nsq__fill { display: block; height: 100%; width: 0; border-radius: inherit; background: linear-gradient(90deg, var(--nsq-blue), var(--nsq-silver-2)); transition: width .4s ease; }
.nsq__count { font-size: .8rem; color: var(--nsq-muted); text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }

/* Palco */
.nsq__stage { flex: 1; width: 100%; max-width: 640px; margin-inline: auto; padding: 24px 16px 36px; display: flex; flex-direction: column; justify-content: center; }
.nsq__screen { display: grid; gap: 18px; animation: nsq-in .35s ease both; }
@keyframes nsq-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.nsq__logo { display: block; width: 84px; height: auto; }
.nsq__brand { margin: 0; display: inline-flex; align-items: center; gap: 12px; font-size: .72rem; text-transform: uppercase; letter-spacing: .16em; font-weight: 600; color: var(--nsq-silver); }
.nsq__brand::before { content: ""; width: 28px; height: 1px; background: var(--nsq-blue); }
.nsq .nsq__title:focus, .nsq .nsq__title:focus-visible { outline: none; }
.nsq__title { margin: 0; font-family: var(--nsq-display); font-weight: 800; font-size: clamp(1.9rem, 7.6vw, 2.9rem); line-height: 1.08; letter-spacing: -.035em; color: var(--nsq-cream); outline: none; text-wrap: balance; }
.nsq__text { margin: 0; font-size: 1.05rem; line-height: 1.65; color: var(--nsq-silver-2); text-wrap: pretty; }
.nsq__text strong { color: var(--nsq-cream); }
.nsq__help { margin: 0; font-size: .9rem; color: var(--nsq-muted); display: block; }
.nsq__question { margin: 4px 0 0; font-size: 1.15rem; font-weight: 700; line-height: 1.3; color: var(--nsq-cream); }
.nsq__disclaimer { margin: 0; font-size: .85rem; color: var(--nsq-muted); font-style: italic; }
.nsq__nojs { padding: 24px 16px; color: var(--nsq-cream); }

/* Opções */
.nsq__options { display: grid; gap: 10px; margin-top: 4px; }
.nsq__options--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nsq-opt { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 58px; padding: 14px 16px; text-align: left; background: linear-gradient(180deg, var(--nsq-panel-2), var(--nsq-panel)); color: var(--nsq-cream); border: 1px solid var(--nsq-line-2); border-radius: 14px; font: 600 1rem/1.35 var(--nsq-font); letter-spacing: -.005em; cursor: pointer; transition: border-color .15s, background-color .15s, box-shadow .15s, transform .15s; -webkit-tap-highlight-color: transparent; }
.nsq-opt::before { content: ""; flex: none; width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--nsq-silver); background: transparent; transition: inherit; }
.nsq-opt--multi::before { border-radius: 7px; }
.nsq-opt:hover { border-color: var(--nsq-silver); }
.nsq-opt:active { transform: scale(.985); }
.nsq-opt[aria-pressed="true"] { border-color: var(--nsq-blue); background: linear-gradient(90deg, rgba(26, 63, 120, .75), rgba(26, 63, 120, .28)); box-shadow: 0 0 0 1px rgba(59, 111, 196, .3), 0 16px 40px -18px var(--nsq-glow); }
.nsq-opt[aria-pressed="true"]::before { border-color: var(--nsq-cream); background: var(--nsq-cream); box-shadow: inset 0 0 0 4px var(--nsq-navy); }
.nsq-opt--multi[aria-pressed="true"]::before { box-shadow: none; background: var(--nsq-cream) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%2311294e' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat; }
.nsq__options--grid .nsq-opt { min-height: 52px; padding: 12px; }

/* Botão principal */
.nsq-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 58px; padding: 16px 24px; margin-top: 8px; border: 1px solid var(--nsq-cream); border-radius: 12px; background: var(--nsq-cream); color: var(--nsq-navy); font: 600 1rem/1.1 var(--nsq-font); letter-spacing: -.005em; cursor: pointer; transition: transform .15s, box-shadow .15s, opacity .15s, background-color .15s; box-shadow: 0 14px 34px -14px rgba(251, 248, 242, .4); }
.nsq-btn:hover { background: #fff; transform: translateY(-1px); }
.nsq-btn:active { transform: scale(.985); }
.nsq-btn[disabled] { opacity: .45; cursor: not-allowed; box-shadow: none; transform: none; }
.nsq-btn.is-busy { cursor: progress; }

/* Foco visível */
.nsq button:focus-visible, .nsq a:focus-visible, .nsq input:focus-visible { outline: 3px solid var(--nsq-blue); outline-offset: 2px; }

/* Lista de itens (tela de conscientização) */
.nsq__bullets { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.nsq__bullets li { position: relative; padding: 14px 0 14px 34px; font-weight: 600; color: var(--nsq-silver-2); border-top: 1px solid var(--nsq-line); }
.nsq__bullets li:last-child { border-bottom: 1px solid var(--nsq-line); }
.nsq__bullets li::before { content: ""; position: absolute; left: 0; top: 15px; width: 22px; height: 22px; border-radius: 50%; background: var(--nsq-navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23fbf8f2' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat; border: 1px solid var(--nsq-blue); }

/* Resultados */
.nsq-proof { margin: 0; border-radius: 18px; overflow: hidden; background: var(--nsq-panel); border: 1px solid rgba(59, 111, 196, .55); box-shadow: 0 24px 60px -30px var(--nsq-glow); }
.nsq-proof__img { display: block; width: 100%; height: auto; max-height: 56vh; object-fit: contain; background: var(--nsq-bg-2); }
.nsq-proof__cap { padding: 8px 12px; font-size: .8rem; color: var(--nsq-muted); }
.nsq-proof--empty { padding: 28px 16px; text-align: center; border-style: dashed; border-color: var(--nsq-line-2); box-shadow: none; color: var(--nsq-muted); font-size: .95rem; }
.nsq-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
.nsq-stat { display: grid; gap: 2px; padding: 14px; background: linear-gradient(180deg, var(--nsq-panel-2), var(--nsq-panel)); border: 1px solid var(--nsq-line-2); border-radius: 14px; }
.nsq-stat__label { font-size: .72rem; color: var(--nsq-muted); text-transform: uppercase; letter-spacing: .1em; }
.nsq-stat__value { font-family: var(--nsq-display); font-weight: 800; font-size: 1.6rem; line-height: 1.05; letter-spacing: -.03em; color: var(--nsq-cream); font-variant-numeric: tabular-nums; }

/* Formulário de dados */
.nsq-form { display: grid; gap: 14px; }
.nsq-field { display: grid; gap: 6px; border: 0; padding: 0; margin: 0; }
.nsq-field label, .nsq-label { font-weight: 800; font-size: .92rem; color: var(--nsq-silver-2); }
.nsq-input { width: 100%; min-height: 54px; padding: 12px 16px; border: 1.5px solid var(--nsq-line-2); border-radius: 12px; background: rgba(255, 255, 255, .05); color: var(--nsq-cream); font: 500 1rem/1.3 var(--nsq-font); }
.nsq-input::placeholder { color: #7f8696; }
.nsq-input:focus { border-color: var(--nsq-blue); }
.nsq-input[aria-invalid="true"] { border-color: var(--nsq-bad); }
.nsq-error { color: var(--nsq-bad); font-size: .88rem; font-weight: 700; min-height: 0; margin: 0; }
.nsq-error:empty { display: none; }
.nsq-consent { display: grid; grid-template-columns: 24px 1fr; gap: 10px; align-items: start; font-size: .88rem; color: var(--nsq-silver-2); }
.nsq-consent input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--nsq-blue); }
.nsq-consent a { color: var(--nsq-cream); }
.nsq-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Final */
.nsq__screen--final { text-align: center; justify-items: center; }
.nsq-done { width: 68px; height: 68px; border-radius: 50%; display: grid; place-items: center; background: var(--nsq-navy); color: var(--nsq-cream); border: 1px solid var(--nsq-silver); box-shadow: 0 0 0 8px rgba(26, 63, 120, .35); font-size: 1.8rem; }

.nsq__foot { padding: 18px 16px; text-align: center; font-size: .78rem; color: var(--nsq-muted); border-top: 1px solid var(--nsq-line); }
.nsq__foot a { color: inherit; }

@media (min-width: 720px) {
	.nsq__stage { padding-top: 48px; }
	.nsq-btn { width: auto; min-width: 320px; justify-self: start; }
	.nsq__screen--final .nsq-btn { justify-self: center; }
}

@media (prefers-reduced-motion: reduce) {
	.nsq__screen { animation: none; }
	.nsq__fill, .nsq-opt, .nsq-btn { transition: none; }
}
