/* Hemerson Dazilio 2.2: o visual da prévia aprovada aplicado aos blocos do WordPress.
   Painéis com cantos grandes sobem por cima da abertura azul; tipografia, cartões e fechamento iguais à prévia.
   Tudo se prende a classes de blocos e estilos de bloco: o conteúdo continua editável. */

:root { --raio: clamp(28px, 4vw, 56px); --hd-preto: #171719; }
body { background: var(--hd-preto); }

/* ---------- Títulos ---------- */
.hd-principal h1.wp-block-heading { font-weight: 800; letter-spacing: -0.03em; line-height: 1.02; text-wrap: balance; }
.hd-abertura h1.wp-block-heading { font-size: clamp(44px, 7.4vw, 104px); max-width: 14ch; }
.hd-p-heroi h1.wp-block-heading { font-size: clamp(44px, 6.2vw, 92px); max-width: none; overflow-wrap: normal; word-break: normal; hyphens: manual; }
.hd-secao h2.wp-block-heading { font-size: clamp(34px, 5vw, 64px); font-weight: 800; letter-spacing: -0.03em; line-height: 1.02; max-width: 16ch; text-wrap: balance; }
.hd-secao .hd-duo h2.wp-block-heading, .hd-secao .wp-block-columns h2.wp-block-heading { font-size: clamp(30px, 3.6vw, 48px); }
.is-style-rotulo { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; }
.is-style-rotulo + .wp-block-heading { margin-top: 16px; }
.hd-abertura .is-style-rotulo { color: rgba(255,255,255,0.75); }
.hd-abertura p:not(.is-style-rotulo):not(.is-style-link) { font-size: clamp(18px, 1.6vw, 21px); opacity: 0.9; max-width: 46ch; }
.hd-p-heroi p:not(.is-style-rotulo) { max-width: 30ch; }
.is-style-lead { color: var(--hd-leitura); font-size: 18px; max-width: 56ch; }
.has-preto-background-color .is-style-lead { color: rgba(255,255,255,0.7); }

/* ---------- Abertura azul fixa com linhas ---------- */
.hd-abertura { position: relative; isolation: isolate; }
.hd-abertura::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: linear-gradient(to right, rgba(255,255,255,0.08) 1px, transparent 1px); background-size: calc(100% / 6) 100%; }
.hd-abertura.hd-abertura { padding-top: clamp(64px, 9vw, 120px); padding-bottom: calc(clamp(96px, 11vw, 150px) + var(--raio)); }
@media (min-width: 861px) {
	.hd-conteudo > .hd-abertura:first-child { position: sticky; top: 0; z-index: 0; }
	.hd-conteudo > .hd-p-heroi:first-child { min-height: 100vh; display: flex; flex-direction: column; justify-content: center; }
}

/* ---------- Painéis que sobem por cima ---------- */
.hd-conteudo > .alignfull:not(.hd-abertura),
.hd-pe .hd-rota { position: relative; z-index: 2; border-radius: var(--raio) var(--raio) 0 0; margin-top: calc(var(--raio) * -1) !important; }
.hd-conteudo > .hd-secao:not(.has-background) { background: #fff; }
.hd-conteudo > .has-campo-background-color { z-index: 3; }
.hd-conteudo > .has-preto-background-color, .hd-conteudo > .hd-fecho { z-index: 4; }
/* mesma cor seguida: vira um painel só */
.hd-conteudo > .hd-secao:not(.has-background) + .hd-secao:not(.has-background),
.hd-conteudo > .has-campo-background-color + .has-campo-background-color,
.hd-conteudo > .has-preto-background-color + .has-preto-background-color,
.hd-conteudo > .has-azul-background-color:not(.hd-abertura) + .has-azul-background-color { border-radius: 0; margin-top: 0 !important; }
.hd-conteudo > .hd-secao:not(.has-background):not(.hd-secao--corpo) + .hd-sem-topo:not(.has-background) { margin-top: -1px !important; }
.hd-secao.hd-secao { padding-top: clamp(80px, 10vw, 140px); padding-bottom: calc(clamp(80px, 10vw, 140px) + var(--raio)); }
.hd-conteudo > .alignfull:last-child { padding-bottom: clamp(80px, 10vw, 140px); }
/* rodapé preto depois de seção preta: sem degrau */
.hd-principal:has(.hd-conteudo > .has-preto-background-color:last-child) + .hd-pe .hd-rota,
.hd-principal:has(.hd-conteudo > .hd-fecho:last-child) + .hd-pe .hd-rota { border-radius: 0; margin-top: 0 !important; }

/* ---------- Botões ---------- */
.wp-block-button__link { padding: 16px 28px; font-size: 16px; font-weight: 700; transition: background-color 250ms var(--ease-out), color 250ms var(--ease-out), transform 250ms var(--ease-out); }
.wp-block-button__link:active { transform: scale(0.97); }
@media (hover: hover) {
	.wp-block-button:not(.is-style-azul):not(.is-style-outline) .wp-block-button__link:hover { background: #fff; color: var(--hd-preto); }
	.wp-block-button.is-style-azul .wp-block-button__link:hover { background: var(--hd-preto); color: #fff; }
}
.wp-block-buttons { gap: 12px; }
.hd-abertura .wp-block-buttons { margin-top: 36px; }
.is-style-link a { font-weight: 700; text-decoration: none; display: inline-flex; gap: 10px; align-items: center; }
.is-style-link a::after { content: "↗"; font-weight: 700; transition: transform 300ms var(--ease-out); }
@media (hover: hover) { .is-style-link a:hover { color: var(--hd-azul); } .is-style-link a:hover::after { transform: translate(2px, -2px); } }
.has-preto-background-color .is-style-link a:hover, .has-azul-background-color .is-style-link a:hover { color: var(--hd-verde); }

/* ---------- Sintomas: cartões ---------- */
.is-style-sinais { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px !important; margin-top: 56px !important; }
.is-style-sinais li { border-radius: 24px; padding: 28px !important; background: var(--hd-campo); color: var(--hd-leitura); font-size: 15px !important; border: 0 !important; transition: background-color 300ms var(--ease-out), color 300ms var(--ease-out), transform 300ms var(--ease-out); }
.has-campo-background-color .is-style-sinais li { background: #fff; }
.is-style-sinais li strong:first-child { font-size: 22px !important; color: var(--hd-preto); margin-bottom: 10px !important; transition: color 300ms var(--ease-out); }
@media (hover: hover) { .is-style-sinais li:hover { background: var(--hd-azul); color: rgba(255,255,255,0.85); transform: translateY(-6px); } .is-style-sinais li:hover strong:first-child { color: #fff; } }
@media (max-width: 900px) { .is-style-sinais { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .is-style-sinais { grid-template-columns: 1fr; } }

/* ---------- Frases ---------- */
.is-style-frase, .is-style-sinais + .is-style-observacao { font-family: inherit !important; font-size: clamp(22px, 2.6vw, 32px) !important; font-weight: 600; letter-spacing: -0.02em; line-height: 1.3; max-width: 30ch !important; color: var(--hd-preto); margin-top: 56px !important; }
.is-style-frase em, .is-style-sinais + .is-style-observacao strong { font-family: var(--hd-lora); font-weight: 400; font-style: normal; color: var(--hd-magenta); }
.is-style-frase em { font-style: italic; }
.hd-sem-topo .is-style-frase { margin-top: 0 !important; }

/* ---------- Seis partes: cartões brancos ---------- */
.is-style-partes { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px !important; margin-top: 56px !important; }
.is-style-partes li { background: #fff; border-radius: 24px; padding: 28px; font-size: 15px !important; transition: transform 300ms var(--ease-out), box-shadow 300ms var(--ease-out); }
.hd-secao:not(.has-background) .is-style-partes li { background: var(--hd-campo); }
.is-style-partes li::before { font-size: 40px !important; margin-bottom: 14px !important; }
.is-style-partes li strong:first-child { font-size: 20px !important; }
@media (hover: hover) { .is-style-partes li:hover { transform: translateY(-6px); box-shadow: 0 24px 48px -24px rgba(21,20,216,0.35); } }
@media (max-width: 900px) { .is-style-partes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .is-style-partes { grid-template-columns: 1fr; } }

/* ---------- Entregas: cartões, a última em azul ---------- */
.is-style-destaques { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 16px !important; }
.hd-duo .is-style-destaques { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.is-style-destaques li { border-radius: 24px; padding: 28px; background: #fff; box-shadow: inset 0 0 0 1.5px transparent; transition: box-shadow 250ms var(--ease-out); font-size: 15px !important; }
.hd-secao:not(.has-background) .is-style-destaques li { background: var(--hd-campo); }
.is-style-destaques li strong:first-child, .is-style-destaques li a:first-child { font-size: 20px !important; margin-bottom: 6px; }
.is-style-destaques li:last-child { background: var(--hd-azul) !important; color: rgba(255,255,255,0.85); }
.is-style-destaques li:last-child strong:first-child { color: #fff; }
@media (hover: hover) { .is-style-destaques li:hover { box-shadow: inset 0 0 0 1.5px var(--hd-azul); } }
@media (max-width: 520px) { .is-style-destaques, .hd-duo .is-style-destaques { grid-template-columns: 1fr !important; } }

/* ---------- Passos ---------- */
.is-style-passos li { padding: 18px 0; border-top: 1px solid rgba(23,23,25,0.15); font-size: 18px !important; }
.is-style-passos li::before { font-family: var(--hd-lora); font-weight: 400 !important; font-size: 22px; }

/* ---------- Perguntas ---------- */
.hd-faq.hd-faq > * + * { margin-top: 0 !important; }
.hd-faq .wp-block-details, .hd-secao .hd-faq .wp-block-details { background: transparent !important; border: 0; border-top: 1px solid rgba(23,23,25,0.15); border-radius: 0; padding: 0 !important; }
.hd-faq .wp-block-details:last-child { border-bottom: 1px solid rgba(23,23,25,0.15); }
.hd-faq summary { list-style: none; cursor: pointer; display: flex !important; justify-content: space-between; gap: 16px; align-items: center; padding: 24px 0 !important; font-size: clamp(18px, 1.8vw, 22px) !important; font-weight: 700; letter-spacing: -0.01em; transition: color 200ms ease; }
.hd-faq summary::-webkit-details-marker { display: none; }
.hd-faq summary::after { content: "+" !important; flex: none; width: 36px; height: 36px; border-radius: 50%; display: grid !important; place-items: center; font-weight: 400; font-size: 22px; position: static !important; transform: none; box-shadow: inset 0 0 0 1.5px currentColor; background: none; transition: transform 300ms var(--ease-out), background-color 200ms ease, color 200ms ease; }
.hd-faq summary::before { display: none !important; }
@media (hover: hover) { .hd-faq summary:hover { color: var(--hd-azul); } }
.hd-faq details[open] summary::after { transform: rotate(45deg); background: var(--hd-azul); color: #fff; box-shadow: none; }
.hd-faq details > :not(summary) { color: var(--hd-leitura); padding: 0 52px 24px 0 !important; max-width: 60ch; margin: 0 !important; animation: hd-abre 400ms var(--ease-out); }
@keyframes hd-abre { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@media (min-width: 1000px) {
	.hd-secao:has(> .hd-faq) { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); column-gap: clamp(32px, 6vw, 96px); align-items: start; padding-left: max(20px, calc((100% - 1200px) / 2)) !important; padding-right: max(20px, calc((100% - 1200px) / 2)) !important; }
	.hd-secao:has(> .hd-faq) > * { margin-left: 0 !important; margin-right: 0 !important; max-width: none !important; grid-column: 1; }
	.hd-secao:has(> .hd-faq) > .hd-faq { grid-column: 2; grid-row: 1 / span 9; margin-top: 0 !important; }
	.hd-secao:has(> .hd-faq) h2.wp-block-heading { max-width: 12ch; }
}

/* ---------- Fechamento ---------- */
.is-style-fecho { font-family: inherit !important; font-weight: 800; letter-spacing: -0.03em !important; line-height: 1.02 !important; font-size: clamp(48px, 8vw, 112px) !important; max-width: 16ch; text-wrap: balance; }
.is-style-fecho em { font-family: var(--hd-lora); font-weight: 400; font-style: italic; color: var(--hd-verde); }
.hd-fecho .is-style-fecho + p { color: rgba(255,255,255,0.7); margin-top: 24px; }
.hd-fecho.has-azul-background-color { background-color: var(--hd-preto) !important; }

/* ---------- Início: etapas que acendem ao rolar ---------- */
.hd-p-etapas li::before { content: counter(hd-et) !important; }
html.js .hd-p-etapas li { color: rgba(23,23,25,0.3); transition: color 500ms var(--ease-out); }
html.js .hd-p-etapas li.aceso { color: var(--hd-preto); }
html.js .hd-p-etapas li em { opacity: 0; transition: opacity 400ms var(--ease-out), background-color 250ms ease, color 250ms ease; }
html.js .hd-p-etapas li.aceso em { opacity: 1; }

/* ---------- Início: carrossel com pontos que carregam ---------- */
.hd-palco.hd-palco--js > figure.wp-block-image { animation: none; transition: opacity 900ms var(--ease-out); }
.hd-palco.hd-palco--js > figure.ativo { opacity: 1; }
.hd-palco > figure img { transform: scale(1.08); transition: transform 5000ms linear; }
.hd-palco > figure.ativo img { transform: scale(1); }
.hd-pontos { display: flex; gap: 6px; justify-content: center; padding-top: 12px; }
.hd-pontos button { width: 28px; height: 4px; border: 0; padding: 0; border-radius: 4px; background: rgba(255,255,255,0.3); cursor: pointer; overflow: hidden; position: relative; }
.hd-pontos button.ativo::after { content: ""; position: absolute; inset: 0; background: var(--hd-verde); transform-origin: left; animation: hd-carrega 4500ms linear forwards; }
@keyframes hd-carrega { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.hd-moldura { transform-style: preserve-3d; transition: transform 300ms ease-out; will-change: transform; }
html.js .hd-moldura { animation: hd-aparece 1000ms var(--ease-out) 500ms both; }
@keyframes hd-aparece { from { opacity: 0; transform: translateY(40px) scale(0.96); } to { opacity: 1; transform: none; } }

/* ---------- Cases em cartões escuros (todas as listas de cases em fundo preto) ---------- */
.has-preto-background-color .hd-cases:not(.hd-cases--lista) { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 56px; perspective: 1200px; overflow: visible; padding: 0; }
.has-preto-background-color .hd-cases:not(.hd-cases--lista) .hd-case { margin: 0; min-width: 0; }
.has-preto-background-color .hd-cases .hd-case__link { display: flex !important; flex-direction: column-reverse; justify-content: flex-end; align-items: stretch !important; gap: 20px; height: 100%; box-sizing: border-box; border-radius: 28px; padding: 24px; background: #222226; border: 1px solid rgba(255,255,255,0.1); color: #fff; text-decoration: none; position: relative; transition: border-color 250ms ease, transform 300ms ease-out; }
.has-preto-background-color .hd-cases .hd-case__link::after { content: "↗"; position: absolute; top: 22px; right: 26px; font-weight: 700; color: #fff; }
@media (hover: hover) { .has-preto-background-color .hd-cases .hd-case__link:hover { border-color: var(--hd-verde); } }
.has-preto-background-color .hd-cases .hd-case__img { order: 0 !important; margin-top: auto; border-radius: 16px; aspect-ratio: 4 / 3; }
.has-preto-background-color .hd-cases .hd-case__img img { width: 100%; height: 100%; object-fit: cover; }
.has-preto-background-color .hd-cases .hd-case__texto { display: flex; flex-direction: column; padding: 0 32px 0 0; margin: 0; text-align: left; }
.has-preto-background-color .hd-cases .hd-case__titulo { order: 0; color: var(--hd-verde) !important; font-size: 12px !important; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; line-height: 1.4; margin: 0 0 10px; }
.has-preto-background-color .hd-cases .hd-case__meta { display: none; }
.has-preto-background-color .hd-cases .hd-case__resumo { display: block !important; order: 1; color: #fff !important; font-size: clamp(20px, 2vw, 28px) !important; font-weight: 700; letter-spacing: -0.02em; line-height: 1.15; margin: 0 !important; max-width: none !important; }
.has-preto-background-color .hd-cases .hd-case:first-child { grid-column: span 2; grid-row: span 2; }
.has-preto-background-color .hd-cases .hd-case:first-child .hd-case__resumo { font-size: clamp(26px, 3vw, 40px) !important; }
.has-preto-background-color .hd-cases .hd-case__ver { background: var(--hd-verde); }
.has-preto-background-color .hd-cases--grade .hd-case:first-child, .has-preto-background-color .hd-cases--cartoes .hd-case:first-child { grid-column: auto; grid-row: auto; }
.has-preto-background-color .hd-cases--grade .hd-case:first-child .hd-case__resumo { font-size: clamp(20px, 2vw, 28px) !important; }
@media (max-width: 860px) { .has-preto-background-color .hd-cases:not(.hd-cases--lista) { grid-template-columns: 1fr 1fr; } .has-preto-background-color .hd-cases .hd-case:first-child { grid-row: auto; } }
@media (max-width: 520px) { .has-preto-background-color .hd-cases:not(.hd-cases--lista) { grid-template-columns: 1fr; } .has-preto-background-color .hd-cases .hd-case:first-child { grid-column: auto; } }
.has-preto-background-color .hd-cases--lista a { border-color: rgba(255,255,255,0.15); color: #fff; }

/* ---------- Menos movimento ---------- */
@media (prefers-reduced-motion: reduce) {
	.hd-conteudo > .hd-abertura:first-child { position: relative; }
	html.js .hd-p-etapas li { color: var(--hd-preto); }
	html.js .hd-p-etapas li em { opacity: 1; }
	html.js .hd-moldura { animation: none; }
}

/* Frase: o trecho destacado não se separa em linhas (ex.: "a aparência do problema.") */
.is-style-frase em { white-space: nowrap; }
.is-style-frase-grande { font-family: inherit !important; font-weight: 800; letter-spacing: -0.03em; line-height: 1.02; }

/* Método: cartões ocupam a largura toda, como na prévia */
@media (min-width: 1000px) {
	.hd-corpo > .hd-trilho { display: none !important; }
	.wp-block-columns.hd-corpo { grid-template-columns: 1fr !important; }
}

/* Sobre: itens em cartões brancos e decisões em linhas */
.hd-itens > .wp-block-column { background: #fff; border-radius: 24px; padding: 28px; }
.hd-secao:not(.has-background) .hd-itens > .wp-block-column { background: var(--hd-campo); }
.hd-itens > .wp-block-column .is-style-rotulo { text-transform: none; letter-spacing: -0.01em; font-size: 20px; color: var(--hd-preto); }

/* Começar: formulário no painel preto */
.has-preto-background-color .hd-contato { margin-top: 0; }
.hd-conteudo > .hd-secao.hd-secao--corpo:not(.has-background) { background: var(--hd-campo); z-index: 3; }
.hd-heroi-texto h1.wp-block-heading { font-size: clamp(44px, 6vw, 88px); max-width: none; }
.has-preto-background-color .hd-contato { background: #222226; border: 1px solid rgba(255,255,255,0.08); }

/* 2.2.1: ajustes pedidos depois da instalação. */
/* Nota entre etapas: cartão azul inteiro, sem se esconder atrás da etapa de cima. */
.hd-etapas > .is-style-nota, .hd-etapas .is-style-nota { position: relative; z-index: 6; max-width: none; margin: 16px 0 !important; padding: 28px 40px; border-radius: 24px; background: var(--hd-azul); color: rgba(255,255,255,0.88); }
.hd-etapas .is-style-nota a { color: #fff; }
/* Frase grande depois de uma seção colorida: vira painel arredondado como as outras. */
.hd-conteudo > .alignfull.has-background + section.hd-secao.hd-sem-topo:not(.has-background),
.hd-conteudo > .hd-secao.hd-secao--corpo + section.hd-secao.hd-sem-topo:not(.has-background) { position: relative; z-index: 5; background: #fff; border-radius: var(--raio) var(--raio) 0 0 !important; margin-top: calc(var(--raio) * -1) !important; padding-top: calc(clamp(40px, 5vw, 64px) + var(--raio)) !important; padding-bottom: calc(clamp(48px, 6vw, 80px) + var(--raio)) !important; }
/* Legenda do retrato: as linhas do fundo não passam por cima do texto. */
.hd-abertura .is-style-legenda { position: relative; z-index: 1; background: var(--hd-azul); margin-top: 0 !important; padding-top: 16px; }
.hd-conteudo > .hd-sem-topo + .hd-fecho { position: relative; z-index: 6 !important; }
.hd-corpo > .hd-trilho { display: none !important; }
.hd-conteudo > .hd-secao.hd-secao--corpo:has(+ .hd-sem-topo) { padding-bottom: calc(clamp(40px, 5vw, 64px) + var(--raio)) !important; }
.hd-conteudo > .hd-secao--corpo + .hd-sem-topo .is-style-frase-grande { margin-top: 0 !important; margin-bottom: 0 !important; }

/* ---------- 2.2.2: páginas de case no visual da prévia ---------- */
.hd-case .wp-block-heading.is-style-lora { font-family: inherit !important; font-weight: 800; letter-spacing: -0.03em; line-height: 1.02; font-size: clamp(34px, 5vw, 64px); max-width: 16ch; }
.hd-abertura--case .wp-block-post-title { font-size: clamp(44px, 7.4vw, 104px); font-weight: 800; letter-spacing: -0.04em; line-height: 0.98; max-width: 14ch; }
.hd-abertura--case .hd-subtitulo p { font-size: clamp(18px, 1.6vw, 22px); max-width: 40ch; color: rgba(255,255,255,0.85); }
.hd-abertura--case .is-style-meta { font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.7); }

/* Imagens: grade limpa, tudo dentro do quadro, cantos arredondados. */
.hd-imgs { display: grid !important; gap: 16px; margin-top: 56px !important; margin-left: auto !important; margin-right: auto !important; grid-template-columns: 1fr; }
.hd-imgs > * { margin: 0 !important; min-width: 0; max-width: none !important; width: auto !important; }
.hd-imgs > figure, .hd-imgs > .hd-ph { border-radius: 20px; overflow: hidden; background: var(--hd-campo); }
.has-campo-background-color .hd-imgs > figure { background: #fff; }
.hd-imgs figure img, .hd-imgs figure img[style] { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; display: block; aspect-ratio: 16 / 10; }
.hd-imgs > figure figcaption { display: none; }
.hd-imgs--dois > figure img, .hd-imgs--dois > figure img[style] { aspect-ratio: 4 / 3; }
.hd-imgs--tres, .hd-imgs--mosaico { grid-template-columns: 1fr 1fr; }
.hd-imgs--tres > figure img, .hd-imgs--tres > figure img[style], .hd-imgs--mosaico > figure img, .hd-imgs--mosaico > figure img[style] { aspect-ratio: 1 / 1; }
.hd-imgs--mosaico > :first-child { grid-column: 1 / -1; }
@media (min-width: 640px) {
	.hd-imgs--dois { grid-template-columns: 1fr 1fr; }
	.hd-imgs--tres { grid-template-columns: repeat(6, 1fr); }
	.hd-imgs--tres > * { grid-column: span 2; }
	.hd-imgs--tres > :nth-child(3n+1):last-child { grid-column: 1 / -1; }
	.hd-imgs--tres > :nth-child(3n+1):last-child img { aspect-ratio: 21 / 9 !important; }
	.hd-imgs--tres > :nth-child(3n+1):nth-last-child(2), .hd-imgs--tres > :nth-child(3n+2):last-child { grid-column: span 3; }
	.hd-imgs--tres > :nth-child(3n+1):nth-last-child(2) img, .hd-imgs--tres > :nth-child(3n+2):last-child img { aspect-ratio: 4 / 3 !important; }
	.hd-imgs--mosaico { grid-template-columns: 2fr 1fr; }
	.hd-imgs--mosaico > :first-child { grid-column: auto; grid-row: span 2; }
	.hd-imgs--mosaico > :first-child img { aspect-ratio: auto !important; }
	.hd-imgs--mosaico > :nth-child(n+4) { grid-column: auto; }
}
.hd-capa .hd-imgs { margin-top: 0 !important; }
.hd-capa .hd-imgs > figure { border-radius: 24px; }
.hd-capa .hd-imgs > figure:only-child img { aspect-ratio: 16 / 9 !important; }

/* Caixas e próximo case. */
.hd-case .is-style-caixa { border-radius: 20px; padding: 28px 32px; }
.hd-prox { display: flex !important; align-items: center; justify-content: space-between; gap: 24px; margin-top: 56px; padding: clamp(28px, 4vw, 48px) !important; border: 0 !important; border-radius: 24px; background: var(--hd-preto) !important; color: #fff !important; text-decoration: none; transition: background 0.3s, transform 0.3s; }
.hd-prox span { display: block; font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--hd-verde, #3cf03c) !important; }
.hd-prox b { display: block; margin-top: 8px; font-size: clamp(28px, 4vw, 56px); font-weight: 800; letter-spacing: -0.03em; line-height: 1.02; color: #fff !important; }
.hd-prox::after { content: "↗"; flex: none; display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--hd-verde, #3cf03c); color: var(--hd-preto); font-size: 26px; transition: transform 0.3s; }
.hd-prox svg { display: none; }
@media (hover: hover) { .hd-prox:hover { background: var(--hd-azul) !important; } .hd-prox:hover::after { transform: rotate(45deg); } }
.hd-prox { display: grid !important; grid-template-columns: 1fr auto; column-gap: 24px; }
.hd-prox span, .hd-prox b { grid-column: 1; }
.hd-prox::after { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.hd-prox::before { display: none !important; content: none !important; }
@media (max-width: 639px) { .hd-imgs--tres > :last-child:nth-child(odd), .hd-imgs--mosaico > :last-child:nth-child(even) { grid-column: 1 / -1; } .hd-imgs--tres > :last-child:nth-child(odd) img, .hd-imgs--mosaico > :last-child:nth-child(even) img { aspect-ratio: 16 / 10 !important; } }
