/* Hemerson Dazilio — camada 2.1: o que veio da prévia de movimento.
   Desligue por seção com a classe "sem-animacao" ou o estilo "Sem animação". */

/* ---------- Logo em texto: m. que abre para hemerson. ---------- */
.hd-logo-texto { margin: 0 !important; flex: none; font-size: 26px; font-weight: 800; letter-spacing: -0.04em; line-height: 1; }
.hd-logo-texto a { display: inline-flex; align-items: baseline; text-decoration: none; color: inherit; }
.hd-logo-texto b { color: var(--hd-verde); }
.hd-logo-texto__some { display: inline-block; max-width: 0; overflow: hidden; opacity: 0; white-space: nowrap; vertical-align: bottom; transition: max-width 520ms var(--ease-out), opacity 300ms var(--ease-out); }
.hd-logo-texto a:hover .hd-logo-texto__some, .hd-logo-texto a:focus-visible .hd-logo-texto__some { max-width: 5em; opacity: 1; }
.hd-cabecalho .current-menu-item > a, .hd-cabecalho .wp-block-navigation-item__content[aria-current] { color: var(--hd-verde); }

/* ---------- Cortina entre páginas ---------- */
.hd-cortina { position: fixed; inset: 0; z-index: 9999; background: var(--hd-azul); color: #fff; display: grid; place-items: center; transform: translateY(100%); pointer-events: none; }
.hd-cortina span { font-size: clamp(64px, 10vw, 120px); font-weight: 800; letter-spacing: -0.05em; opacity: 0; transition: opacity 300ms var(--ease-out) 150ms; }
.hd-cortina b { color: var(--hd-verde); }
.hd-cortina.cobre { transform: translateY(0); transition: transform 560ms var(--ease-in-out); pointer-events: auto; }
.hd-cortina.cobre span { opacity: 1; }
.hd-cortina.sai { transform: translateY(-100%); transition: transform 650ms var(--ease-in-out); }
.hd-cortina.sem-transicao, .hd-cortina.sem-transicao span { transition: none !important; }

/* ---------- Traço desenhado à mão na palavra em itálico do título ---------- */
.hd-abertura h1 em.hd-traco { font-style: normal; position: relative; display: inline-block; }
.hd-traco__risco { position: absolute; left: -2%; bottom: -0.12em; width: 104%; height: 0.28em; overflow: visible; pointer-events: none; }
.hd-traco__risco path { fill: none; stroke: var(--hd-verde); stroke-width: 6; stroke-linecap: round; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 900ms var(--ease-out) 900ms; }
.hd-abertura.in .hd-traco__risco path, html:not(.js) .hd-traco__risco path { stroke-dashoffset: 0; }

/* ---------- Cartões dos cases: imagem cresce, selo "Ver o case" sobe ---------- */
.hd-case__link { display: block; transition: transform 300ms var(--ease-out); transform-style: preserve-3d; will-change: transform; }
.hd-case__img { position: relative; overflow: hidden; border-radius: 20px; }
.hd-case__img img { transition: transform 900ms var(--ease-out), filter 600ms var(--ease-out); }
.hd-case__ver { position: absolute; left: 16px; bottom: 16px; display: inline-flex; gap: 8px; align-items: center; background: #fff; color: var(--hd-preto); font-size: 14px; font-weight: 700; padding: 10px 16px; border-radius: 999px; transform: translateY(140%); transition: transform 450ms var(--ease-out); }
.hd-case__ver i { font-style: normal; color: var(--hd-azul); }
@media (hover: hover) {
	.hd-case__link:hover .hd-case__img img { transform: scale(1.06); }
	.hd-case__link:hover .hd-case__ver, .hd-case__link:focus-visible .hd-case__ver { transform: translateY(0); }
	.hd-case__link:hover .hd-case__titulo { color: var(--hd-azul); }
}
@media (hover: none) { .hd-case__ver { transform: none; } }

/* ---------- Método: cartões que empilham e o rótulo da etapa ---------- */
.hd-secao--corpo { background: var(--hd-campo); }
@media (min-width: 1000px) {
	.hd-etapas .hd-etapa { position: sticky; top: calc(110px + var(--n, 0) * 14px); background: #fff; border-radius: 32px; padding: 48px 48px 56px !important; margin-bottom: 32px !important; box-shadow: 0 -12px 40px -24px rgba(23,23,25,0.35); transform-origin: top center; }
	.hd-etapas .is-style-nota { position: relative; z-index: 1; margin-bottom: 32px !important; }
}
@media (max-width: 999px) { .hd-etapas .hd-etapa { background: #fff; border-radius: 24px; padding: 28px 24px 32px !important; margin-bottom: 20px !important; } }
.hd-etapa { position: relative; }
.is-style-etiqueta { display: inline-block; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--hd-azul); box-shadow: inset 0 0 0 2px var(--hd-azul); padding: 8px 16px; border-radius: 999px; margin: 0 0 16px !important; transition: background-color var(--t-ui), color var(--t-ui); }
@media (min-width: 640px) { .hd-etapa > .is-style-etiqueta { position: absolute; top: 52px; right: 48px; margin: 0 !important; } }
.hd-etapa:hover .is-style-etiqueta, li:hover > .is-style-etiqueta { background: var(--hd-azul); color: #fff; }

/* ---------- Formulário Começar: cartão escuro, linhas e opções com o ponto do m. ---------- */
.hd-contato { background: var(--hd-preto); color: #fff; border-radius: 32px; padding: clamp(16px, 2vw, 24px) !important; gap: clamp(24px, 4vw, 56px) !important; }
.hd-contato__cartao { background: var(--hd-azul); border-radius: 24px; padding: clamp(28px, 4vw, 48px) !important; position: relative; overflow: hidden; min-height: 320px; }
.hd-contato__cartao::after { content: "m."; position: absolute; right: -0.05em; bottom: -0.22em; font-size: 260px; font-weight: 800; letter-spacing: -0.06em; color: rgba(255,255,255,0.08); line-height: 1; pointer-events: none; }
.hd-contato__cartao h2 { font-size: clamp(40px, 5vw, 64px); line-height: 0.98; letter-spacing: -0.04em; }
.hd-contato .hd-form-wrap { padding: clamp(8px, 2vw, 24px) clamp(4px, 2vw, 24px) clamp(16px, 2vw, 24px) 0; }
.hd-contato .hd-campo-f input, .hd-contato .hd-campo-f textarea { background: transparent; color: #fff; border: 0; border-bottom: 1px solid rgba(255,255,255,0.3); border-radius: 0; padding-left: 0; }
.hd-contato .hd-campo-f input:focus, .hd-contato .hd-campo-f textarea:focus { outline: none; border-bottom-color: var(--hd-verde); }
.hd-contato .hd-campo-f label, .hd-contato legend { color: #fff; }
.hd-contato .hd-dica, .hd-contato .hd-priv { color: rgba(255,255,255,0.65); }
.hd-contato .hd-campo-f textarea::placeholder { color: rgba(255,255,255,0.35); }
.hd-contato .hd-enviar { background: #fff !important; color: var(--hd-preto) !important; }
.hd-momentos { display: flex; flex-wrap: wrap; gap: 10px; }
.hd-momentos label { display: inline-flex !important; align-items: center; gap: 10px; cursor: pointer; border-radius: 999px; padding: 12px 18px; box-shadow: inset 0 0 0 1.5px currentColor; font-weight: 600; transition: background-color var(--t-ui), color var(--t-ui), box-shadow var(--t-ui); }
.hd-contato .hd-momentos label { box-shadow: inset 0 0 0 1.5px rgba(255,255,255,0.25); }
.hd-momentos input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.hd-momentos label::before { content: ""; width: 12px; height: 12px; border-radius: 50%; flex: none; box-shadow: inset 0 0 0 2px currentColor; opacity: 0.6; transition: background-color var(--t-ui), box-shadow var(--t-ui), transform 300ms var(--ease-out), opacity var(--t-ui); }
.hd-momentos label:hover::before { box-shadow: inset 0 0 0 2px var(--hd-verde); opacity: 1; }
.hd-momentos label:has(input:checked) { background: var(--hd-azul); color: #fff; box-shadow: none; }
.hd-contato .hd-momentos label:has(input:checked) { background: #fff; color: var(--hd-preto); }
.hd-momentos label:has(input:checked)::before { background: var(--hd-verde); box-shadow: inset 0 0 0 2px var(--hd-verde); opacity: 1; transform: scale(1.15); }
.hd-contato .hd-momentos label:has(input:checked)::before { background: var(--hd-azul); box-shadow: inset 0 0 0 2px var(--hd-azul); }
.hd-momentos label:has(input:focus-visible) { outline: 2px solid var(--hd-verde); outline-offset: 2px; }

/* ---------- Rota: do Brasil para a Itália, hoje em Londres ---------- */
.hd-rota { background: var(--hd-preto); color: #fff; overflow: hidden; }
.hd-rota .wp-block-columns { align-items: center !important; gap: clamp(24px, 5vw, 72px) !important; }
.hd-rota h2 { font-size: clamp(32px, 4.2vw, 56px); line-height: 1.04; letter-spacing: -0.035em; }
.hd-rota h2 em { font-style: normal; color: #8f8eff; }
.hd-rota p { color: rgba(255,255,255,0.7); }
.hd-rota .is-style-rotulo { color: rgba(255,255,255,0.55) !important; }
.hd-rota__lugares { list-style: none; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 10px; }
.hd-rota__lugares li { display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(255,255,255,0.2); border-radius: 999px; padding: 8px 14px; font-size: 14px; margin: 0 !important; }
.hd-rota__lugares li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--hd-verde); }
.hd-rota__lugares li:nth-child(2)::before { background: var(--hd-magenta); }
.hd-rota__lugares li:nth-child(3)::before { background: #8f8eff; }
.hd-rota__mapa { min-height: 200px; }
.hd-rota__mapa svg { display: block; width: 100%; height: auto; overflow: visible; }
.hd-rota__terra circle { fill: #3a3a42; }
.hd-rota__arco { fill: none; stroke: rgba(255,255,255,0.85); stroke-width: 2.2; stroke-linecap: round; stroke-dasharray: 2 9; animation: hd-rota-anda 1.4s linear infinite; }
.hd-rota__risco { fill: none; stroke: #fff; stroke-width: 10; stroke-dasharray: 1; stroke-dashoffset: 1; }
.hd-rota.viva .r1 { transition: stroke-dashoffset 1.8s var(--ease-out) 0.3s; stroke-dashoffset: 0; }
.hd-rota.viva .r2 { transition: stroke-dashoffset 1.1s var(--ease-out) 2s; stroke-dashoffset: 0; }
.hd-rota__ponto { opacity: 0; transition: opacity 500ms var(--ease-out); }
.hd-rota__ponto circle { fill: var(--c); }
.hd-rota__ponto .onda { fill: none; stroke: var(--c); stroke-width: 2; transform-box: fill-box; transform-origin: center; }
.hd-rota__ponto text { fill: #fff; font: 700 17px var(--wp--preset--font-family--manrope, Manrope, sans-serif); }
.hd-rota__ponto.p1 { --c: var(--hd-verde); } .hd-rota__ponto.p2 { --c: var(--hd-magenta); } .hd-rota__ponto.p3 { --c: #8f8eff; }
.hd-rota.viva .p1 { opacity: 1; transition-delay: 0.1s; }
.hd-rota.viva .p2 { opacity: 1; transition-delay: 1.9s; }
.hd-rota.viva .p3 { opacity: 1; transition-delay: 3s; }
.hd-rota.viva .onda { animation: hd-rota-onda 2.4s var(--ease-out) infinite; }
@keyframes hd-rota-anda { to { stroke-dashoffset: -22; } }
@keyframes hd-rota-onda { 0% { transform: scale(1); opacity: 0.9; } 100% { transform: scale(3.4); opacity: 0; } }

/* ---------- Rodapé novo: m., colunas, nome gigante e botão flutuante ---------- */
.hd-rodape { overflow: hidden; position: relative; }
.hd-marca-m { font-size: 48px !important; font-weight: 800; letter-spacing: -0.05em; line-height: 0.8 !important; margin: 0 0 24px !important; }
.hd-marca-m b, .hd-marca-m strong { color: var(--hd-verde); }
.hd-rodape__email a { font-size: clamp(20px, 2.2vw, 28px) !important; text-decoration: none; }
.hd-rodape__cidade { color: rgba(255,255,255,0.65); margin-top: 16px !important; line-height: 1.6; }
.hd-rodape__titulo { color: #fff; font-weight: 700; font-size: 17px; margin: 0 0 16px !important; }
.hd-rodape .hd-menu-rodape .wp-block-navigation-item__content { color: rgba(255,255,255,0.65); font-size: 17px; }
.hd-nome-gigante { font-size: clamp(110px, 21vw, 330px) !important; font-weight: 800; letter-spacing: -0.065em; line-height: 0.78 !important; color: #2a2a31; margin: 72px 0 calc(-0.14em - 32px) -0.04em !important; white-space: nowrap; user-select: none; transition: color 600ms var(--ease-out); }
.hd-nome-gigante b, .hd-nome-gigante strong { color: inherit; display: inline-block; transition: color 400ms var(--ease-out), transform 500ms var(--ease-out); }
.hd-rodape:hover .hd-nome-gigante { color: #34343c; }
.hd-rodape:hover .hd-nome-gigante b, .hd-rodape:hover .hd-nome-gigante strong { color: var(--hd-verde); transform: translateY(-0.04em); }
.hd-cta-flutua { position: fixed; right: 20px; bottom: 20px; z-index: 900; margin: 0 !important; transform: translateY(140%); opacity: 0; transition: transform 500ms var(--ease-out), opacity 300ms var(--ease-out); }
.hd-cta-flutua.visivel { transform: none; opacity: 1; }
.hd-cta-flutua .wp-block-button__link { background: var(--hd-verde) !important; color: var(--hd-preto) !important; box-shadow: 0 12px 30px -10px rgba(0,0,0,0.45); font-weight: 700; }
html:not(.js) .hd-cta-flutua { display: none; }
@media (max-width: 639px) { .hd-cta-flutua { left: 16px; right: 16px; bottom: 16px; } .hd-cta-flutua .wp-block-button { width: 100%; } .hd-cta-flutua .wp-block-button__link { width: 100%; justify-content: center; } }

/* ---------- Privacidade: números, pontos verdes e barra de leitura ---------- */
.hd-legal { counter-reset: hd-legal; }
.hd-legal-secao { counter-increment: hd-legal; border-bottom: 1px solid rgba(23,23,25,0.12); margin-bottom: 56px !important; }
.hd-legal-secao:last-child { border-bottom: 0; }
.hd-legal-secao > .wp-block-heading::before { content: counter(hd-legal, decimal-leading-zero); display: block; font-family: var(--hd-lora); font-weight: 400; font-size: 20px; color: var(--hd-azul); margin-bottom: 8px; letter-spacing: 0; }
.hd-legal .wp-block-list { list-style: none; padding-left: 0 !important; }
.hd-legal .wp-block-list li { position: relative; padding-left: 22px; }
.hd-legal .wp-block-list li::before { content: ""; position: absolute; left: 0; top: 0.68em; width: 8px; height: 8px; border-radius: 50%; background: var(--hd-verde); }
.hd-legal strong { color: var(--hd-preto); }
.is-style-indice { counter-reset: hd-ind; }
.is-style-indice li { counter-increment: hd-ind; }
.is-style-indice a { display: flex !important; gap: 12px; align-items: baseline; transition: color var(--t-hover), transform 300ms var(--ease-out) !important; }
.is-style-indice a::before { content: counter(hd-ind, decimal-leading-zero); font-family: var(--hd-lora); font-weight: 400; font-size: 14px; color: var(--hd-azul); opacity: 0.5; }
.is-style-indice a.ativo { color: var(--hd-preto) !important; }
.is-style-indice a.ativo::before { opacity: 1; }
@media (hover: hover) { .is-style-indice a:hover { transform: translateX(4px); color: var(--hd-preto); } }
.hd-barra-leitura { margin-top: 20px; height: 3px; background: var(--hd-campo); border-radius: 3px; overflow: hidden; }
.hd-barra-leitura i { display: block; height: 100%; width: calc(var(--p, 0) * 100%); background: var(--hd-azul); }
@media (min-width: 1000px) { .hd-indice { position: sticky; top: 110px; align-self: start; } }

/* ---------- Menos movimento ---------- */
@media (prefers-reduced-motion: reduce) {
	.hd-cortina { display: none; }
	.hd-rota__arco, .hd-rota.viva .onda { animation: none; }
	.hd-rota__risco { stroke-dashoffset: 0; }
	.hd-rota__ponto { opacity: 1; }
	.hd-traco__risco path { stroke-dashoffset: 0; transition: none; }
	.hd-case__link { transform: none !important; }
}
.sem-animacao .hd-case__link, .is-style-sem-animacao .hd-case__link { transform: none !important; }
@media (min-width: 782px) { .hd-contato__cartao { position: sticky; top: 110px; align-self: flex-start !important; } }
@media (max-width: 639px) { .hd-rota__ponto text { font-size: 30px; } }

/* Tema 2.1: ajustes */
.hd-cortina:not(.cobre):not(.sai) { visibility: hidden; }
.hd-contato__cartao.hd-contato__cartao { margin-top: 0 !important; }
.hd-rodape .hd-menu-rodape .wp-block-navigation-item__content { text-decoration: none; }