/* ==========================================================================
   PátriaWeb — estilos do tema
   ========================================================================== */

:root {
	--pw-azul: #173A5E;
	--pw-azul-2: #20507F;
	--pw-azul-escuro: #0F2840;
	--pw-verde: #176B48;
	--pw-verde-2: #38A276;
	--pw-verde-claro: #E6F3EC;
	--pw-amarelo: #D6B84C;
	--pw-amarelo-claro: #FBF4DC;
	--pw-fundo: #F7F8F6;
	--pw-branco: #FFFFFF;
	--pw-texto: #26323F;
	--pw-texto-suave: #4E5D6C;
	--pw-borda: #E3E8E5;
	--pw-erro: #B42318;
	--pw-erro-fundo: #FEF3F2;
	--pw-ok-fundo: #ECF7F1;

	--pw-grad: linear-gradient(135deg, var(--pw-verde) 0%, var(--pw-verde-2) 100%);
	--pw-grad-azul: linear-gradient(135deg, var(--pw-azul-escuro) 0%, var(--pw-azul) 55%, var(--pw-azul-2) 100%);

	--pw-fonte-titulo: "Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
	--pw-fonte: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

	--pw-raio: 14px;
	--pw-raio-sm: 12px;
	--pw-sombra: 0 18px 50px -20px rgba(23, 58, 94, .22);
	--pw-sombra-sm: 0 8px 24px -12px rgba(23, 58, 94, .18);
	--pw-largura: 1200px;
	--pw-header-h: 84px;
}

/* Base ------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--pw-header-h) + 16px); -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body {
	margin: 0;
	font-family: var(--pw-fonte);
	font-size: 17px;
	line-height: 1.65;
	color: var(--pw-texto);
	background: var(--pw-branco);
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
img, svg { max-width: 100%; height: auto; }
img { display: block; }
a { color: var(--pw-verde); text-underline-offset: 3px; }
a:hover { color: var(--pw-azul); }
h1, h2, h3, h4 { font-family: var(--pw-fonte-titulo); color: var(--pw-azul); line-height: 1.2; margin: 0 0 .6em; letter-spacing: -.01em; }
p { margin: 0 0 1em; }
:focus-visible { outline: 3px solid var(--pw-amarelo); outline-offset: 3px; border-radius: 4px; }
.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
	clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.pw-skip {
	position: absolute; left: 16px; top: -60px; z-index: 1000; background: var(--pw-azul); color: #fff;
	padding: 10px 16px; border-radius: 8px; font-weight: 600; text-decoration: none;
}
.pw-skip:focus { top: 12px; color: #fff; }
.pw-main:focus { outline: none; }

.pw-container { width: 100%; max-width: var(--pw-largura); margin: 0 auto; padding: 0 24px; }
.pw-container--narrow { max-width: 860px; }
.pw-center { text-align: center; margin-top: 48px; }

/* Botões ----------------------------------------------------------------- */
/*
 * Formato em pílula. A cor muda conforme o fundo da seção:
 * - fundo claro ........ verde sólido (principal) e branco com borda (secundário)
 * - fundo escuro ....... dourado sólido (principal) e contorno dourado (secundário)
 * - faixas verdes ...... branco com texto verde
 */
.pw-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 54px; padding: 15px 30px; border-radius: 999px; border: 1.5px solid transparent;
	font-family: var(--pw-fonte); font-size: 16px; font-weight: 600; line-height: 1.2; letter-spacing: .005em;
	text-decoration: none; cursor: pointer; position: relative;
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
}
.pw-btn .pw-icon { width: 18px; height: 18px; flex: none; stroke-width: 2.2; transition: transform .2s ease; }
.pw-btn:hover { transform: translateY(-2px); }
.pw-btn:hover .pw-icon { transform: translateX(3px); }
.pw-btn:active { transform: translateY(0); }
.pw-btn--sm { min-height: 44px; padding: 10px 22px; font-size: 15px; }

/* C · Verde sólido (fundos claros) */
.pw-btn--primary { background: #1B7F54; color: #fff; box-shadow: 0 10px 24px -12px rgba(23, 107, 72, .6); }
.pw-btn--primary:hover { background: var(--pw-verde); color: #fff; box-shadow: 0 14px 28px -12px rgba(23, 107, 72, .7); }

/* Secundário em fundo claro: branco com borda */
.pw-btn--ghost { background: #fff; color: var(--pw-azul); border-color: #CDD6D1; }
.pw-btn--ghost:hover { color: var(--pw-verde); border-color: var(--pw-verde-2); }

/* WhatsApp em fundo claro: contorno verde */
.pw-btn--whatsapp { background: #fff; color: var(--pw-verde); border-color: var(--pw-verde-2); }
.pw-btn--whatsapp:hover { background: var(--pw-verde-claro); color: var(--pw-verde); }
.pw-btn--whatsapp .pw-icon { order: -1; }
.pw-btn--whatsapp:hover .pw-icon { transform: none; }

/* B · Branco com texto verde (faixas verdes e quadros de chamada) */
.pw-btn--light { background: #fff; color: var(--pw-verde); box-shadow: 0 10px 24px -14px rgba(0, 0, 0, .45); }
.pw-btn--light:hover { background: #F4FBF7; color: var(--pw-verde); }

/* A · Dourado sólido (principal em fundos escuros) */
.pw-hero .pw-btn--primary,
.pw-section--blue .pw-btn--primary,
.pw-final .pw-btn--primary,
.pw-page-hero .pw-btn--primary {
	background: var(--pw-amarelo); color: var(--pw-azul-escuro); box-shadow: 0 12px 28px -12px rgba(214, 184, 76, .55);
}
.pw-hero .pw-btn--primary:hover,
.pw-section--blue .pw-btn--primary:hover,
.pw-final .pw-btn--primary:hover,
.pw-page-hero .pw-btn--primary:hover {
	background: #E3C65E; color: var(--pw-azul-escuro); box-shadow: 0 16px 32px -12px rgba(214, 184, 76, .65);
}

/* D · Contorno dourado (secundário em fundos escuros) */
.pw-hero .pw-btn--ghost, .pw-hero .pw-btn--whatsapp,
.pw-section--blue .pw-btn--ghost, .pw-section--blue .pw-btn--whatsapp,
.pw-final .pw-btn--ghost, .pw-final .pw-btn--whatsapp,
.pw-page-hero .pw-btn--ghost, .pw-page-hero .pw-btn--whatsapp,
.pw-btn--outline-light {
	background: rgba(255, 255, 255, .06); color: #fff; border-color: var(--pw-amarelo);
}
.pw-hero .pw-btn--ghost:hover, .pw-hero .pw-btn--whatsapp:hover,
.pw-section--blue .pw-btn--ghost:hover, .pw-section--blue .pw-btn--whatsapp:hover,
.pw-final .pw-btn--ghost:hover, .pw-final .pw-btn--whatsapp:hover,
.pw-page-hero .pw-btn--ghost:hover, .pw-page-hero .pw-btn--whatsapp:hover,
.pw-btn--outline-light:hover {
	background: rgba(214, 184, 76, .14); color: #fff; border-color: #E3C65E;
}

/* Botão do topo, um pouco maior */
.pw-hero .pw-btn { min-height: 60px; padding: 17px 34px; font-size: 17px; }
.pw-btn[disabled] { opacity: .7; cursor: progress; transform: none; }
.pw-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
.pw-actions--center { justify-content: center; }

.pw-link {
	display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--pw-verde); text-decoration: none;
}
.pw-link .pw-icon { width: 17px; height: 17px; transition: transform .2s ease; }
.pw-link:hover { color: var(--pw-azul); }
.pw-link:hover .pw-icon { transform: translateX(3px); }

/* Cabeçalho -------------------------------------------------------------- */
.pw-header {
	position: sticky; top: 0; z-index: 100; background: rgba(255, 255, 255, .92);
	backdrop-filter: saturate(180%) blur(12px); -webkit-backdrop-filter: saturate(180%) blur(12px);
	border-bottom: 1px solid transparent; transition: border-color .2s ease, box-shadow .2s ease;
}
.pw-header.is-scrolled { border-color: var(--pw-borda); box-shadow: 0 6px 24px -18px rgba(23, 58, 94, .4); }
.admin-bar .pw-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .pw-header { top: 0; } }
.pw-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: var(--pw-header-h); }
.pw-logo { display: inline-flex; flex: none; }
.pw-logo__img { width: 200px; height: auto; }
.pw-nav { display: flex; align-items: center; gap: 28px; }
.pw-menu { display: flex; gap: 4px; list-style: none; margin: 0; padding: 0; }
.pw-menu a {
	display: block; padding: 8px 14px; border-radius: 999px; color: var(--pw-azul); font-weight: 500; font-size: 16px;
	text-decoration: none; position: relative;
}
.pw-menu a:hover { background: var(--pw-fundo); color: var(--pw-verde); }
.pw-menu a[aria-current="page"] { color: var(--pw-verde); }
.pw-menu a[aria-current="page"]::after {
	content: ""; position: absolute; left: 14px; right: 14px; bottom: 2px; height: 2px; background: var(--pw-amarelo); border-radius: 2px;
}
.pw-nav-toggle {
	display: none; width: 48px; height: 48px; border-radius: 12px; border: 1px solid var(--pw-borda);
	background: #fff; color: var(--pw-azul); cursor: pointer; align-items: center; justify-content: center;
}
.pw-nav-toggle__close { display: none; }
.pw-nav-toggle[aria-expanded="true"] .pw-nav-toggle__open { display: none; }
.pw-nav-toggle[aria-expanded="true"] .pw-nav-toggle__close { display: inline-flex; }

@media (max-width: 1023px) {
	:root { --pw-header-h: 72px; }
	.pw-logo__img { width: 170px; }
	.pw-nav-toggle { display: inline-flex; }
	.pw-nav {
		position: fixed; inset: var(--pw-header-h) 0 auto 0; flex-direction: column; align-items: stretch; gap: 16px;
		background: #fff; padding: 16px 24px 28px; border-bottom: 1px solid var(--pw-borda);
		box-shadow: 0 24px 40px -24px rgba(23, 58, 94, .35);
		max-height: calc(100vh - var(--pw-header-h)); overflow-y: auto;
		visibility: hidden; opacity: 0; transform: translateY(-8px);
	}
	.admin-bar .pw-nav { inset-block-start: calc(var(--pw-header-h) + 46px); }
	.pw-nav.is-animated { transition: opacity .2s ease, transform .2s ease, visibility .2s; }
	.pw-nav.is-open { visibility: visible; opacity: 1; transform: none; }
	.pw-menu { flex-direction: column; }
	.pw-menu a { padding: 14px 12px; border-radius: 10px; font-size: 18px; }
	.pw-menu a[aria-current="page"]::after { left: 12px; right: auto; width: 24px; bottom: 8px; }
	.pw-header__cta { width: 100%; }
}

/* Elementos decorativos ------------------------------------------------- */
.pw-blob { position: absolute; border-radius: 50%; filter: blur(60px); pointer-events: none; z-index: 0; }
.pw-blob--a { width: 520px; height: 520px; background: rgba(56, 162, 118, .20); top: -180px; left: -160px; }
.pw-blob--b { width: 460px; height: 460px; background: rgba(23, 58, 94, .12); bottom: -200px; right: -120px; }
.pw-blob--c { width: 380px; height: 380px; background: rgba(214, 184, 76, .22); top: -160px; right: -80px; }


/* Bandeira em pinceladas (imagem trocável no painel), com as cores reais */
.pw-watermark {
	position: absolute; pointer-events: none; z-index: 0; height: auto; max-width: none; user-select: none;
	filter: drop-shadow(0 18px 30px rgba(0, 0, 0, .35));
}
.pw-final__title, .pw-final__text { max-width: 580px !important; }
.pw-page-hero .pw-page-title { max-width: 760px; }
.pw-page-hero .pw-lead { max-width: 640px; }

/* Chamada final, faixa verde e topo das páginas internas: em destaque, à direita */
.pw-watermark--band { width: 260px; right: 1.5%; top: 50%; transform: translateY(-50%) rotate(-4deg); }
.pw-watermark--hero { width: 240px; right: 2.5%; top: 50%; transform: translateY(-50%) rotate(-4deg); }
.pw-watermark--mini { width: 170px; right: -24px; bottom: -18px; transform: rotate(-6deg); opacity: .9; }

/* Atrás de cards e textos: mais leve, para não atrapalhar a leitura */
.pw-watermark--section { width: 480px; left: -60px; bottom: -70px; transform: rotate(5deg); opacity: .14; filter: none; }
.pw-watermark--footer { width: 380px; right: -20px; bottom: 40px; transform: rotate(-4deg); opacity: .16; filter: none; }

@media (max-width: 1023px) {
	.pw-watermark--band, .pw-watermark--hero { width: 200px; right: -30px; top: auto; bottom: -24px; transform: rotate(-4deg); opacity: .9; }
}
@media (max-width: 680px) {
	.pw-watermark--band, .pw-watermark--hero { width: 150px; right: -30px; bottom: -20px; opacity: .5; }
	.pw-watermark--footer { width: 280px; }
}

.pw-tag {
	display: inline-flex; align-items: center; gap: 10px; margin: 0 0 22px; padding: 7px 16px 7px 12px; border-radius: 999px;
	background: var(--pw-amarelo-claro); color: var(--pw-azul); font-size: 14.5px; font-weight: 600; line-height: 1.35;
	border: 1px solid rgba(214, 184, 76, .45);
}
.pw-tag::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--pw-amarelo); flex: none; }

/* Selo em pílula acima dos títulos */
.pw-eyebrow {
	display: inline-flex; align-items: center; gap: 8px; margin: 0 0 18px; padding: 6px 14px; border-radius: 999px;
	background: var(--pw-verde-claro); border: 1px solid rgba(56, 162, 118, .3);
	font-size: 13.5px; font-weight: 600; letter-spacing: .02em; color: var(--pw-verde); line-height: 1.3;
}
.pw-eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--pw-amarelo); box-shadow: 0 0 0 3px rgba(214, 184, 76, .25); flex: none; }
.pw-eyebrow a { color: inherit; text-decoration: none; }

/* Palavras destacadas nos títulos: escreva *assim* no painel */
.pw-hl {
	background: linear-gradient(90deg, var(--pw-verde) 0%, var(--pw-verde-2) 100%);
	-webkit-background-clip: text; background-clip: text; color: transparent;
}
.pw-hero .pw-hl, .pw-section--blue .pw-hl, .pw-page-hero .pw-hl, .pw-final .pw-hl, .pw-band .pw-hl {
	background: linear-gradient(90deg, #6FD6A4 0%, #F1D77A 100%); -webkit-background-clip: text; background-clip: text;
}

.pw-icon-badge {
	display: inline-flex; align-items: center; justify-content: center; width: 58px; height: 58px; border-radius: 14px; flex: none;
	background: var(--pw-grad); color: #fff; box-shadow: 0 12px 24px -12px rgba(23, 107, 72, .6); position: relative;
}
.pw-icon-badge .pw-icon { width: 27px; height: 27px; }
.pw-icon-badge::after {
	content: ""; position: absolute; width: 10px; height: 10px; border-radius: 3px; background: var(--pw-amarelo);
	right: -3px; top: -3px; border: 2px solid #fff;
}
.pw-icon-badge--soft { background: var(--pw-verde-claro); color: var(--pw-verde); box-shadow: none; }
.pw-icon-badge--gold { background: var(--pw-amarelo-claro); color: var(--pw-azul); box-shadow: none; }
.pw-icon-badge--soft::after, .pw-icon-badge--gold::after { display: none; }

/* Seções ----------------------------------------------------------------- */
.pw-section { padding: 110px 0; position: relative; }
.pw-section--tight { padding: 72px 0; }
.pw-section--soft { background: var(--pw-fundo); }
.pw-section--blue {
	background: radial-gradient(1200px 500px at 85% -10%, rgba(56, 162, 118, .22), transparent 60%), linear-gradient(180deg, #0D1F33 0%, #102A44 100%);
	color: rgba(255, 255, 255, .86); overflow: hidden;
}
.pw-section-head { max-width: 760px; margin-bottom: 56px; position: relative; z-index: 1; }
.pw-section-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.pw-section-head--center .pw-eyebrow { justify-content: center; }
.pw-section-head--left { text-align: left; }
.pw-title { font-size: clamp(30px, 3.6vw, 44px); font-weight: 700; margin-bottom: 18px; letter-spacing: -.02em; }
.pw-section-head .pw-title::after {
	content: ""; display: block; width: 56px; height: 4px; border-radius: 4px; margin: 18px 0 0;
	background: linear-gradient(90deg, var(--pw-amarelo), #E8CF72);
}
.pw-section-head--center .pw-title::after { margin-left: auto; margin-right: auto; }
.pw-title--sm { font-size: clamp(24px, 2.6vw, 30px); }
.pw-lead { font-size: 18.5px; color: var(--pw-texto-suave); margin: 0; }
.pw-section-head--invert .pw-title { color: #fff; }
.pw-section-head--invert .pw-lead { color: rgba(255, 255, 255, .82); }
.pw-section-head--invert .pw-eyebrow { color: #9FE0BF; background: rgba(56, 162, 118, .14); border-color: rgba(111, 214, 164, .3); }

.pw-grid { display: grid; gap: 28px; position: relative; z-index: 1; }
.pw-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pw-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1023px) { .pw-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .pw-grid--2, .pw-grid--3 { grid-template-columns: 1fr; } }

.pw-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 72px; align-items: start; }
.pw-split__aside { position: sticky; top: calc(var(--pw-header-h) + 32px); margin-bottom: 0; }
.pw-split__aside .pw-btn { margin-top: 28px; }
@media (max-width: 1023px) {
	.pw-split { grid-template-columns: 1fr; gap: 40px; }
	.pw-split__aside { position: static; }
}

/* Hero ------------------------------------------------------------------- */
.pw-hero {
	position: relative; overflow: hidden; background: #0D1F33; color: #fff;
	min-height: min(88vh, 820px); display: flex; align-items: center; padding: 72px 0 160px;
}
.pw-hero__bg, .pw-hero__bg img { position: absolute; inset: 0; width: 100%; height: 100%; }
.pw-hero__bg img { object-fit: cover; object-position: 30% center; }
.pw-hero__shade {
	position: absolute; inset: 0;
	background:
		linear-gradient(90deg, rgba(13, 31, 51, 0) 0%, rgba(13, 31, 51, .25) 40%, rgba(13, 31, 51, .82) 66%, rgba(13, 31, 51, .92) 100%),
		linear-gradient(180deg, rgba(13, 31, 51, 0) 60%, rgba(13, 31, 51, .55) 100%);
}
.pw-hero__grid { position: relative; z-index: 1; display: flex; justify-content: flex-end; width: 100%; }
.pw-hero__panel { width: min(560px, 100%); }
.pw-hero__logo {
	width: 230px; height: auto; margin-bottom: 26px; padding: 12px 18px; border-radius: 12px;
	background: rgba(255, 255, 255, .96); box-shadow: 0 14px 30px -14px rgba(0, 0, 0, .5); box-sizing: content-box;
}
.pw-hero .pw-tag { background: rgba(214, 184, 76, .16); border-color: rgba(214, 184, 76, .5); color: #F6E7B0; backdrop-filter: blur(6px); }
.pw-hero__title { color: #fff; font-size: clamp(32px, 4.4vw, 58px); font-weight: 700; line-height: 1.08; letter-spacing: -.025em; margin-bottom: 22px; text-shadow: 0 2px 24px rgba(0, 0, 0, .25); }
.pw-hero__text { font-size: 18.5px; color: rgba(255, 255, 255, .88); margin: 0; }
.pw-hero .pw-actions { margin-top: 30px; }
@media (max-width: 1023px) {
	.pw-hero__shade { background: linear-gradient(90deg, rgba(13, 31, 51, .35) 0%, rgba(13, 31, 51, .85) 70%); }
}
@media (max-width: 767px) {
	.pw-hero { display: block; min-height: 0; padding: 0 0 120px; }
	.pw-hero__bg { position: relative; display: block; height: auto; }
	.pw-hero__bg img { position: relative; height: auto; aspect-ratio: 800 / 719; }
	.pw-hero__shade { top: auto; height: 100%; background: linear-gradient(180deg, rgba(13, 31, 51, 0) 0, rgba(13, 31, 51, 0) 230px, #0D1F33 calc(100vw * .9)); }
	.pw-hero__grid { margin-top: -70px; }
	.pw-hero__logo { width: 190px; }
}

/* Destaques sobre o hero ------------------------------------------------- */
.pw-highlights { position: relative; z-index: 2; margin-top: -84px; }
.pw-highlights__list {
	list-style: none; margin: 0; padding: 32px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px;
	background: #fff; border-radius: var(--pw-raio); box-shadow: var(--pw-sombra); border: 1px solid var(--pw-borda);
}
.pw-highlight { display: flex; gap: 18px; align-items: flex-start; }
.pw-highlight .pw-icon-badge { width: 52px; height: 52px; border-radius: 16px; }
.pw-highlight .pw-icon-badge .pw-icon { width: 24px; height: 24px; }
.pw-highlight__title { font-size: 18px; margin-bottom: 6px; }
.pw-highlight p { margin: 0; font-size: 15.5px; color: var(--pw-texto-suave); line-height: 1.55; }
@media (max-width: 1023px) { .pw-highlights__list { grid-template-columns: 1fr; gap: 24px; padding: 28px; } }

/* Cards ------------------------------------------------------------------ */
.pw-card {
	background: #fff; border: 1px solid var(--pw-borda); border-radius: var(--pw-raio); padding: 34px;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; position: relative;
}
.pw-card p { color: var(--pw-texto-suave); }
.pw-card__title { font-size: 21px; margin: 0 0 12px; }
.pw-card__title a { color: inherit; text-decoration: none; }
.pw-card__title a:hover { color: var(--pw-verde); }
.pw-card--service { display: flex; flex-direction: column; }
.pw-card--service .pw-icon-badge { margin-bottom: 26px; }
.pw-card--service p { flex: 1; }
.pw-card--service:hover, .pw-card--project:hover, .pw-card--post:hover {
	transform: translateY(-6px); box-shadow: var(--pw-sombra); border-color: transparent;
}
.pw-card--project, .pw-card--post { padding: 0; overflow: hidden; display: flex; flex-direction: column; height: 100%; }
.pw-card__media { display: block; aspect-ratio: 16 / 10; background: var(--pw-fundo); overflow: hidden; }
.pw-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.pw-card:hover .pw-card__media img { transform: scale(1.04); }
.pw-card__placeholder {
	width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: rgba(255, 255, 255, .85);
	background: var(--pw-grad-azul); position: relative; overflow: hidden;
}
.pw-card__placeholder--post { background: var(--pw-grad); }
.pw-card__placeholder::before {
	content: ""; position: absolute; width: 60%; aspect-ratio: 1; border: 2px solid rgba(255, 255, 255, .14); border-radius: 50%;
	right: -10%; bottom: -30%;
}
.pw-card__placeholder .pw-icon { width: 54px; height: 54px; }
.pw-card__body { padding: 28px; display: flex; flex-direction: column; flex: 1; }
.pw-card__body > p:not(.pw-card__meta) { flex: 1; }
.pw-card__meta { font-size: 13.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--pw-verde) !important; margin-bottom: 10px; }
.pw-card__meta a { color: inherit; text-decoration: none; }
.pw-card__meta time { color: var(--pw-texto-suave); }
.pw-card__links { display: flex; flex-wrap: wrap; gap: 20px; }
.pw-grid__item { display: flex; }
.pw-grid__item[hidden] { display: none; }

.pw-empty {
	text-align: center; max-width: 640px; margin: 0 auto; padding: 56px 32px; border-radius: var(--pw-raio);
	border: 2px dashed var(--pw-borda); background: #fff; position: relative; z-index: 1;
}
.pw-empty .pw-icon-badge { margin-bottom: 20px; }
.pw-empty p { color: var(--pw-texto-suave); }
.pw-empty .pw-btn { margin-top: 12px; }

/* Benefícios ------------------------------------------------------------- */
/* Cabeçalho em duas colunas: título à esquerda, texto à direita */
.pw-section-head--row {
	max-width: none; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px 72px; align-items: end;
}
.pw-section-head--row .pw-title { margin-bottom: 0; }
@media (max-width: 1023px) { .pw-section-head--row { grid-template-columns: 1fr; } }

.pw-benefits { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.pw-benefit {
	display: flex; flex-direction: column; gap: 20px; padding: 34px 32px; background: #fff;
	border-radius: var(--pw-raio); border: 1px solid var(--pw-borda);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.pw-benefit:hover { transform: translateY(-4px); box-shadow: var(--pw-sombra); border-color: transparent; }
.pw-benefit__title { font-size: 20px; margin-bottom: 10px; }
.pw-benefit p { margin: 0; font-size: 16.5px; line-height: 1.7; color: var(--pw-texto-suave); }
.pw-check {
	display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 14px; flex: none;
	background: var(--pw-verde-claro); color: var(--pw-verde);
}
.pw-check .pw-icon { width: 24px; height: 24px; stroke-width: 2.4; }
@media (max-width: 1023px) { .pw-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .pw-benefits { grid-template-columns: 1fr; } .pw-benefit { padding: 28px 24px; } }

/* Faixa verde ------------------------------------------------------------ */
.pw-band { padding: 0 0 110px; background: var(--pw-fundo); }
.pw-band__box {
	position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: center;
	padding: 56px 64px; border-radius: 20px; background: var(--pw-grad); color: #fff;
	box-shadow: 0 30px 60px -30px rgba(23, 107, 72, .7);
}
.pw-band__text, .pw-band__actions { position: relative; z-index: 1; }
.pw-band__title { color: #fff; font-size: clamp(24px, 2.8vw, 34px); font-weight: 700; margin-bottom: 12px; }
.pw-band__text p { margin: 0; font-size: 18px; color: rgba(255, 255, 255, .95); max-width: 640px; }
.pw-band__actions { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.pw-band__link { color: #fff; font-weight: 600; font-size: 15.5px; }
.pw-band__link:hover { color: var(--pw-amarelo-claro); }
@media (max-width: 860px) {
	.pw-band__box { grid-template-columns: 1fr; padding: 40px 28px; text-align: left; }
	.pw-band__actions { align-items: flex-start; }
}

/* Diferenciais ----------------------------------------------------------- */
.pw-feature { padding: 8px 8px 8px 0; }
.pw-feature .pw-icon-badge { margin-bottom: 20px; }
.pw-feature p { color: var(--pw-texto-suave); margin: 0; }
.pw-section:not(.pw-section--soft) .pw-grid--3 .pw-feature { padding: 30px; border-radius: var(--pw-raio); transition: background-color .25s ease; }
.pw-section:not(.pw-section--soft) .pw-grid--3 .pw-feature:hover { background: var(--pw-fundo); }

/* Etapas ----------------------------------------------------------------- */
.pw-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; position: relative; z-index: 1; }
.pw-step {
	padding: 32px; border-radius: var(--pw-raio); background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12);
	transition: background-color .25s ease;
}
.pw-step:hover { background: rgba(255, 255, 255, .1); }
.pw-step__num {
	display: inline-flex; align-items: center; justify-content: center; min-width: 52px; height: 36px; padding: 0 12px; border-radius: 999px;
	background: var(--pw-amarelo); color: var(--pw-azul-escuro); font-family: var(--pw-fonte-titulo); font-weight: 700; font-size: 15px; margin-bottom: 20px;
}
.pw-step__title { color: #fff; font-size: 20px; margin-bottom: 10px; }
.pw-step p { margin: 0; color: rgba(255, 255, 255, .82); font-size: 16px; }
@media (max-width: 1023px) { .pw-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .pw-steps { grid-template-columns: 1fr; } }

/* Depoimentos ------------------------------------------------------------ */
.pw-quote {
	margin: 0; padding: 36px; background: #fff; border-radius: var(--pw-raio); border: 1px solid var(--pw-borda);
	display: flex; flex-direction: column; box-shadow: var(--pw-sombra-sm);
}
.pw-quote__mark { color: var(--pw-amarelo); margin-bottom: 14px; }
.pw-quote__mark .pw-icon { width: 38px; height: 38px; stroke-width: 2.2; }
.pw-quote blockquote { margin: 0 0 22px; flex: 1; font-size: 17px; color: var(--pw-texto); }
.pw-quote blockquote p { margin: 0; }
.pw-quote figcaption { display: flex; align-items: center; gap: 14px; padding-top: 20px; border-top: 1px solid var(--pw-borda); min-height: 84px; }
.pw-quote__demo {
	font-size: 13px; font-weight: 600; line-height: 1.45; color: #7A5B00; background: var(--pw-amarelo-claro);
	border: 1px solid rgba(214, 184, 76, .5); padding: 8px 12px; border-radius: 10px;
}
/* Foto da pessoa (ou iniciais, enquanto não houver foto) */
.pw-quote__avatar {
	flex: none; width: 58px; height: 58px; border-radius: 50%; overflow: hidden;
	box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--pw-amarelo);
}
.pw-quote__photo { width: 100%; height: 100%; object-fit: cover; display: block; }
.pw-quote__initials {
	display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;
	background: var(--pw-grad); color: #fff; font-family: var(--pw-fonte-titulo); font-weight: 700; font-size: 19px; letter-spacing: .02em;
}
.pw-quote__who { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pw-quote__name { font-family: var(--pw-fonte-titulo); font-weight: 700; font-size: 17px; color: var(--pw-azul); }
.pw-quote__role { font-size: 14.5px; line-height: 1.4; color: var(--pw-texto-suave); }

/* FAQ -------------------------------------------------------------------- */
.pw-faq { display: flex; flex-direction: column; gap: 14px; }
.pw-faq__item { background: #fff; border: 1px solid var(--pw-borda); border-radius: 16px; transition: box-shadow .2s ease, border-color .2s ease; }
.pw-faq__item[open] { box-shadow: var(--pw-sombra-sm); border-color: transparent; }
.pw-faq__item summary {
	list-style: none; cursor: pointer; padding: 22px 64px 22px 26px; position: relative;
	font-family: var(--pw-fonte-titulo); font-weight: 700; font-size: 17.5px; color: var(--pw-azul); line-height: 1.4;
}
.pw-faq__item summary::-webkit-details-marker { display: none; }
.pw-faq__item summary::after {
	content: ""; position: absolute; right: 22px; top: 50%; width: 30px; height: 30px; margin-top: -15px; border-radius: 50%;
	background: var(--pw-verde-claro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23176B48' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 16px no-repeat;
	transition: transform .25s ease;
}
.pw-faq__item[open] summary::after { transform: rotate(45deg); background-color: var(--pw-amarelo-claro); }
.pw-faq__answer { padding: 0 26px 22px; color: var(--pw-texto-suave); }
.pw-faq__answer p:last-child { margin-bottom: 0; }

/* Chamada final ---------------------------------------------------------- */
.pw-final { padding: 0 0 110px; }
.pw-section--soft + .pw-final, .pw-service.pw-section--soft + .pw-final { padding-top: 110px; background: linear-gradient(180deg, var(--pw-fundo) 0, var(--pw-fundo) 50%, #fff 50%); }
.pw-final__box {
	position: relative; overflow: hidden; text-align: center; padding: 72px 48px; border-radius: 20px;
	background: var(--pw-grad-azul); color: rgba(255, 255, 255, .88);
}
.pw-final__title { position: relative; z-index: 1; color: #fff; font-size: clamp(28px, 3.4vw, 42px); font-weight: 700; max-width: 760px; margin: 0 auto 16px; }
.pw-final__text { position: relative; z-index: 1; font-size: 18.5px; max-width: 700px; margin: 0 auto; }
.pw-final .pw-actions { position: relative; z-index: 1; }
@media (max-width: 680px) { .pw-final__box { padding: 52px 24px; border-radius: 24px; } }

/* Topo das páginas internas ---------------------------------------------- */
.pw-page-hero {
	position: relative; overflow: hidden; padding: 88px 0 80px; text-align: center;
	background: radial-gradient(900px 400px at 85% 0%, rgba(56, 162, 118, .25), transparent 60%), linear-gradient(180deg, #0D1F33 0%, #12304E 100%);
	color: rgba(255, 255, 255, .86);
}
.pw-page-hero .pw-page-title { color: #fff; }
.pw-page-hero .pw-lead, .pw-page-hero .pw-article__meta { color: rgba(255, 255, 255, .82); }
.pw-page-hero .pw-eyebrow { color: #9FE0BF; background: rgba(56, 162, 118, .14); border-color: rgba(111, 214, 164, .3); }
.pw-page-hero .pw-blob { display: none; }
.pw-page-hero .pw-container { position: relative; z-index: 1; }
.pw-page-hero .pw-eyebrow { justify-content: center; }
.pw-page-title { font-size: clamp(34px, 4.6vw, 54px); font-weight: 700; letter-spacing: -.02em; max-width: 900px; margin: 0 auto 18px; }
.pw-page-hero .pw-lead { max-width: 760px; margin: 0 auto; }
.pw-page-hero--404 { padding: 120px 0; }
.pw-page-hero--article { text-align: left; padding-bottom: 56px; }
.pw-page-hero--article .pw-eyebrow { justify-content: flex-start; }
.pw-page-hero--article .pw-page-title { margin-left: 0; font-size: clamp(30px, 4vw, 46px); }
.pw-article__meta { color: var(--pw-texto-suave); font-size: 15px; margin: 0; }

/* Conteúdo de texto (editor do WordPress) -------------------------------- */
.pw-content { max-width: 820px; }
.pw-content--intro { margin: 0 auto 8px; text-align: center; font-size: 18.5px; color: var(--pw-texto-suave); }
.pw-content > *:last-child { margin-bottom: 0; }
.pw-content h2 { font-size: clamp(26px, 3vw, 34px); font-weight: 700; margin-top: 1.6em; }
.pw-content h3 { font-size: 22px; margin-top: 1.4em; }
.pw-content > h2:first-child, .pw-content > h3:first-child { margin-top: 0; }
.pw-content ul, .pw-content ol { padding-left: 1.3em; margin: 0 0 1.2em; }
.pw-content li { margin-bottom: .4em; }
.pw-content li::marker { color: var(--pw-verde); }
.pw-content blockquote { margin: 1.6em 0; padding: 4px 0 4px 24px; border-left: 4px solid var(--pw-amarelo); font-size: 19px; color: var(--pw-azul); }
.pw-content img { border-radius: var(--pw-raio-sm); }
.pw-content--article { font-size: 18px; }
.pw-content .pw-callout {
	padding: 22px 26px; border-radius: 14px; background: var(--pw-verde-claro); border-left: 4px solid var(--pw-verde); margin: 1.6em 0;
}
.pw-content .pw-callout p:last-child { margin: 0; }

/* Página Sobre: blocos com classes próprias, editáveis no editor ---------- */
.pw-content .pw-values { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 28px 0 8px; }
.pw-content .pw-values li { margin: 0; padding: 26px; border-radius: var(--pw-raio); background: var(--pw-fundo); border: 1px solid var(--pw-borda); }
.pw-content .pw-values li strong { display: block; font-family: var(--pw-fonte-titulo); color: var(--pw-azul); font-size: 19px; margin-bottom: 6px; }
.pw-content .pw-values li::before { content: ""; display: block; width: 28px; height: 4px; border-radius: 4px; background: var(--pw-amarelo); margin-bottom: 16px; }
@media (max-width: 680px) { .pw-content .pw-values { grid-template-columns: 1fr; } }
.pw-content .pw-pendente {
	padding: 22px 26px; border-radius: 14px; border: 2px dashed var(--pw-amarelo); background: var(--pw-amarelo-claro); color: #5F4A00;
}

/* Serviços (página) ------------------------------------------------------ */
.pw-anchors { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 36px; }
.pw-anchors a {
	padding: 10px 18px; border-radius: 999px; background: #fff; border: 1px solid var(--pw-borda); color: var(--pw-azul);
	font-weight: 500; font-size: 15px; text-decoration: none; transition: border-color .2s ease, color .2s ease;
}
.pw-anchors a:hover { border-color: var(--pw-verde-2); color: var(--pw-verde); }
.pw-service { padding: 96px 0; }
.pw-service__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 64px; align-items: start; }
.pw-service__main .pw-icon-badge { margin-bottom: 24px; }
.pw-service__main .pw-content { font-size: 18.5px; }
.pw-service__subtitle { font-size: 19px; margin: 32px 0 10px; display: flex; align-items: center; gap: 10px; }
.pw-service__subtitle::before { content: ""; width: 18px; height: 3px; border-radius: 3px; background: var(--pw-amarelo); }
.pw-service__main p { color: var(--pw-texto-suave); }
.pw-service__aside { position: sticky; top: calc(var(--pw-header-h) + 32px); }
.pw-card--list { box-shadow: var(--pw-sombra); border-color: transparent; }
.pw-card--list .pw-btn { width: 100%; margin-top: 12px; }
.pw-checklist { list-style: none; margin: 0 0 18px; padding: 0; }
.pw-checklist li { display: flex; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--pw-borda); font-size: 16px; line-height: 1.5; }
.pw-checklist li:last-child { border-bottom: 0; }
.pw-checklist .pw-icon { width: 20px; height: 20px; color: var(--pw-verde); flex: none; margin-top: 2px; stroke-width: 2.4; }
.pw-note {
	margin-top: 28px; padding: 16px 20px; border-radius: 12px; background: var(--pw-amarelo-claro); border-left: 4px solid var(--pw-amarelo);
	font-size: 15px; color: #5F4A00 !important;
}
@media (max-width: 1023px) {
	.pw-service { padding: 72px 0; }
	.pw-service__grid { grid-template-columns: 1fr; gap: 36px; }
	.pw-service__aside { position: static; }
}

/* Projetos --------------------------------------------------------------- */
.pw-filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 40px; }
.pw-filter {
	padding: 10px 20px; border-radius: 999px; border: 1px solid var(--pw-borda); background: #fff; color: var(--pw-azul);
	font: 500 15px var(--pw-fonte); cursor: pointer;
}
.pw-filter.is-active { background: var(--pw-azul); border-color: var(--pw-azul); color: #fff; }
.pw-project__image { margin: 0 0 56px; border-radius: var(--pw-raio); overflow: hidden; box-shadow: var(--pw-sombra); }

/* Contato ---------------------------------------------------------------- */
.pw-contact { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 56px; align-items: start; }
.pw-contact__info .pw-content { font-size: 18px; color: var(--pw-texto-suave); }
.pw-contact__cards { list-style: none; margin: 32px 0 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.pw-contact-card { display: flex; gap: 18px; padding: 24px; border-radius: var(--pw-raio); background: var(--pw-fundo); border: 1px solid var(--pw-borda); }
.pw-contact-card .pw-icon-badge { width: 50px; height: 50px; border-radius: 15px; }
.pw-contact-card .pw-icon-badge .pw-icon { width: 24px; height: 24px; }
.pw-contact-card__title { font-size: 18px; margin-bottom: 4px; }
.pw-contact-card p { margin: 0 0 6px; color: var(--pw-texto-suave); font-size: 15.5px; line-height: 1.5; }
.pw-contact-card__value { font-weight: 600; font-size: 17px; word-break: break-word; }
.pw-contact-card__value--plain { color: var(--pw-azul) !important; }
.pw-card--form { padding: 44px; box-shadow: var(--pw-sombra); border-color: transparent; }
.pw-card--form > p { color: var(--pw-texto-suave); }
@media (max-width: 1023px) { .pw-contact { grid-template-columns: 1fr; } }
@media (max-width: 680px) { .pw-card--form { padding: 28px 20px; } }

/* Formulário ------------------------------------------------------------- */
.pw-form { margin-top: 8px; }
.pw-form__required { font-size: 14px; color: var(--pw-texto-suave); margin-bottom: 20px; }
.pw-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.pw-field { display: flex; flex-direction: column; gap: 8px; }
.pw-field--full { grid-column: 1 / -1; }
.pw-field label { font-weight: 600; font-size: 15.5px; color: var(--pw-azul); }
.pw-req { color: var(--pw-erro); }
.pw-field input[type="text"], .pw-field input[type="tel"], .pw-field select, .pw-field textarea {
	width: 100%; min-height: 52px; padding: 13px 16px; border-radius: 12px; border: 1.5px solid #CBD5D0; background: #fff;
	font: 400 16px/1.5 var(--pw-fonte); color: var(--pw-texto); transition: border-color .2s ease, box-shadow .2s ease;
}
.pw-field select {
	appearance: none; -webkit-appearance: none; padding-right: 44px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23173A5E' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center / 20px no-repeat;
}
.pw-field textarea { resize: vertical; min-height: 150px; }
.pw-field input::placeholder, .pw-field textarea::placeholder { color: #7A8794; }
.pw-field input:focus, .pw-field select:focus, .pw-field textarea:focus {
	outline: none; border-color: var(--pw-verde-2); box-shadow: 0 0 0 4px rgba(56, 162, 118, .18);
}
.pw-field [aria-invalid="true"] { border-color: var(--pw-erro) !important; background-color: var(--pw-erro-fundo) !important; }
.pw-field [aria-invalid="true"]:focus { box-shadow: 0 0 0 4px rgba(180, 35, 24, .15); }
.pw-field__error { margin: 0; font-size: 14.5px; color: var(--pw-erro); font-weight: 500; display: flex; gap: 6px; }
.pw-field__error[hidden], .pw-form-result[hidden] { display: none; }
.pw-field__error::before { content: "!"; display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; background: var(--pw-erro); color: #fff; font-size: 12px; font-weight: 700; flex: none; margin-top: 2px; }
.pw-field--check label { display: flex; gap: 12px; align-items: flex-start; font-weight: 400; color: var(--pw-texto); font-size: 15px; line-height: 1.5; cursor: pointer; }
.pw-field--check input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--pw-verde); flex: none; }
.pw-field--check [aria-invalid="true"] { outline: 2px solid var(--pw-erro); outline-offset: 2px; }
.pw-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pw-form__submit { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 28px; }
.pw-form__note { margin: 0; font-size: 14px; color: var(--pw-texto-suave); }
.pw-form-result { border-radius: 14px; padding: 18px 20px; margin-bottom: 22px; font-size: 15.5px; line-height: 1.55; }
.pw-form-result--erro { background: var(--pw-erro-fundo); color: var(--pw-erro); border: 1px solid #FECDCA; font-weight: 500; }
.pw-form-result--ok { display: flex; gap: 16px; background: var(--pw-ok-fundo); border: 1px solid #B7E1CA; color: var(--pw-texto); padding: 26px; }
.pw-form-result--ok > .pw-icon { width: 40px; height: 40px; padding: 8px; border-radius: 50%; background: var(--pw-grad); color: #fff; flex: none; stroke-width: 2.6; }
.pw-form-result__title { font-family: var(--pw-fonte-titulo); font-weight: 700; font-size: 20px; color: var(--pw-verde); margin-bottom: 6px; }
.pw-form-result--ok .pw-btn { margin-top: 6px; }
.pw-form-result:focus { outline: none; }
@media (max-width: 680px) { .pw-form__grid { grid-template-columns: 1fr; } .pw-form__submit .pw-btn { width: 100%; } }

/* Blog ------------------------------------------------------------------- */
.pw-blog { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; align-items: start; }
.pw-blog__main { min-width: 0; }
.pw-sidebar { display: flex; flex-direction: column; gap: 24px; position: sticky; top: calc(var(--pw-header-h) + 24px); }
.pw-sidebar__box { padding: 26px; border-radius: var(--pw-raio); background: var(--pw-fundo); border: 1px solid var(--pw-borda); position: relative; overflow: hidden; }
.pw-sidebar__title { font-size: 17px; margin-bottom: 14px; }
.pw-sidebar__list { list-style: none; margin: 0; padding: 0; }
.pw-sidebar__list li { padding: 8px 0; border-bottom: 1px solid var(--pw-borda); font-size: 15.5px; line-height: 1.45; }
.pw-sidebar__list li:last-child { border-bottom: 0; }
.pw-sidebar__list a { color: var(--pw-texto); text-decoration: none; }
.pw-sidebar__list a:hover { color: var(--pw-verde); }
.pw-sidebar__box--cta { background: var(--pw-grad-azul); border-color: transparent; color: rgba(255, 255, 255, .86); }
.pw-sidebar__box--cta .pw-sidebar__title { color: #fff; font-size: 19px; position: relative; z-index: 1; }
.pw-sidebar__box--cta p { font-size: 15px; position: relative; z-index: 1; }
.pw-sidebar__box--cta .pw-btn { position: relative; z-index: 1; width: 100%; }
.pw-search { display: flex; border: 1.5px solid #CBD5D0; border-radius: 12px; background: #fff; overflow: hidden; }
.pw-search:focus-within { border-color: var(--pw-verde-2); box-shadow: 0 0 0 4px rgba(56, 162, 118, .18); }
.pw-search input { flex: 1; min-width: 0; border: 0; padding: 12px 14px; font: 400 15.5px var(--pw-fonte); background: transparent; }
.pw-search input:focus { outline: none; }
.pw-search button { border: 0; background: transparent; color: var(--pw-azul); padding: 0 14px; cursor: pointer; display: inline-flex; align-items: center; }
.pw-search .pw-icon { width: 20px; height: 20px; }
.pagination, .post-navigation { margin-top: 48px; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 14px; border-radius: 999px;
	border: 1px solid var(--pw-borda); color: var(--pw-azul); text-decoration: none; font-weight: 600;
}
.pagination .page-numbers.current { background: var(--pw-azul); color: #fff; border-color: var(--pw-azul); }
.post-navigation .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.post-navigation a { display: block; padding: 20px; border-radius: 14px; border: 1px solid var(--pw-borda); text-decoration: none; color: var(--pw-azul); font-weight: 600; line-height: 1.4; height: 100%; }
.post-navigation .nav-next { text-align: right; }
.pw-nav-label { display: block; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: var(--pw-verde); margin-bottom: 6px; }
.pw-article__image { margin: 0 0 40px; border-radius: var(--pw-raio); overflow: hidden; }
.pw-share { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; margin: 48px 0 28px; padding-top: 28px; border-top: 1px solid var(--pw-borda); font-size: 15px; }
.pw-share span { font-weight: 600; color: var(--pw-azul); }
.pw-share a { font-weight: 600; }
.pw-author { display: flex; gap: 16px; align-items: center; padding: 22px; border-radius: 16px; background: var(--pw-fundo); }
.pw-author img { border-radius: 14px; background: #fff; padding: 6px; flex: none; }
.pw-author p { margin: 0; font-size: 15px; color: var(--pw-texto-suave); }
.pw-author .pw-author__name { font-weight: 600; color: var(--pw-azul); font-size: 16.5px; }
.pw-article-cta { margin-top: 32px; padding: 40px; border-radius: 24px; background: var(--pw-grad); color: #fff; position: relative; overflow: hidden; }
.pw-article-cta h2 { color: #fff; font-size: 26px; position: relative; z-index: 1; }
.pw-article-cta p, .pw-article-cta .pw-btn { position: relative; z-index: 1; }
@media (max-width: 1023px) {
	.pw-blog { grid-template-columns: 1fr; }
	.pw-sidebar { position: static; }
}
@media (max-width: 680px) { .post-navigation .nav-links { grid-template-columns: 1fr; } .pw-article-cta { padding: 28px 22px; } }

/* Rodapé ----------------------------------------------------------------- */
.pw-footer { position: relative; overflow: hidden; background: var(--pw-fundo); border-top: 1px solid var(--pw-borda); padding-top: 80px; }
.pw-footer__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)); gap: 48px; padding-bottom: 64px; }
.pw-footer__brand .pw-logo { margin-bottom: 22px; }
.pw-footer__brand .pw-logo__img { width: 220px; }
.pw-footer__brand p { font-size: 15.5px; color: var(--pw-texto-suave); max-width: 380px; }
.pw-footer__slogan { font-family: var(--pw-fonte-titulo); font-weight: 700; color: var(--pw-verde) !important; display: flex; gap: 10px; align-items: center; }
.pw-footer__slogan::before { content: ""; width: 22px; height: 3px; border-radius: 3px; background: var(--pw-amarelo); flex: none; }
.pw-footer__title { font-size: 16px; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 20px; }
.pw-footer__links, .pw-footer__links.pw-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.pw-footer__links a { color: var(--pw-texto); text-decoration: none; font-size: 15.5px; padding: 0; border-radius: 0; }
.pw-footer__links a:hover { color: var(--pw-verde); background: none; }
.pw-footer__links a[aria-current="page"]::after { display: none; }
.pw-footer__contact { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.pw-footer__contact li { display: flex; gap: 12px; align-items: flex-start; font-size: 15.5px; line-height: 1.45; }
.pw-footer__contact .pw-icon { width: 20px; height: 20px; color: var(--pw-verde); flex: none; margin-top: 1px; }
.pw-footer__contact a { color: var(--pw-texto); text-decoration: none; word-break: break-word; }
.pw-footer__contact a:hover { color: var(--pw-verde); }
.pw-footer__bottom { position: relative; z-index: 1; background: var(--pw-azul); color: rgba(255, 255, 255, .8); font-size: 14.5px; }
.pw-footer__bottom-inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding-top: 20px; padding-bottom: 20px; }
.pw-footer__bottom p { margin: 0; }
.pw-footer__bottom a { color: #fff; }
@media (max-width: 1023px) { .pw-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .pw-footer__grid { grid-template-columns: 1fr; gap: 36px; } .pw-footer { padding-top: 56px; } }

/* WhatsApp flutuante ----------------------------------------------------- */
.pw-whatsapp-float {
	position: fixed; right: 20px; bottom: 20px; z-index: 90; display: inline-flex; align-items: center; gap: 10px;
	height: 60px; padding: 0 18px; border-radius: 999px; background: var(--pw-grad); color: #fff; text-decoration: none;
	box-shadow: 0 14px 30px -10px rgba(23, 107, 72, .7); font-weight: 600; transition: transform .2s ease;
}
.pw-whatsapp-float:hover { color: #fff; transform: translateY(-3px); }
.pw-whatsapp-float .pw-icon { width: 26px; height: 26px; }
.pw-whatsapp-float__label { font-size: 15px; }
@media (max-width: 680px) { .pw-whatsapp-float { width: 58px; height: 58px; padding: 0; justify-content: center; } .pw-whatsapp-float__label { display: none; } }

/* Respiro geral em telas menores ----------------------------------------- */
@media (max-width: 680px) {
	body { font-size: 16.5px; }
	.pw-container { padding: 0 16px; }
	.pw-section { padding: 76px 0; }
	.pw-section--tight { padding: 52px 0; }
	.pw-section-head { margin-bottom: 40px; }
	.pw-lead, .pw-hero__text { font-size: 17px; }
	.pw-card { padding: 26px; }
	.pw-band { padding-bottom: 76px; }
	.pw-final { padding-bottom: 76px; }
	.pw-page-hero { padding: 60px 0 56px; }
	.pw-actions .pw-btn { width: 100%; }
}

/* Carrossel de depoimentos ---------------------------------------------- */
.pw-slider { position: relative; z-index: 1; --pw-per-view: 3; --pw-gap: 28px; }
.pw-slider__track {
	list-style: none; margin: 0; padding: 6px 2px 28px; display: grid; grid-auto-flow: column;
	grid-auto-columns: calc((100% - (var(--pw-per-view) - 1) * var(--pw-gap)) / var(--pw-per-view)); gap: var(--pw-gap);
	overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth;
	scrollbar-width: none; -ms-overflow-style: none;
}
.pw-slider__track::-webkit-scrollbar { display: none; }
.pw-slider__track:focus-visible { outline: 3px solid var(--pw-amarelo); outline-offset: 4px; border-radius: var(--pw-raio); }
.pw-slider__slide { scroll-snap-align: start; display: flex; }
.pw-slider__slide .pw-quote { width: 100%; }
.pw-slider__nav { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 8px; }
.pw-slider__arrow {
	display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%;
	border: 1.5px solid #CDD6D1; background: #fff; color: var(--pw-azul); cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
.pw-slider__arrow:hover { background: #1B7F54; border-color: #1B7F54; color: #fff; transform: translateY(-2px); }
.pw-slider__arrow[disabled] { opacity: .4; cursor: default; transform: none; background: #fff; color: var(--pw-azul); border-color: #CDD6D1; }
.pw-slider__arrow .pw-icon { width: 20px; height: 20px; stroke-width: 2.2; }
.pw-icon--flip { transform: scaleX(-1); }
.pw-slider__dots { display: flex; gap: 8px; }
.pw-slider__dot {
	width: 10px; height: 10px; padding: 0; border-radius: 999px; border: 0; background: #C9D3CE; cursor: pointer;
	transition: width .25s ease, background-color .25s ease;
}
.pw-slider__dot[aria-current="true"] { width: 30px; background: var(--pw-amarelo); }
.pw-slider:not(.is-ready) .pw-slider__nav { visibility: hidden; }
@media (max-width: 1023px) { .pw-slider { --pw-per-view: 2; --pw-gap: 20px; } }
@media (max-width: 680px) {
	.pw-slider { --pw-per-view: 1; --pw-gap: 16px; }
	.pw-slider__track { grid-auto-columns: 88%; }
}
@media (prefers-reduced-motion: reduce) { .pw-slider__track { scroll-behavior: auto; } }

/* Topo das páginas internas: bandeira cobrindo a seção inteira, com camada escura para leitura */
.pw-page-hero .pw-watermark--hero {
	inset: 0; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%;
	object-fit: cover; object-position: center 42%; transform: scale(1.04);
	opacity: 1; filter: saturate(1.05); -webkit-mask-image: none; mask-image: none;
}
.pw-page-hero::after {
	content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background:
		radial-gradient(ellipse 55% 75% at 50% 50%, rgba(13, 31, 51, .86) 0%, rgba(13, 31, 51, .74) 45%, rgba(13, 31, 51, .5) 100%),
		linear-gradient(180deg, rgba(13, 31, 51, .35) 0%, rgba(13, 31, 51, .6) 100%);
}
.pw-page-hero .pw-page-title, .pw-page-hero .pw-lead { text-shadow: 0 2px 18px rgba(0, 0, 0, .35); }
@media (max-width: 680px) {
	.pw-page-hero::after { background: linear-gradient(180deg, rgba(13, 31, 51, .62) 0%, rgba(13, 31, 51, .74) 100%); }
	.pw-page-hero .pw-watermark--hero { object-position: center center; }
}
