/*
 * PD Consultoria – seções da home e da página de Serviços (patterns pdconsultoria/*).
 * Carregado só na home e em /servicos/ (e no editor de blocos).
 */

/* ---------------------------------------------------------------- */
/* Base das seções                                                    */
/* ---------------------------------------------------------------- */

.pd-section {
	position: relative;
	padding-block: var(--pd-section-y);
	padding-inline: 0;
	margin-block: 0 !important;
	font: var(--pd-body-md);
	color: var(--pd-dark);
	background: var(--pd-canvas);
}
.pd-section--tight { padding-block: 0 var(--pd-section-y); }

.pd-section :is(h1, h2, h3, p, ul, ol, figure, blockquote, figcaption) { margin: 0; }
.pd-section :is(h1, h2, h3) { color: var(--pd-dark); font-family: var(--pd-font); text-transform: none; }
.pd-section .wp-block-group { margin-block: 0; }

/* Astra no modo "legacy" põe padding em todo .wp-block-group; zera dentro das
   seções novas. Os componentes com padding usam o mesmo prefixo (vêm depois). */
body :is(.pd-section, .pd-hero) .wp-block-group { padding: 0; }

/* Tema clássico: o WP reinsere .wp-block-group__inner-container em cada grupo.
   display: contents faz os filhos participarem direto do grid/flex do grupo. */
:where(.pd-section, .pd-hero) .wp-block-group__inner-container,
.pd-section > .wp-block-group__inner-container { display: contents; }

body :is(.pd-section, .pd-hero) .pd-container {
	box-sizing: content-box;
	max-width: var(--pd-container);
	margin-inline: auto !important;
	padding-inline: var(--pd-gutter);
}

.pd-grid { display: grid; gap: var(--pd-gap); }
.pd-grid > * { margin: 0 !important; min-width: 0; }
.pd-grid--3 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr)); }
@media (min-width: 640px) { .pd-grid--4, .pd-grid--3 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) {
	.pd-grid--4 { grid-template-columns: repeat(4, 1fr); }
	.pd-grid--3 { grid-template-columns: repeat(3, 1fr); }
}

.pd-split { display: grid; gap: clamp(2.5rem, 1.5rem + 3vw, 4rem); align-items: center; }
.pd-split > * { margin: 0 !important; min-width: 0; }
@media (min-width: 1024px) {
	.pd-split--media { grid-template-columns: 5fr 7fr; }
	.pd-split--form { grid-template-columns: 5fr 7fr; align-items: start; }
	.pd-split--servico { grid-template-columns: 5fr 7fr; align-items: start; }
}

/* Cabeçalho de seção */
.pd-section-head { max-width: 48rem; margin: 0 auto 3.5rem !important; text-align: center; display: grid; justify-items: center; gap: .875rem; }
.pd-section-head--split { max-width: none; text-align: left; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1.5rem; }
.pd-section-head__text { max-width: 40rem; display: grid; justify-items: start; gap: .875rem; }
.pd-section .pd-section-title { font: var(--pd-headline-lg); letter-spacing: -.01em; }
.pd-section .pd-section-lead { font: var(--pd-body-lg); color: var(--pd-text-muted); }

/* Selos (estilo de parágrafo "Selo PD") */
.pd-section .is-style-pd-badge,
.pd-hero .is-style-pd-badge {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	width: fit-content;
	padding: .35rem .875rem;
	border-radius: 999px;
	background: var(--pd-ice);
	color: var(--pd-blue);
	font: var(--pd-label-sm);
	letter-spacing: .06em;
	text-transform: uppercase;
}
.pd-section .pd-badge--white { background: #fff; border: 1px solid var(--pd-ice); }
.pd-section .pd-badge--solid { background: var(--pd-light); color: var(--pd-dark); }
body .wp-block-cover.pd-hero.pd-hero p.pd-badge--glass,
.pd-section .pd-badge--glass {
	background: rgba(255, 255, 255, .1);
	border: 1px solid rgba(138, 168, 232, .3);
	color: var(--pd-light);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.pd-badge--glass::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--pd-blue);
	box-shadow: 0 0 0 0 rgba(5, 76, 225, .6);
	animation: pd-pulse 2s infinite;
}
@keyframes pd-pulse { 70% { box-shadow: 0 0 0 8px rgba(5, 76, 225, 0); } 100% { box-shadow: 0 0 0 0 rgba(5, 76, 225, 0); } }

/* Card (estilo de grupo "Card PD") */
body :is(.pd-section, .pd-hero) .is-style-pd-card {
	background: #fff;
	border: 1px solid var(--pd-ice);
	border-radius: var(--pd-radius-lg);
	box-shadow: var(--pd-shadow-1);
	padding: 1.5rem;
	transition: border-color .2s, box-shadow .2s;
}
.is-style-pd-surface { background: #edf0f4; border-block: 1px solid var(--pd-ice); }

.pd-hero .pd-actions,
.pd-section .pd-actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2rem; }
.pd-section .pd-actions--center { justify-content: center; margin-top: 3rem; }
@media (max-width: 639px) {
	:is(.pd-section, .pd-hero) .pd-actions > .wp-block-button { width: 100%; }
	:is(.pd-section, .pd-hero) .pd-actions .wp-block-button__link { width: 100%; }
}

/* Caixa de ícone: o ícone vem da classe pd-i-* do próprio grupo */
.pd-feature, .pd-service, .pd-info, .pd-seal, .pd-servico__intro {
	--ib-size: 48px;
	--ib-icon: 24px;
	--ib-top: 1rem;
	--ib-left: 1rem;
	--ib-radius: var(--pd-radius);
	--ib-bg: var(--pd-ice);
	--ib-fg: var(--pd-blue);
	position: relative;
}
:is(.pd-feature, .pd-service, .pd-info, .pd-seal, .pd-servico__intro)::before,
:is(.pd-feature, .pd-service, .pd-info, .pd-seal, .pd-servico__intro)::after {
	content: "";
	position: absolute;
	transition: background-color .2s;
}
:is(.pd-feature, .pd-service, .pd-info, .pd-seal, .pd-servico__intro)::before {
	top: var(--ib-top);
	left: var(--ib-left);
	width: var(--ib-size);
	height: var(--ib-size);
	border-radius: var(--ib-radius);
	background: var(--ib-bg);
}
:is(.pd-feature, .pd-service, .pd-info, .pd-seal, .pd-servico__intro)::after {
	top: calc(var(--ib-top) + (var(--ib-size) - var(--ib-icon)) / 2);
	left: calc(var(--ib-left) + (var(--ib-size) - var(--ib-icon)) / 2);
	width: var(--ib-icon);
	height: var(--ib-icon);
	background: var(--ib-fg);
	-webkit-mask: var(--pd-icon) center / contain no-repeat;
	mask: var(--pd-icon) center / contain no-repeat;
}

/* ---------------------------------------------------------------- */
/* Hero                                                               */
/* ---------------------------------------------------------------- */

.wp-block-cover.pd-hero {
	min-height: 0;
	padding: 0;
	background: var(--pd-dark);
	color: #fff;
	overflow: hidden;
	align-items: stretch;
}
.pd-hero .wp-block-cover__image-background { filter: grayscale(1); }
.pd-hero .wp-block-cover__background {
	opacity: 1 !important;
	background: linear-gradient(90deg, var(--pd-dark) 0%, rgba(51, 51, 52, .93) 55%, rgba(24, 58, 140, .88) 100%) !important;
}
.pd-hero::before,
.pd-hero::after {
	content: "";
	position: absolute;
	z-index: 1;
	border-radius: 50%;
	filter: blur(64px);
	pointer-events: none;
}
.pd-hero::before { width: 24rem; height: 24rem; right: -6rem; top: -6rem; background: rgba(5, 76, 225, .25); }
.pd-hero::after { width: 20rem; height: 20rem; right: 25%; bottom: -6rem; background: rgba(138, 168, 232, .2); }
.pd-hero .wp-block-cover__inner-container { width: 100%; color: #fff; z-index: 2; }

body :is(.pd-section, .pd-hero) .pd-hero__grid {
	display: grid;
	gap: 3rem;
	align-items: center;
	padding-block: clamp(3.5rem, 2rem + 5vw, 6rem);
}
.pd-hero__grid > * { margin: 0 !important; min-width: 0; }
@media (min-width: 1024px) { .pd-hero__grid { grid-template-columns: 7fr 5fr; } }

body .wp-block-cover.pd-hero .pd-hero__title,
.pd-page-hero .pd-page-hero__title {
	font: var(--pd-display);
	letter-spacing: -.02em;
	color: #fff;
	margin-top: 1.5rem;
}
body .pd-page-hero p.pd-hero__lead,
body .wp-block-cover.pd-hero.pd-hero p.pd-hero__lead {
	font: 400 clamp(1rem, .95rem + .3vw, 1.125rem) / 1.65 var(--pd-font);
	color: var(--pd-ice);
	max-width: 36rem;
	margin-top: 1.25rem;
}

body :is(.pd-section, .pd-hero) .pd-hero__metrics {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	margin-top: 2.5rem !important;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(255, 255, 255, .1);
}
.pd-hero__metrics > * { margin: 0 !important; }
body .wp-block-cover.pd-hero.pd-hero p.pd-metric__value { font: 800 clamp(1.25rem, .9rem + 1.3vw, 1.875rem) / 1.2 var(--pd-font); color: var(--pd-light); margin: 0; }
body .wp-block-cover.pd-hero.pd-hero p.pd-metric__value--white { color: #fff; }
body .wp-block-cover.pd-hero.pd-hero p.pd-metric__label { font: 500 .8125rem / 1.4 var(--pd-font); color: rgba(227, 231, 237, .85); margin: .25rem 0 0; }

/* Painel ilustrativo */
.pd-panel {
	position: relative;
	padding: clamp(1.25rem, 1rem + 1vw, 1.75rem);
	border-radius: var(--pd-radius-xl);
	background: #fff;
	color: var(--pd-dark);
	border: 1px solid var(--pd-ice);
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .35);
	font-family: var(--pd-font);
}
.pd-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--pd-ice); }
.pd-panel__eyebrow { display: block; font: var(--pd-label-sm); letter-spacing: .06em; text-transform: uppercase; color: var(--pd-blue); }
.pd-panel__title { display: block; font: 700 1.125rem / 1.35 var(--pd-font); }
.pd-panel__icon { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: var(--pd-radius-lg); background: var(--pd-ice); color: var(--pd-blue); }
.pd-panel__icon::before { width: 22px; height: 22px; margin: 0; vertical-align: 0; }
.pd-panel__chart { margin-top: 1rem; padding: 1rem; border-radius: var(--pd-radius-lg); background: var(--pd-surface-2); border: 1px solid var(--pd-ice); }
.pd-panel__chart-head { display: flex; justify-content: space-between; align-items: center; font: 600 .75rem / 1.3 var(--pd-font); color: var(--pd-text-muted); }
.pd-panel__up { color: var(--pd-blue); }
.pd-panel__up::before { margin: 0; width: 20px; height: 20px; }
.pd-panel svg { display: block; width: 100%; height: 96px; margin: .75rem 0; overflow: visible; }
.pd-panel__kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; text-align: center; }
.pd-panel__kpis > div { padding: .625rem .25rem; border-radius: var(--pd-radius); background: #fff; border: 1px solid var(--pd-ice); box-shadow: var(--pd-shadow-1); }
.pd-panel__kpis span { display: block; font: 500 .6875rem / 1.3 var(--pd-font); color: var(--pd-text-muted); }
.pd-panel__kpis strong { display: block; font: 700 .8125rem / 1.35 var(--pd-font); color: var(--pd-dark); }
.pd-panel__kpis .is-blue { color: var(--pd-blue); }
.pd-panel__foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; margin-top: 1rem; font: 600 .75rem / 1.3 var(--pd-font); color: var(--pd-text-muted); }
.pd-panel__foot .pd-ico::before { color: var(--pd-blue); width: 18px; height: 18px; }
@media (max-width: 599px) { .pd-hero .wp-block-html, .pd-hero .pd-panel { display: none; } }

/* ---------------------------------------------------------------- */
/* Diferenciais                                                       */
/* ---------------------------------------------------------------- */

.pd-diferenciais { background: var(--pd-ice); padding-block: 3.5rem; }
.pd-grid--5 { grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 560px) { .pd-grid--5 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 768px) { .pd-grid--5 { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1200px) { .pd-grid--5 { grid-template-columns: repeat(5, 1fr); } }

body :is(.pd-section, .pd-hero) .pd-feature {
	padding: 1rem 1rem 1rem calc(1rem + var(--ib-size) + .875rem);
	min-height: calc(var(--ib-size) + 2rem);
	background: #fff;
	border-radius: var(--pd-radius-lg);
	border: 1px solid #fff;
	transition: box-shadow .2s;
}
.pd-feature:hover { box-shadow: var(--pd-shadow-2); --ib-bg: var(--pd-blue); --ib-fg: #fff; }
.pd-section .pd-feature__title { font: var(--pd-title-sm); }
.pd-section .pd-feature__text { font: 400 .75rem / 1.55 var(--pd-font); color: var(--pd-text-muted); margin-top: .25rem; }

/* ---------------------------------------------------------------- */
/* Serviços (cards)                                                   */
/* ---------------------------------------------------------------- */

.pd-servicos { background: var(--pd-canvas); }
body :is(.pd-section, .pd-hero) .pd-service {
	--ib-top: 1.5rem;
	--ib-left: 1.5rem;
	--ib-icon: 26px;
	display: flex;
	flex-direction: column;
	padding-top: calc(1.5rem + var(--ib-size) + 1.25rem);
}
.pd-service:hover { border-color: var(--pd-light); box-shadow: var(--pd-shadow-2); --ib-bg: var(--pd-blue); --ib-fg: #fff; }
.pd-section .pd-service__title { font: var(--pd-headline-sm); }
.pd-section .pd-service__text { font: var(--pd-body-sm); color: var(--pd-text-muted); margin-top: .75rem; }
.pd-section .pd-tags { display: flex; flex-wrap: wrap; gap: .375rem; list-style: none; padding: 0; margin: 1.25rem 0 1.5rem; }
.pd-section .pd-tags li { margin: 0; padding: .25rem .625rem; border-radius: var(--pd-radius-sm); background: var(--pd-ice); font: 500 .6875rem / 1.3 var(--pd-font); color: var(--pd-dark); }
.pd-section .pd-service__more { margin-top: auto; padding-top: 1.25rem; border-top: 1px solid var(--pd-ice); }

/* ---------------------------------------------------------------- */
/* Chamada para diagnóstico                                           */
/* ---------------------------------------------------------------- */

.pd-cta-wrap { background: var(--pd-canvas); }
body :is(.pd-section, .pd-hero) .pd-cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem 2rem;
	padding: clamp(1.75rem, 1rem + 3vw, 2.75rem);
	border-radius: var(--pd-radius-xl);
	background: linear-gradient(90deg, var(--pd-dark), var(--pd-blue));
	color: #fff;
	box-shadow: var(--pd-shadow-3);
}
.pd-cta__text { flex: 1 1 32rem; max-width: 42rem; display: grid; justify-items: start; gap: .5rem; }
.pd-section .pd-cta__title { font: 700 clamp(1.375rem, 1.1rem + 1vw, 1.875rem) / 1.25 var(--pd-font); color: #fff; margin-top: .25rem; }
.pd-cta__text p:not(.is-style-pd-badge) { color: var(--pd-ice); font: var(--pd-body-lg); }
.pd-section .pd-cta__actions { margin: 0; }
@media (max-width: 767px) {
	.pd-cta { text-align: center; justify-content: center; }
	.pd-cta__text { justify-items: center; }
	.pd-section .pd-cta__actions, .pd-cta__actions .wp-block-button, .pd-cta__actions .wp-block-button__link { width: 100%; }
}

/* ---------------------------------------------------------------- */
/* Sobre                                                              */
/* ---------------------------------------------------------------- */

.pd-sobre { background: #fff; border-top: 1px solid var(--pd-ice); }
.pd-sobre__media { max-width: 28rem; width: 100%; margin-inline: auto !important; }
.pd-section .pd-portrait { position: relative; overflow: hidden; border-radius: var(--pd-radius-xl); background: var(--pd-ice); box-shadow: var(--pd-shadow-3); border: 1px solid var(--pd-ice); }
.pd-portrait img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; }
.pd-section .pd-portrait figcaption {
	position: absolute;
	inset: auto 0 0;
	margin: 0;
	padding: 4rem 1.5rem 1.5rem;
	background: linear-gradient(to top, rgba(51, 51, 52, .94), rgba(51, 51, 52, 0));
	color: var(--pd-ice);
	font: 400 .8125rem / 1.5 var(--pd-font);
	text-align: left;
}
.pd-portrait figcaption strong { display: block; font: 700 1.25rem / 1.3 var(--pd-font); color: #fff; }

body :is(.pd-section, .pd-hero) .pd-seal {
	--ib-size: 40px;
	--ib-icon: 22px;
	--ib-radius: 50%;
	--ib-top: calc(50% - 20px);
	margin-top: 1rem !important;
	padding: 1rem 1rem 1rem calc(1rem + var(--ib-size) + .875rem);
	background: #fff;
	border: 1px solid var(--pd-ice);
	border-radius: var(--pd-radius-lg);
	box-shadow: var(--pd-shadow-2);
}
.pd-section .pd-seal__title { font: var(--pd-title-sm); }
.pd-section .pd-seal__text { font: 400 .75rem / 1.5 var(--pd-font); color: var(--pd-text-muted); }

.pd-sobre__text { display: grid; gap: 1.125rem; justify-items: start; }
.pd-sobre__text > * { margin: 0 !important; }
.pd-sobre__text > p:not([class]) { font: 400 .9375rem / 1.7 var(--pd-font); color: var(--pd-text-muted); }
.pd-section .wp-block-quote.pd-quote {
	width: 100%;
	box-sizing: border-box;
	margin: .25rem 0;
	padding: 1.25rem 1.5rem;
	border: 0;
	border-left: 4px solid var(--pd-blue);
	border-radius: 0 var(--pd-radius-lg) var(--pd-radius-lg) 0;
	background: var(--pd-surface-2);
}
.pd-quote p { font: italic 600 clamp(1rem, .95rem + .3vw, 1.125rem) / 1.5 var(--pd-font); color: var(--pd-dark); }
.pd-pillars { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; width: 100%; }
.pd-pillars > * { margin: 0 !important; }
.pd-pillars > :last-child { grid-column: 1 / -1; }
@media (min-width: 560px) { .pd-pillars { grid-template-columns: repeat(3, 1fr); } .pd-pillars > :last-child { grid-column: auto; } }
body :is(.pd-section, .pd-hero) .pd-pillar { padding: .875rem 1rem; border-radius: var(--pd-radius-lg); background: var(--pd-ice); }
.pd-section .pd-pillar__label { font: 600 .6875rem / 1.3 var(--pd-font); color: var(--pd-text-muted); }
.pd-section .pd-pillar__value { font: 700 .875rem / 1.35 var(--pd-font); color: var(--pd-dark); margin-top: .125rem; }
.pd-section .pd-pillar__value.is-blue { color: var(--pd-blue); }

/* ---------------------------------------------------------------- */
/* Como funciona                                                      */
/* ---------------------------------------------------------------- */

.pd-section .pd-steps { list-style: none; padding: 0; margin: 0; counter-reset: pd-step; }
body :is(.pd-section, .pd-hero) .pd-step {
	position: relative;
	counter-increment: pd-step;
	padding-top: calc(1.5rem + 40px + 1rem);
}
.pd-step:hover { box-shadow: var(--pd-shadow-2); }
.pd-step::before {
	content: counter(pd-step);
	position: absolute;
	top: 1.5rem;
	left: 1.5rem;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--pd-blue);
	color: #fff;
	font: 700 1rem / 1 var(--pd-font);
	box-shadow: var(--pd-shadow-1);
}
.pd-step::after {
	content: "";
	position: absolute;
	top: calc(1.5rem + 8px);
	right: 1.5rem;
	width: 24px;
	height: 24px;
	background: var(--pd-light);
	-webkit-mask: var(--pd-icon) center / contain no-repeat;
	mask: var(--pd-icon) center / contain no-repeat;
}
.pd-step:last-child::before { background: var(--pd-dark); }
.pd-step:last-child::after { background: var(--pd-blue); }
.pd-section .pd-step__title { font: var(--pd-headline-sm); margin-bottom: .5rem; }
.pd-section .pd-step__text { font: 400 .875rem / 1.6 var(--pd-font); color: var(--pd-text-muted); }

/* ---------------------------------------------------------------- */
/* Depoimentos                                                        */
/* ---------------------------------------------------------------- */

.pd-depoimentos { background: #fff; }
.pd-section .pd-google-stamp {
	display: inline-flex;
	align-items: center;
	gap: .875rem;
	padding: .75rem 1rem;
	border-radius: var(--pd-radius-lg);
	border: 1px solid var(--pd-ice);
	background: var(--pd-surface-2);
	box-shadow: var(--pd-shadow-1);
	font: 600 .75rem / 1.35 var(--pd-font);
	max-width: 22rem;
}
.pd-google-stamp__g { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 50%; background: #fff; border: 1px solid var(--pd-ice); color: var(--pd-blue); font: 700 1.125rem / 1 var(--pd-font); }

.pd-reviews { gap: 2rem; }
body :is(.pd-section, .pd-hero) .pd-review {
	position: relative; /* contém o .screen-reader-text dentro do carrossel */
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 1.75rem;
	border-radius: var(--pd-radius-lg);
	border: 1px solid var(--pd-ice);
	background: var(--pd-surface-2);
	box-shadow: var(--pd-shadow-1);
	transition: border-color .2s;
}
.pd-review:hover { border-color: var(--pd-light); }
.pd-section .pd-review__stars {
	width: 100px;
	height: 18px;
	background: var(--pd-star);
	-webkit-mask: var(--pd-star-icon) left center / 20px 18px repeat-x;
	mask: var(--pd-star-icon) left center / 20px 18px repeat-x;
}
.pd-section .wp-block-quote.pd-review__text { margin: 0; padding: 0; border: 0; background: none; font-style: normal; }
.pd-review__text p { font: italic 400 .875rem / 1.65 var(--pd-font); color: var(--pd-dark); }
.pd-section .pd-review__author { margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--pd-ice); font: 400 .75rem / 1.5 var(--pd-font); color: var(--pd-text-muted); }
.pd-review__author strong { font: 700 .875rem / 1.4 var(--pd-font); color: var(--pd-dark); }

/* No celular vira carrossel com rolagem horizontal (scroll-snap, sem JS) */
@media (max-width: 767px) {
	.pd-grid.pd-scroll-x {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: 85%;
		gap: 1rem;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		padding-bottom: .75rem;
		scrollbar-width: thin;
	}
	.pd-scroll-x > * { scroll-snap-align: start; }
}

/* ---------------------------------------------------------------- */
/* Contato                                                            */
/* ---------------------------------------------------------------- */

.pd-contato { background: var(--pd-canvas); border-top: 1px solid var(--pd-ice); }
.pd-contato__info { display: grid; gap: .875rem; justify-items: start; }
.pd-contato__info > * { margin: 0 !important; }
.pd-contato__info > .pd-section-lead { margin-bottom: .75rem !important; font: var(--pd-body-md); }
body :is(.pd-section, .pd-hero) .pd-info {
	--ib-top: calc(50% - 24px);
	width: 100%;
	box-sizing: border-box;
	padding: 1rem 1rem 1rem calc(1rem + var(--ib-size) + 1rem);
	min-height: calc(var(--ib-size) + 2rem);
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: #fff;
	border: 1px solid var(--pd-ice);
	border-radius: var(--pd-radius-lg);
	box-shadow: var(--pd-shadow-1);
	transition: box-shadow .2s;
}
.pd-info--primary { --ib-bg: var(--pd-blue); --ib-fg: #fff; }
.pd-info--primary::before { box-shadow: 0 4px 12px rgba(5, 76, 225, .3); }
.pd-info--primary:hover { box-shadow: var(--pd-shadow-2); }
.pd-section .pd-info__label { font: 600 .75rem / 1.4 var(--pd-font); color: var(--pd-text-muted); }
.pd-section .pd-info__value { font: 700 1rem / 1.4 var(--pd-font); color: var(--pd-dark); }
.pd-section .pd-info__value--lg { font-size: 1.125rem; }
.pd-info__value a { color: inherit; text-decoration: none; }
.pd-info__value a::after { content: ""; position: absolute; inset: 0; } /* card inteiro clicável */
.pd-section .pd-info__note { font: 400 .75rem / 1.4 var(--pd-font); color: var(--pd-text-muted); }
.pd-section .pd-notice { display: flex; align-items: center; gap: .75rem; margin-top: .75rem !important; padding: 1rem; border-radius: var(--pd-radius-lg); background: var(--pd-ice); font: 400 .75rem / 1.55 var(--pd-font); color: var(--pd-dark); }
.pd-notice.pd-ico::before { width: 24px; height: 24px; margin: 0; color: var(--pd-blue); }

body :is(.pd-section, .pd-hero) .pd-form-card {
	padding: clamp(1.5rem, 1rem + 2vw, 2.5rem);
	border-radius: var(--pd-radius-xl);
	background: #fff;
	border: 1px solid var(--pd-ice);
	box-shadow: var(--pd-shadow-2);
}
.pd-section .pd-form-card__title { font: 700 1.25rem / 1.35 var(--pd-font); }
.pd-section .pd-form-card__text { font: 400 .75rem / 1.5 var(--pd-font); color: var(--pd-text-muted); margin: .25rem 0 1.5rem; }

/* ---------------------------------------------------------------- */
/* Página de Serviços                                                 */
/* ---------------------------------------------------------------- */

.pd-page-hero {
	background: linear-gradient(90deg, var(--pd-dark) 0%, rgba(51, 51, 52, .96) 55%, #1c3f8f 100%);
	color: #fff;
	overflow: hidden;
}
.pd-page-hero::before { content: ""; position: absolute; width: 24rem; height: 24rem; right: -6rem; top: -8rem; border-radius: 50%; background: rgba(5, 76, 225, .25); filter: blur(64px); pointer-events: none; }
.pd-page-hero .pd-container { position: relative; }
.pd-section .pd-toc { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 2rem 0 0; }
.pd-toc li { margin: 0; }
.pd-toc a {
	display: inline-block;
	padding: .5rem .875rem;
	border-radius: var(--pd-radius-sm);
	border: 1px solid rgba(255, 255, 255, .18);
	background: rgba(255, 255, 255, .08);
	color: var(--pd-ice);
	font: 600 .8125rem / 1.3 var(--pd-font);
	text-decoration: none;
	transition: background-color .15s, border-color .15s;
}
.pd-toc a:hover { background: var(--pd-blue); border-color: var(--pd-blue); color: #fff; }

.pd-servico { background: #fff; border-top: 1px solid var(--pd-ice); }
.pd-servico--alt { background: var(--pd-canvas); }
body :is(.pd-section, .pd-hero) .pd-servico__intro {
	--ib-size: 56px;
	--ib-icon: 28px;
	--ib-top: 0px;
	--ib-left: 0px;
	--ib-radius: var(--pd-radius-lg);
	display: grid;
	justify-items: start;
	gap: .875rem;
	padding-top: calc(56px + 1.25rem);
}
.pd-servico__intro > * { margin: 0 !important; }
.pd-servico__intro .pd-actions { margin-top: 1rem !important; }
@media (min-width: 1024px) {
	.pd-servico__intro { position: sticky; top: calc(var(--pd-header-h) + var(--pd-topbar-h) + 1.5rem); }
}
.pd-section .pd-servico__num { font: var(--pd-label-sm); letter-spacing: .12em; color: var(--pd-blue); }
body :is(.pd-section, .pd-hero) .pd-servico__topics { padding: clamp(1.5rem, 1rem + 1.5vw, 2rem); }
.pd-section .pd-servico__topics-title { font: var(--pd-label-sm); letter-spacing: .06em; text-transform: uppercase; color: var(--pd-text-muted); margin-bottom: 1.25rem; }
.pd-section .pd-checklist { display: grid; gap: .875rem 1.5rem; list-style: none; padding: 0; margin: 0; }
@media (min-width: 640px) { .pd-section .pd-checklist { grid-template-columns: repeat(2, 1fr); } }
.pd-checklist li { position: relative; margin: 0; padding-left: 2rem; font: 500 .9375rem / 1.5 var(--pd-font); color: var(--pd-dark); }
.pd-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .05em;
	width: 1.375rem;
	height: 1.375rem;
	border-radius: 50%;
	background: var(--pd-blue-tint);
}
.pd-checklist li::after {
	content: "";
	position: absolute;
	left: .25rem;
	top: calc(.05em + .25rem);
	width: .875rem;
	height: .875rem;
	background: var(--pd-blue);
	-webkit-mask: var(--pd-check) center / contain no-repeat;
	mask: var(--pd-check) center / contain no-repeat;
}

/* ---------------------------------------------------------------- */
/* Ajustes do Astra só nas páginas do leiaute novo                    */
/* ---------------------------------------------------------------- */

.pd-layout .site-content > .ast-container { max-width: none; padding: 0; display: block; }
.pd-layout .site-main > article { margin: 0; padding: 0; }
.pd-layout .entry-content { margin: 0; }
.pd-layout .entry-content > .alignfull { margin-inline: 0; max-width: none; width: 100%; }
