/* Hemerson Dazilio — brand layer on top of theme.json.
   Breakpoints follow the approved previews: 640px and 1000px. */

:root {
	--hd-azul: var(--wp--preset--color--azul, #1514D8);
	--hd-verde: var(--wp--preset--color--verde, #3EF23F);
	--hd-magenta: var(--wp--preset--color--magenta, #E90064);
	--hd-preto: var(--wp--preset--color--preto, #171719);
	--hd-campo: var(--wp--preset--color--campo, #E3E3DF);
	--hd-leitura: var(--wp--preset--color--leitura, #5E5E66);
	--hd-lora: var(--wp--preset--font-family--lora, Lora, Georgia, serif);
	--hd-h1: 50px;
	--hd-h2: 34px;
	--hd-linha: #D3D3CE;
	--ease-out: cubic-bezier(0.22, 1, 0.36, 1);
	--ease-in-out: cubic-bezier(0.76, 0, 0.24, 1);
	--ease-soft: cubic-bezier(0.33, 1, 0.68, 1);
	--t-press: 140ms;
	--t-hover: 180ms;
	--t-ui: 240ms;
	--t-reveal: 800ms;
}
@media (min-width: 640px) { :root { --hd-h1: 68px; --hd-h2: 44px; } }
@media (min-width: 1000px) { :root { --hd-h1: 84px; --hd-h2: 52px; } }

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
html { scroll-padding-top: 110px; }

/* ---------- Flow between top-level parts and sections ---------- */
.wp-site-blocks > * { margin-block: 0; }
.hd-principal { margin-block: 0; }
.hd-principal > *,
.hd-conteudo > .alignfull,
.hd-principal > .wp-block-post-content { margin-block: 0; }
.hd-conteudo > :first-child { margin-top: 0; }

h1, h2, h3, h4 { margin-top: 0; }
h2.wp-block-heading { margin-bottom: 0; }
p { margin-top: 0; }
a { color: inherit; }
strong, b { font-weight: 700; }

/* Narrow text blocks start at the content edge instead of being centred. */
.is-layout-constrained > :where(:not(.alignfull):not(.alignwide):not(.aligncenter):not(.alignleft):not(.alignright):not(.has-text-align-center)) {
	margin-left: max(0px, calc((100% - var(--wp--style--global--content-size, 1200px)) / 2)) !important;
	margin-right: auto !important;
}

/* ---------- Sections ---------- */
.hd-secao { padding-top: 88px; padding-bottom: 88px; }
.hd-sem-topo { padding-top: 0 !important; }
@media (min-width: 640px) { .hd-secao { padding-top: 112px; padding-bottom: 112px; } }
@media (min-width: 1000px) { .hd-secao { padding-top: 144px; padding-bottom: 144px; } }

/* ---------- Opening (hero) ---------- */
.hd-abertura { padding-top: 40px; padding-bottom: 72px; display: flow-root; }
.hd-abertura h1 { max-width: none; }
.hd-abertura h1.wp-block-heading, .hd-abertura h1.wp-block-post-title { margin: 40px 0 0; }
.hd-abertura h1 + * { margin-top: 22px; }
.hd-abertura p { font-size: 19px; max-width: 28ch; }
.hd-abertura .wp-block-buttons { margin-top: 30px; }
.hd-abertura .is-style-link { margin-top: 18px; }
.hd-abertura .wp-block-buttons + .is-style-link { margin-top: 48px; }
.hd-abertura--retrato:not(.hd-abertura--sobre) .wp-block-buttons + .is-style-link { margin-top: 18px; }
.hd-abertura .is-style-link.hd-link-solto { margin-top: 48px; }
.hd-abertura .is-style-meta { color: #D5D5F7; font-size: 15px; margin-top: 18px; max-width: 28ch; }
.hd-abertura .is-style-erro { margin: 40px 0 -22px; }
.hd-abertura .is-style-erro + h1.wp-block-heading { margin-top: 30px; }
@media (min-width: 640px) { .hd-abertura h1 { max-width: 14ch; } }
@media (min-width: 1000px) {
	.hd-abertura { padding-top: 72px; padding-bottom: 120px; }
	.hd-abertura h1.wp-block-heading, .hd-abertura h1.wp-block-post-title { margin-top: 0; }
	.hd-abertura .is-style-erro { margin-top: 0; }
}

.hd-abertura > p:last-child:not(.is-style-link), .hd-abertura > .wp-block-buttons:last-child, .hd-heroi-texto > p:last-child:not(.is-style-link) { margin-bottom: 30px; }

/* case opening */
.hd-abertura--case { padding-bottom: 64px; }
.hd-abertura--case .hd-subtitulo,
.hd-abertura--case .wp-block-post-excerpt { margin-top: 22px; }
.hd-abertura--case .wp-block-post-excerpt__excerpt { font-size: 20px; max-width: 40ch; margin: 0; }
.hd-abertura--case .wp-block-post-excerpt__more-text { display: none; }
.hd-abertura--case .is-style-meta { margin-top: 20px; max-width: 28ch; }
.hd-abertura--case .is-style-meta:empty { display: none; }
@media (min-width: 1000px) {
	.hd-abertura--case { padding-bottom: 96px; }
	.hd-abertura--case h1 { max-width: 12ch; }
}

/* opening with portrait */
.hd-abertura--retrato { padding-top: 0; padding-bottom: 0; }
.hd-abertura--retrato .hd-heroi-grid { display: block; margin: 0; }
.hd-abertura--retrato .hd-heroi-grid > .wp-block-column { margin: 0; }
.hd-abertura--sobre .hd-heroi-texto { padding-top: 40px; }
.hd-abertura--sobre .hd-heroi-texto p { font-size: 20px; max-width: 40ch; }
.hd-abertura .hd-retrato.hd-retrato { aspect-ratio: 4 / 5; margin: 56px -20px 0; }
.hd-abertura .is-style-legenda { font-size: 19px; color: #D5D5F7; padding: 12px 0 40px; margin: 0; max-width: 28ch; }
@media (min-width: 640px) {
	.hd-abertura .hd-retrato.hd-retrato { aspect-ratio: 16 / 10; margin: 56px 0 0; }
}
@media (min-width: 1000px) {
	.hd-abertura--retrato { padding-top: 48px; }
	.hd-abertura--retrato .hd-heroi-grid { display: grid; grid-template-columns: 7fr 5fr; gap: 64px; align-items: end !important; }
	.hd-abertura--retrato .hd-heroi-texto { padding-bottom: 96px; }
	.hd-abertura--sobre .hd-heroi-texto { padding-top: 0; }
	.hd-abertura--retrato .hd-retrato.hd-retrato { margin: 0; aspect-ratio: 4 / 5; }
}
.hd-heroi-imagem > figure.wp-block-image { margin: 56px -20px 0; }
.hd-heroi-imagem > figure img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
@media (min-width: 640px) { .hd-heroi-imagem > figure.wp-block-image { margin: 56px 0 0; } .hd-heroi-imagem > figure img { aspect-ratio: 16 / 10; } }
@media (min-width: 1000px) { .hd-heroi-imagem > figure.wp-block-image { margin: 0; } .hd-heroi-imagem > figure img { aspect-ratio: 4 / 5; } }

/* max-width helpers (Avançado › Classes CSS) */
.hd-abertura .hd-ch-28, .hd-ch-28 { max-width: 28ch; }
.hd-abertura .hd-ch-32, .hd-ch-32 { max-width: 32ch; }
.hd-abertura .hd-ch-38, .hd-ch-38 { max-width: 38ch; }
.hd-abertura .hd-ch-40, .hd-ch-40 { max-width: 40ch; }
.hd-abertura .hd-ch-44, .hd-ch-44 { max-width: 44ch; }
.hd-abertura .hd-ch-46, .hd-ch-46 { max-width: 46ch; }
.hd-abertura .hd-ch-48, .hd-ch-48 { max-width: 48ch; }
.hd-abertura .hd-fs-20 { font-size: 20px; }
@media (min-width: 1000px) {
	.hd-abertura h1.hd-ch-12 { max-width: 12ch; }
	.hd-abertura h1.hd-ch-13 { max-width: 13ch; }
}

/* ---------- Typography variants ---------- */
.is-style-rotulo { font-size: 15px; font-weight: 700; color: var(--hd-azul); }
.is-style-rotulo + .wp-block-heading { margin-top: 14px; }
.has-azul-background-color .is-style-rotulo { color: var(--hd-verde); }
.is-style-lead { font-size: 19px; max-width: 52ch; }
.wp-block-heading + .is-style-lead { margin-top: 24px; }
.is-style-meta { font-size: 14px; font-weight: 500; color: var(--hd-leitura); }
.is-style-observacao { font-size: 17px; color: var(--hd-leitura); max-width: 58ch; }
.is-style-observacao strong { color: var(--hd-preto); }
.is-style-sinais + .is-style-observacao { margin-top: 48px; }
.is-style-legenda { font-size: 13px; color: var(--hd-leitura); }
.is-style-erro { color: var(--hd-magenta); font-weight: 600; font-size: 17px; }
.has-azul-background-color .is-style-erro { color: #fff; background: var(--hd-magenta); display: inline-block; padding: 2px 8px; }
.is-style-pendente, mark.hd-pendente { background: #FFF0F6; border-left: 3px solid var(--hd-magenta); padding: 2px 6px; color: inherit; }

.is-style-frase, .is-style-frase-grande, .is-style-fecho, .is-style-lora, .wp-block-heading.is-style-lora {
	font-family: var(--hd-lora);
	font-weight: 400;
}
.is-style-frase { font-size: 30px; line-height: 1.2; }
.is-style-frase em { font-style: italic; color: var(--hd-magenta); }
.has-azul-background-color .is-style-frase em { color: var(--hd-verde); }
@media (min-width: 640px) { .is-style-frase { font-size: 34px; max-width: 26ch; } }
@media (min-width: 1000px) { .is-style-frase { font-size: 44px; max-width: 24ch; } }

.is-style-frase-grande { font-size: 44px; line-height: 1.08; max-width: 16ch; }
@media (min-width: 640px) { .is-style-frase-grande { font-size: 64px; } }
@media (min-width: 1000px) { .is-style-frase-grande { font-size: 88px; } }

.is-style-fecho { font-size: 54px; line-height: 1.02; letter-spacing: -0.02em; }
@media (min-width: 640px) { .is-style-fecho { font-size: 80px; } }
@media (min-width: 1000px) { .is-style-fecho { font-size: 112px; } }

.wp-block-heading.is-style-lora { letter-spacing: -0.01em; line-height: 1.12; font-size: 36px; max-width: 22ch; }
@media (min-width: 640px) { .wp-block-heading.is-style-lora { font-size: 48px; } }
@media (min-width: 1000px) { .wp-block-heading.is-style-lora { font-size: 60px; } }
.wp-block-heading.hd-tit { max-width: 20ch; }
.wp-block-heading.hd-tit.is-style-lora { max-width: 22ch; }

/* links */
.is-style-link a, a.hd-link {
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 5px;
	text-decoration-thickness: 2px;
	transition: text-underline-offset var(--t-hover) var(--ease-out);
}
@media (hover: hover) { .is-style-link a:hover, a.hd-link:hover, .is-style-nota a:hover { text-underline-offset: 9px; } }
.wp-block-heading + .is-style-link { margin-top: 24px; }

/* note & box */
.is-style-nota { background: var(--hd-campo); padding: 28px 24px; font-size: 19px; font-weight: 500; max-width: 760px; box-sizing: border-box; }
.is-style-nota a { display: inline-block; margin-top: 12px; font-weight: 700; text-underline-offset: 5px; text-decoration-thickness: 2px; transition: text-underline-offset var(--t-hover) var(--ease-out); }
.is-style-caixa { background: var(--hd-campo); padding: 28px 24px; margin-top: 32px !important; margin-bottom: 32px; font-size: 19px; font-weight: 500; max-width: 760px; }
.has-campo-background-color .is-style-caixa { background: #fff; }
.is-style-caixa strong:first-child { display: block; color: var(--hd-azul); font-size: 15px; margin-bottom: 8px; }
.is-style-caixa + * { margin-top: 0 !important; }

/* ---------- Buttons ---------- */
.wp-element-button, .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	text-decoration: none;
	border-radius: 0;
	transition: background-color var(--t-hover) var(--ease-out), color var(--t-hover) var(--ease-out), transform var(--t-press) var(--ease-out);
}
.wp-block-button.is-style-azul .wp-block-button__link { background: var(--hd-azul); color: #fff; }
@media (hover: hover) {
	.wp-block-button__link:hover { background: var(--hd-preto); color: var(--hd-verde); }
	.wp-block-button.is-style-azul .wp-block-button__link:hover { background: var(--hd-preto); color: #fff; }
	.has-azul-background-color .wp-block-button__link:hover { background: #fff; color: var(--hd-azul); }
	.has-preto-background-color .wp-block-button__link:hover { background: #fff; color: var(--hd-preto); }
}
.wp-block-button__link:active { transform: scale(0.97); }
.wp-block-button__link:focus-visible, a:focus-visible, summary:focus-visible { outline: 2px solid var(--hd-verde); outline-offset: 3px; }
.has-branco-background-color a:focus-visible, .hd-secao:not(.has-background) a:focus-visible { outline-color: var(--hd-azul); }

/* ---------- Header ---------- */
.hd-topo {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 20;
	transition: transform 420ms var(--ease-in-out);
}
.hd-topo.esconde { transform: translateY(-100%); }
.hd-cabecalho { padding-top: 0; padding-bottom: 0; }
.hd-cabecalho__barra { height: 68px; gap: 24px; margin: 0 auto !important; }
.hd-logo { margin: 0; flex: none; line-height: 0; }
.hd-logo img { height: 30px; width: auto; display: block; }
.wp-block-buttons.hd-cabecalho__botao { display: none; margin: 0 !important; }
.hd-cabecalho__botao .wp-block-button__link { min-height: 44px; font-size: 15px; padding: 0 20px; }
.hd-menu { font-weight: 500; font-size: 17px; }
.hd-menu .wp-block-navigation__container { gap: 36px; }
.hd-menu .wp-block-navigation-item__content { text-decoration: none; position: relative; }
.hd-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: -6px;
	height: 2px;
	background: var(--hd-verde);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--t-ui) var(--ease-out);
}
@media (hover: hover) {
	.hd-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover::after { transform: scaleX(1); }
}
.hd-menu .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.hd-menu .hd-menu__cta { display: none; }

/* burger: three bars, 28 × 16 */
.hd-menu .wp-block-navigation__responsive-container-open {
	width: 28px; height: 16px;
	background:
		linear-gradient(currentColor, currentColor) top / 100% 2.5px no-repeat,
		linear-gradient(currentColor, currentColor) center / 100% 2.5px no-repeat,
		linear-gradient(currentColor, currentColor) bottom / 100% 2.5px no-repeat;
}
.hd-menu .wp-block-navigation__responsive-container-open svg { display: none; }

/* below 1000px the menu always collapses into the overlay */
@media (min-width: 600px) and (max-width: 999px) {
	.hd-menu .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.hd-menu .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
}
.hd-menu .wp-block-navigation__responsive-container.is-menu-open {
	padding: 24px 20px 40px;
	animation: hd-menu-abre var(--t-ui) var(--ease-out);
}
@keyframes hd-menu-abre { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.hd-menu .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 64px; }
.hd-menu .is-menu-open .wp-block-navigation__container { gap: 18px !important; }
.hd-menu .is-menu-open .wp-block-navigation-item__content { font-size: 34px; font-weight: 800; letter-spacing: -0.03em; line-height: 1.1; }
.hd-menu .is-menu-open .hd-menu__cta { display: block; margin-top: 24px; }
.hd-menu .is-menu-open .hd-menu__cta .wp-block-navigation-item__content {
	display: inline-flex; align-items: center; min-height: 52px; padding: 0 24px !important;
	background: var(--hd-verde); color: var(--hd-preto); font-size: 16px; font-weight: 700; letter-spacing: 0;
}
.hd-menu .is-menu-open .wp-block-navigation-item__content::after { display: none; }
.hd-menu .wp-block-navigation__responsive-container-close svg { width: 32px; height: 32px; }
.hd-menu .wp-block-navigation__responsive-container-close { top: 18px; right: 16px; }

@media (min-width: 1000px) {
	.hd-cabecalho__barra { height: 88px; }
	.wp-block-buttons.hd-cabecalho__botao { display: flex; }
}

/* ---------- Footer ---------- */
.hd-rodape { padding-top: 56px; padding-bottom: 32px; }
.wp-block-columns.hd-rodape__grade { display: block; margin-block: 0 !important; }
.hd-rodape__grade > .wp-block-column { margin: 0 !important; }
.hd-rodape__m { margin: 0 0 32px; line-height: 0; }
.hd-rodape__m img { height: 56px; width: auto; }
.hd-rodape__email { margin: 0; }
.hd-rodape__email a { font-size: 18px; font-weight: 700; }
.hd-rodape .hd-rodape__menus.hd-rodape__menus { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; margin: 24px 0 0; }
.hd-rodape__copy { margin-top: 40px !important; }
.hd-fecho { padding-top: 88px; padding-bottom: 88px; }
.hd-fecho .is-style-fecho { margin-bottom: 20px; }
.hd-fecho .is-style-fecho + p { margin-bottom: 28px; }
.hd-fecho > * { margin-block-start: 0; }
.hd-fecho .is-style-fecho + .wp-block-buttons { margin-top: 36px; }
.hd-fecho .wp-block-buttons + .is-style-link { margin-top: 18px; }
@media (min-width: 640px) { .hd-fecho { padding-top: 112px; padding-bottom: 112px; } }
@media (min-width: 1000px) { .hd-fecho { padding-top: 144px; padding-bottom: 144px; } }
.hd-rodape__menus > * { margin: 0 !important; }
.hd-menu-rodape .wp-block-navigation__container { gap: 10px; }
.hd-menu-rodape .wp-block-navigation-item__content { text-decoration: underline; }
.hd-rodape__copy { color: #B9B9BE; font-size: 13px; margin-bottom: 0 !important; }
@media (hover: hover) { .hd-menu-rodape .wp-block-navigation-item__content:hover, .hd-rodape__email a:hover { color: var(--hd-verde); } }
@media (min-width: 1000px) {
	.wp-block-columns.hd-rodape__grade { display: grid; grid-template-columns: 1fr 1fr; align-items: start !important; }
	.hd-rodape .hd-rodape__menus.hd-rodape__menus { margin-top: 0; }
}

/* ---------- Two columns (title | text) ---------- */
.wp-block-columns.hd-duo { display: block; margin-block: 0 !important; }
.hd-duo > .wp-block-column { margin: 0; }
.hd-duo > .wp-block-column + .wp-block-column { margin-top: 24px; }
.hd-duo .wp-block-buttons { margin-top: 24px; }
.hd-duo .is-style-link { margin-top: 20px; }
.hd-duo p + p:not(.is-style-link):not(.is-style-caixa) { margin-top: 24px; }
.hd-duo > .wp-block-column > .wp-block-list:not([class*="is-style-"]) { padding-left: 20px; margin: 12px 0 28px; }
.hd-duo > .wp-block-column > .wp-block-list:not([class*="is-style-"]) li { margin-bottom: 6px; }
.hd-duo > .wp-block-column > .wp-block-list + p { margin-top: 0; }
@media (min-width: 1000px) {
	.wp-block-columns.hd-duo { display: grid; grid-template-columns: 5fr 6fr; gap: 80px; align-items: start !important; }
	.hd-duo > .wp-block-column + .wp-block-column { margin-top: 0; }
	.hd-duo p { font-size: 19px; }
	.hd-duo .is-style-observacao { font-size: 15px; }
	.hd-duo .hd-formacao { font-size: 16px; }
	.hd-duo .wp-block-heading.hd-tit { margin-bottom: 0; }
}

/* text column of cases and Sobre */
.hd-txt p { font-size: 18px; max-width: 58ch; }
.hd-txt p + p { margin-top: 16px; }
.hd-txt .wp-block-list { padding-left: 20px; margin-top: 12px; }
.hd-txt .wp-block-list li { margin-bottom: 6px; }
.hd-txt > * + * { margin-top: 16px; }
.hd-txt .hd-formacao { margin-top: 32px; font-size: 16px; }
.wp-block-heading + .hd-txt, .hd-txt + .hd-txt { margin-top: 24px; }
@media (min-width: 1000px) { .hd-duo .hd-txt p { font-size: 18px; } .hd-duo .hd-txt .hd-formacao { font-size: 16px; } }

/* ---------- Lists ---------- */
.wp-block-list.is-style-sinais,
.wp-block-list.is-style-partes,
.wp-block-list.is-style-passos,
.wp-block-list.is-style-destaques,
.wp-block-list.is-style-pontos,
.wp-block-list.is-style-pontos-acima,
.wp-block-list.is-style-etapas,
.wp-block-list.is-style-trilho,
.wp-block-list.is-style-indice { list-style: none; padding: 0; margin-bottom: 0; }

/* signals */
.is-style-sinais li { padding: 20px 0; font-size: 18px; }
.is-style-sinais li strong:first-child { display: block; font-size: 26px; letter-spacing: -0.02em; margin-bottom: 4px; line-height: 1.3; }
.wp-block-heading + .is-style-sinais { margin-top: 24px; }
@media (min-width: 640px) { .is-style-sinais { display: grid; grid-template-columns: 1fr 1fr; column-gap: 40px; } }
@media (min-width: 1000px) { .is-style-sinais { grid-template-columns: repeat(4, 1fr); gap: 40px; margin-top: 48px !important; } .is-style-sinais li { padding: 0; } }

/* numbered parts */
.is-style-partes { counter-reset: hd-n; display: grid; gap: 32px; margin-top: 40px !important; }
.is-style-partes li { counter-increment: hd-n; font-size: 16px; color: var(--hd-leitura); }
.is-style-partes li::before { content: counter(hd-n); display: block; font-family: var(--hd-lora); font-size: 56px; line-height: 1; color: var(--hd-azul); margin-bottom: 10px; }
.is-style-partes li strong:first-child { display: block; font-size: 21px; letter-spacing: -0.02em; color: var(--hd-preto); margin-bottom: 4px; line-height: 1.2; }
@media (min-width: 640px) { .is-style-partes { grid-template-columns: 1fr 1fr; column-gap: 40px; row-gap: 48px; } }
@media (min-width: 1000px) { .is-style-partes { grid-template-columns: repeat(3, 1fr); column-gap: 56px; } }

/* steps */
.is-style-passos { counter-reset: hd-n; display: grid; gap: 14px; margin-top: 32px !important; }
.is-style-passos li { counter-increment: hd-n; display: grid; grid-template-columns: 44px 1fr; align-items: baseline; font-size: 19px; font-weight: 500; }
.is-style-passos li::before { content: counter(hd-n); font-weight: 800; color: var(--hd-azul); }
.hd-duo > .wp-block-column > .is-style-passos:first-child { margin-top: 32px !important; }
@media (min-width: 1000px) { .hd-duo > .wp-block-column > .is-style-passos:first-child { margin-top: 32px !important; } }

/* items with bold name */
.is-style-destaques { display: grid; gap: 28px; margin-top: 8px !important; }
.is-style-destaques li { font-size: 17px; color: var(--hd-leitura); }
.is-style-destaques li strong:first-child, .is-style-destaques li a:first-child { display: block; font-size: 22px; letter-spacing: -0.02em; color: var(--hd-preto); }
.is-style-destaques li a:first-child { text-decoration: none; width: fit-content; }
.is-style-destaques li a:first-child strong::after { content: " →"; }
@media (hover: hover) { .is-style-destaques li a:first-child:hover { color: var(--hd-azul); } }
@media (min-width: 640px) { .is-style-destaques { grid-template-columns: 1fr 1fr; column-gap: 40px; } }
@media (min-width: 1000px) { .hd-duo .is-style-destaques { grid-template-columns: 1fr; } .is-style-destaques li { font-size: 17px !important; } }

/* blue dots (deliveries) */
.is-style-pontos { display: grid; gap: 18px; margin-top: 8px !important; }
.is-style-pontos li { position: relative; padding-left: 34px; font-size: 19px; font-weight: 500; max-width: 56ch; }
.is-style-pontos li::before { content: ""; position: absolute; left: 0; top: 10px; width: 14px; height: 14px; border-radius: 50%; background: var(--hd-azul); }
.hd-duo .is-style-pontos:first-child { margin-top: 0 !important; }

/* dot above (principles) */
.is-style-pontos-acima { display: grid; gap: 28px; margin-top: 40px !important; }
.is-style-pontos-acima li { font-size: 19px; font-weight: 500; position: relative; padding-top: 22px; max-width: 40ch; }
.is-style-pontos-acima li::before { content: ""; position: absolute; left: 0; top: 0; width: 12px; height: 12px; border-radius: 50%; background: var(--hd-azul); }
@media (min-width: 640px) { .is-style-pontos-acima { grid-template-columns: 1fr 1fr; column-gap: 40px; } }
@media (min-width: 1000px) { .is-style-pontos-acima { grid-template-columns: repeat(3, 1fr); column-gap: 56px; row-gap: 48px; } }

/* ---------- Method diagram (5 steps + key) ---------- */
.hd-diagrama { position: relative; margin-top: 36px !important; }
.hd-diagrama > * { margin: 0; }
.hd-diagrama--abaixo { margin-top: 48px !important; }
.is-style-etapas { position: relative; }
.is-style-etapas li { position: relative; height: 60px; padding: 0 0 0 34px; font-size: 22px; font-weight: 700; color: #A3A3AA; }
.is-style-etapas li::before { content: ""; position: absolute; left: 0; top: 9px; width: 14px; height: 14px; border-radius: 50%; background: var(--hd-linha); }
.is-style-etapas li::after { content: ""; position: absolute; left: 6px; top: 26px; width: 2px; bottom: 0; background: var(--hd-linha); }
.is-style-etapas li:last-child::after { display: none; }
.is-style-etapas li:nth-child(-n+2) { color: var(--hd-preto); }
.is-style-etapas li:nth-child(-n+2)::before { background: var(--hd-azul); }
.hd-chave { position: absolute !important; right: 0; top: 0; height: 106px; border-right: 3px solid var(--hd-azul); padding-right: 14px; display: flex; align-items: center; font-weight: 800; color: var(--hd-azul); font-size: 16px; margin: 0 !important; }
.has-preto-background-color .is-style-etapas li { color: #8A8A92; }
.has-preto-background-color .is-style-etapas li::before, .has-preto-background-color .is-style-etapas li::after { background: #3A3A3F; }
.has-preto-background-color .is-style-etapas li:nth-child(-n+2) { color: #fff; }
.has-preto-background-color .is-style-etapas li:nth-child(-n+2)::before { background: var(--hd-verde); }
.has-preto-background-color .hd-chave { border-color: var(--hd-verde); color: var(--hd-verde); }
.hd-diagrama + .is-style-link { margin-top: 0; }
@media (min-width: 1000px) {
	.hd-diagrama { margin-top: 40px !important; }
	.is-style-etapas { display: grid; grid-template-columns: repeat(5, 1fr); }
	.is-style-etapas li { height: auto; padding: 34px 16px 0 0; }
	.is-style-etapas li::before { top: 0; }
	.is-style-etapas li::after { left: 20px; right: 0; top: 6px; width: auto; height: 2px; bottom: auto; }
	.hd-chave { position: static !important; height: auto; width: calc(40% - 16px); border-right: 0; border-top: 3px solid var(--hd-azul); padding: 10px 0 0; margin: 20px 0 48px !important; }
	.hd-diagrama--abaixo .hd-chave { margin-bottom: 0 !important; }
	.has-preto-background-color .hd-chave { border-color: var(--hd-verde); }
}

/* ---------- Method page: rail + steps ---------- */
.hd-secao--corpo { padding-bottom: 40px; }
.wp-block-columns.hd-corpo { display: block; margin-block: 0 !important; counter-reset: hd-etapa; }
.hd-corpo > .wp-block-column { margin: 0; }
.hd-trilho { display: none; }
.hd-etapa { padding-bottom: 88px; counter-increment: hd-etapa; }
.hd-etapa + .hd-etapa, .hd-etapas > * { margin-top: 0 !important; }
.hd-etapa > .wp-block-heading { display: flex; align-items: baseline; gap: 18px; }
.hd-etapa > .wp-block-heading::before { content: counter(hd-etapa); font-family: var(--hd-lora); font-weight: 400; color: var(--hd-azul); font-size: 1.3em; line-height: 0.8; letter-spacing: 0; }
.wp-block-columns.hd-tres { display: grid; gap: 24px; margin-top: 32px !important; margin-bottom: 0 !important; }
.hd-tres > .wp-block-column { margin: 0; }
.hd-tres .is-style-rotulo, .hd-itens .is-style-rotulo { margin-bottom: 6px; }
.hd-tres .is-style-rotulo + p, .hd-itens .is-style-rotulo + p { margin-top: 0; }
.hd-tres p:not(.is-style-rotulo) { font-size: 17px; max-width: 46ch; }
.hd-etapas > .is-style-nota { margin: -32px 0 88px !important; }
@media (min-width: 1000px) {
	.hd-secao--corpo { padding-top: 144px; }
	.wp-block-columns.hd-corpo { display: grid; grid-template-columns: 260px 1fr; gap: 80px; }
	.hd-trilho { display: block; position: sticky; top: 120px; align-self: start; }
	.hd-etapa { padding-bottom: 120px; }
	.hd-tres { grid-template-columns: repeat(3, 1fr); gap: 40px; }
	.hd-etapas > .is-style-nota { margin: -56px 0 120px !important; padding: 36px 40px; }
}
.is-style-trilho { position: relative; margin: 0; }
.is-style-trilho li { position: relative; padding: 0 0 0 30px; height: 52px; font-weight: 700; font-size: 18px; color: #A3A3AA; transition: color var(--t-ui) var(--ease-out); }
.is-style-trilho li::before { content: ""; position: absolute; left: 0; top: 6px; width: 14px; height: 14px; border-radius: 50%; background: var(--hd-linha); transition: background-color var(--t-ui) var(--ease-out), transform var(--t-ui) var(--ease-out); }
.is-style-trilho li::after { content: ""; position: absolute; left: 6px; top: 24px; width: 2px; height: 30px; background: var(--hd-linha); }
.is-style-trilho li:last-child::after { display: none; }
.is-style-trilho li.feito { color: var(--hd-preto); }
.is-style-trilho li.feito::before { background: var(--hd-azul); }
.is-style-trilho li.ativo { color: var(--hd-azul); }
.is-style-trilho li.ativo::before { background: var(--hd-azul); transform: scale(1.35); }
.hd-trilho .hd-chave { position: absolute !important; left: auto; right: 0; top: 0; height: 86px; width: auto; margin: 0 !important; padding: 0 12px 0 0; border-top: 0; border-right: 3px solid var(--hd-azul); font-size: 14px; }

/* ---------- Items in columns (case direction, Sobre) ---------- */
.wp-block-columns.hd-itens { display: grid; gap: 28px; margin-top: 40px !important; margin-bottom: 0 !important; }
.hd-itens > .wp-block-column { margin: 0; }
.hd-itens p:not(.is-style-rotulo) { font-size: 18px; }
@media (min-width: 640px) { .hd-itens { grid-template-columns: repeat(3, 1fr); gap: 40px; } .hd-itens.hd-itens--dois { grid-template-columns: 1fr 1fr; } }

/* ---------- FAQ (Details block) ---------- */
.hd-faq { margin-top: 32px !important; }
.hd-faq > * + * { margin-top: 8px !important; }
.wp-block-details { background: #fff; }
.hd-secao:not(.has-background) .wp-block-details { background: var(--hd-campo); }
.wp-block-details summary { list-style: none; cursor: pointer; padding: 22px 56px 22px 22px; font-size: 19px; font-weight: 700; position: relative; transition: color var(--t-hover) var(--ease-out); }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: ""; position: absolute; right: 24px; top: 50%; width: 14px; height: 14px; margin-top: -7px;
	background: linear-gradient(currentColor, currentColor) center / 14px 2px no-repeat, linear-gradient(currentColor, currentColor) center / 2px 14px no-repeat;
	transition: transform var(--t-ui) var(--ease-out);
}
.wp-block-details[open] summary::after { transform: rotate(45deg); }
.wp-block-details > :not(summary) { padding: 0 22px; max-width: calc(62ch + 44px); color: var(--hd-leitura); margin-top: 0; }
.wp-block-details > :last-child:not(summary) { padding-bottom: 24px; }
@media (hover: hover) { .wp-block-details summary:hover { color: var(--hd-azul); } }
@media (min-width: 1000px) { .hd-faq { max-width: 820px; } }

/* ---------- Image placeholders and image groups ---------- */
.hd-ph { box-sizing: border-box; background: var(--hd-campo); display: flex; flex-direction: column; justify-content: flex-end; padding: 14px; font-size: 13px; line-height: 1.4; color: var(--hd-leitura); }
.hd-ph > p, .hd-abertura .hd-ph > p { margin: 0; font-size: 13px; max-width: none; }
.has-campo-background-color .hd-ph { background: #fff; }
.hd-imgs { display: grid; gap: 12px; margin-top: 48px !important; }
.hd-imgs > * { margin: 0 !important; }
.hd-imgs > .hd-ph, .hd-imgs > figure img, .hd-imgs > .wp-block-cover, .hd-imgs > .wp-block-video video { aspect-ratio: 4 / 3; }
.hd-imgs > :only-child.hd-ph, .hd-imgs > figure:only-child img, .hd-imgs > .wp-block-embed:only-child { aspect-ratio: 16 / 9; }
.hd-imgs > figure img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hd-imgs .wp-block-embed iframe { width: 100%; height: 100%; }
.hd-capa .hd-imgs > :only-child.hd-ph, .hd-capa .hd-imgs > figure:only-child img { aspect-ratio: 16 / 10; }
@media (min-width: 640px) {
	.hd-imgs--dois { grid-template-columns: 1fr 1fr; }
	.hd-imgs--tres { grid-template-columns: 1fr 1fr 1fr; }
	.hd-imgs--mosaico { grid-template-columns: 2fr 1fr; grid-template-rows: auto auto; }
	.hd-imgs--mosaico > :first-child { grid-row: span 2; }
	.hd-imgs--mosaico > .hd-ph:first-child, .hd-imgs--mosaico > figure:first-child img { aspect-ratio: auto; height: 100%; }
}
/* image galleries dropped inside an image group: their images join the group's grid */
.hd-imgs > .wp-block-gallery { display: contents; }
.hd-imgs > .wp-block-gallery > .wp-block-image { margin: 0 !important; width: auto !important; max-width: none !important; flex: none !important; }
.hd-imgs > .wp-block-gallery img { width: 100% !important; height: 100% !important; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.hd-imgs > .wp-block-gallery:only-child > .wp-block-image:only-child img { aspect-ratio: 16 / 9; }
.hd-imgs > figure.wp-block-image img[style] { width: 100% !important; height: 100% !important; }
@media (min-width: 640px) {
	.hd-imgs--mosaico > .wp-block-gallery:first-child > .wp-block-image:first-child { grid-row: span 2; }
	.hd-imgs--mosaico > .wp-block-gallery:first-child > .wp-block-image:first-child img { aspect-ratio: auto; }
}
.wp-block-image figcaption { font-size: 13px; color: var(--hd-leitura); margin-top: 8px; }

/* case cover band: starts over the blue opening */
.hd-capa { padding-top: 0 !important; padding-bottom: 0 !important; margin-top: -1px !important; background: linear-gradient(var(--hd-azul) 0 30%, #fff 30%); }
.hd-capa .hd-imgs { margin-top: 0 !important; }

/* ---------- Case credits and next case ---------- */
.hd-creditos { display: grid; gap: 10px; font-size: 15px; color: var(--hd-leitura); max-width: 70ch; }
.hd-creditos > * { margin: 0 !important; }
.hd-creditos strong { color: var(--hd-preto); }
.hd-aviso { margin-bottom: 32px; }

/* ---------- Privacy: sticky index + long text ---------- */
.wp-block-columns.hd-legal-wrap { display: block; margin-block: 0 !important; }
.hd-legal-wrap > .wp-block-column { margin: 0; }
.hd-indice { display: none; }
.hd-legal-secao { padding-bottom: 56px; max-width: 68ch; scroll-margin-top: 110px; }
.hd-legal > * + * { margin-top: 0 !important; }
.hd-legal .wp-block-heading { font-size: 28px; margin-bottom: 16px; }
.hd-legal p, .hd-legal li { font-size: 18px; }
.hd-legal-secao > * + * { margin-top: 14px; }
.hd-legal-secao > .wp-block-heading + * { margin-top: 0; }
.hd-legal .wp-block-list { padding-left: 20px; }
.hd-legal li { margin-bottom: 10px; }
.is-style-indice a { display: block; text-decoration: none; color: var(--hd-leitura); font-weight: 500; padding: 6px 0; transition: color var(--t-hover); }
.is-style-indice a:hover, .is-style-indice a.ativo { color: var(--hd-azul); }
@media (min-width: 1000px) {
	.wp-block-columns.hd-legal-wrap { display: grid; grid-template-columns: 260px 1fr; gap: 80px; }
	.hd-indice { display: block; position: sticky; top: 120px; align-self: start; }
	.hd-legal .wp-block-heading { font-size: 34px; }
}

/* ---------- 404 paths ---------- */
.hd-caminhos + .is-style-observacao { margin-top: 48px; }

/* ---------- Generic content inside sections ---------- */
.hd-secao > .wp-block-heading + p:not([class]) { margin-top: 24px; }
.hd-conteudo--simples > :not(.alignfull) { margin-top: 24px; }
.hd-conteudo--simples > :not(.alignfull):first-child { margin-top: 88px; }
.hd-conteudo--simples > :not(.alignfull):last-child { margin-bottom: 120px; }
.hd-lista-posts .wp-block-post-title { font-size: 34px; }
.hd-lista-posts > li + li { margin-top: 48px; }

/* =================================================================
   Motion (taste-skill motion.md). Hidden states only exist under
   html.js, so the page is complete without JavaScript.
   Turn off per section with the class "sem-animacao" or the
   "Sem animação" block style.
   ================================================================= */
.hd-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: 0.08em; margin-bottom: -0.08em; }
.hd-w > span { display: inline-block; }
html.js .hd-w > span { transform: translateY(105%); transition: transform 1000ms var(--ease-out); }
html.js .in .hd-w > span, html.js .hd-w.in > span { transform: none; }

/* Hiding is instant; only the reveal (.in) animates, so nothing fades out when JS marks it. */
html.js [data-r] { opacity: 0; transform: translateY(var(--y, 24px)); }
html.js [data-r].in { opacity: 1; transform: none; transition: opacity var(--t-reveal) var(--ease-out), transform var(--t-reveal) var(--ease-out); }
html.js [data-r="mask"] { opacity: 1; transform: none; clip-path: inset(100% 0 0 0); }
html.js [data-r="mask"].in { clip-path: inset(0 0 0 0); transition: clip-path 1100ms var(--ease-in-out); }
html.js [data-r="mask"] img { transform: scale(1.08); }
html.js [data-r="mask"].in img { transform: none; transition: transform 1500ms var(--ease-soft); }
html.js [data-r="fade"] { transform: none; }

/* diagram draws dot by dot, line by line */
html.js .is-style-etapas[data-o] li { opacity: 0; transition: opacity 500ms var(--ease-out); transition-delay: var(--d, 0ms); }
html.js .is-style-etapas[data-o] li::before { transform: scale(0); background: var(--hd-linha); transition: transform 500ms var(--ease-out), background-color 400ms; transition-delay: var(--d, 0ms), var(--d, 0ms); }
html.js .is-style-etapas[data-o] li::after { transform: scaleY(0); transform-origin: top; transition: transform 500ms var(--ease-in-out); transition-delay: var(--d, 0ms); }
html.js .is-style-etapas[data-o].in li { opacity: 1; }
html.js .is-style-etapas[data-o].in li::before { transform: scale(1); }
html.js .is-style-etapas[data-o].in li::after { transform: none; }
html.js .is-style-etapas[data-o].on li:nth-child(-n+2)::before { background: var(--hd-azul); }
html.js .has-preto-background-color .is-style-etapas[data-o] li::before { background: #3A3A3F; }
html.js .has-preto-background-color .is-style-etapas[data-o].on li:nth-child(-n+2)::before { background: var(--hd-verde); }
@media (min-width: 1000px) { html.js .is-style-etapas[data-o] li::after { transform: scaleX(0); transform-origin: left; } }

/* card hover */
@media (prefers-reduced-motion: reduce) {
	html.js *, html.js *::before, html.js *::after { transition: none !important; animation: none !important; }
	html.js [data-r], html.js .hd-w > span, html.js .is-style-etapas[data-o] li, html.js .is-style-etapas[data-o] li::before, html.js .is-style-etapas[data-o] li::after, html.js [data-r="mask"] img { opacity: 1 !important; transform: none !important; clip-path: none !important; }
	html.js .is-style-etapas[data-o] li:nth-child(-n+2)::before { background: var(--hd-azul); }
	.hd-topo.esconde { transform: none; }
}
