/* ==========================================================
   NetScale Core — CSS da marca (v1.0.0)
   Carregado no site e no editor. Para reverter: desative o plugin.
   ========================================================== */

:root {
	--ns-navy: #00142f;
	--ns-mint: #00e99b;
	--ns-mint-logo: #00f1a0; /* verde medido no wordmark (SCALE) */
	--ns-mint-bar: #00f6a5;  /* verde medido no traço do logotipo */
	--ns-green-dark: #007a5b;
	--ns-graphite: #263746;
	--ns-slate: #46596d;
	--ns-muted: #74879a;
	--ns-soft: #eef3f7;
	--ns-light: #f8fafc;
	--ns-white: #ffffff;
	--ns-radius: 10px;
	--ns-max: 1180px;
}

/* ---------- Seções ---------- */
.ns-section {
	padding: 88px 24px;
	margin-block: 0 !important;
}
.ns-section > .ns-container {
	max-width: var(--ns-max);
	margin-inline: auto;
}
.ns-light { background: var(--ns-light); color: var(--ns-graphite); }
.ns-soft  { background: var(--ns-soft);  color: var(--ns-graphite); }
.ns-dark  { background: var(--ns-navy);  color: #dbe5ee; }

.ns-light h2, .ns-soft h2, .ns-light h3, .ns-soft h3 { color: var(--ns-navy); }
.ns-dark h1, .ns-dark h2, .ns-dark h3, .ns-dark h4 { color: var(--ns-white); }

/* Sobretítulo (eyebrow) */
.ns-eyebrow {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	margin: 0 0 16px;
	color: var(--ns-green-dark);
}
.ns-dark .ns-eyebrow { color: var(--ns-mint); }

/* Hero: sobretítulo igual à assinatura do logotipo (branco + traço verde) */
.ns-hero .ns-eyebrow {
	color: var(--ns-white);
	font-weight: 500;
	margin-bottom: 28px;
}
.ns-hero .ns-eyebrow::after {
	content: "";
	display: block;
	width: 64px;
	height: 3px;
	margin-top: 14px;
	background: var(--ns-mint-bar);
}

.ns-lead {
	font-size: 19px;
	line-height: 1.6;
	max-width: 720px;
	color: var(--ns-slate);
}
.ns-dark .ns-lead { color: #b9c8d6; }

.ns-section-head { margin-bottom: 48px; }
.ns-section-head h2 { margin-top: 0; }

/* ---------- Hero ---------- */
.ns-hero { padding: 120px 24px 112px; }
.ns-hero h1 { max-width: 880px; line-height: 1.15; margin: 0 0 24px; }
.ns-hero .ns-lead { margin-bottom: 40px; }

/* ---------- Botões ---------- */
.ns-btn-primary .wp-block-button__link {
	background: var(--ns-mint-logo);
	color: var(--ns-navy);
	font-weight: 700;
	border-radius: 6px;
	padding: 15px 28px;
	transition: background 0.2s ease, transform 0.2s ease;
}
.ns-btn-primary .wp-block-button__link:hover {
	background: #3df4b4;
	color: var(--ns-navy);
	transform: translateY(-1px);
}
.ns-btn-secondary .wp-block-button__link {
	background: transparent;
	color: var(--ns-white);
	border: 1.5px solid rgba(255, 255, 255, 0.45);
	font-weight: 600;
	border-radius: 6px;
	padding: 14px 28px;
	transition: border-color 0.2s ease, color 0.2s ease;
}
.ns-btn-secondary .wp-block-button__link:hover {
	border-color: var(--ns-mint);
	color: var(--ns-mint);
	background: transparent;
}
/* Botão secundário sobre fundo claro */
.ns-light .ns-btn-secondary .wp-block-button__link,
.ns-soft .ns-btn-secondary .wp-block-button__link {
	color: var(--ns-navy);
	border-color: var(--ns-navy);
}

/* ---------- Cards ---------- */
.ns-grid { gap: 24px !important; }
.ns-card {
	background: var(--ns-white);
	border: 1px solid #dde6ee;
	border-top: 3px solid var(--ns-mint);
	border-radius: var(--ns-radius);
	padding: 28px 26px;
	height: 100%;
	box-sizing: border-box;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.ns-card:hover {
	box-shadow: 0 10px 28px rgba(0, 20, 47, 0.08);
	transform: translateY(-2px);
}
.ns-card h3 { font-size: 20px; margin: 0 0 12px; }
.ns-card p  { margin: 0; color: var(--ns-slate); font-size: 16px; line-height: 1.6; }

.ns-dark .ns-card {
	background: rgba(255, 255, 255, 0.04);
	border-color: rgba(255, 255, 255, 0.12);
	border-top-color: var(--ns-mint);
}
.ns-dark .ns-card p { color: #b9c8d6; }

/* Número de etapa (metodologia) */
.ns-step {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--ns-mint);
	margin: 0 0 12px !important;
}

/* ---------- Insights (lista de posts) ---------- */
.ns-insights .wp-block-latest-posts {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	padding: 0;
	margin: 0;
	list-style: none;
}
.ns-insights .wp-block-latest-posts li {
	background: var(--ns-white);
	border: 1px solid #dde6ee;
	border-top: 3px solid var(--ns-mint);
	border-radius: var(--ns-radius);
	padding: 24px;
	margin: 0;
}
.ns-insights .wp-block-latest-posts__post-title {
	display: block;
	font-family: inherit;
	font-weight: 700;
	font-size: 19px;
	line-height: 1.35;
	color: var(--ns-navy);
	text-decoration: none;
	margin-bottom: 10px;
}
.ns-insights .wp-block-latest-posts__post-title:hover { color: var(--ns-green-dark); }
.ns-insights .wp-block-latest-posts__post-date { display: block; font-size: 13px; color: var(--ns-muted); margin-bottom: 8px; }
.ns-insights .wp-block-latest-posts__post-excerpt { font-size: 15px; color: var(--ns-slate); }

/* ---------- CTA final ---------- */
.ns-cta { text-align: center; }
.ns-cta .ns-lead { margin-inline: auto; }
.ns-cta .wp-block-buttons { justify-content: center; }

/* ---------- Responsivo ---------- */
@media (max-width: 1024px) {
	.ns-insights .wp-block-latest-posts { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 781px) {
	.ns-section { padding: 64px 20px; }
	.ns-hero { padding: 80px 20px 72px; }
	.ns-lead { font-size: 17px; }
	.ns-section-head { margin-bottom: 32px; }
	.ns-insights .wp-block-latest-posts { grid-template-columns: 1fr; }
}

/* Acessibilidade: respeita preferência por menos movimento */
@media (prefers-reduced-motion: reduce) {
	.ns-card, .ns-btn-primary .wp-block-button__link { transition: none; }
	.ns-card:hover { transform: none; }
}
