/* Mind & Heart Engineering — estilos complementares ao theme.json (AA). */
:root {
	--mh-navy: #1B4863; --mh-sage: #879273; --mh-sage-deep: #5E6B52; --mh-gold: #D3AD59;
	--mh-gold-deep: #7A5B1F; --mh-ivory: #F6F3EC; --mh-stone: #EDE8DF; --mh-charcoal: #1F2421;
	--mh-raio: 14px;
}
html { scroll-padding-top: 120px; }
html.mh-sem-scroll { overflow: hidden; }
body { -webkit-font-smoothing: antialiased; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--mh-navy); outline-offset: 3px; border-radius: 4px;
}
.mh-escuro :where(a, button, summary):focus-visible { outline-color: var(--mh-gold); }
.skip-link.screen-reader-text:focus { background: #fff; color: var(--mh-navy); padding: .75rem 1rem; z-index: 100000; }

/* ---------- Cabeçalho ---------- */
.mh-cabecalho { position: sticky; top: 0; z-index: 50; background: rgba(246,243,236,.97); border-bottom: 1px solid rgba(135,146,115,.35); }
.admin-bar .mh-cabecalho { top: 32px; }
@media (max-width: 782px) { .admin-bar .mh-cabecalho { top: 46px; } }
.mh-cabecalho__barra { min-height: 112px; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; max-width: 1200px; margin: 0 auto; }
.mh-logo { display: inline-flex; align-items: center; line-height: 0; }
.mh-logo img { height: 80px; width: auto; display: block; }
.mh-cabecalho.is-compacto .mh-cabecalho__barra { min-height: 76px; }
.mh-cabecalho.is-compacto .mh-logo img { height: 56px; }
@media (prefers-reduced-motion: no-preference) {
	.mh-logo img, .mh-cabecalho__barra { transition: height .25s ease, min-height .25s ease; }
}
@media (max-width: 781px) {
	.mh-cabecalho__barra { min-height: 84px; }
	.mh-logo img { height: 60px; }
	.mh-cabecalho.is-compacto .mh-cabecalho__barra { min-height: 72px; }
	.mh-cabecalho.is-compacto .mh-logo img { height: 56px; }
}
.mh-menu .wp-block-navigation-item__content { font-weight: 500; text-decoration: none; padding: .6rem .25rem; min-height: 44px; display: inline-flex; align-items: center; color: var(--mh-charcoal); }
.mh-menu .wp-block-navigation-item__content:hover { color: var(--mh-navy); text-decoration: underline; text-underline-offset: 6px; text-decoration-color: var(--mh-gold); }
.mh-menu .mh-nav-cta > .wp-block-navigation-item__content { background: var(--mh-navy); color: #fff; border-radius: 999px; padding: .6rem 1.3rem; }
.mh-menu .mh-nav-cta > .wp-block-navigation-item__content:hover { background: #14374C; color: #fff; text-decoration: none; }
.mh-menu .wp-block-navigation__responsive-container-open, .mh-menu .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; color: var(--mh-navy); }
.mh-menu .wp-block-navigation__responsive-container.is-menu-open { background: var(--mh-ivory); padding: 2rem; }
.mh-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.25rem; }

/* ---------- Secções ---------- */
.mh-secao { padding-top: clamp(3.5rem, 8vw, 6rem); padding-bottom: clamp(3.5rem, 8vw, 6rem); }
.mh-secao--pedra { background: var(--mh-stone); }
.mh-secao--estreita { padding-top: 2.5rem; padding-bottom: 2.5rem; }
.mh-pagina-topo { padding-top: clamp(3rem, 7vw, 5rem); padding-bottom: 1rem; }
.mh-filete { width: 64px; height: 2px; background: var(--mh-gold); border: 0; margin: 0 0 1.25rem; }
.mh-sobretitulo { font-size: .875rem; letter-spacing: .08em; text-transform: uppercase; color: var(--mh-sage-deep); font-weight: 500; }
.mh-introducao { font-size: 1.25rem; color: var(--mh-charcoal); }
.mh-nota { font-size: .9rem; color: var(--mh-sage-deep); }
mark.mh-confirmar, .mh-confirmar { background: transparent; color: var(--mh-gold-deep); font-size: .85em; font-style: italic; border-bottom: 1px dashed var(--mh-gold-deep); }
.mh-escuro mark.mh-confirmar, .mh-escuro .mh-confirmar { color: var(--mh-gold); border-color: var(--mh-gold); }

/* Hero */
.mh-hero { position: relative; color: #fff; background: radial-gradient(120% 90% at 85% 10%, rgba(135,146,115,.28) 0, rgba(135,146,115,0) 55%), linear-gradient(160deg, #1B4863 0%, #163B52 55%, #12303F 100%); padding-top: clamp(5rem, 14vw, 9rem); padding-bottom: clamp(5rem, 14vw, 9rem); overflow: hidden; }
.mh-hero::after { content: ""; position: absolute; inset: auto 0 0 0; height: 3px; background: linear-gradient(90deg, transparent, var(--mh-gold), transparent); opacity: .7; }
.mh-hero h1, .mh-hero p { color: #fff; }
.mh-hero h1 { max-width: 18ch; }
.mh-hero .mh-hero__linha { color: var(--mh-gold); font-weight: 500; letter-spacing: .03em; }
.mh-hero .mh-hero__sub { font-size: 1.25rem; max-width: 40rem; color: #F6F3EC; }
.mh-hero .mh-hero__foto { position: absolute; right: 1rem; bottom: .75rem; margin: 0; font-size: .8rem; }
.mh-escuro .wp-block-button__link { background: var(--mh-gold); color: var(--mh-charcoal); }
.mh-escuro .wp-block-button__link:hover { background: #E2C27A; color: var(--mh-charcoal); }
.mh-escuro .is-style-outline .wp-block-button__link { background: transparent; color: #fff; border: 2px solid #fff; }
.mh-escuro .is-style-outline .wp-block-button__link:hover { background: rgba(255,255,255,.1); }
.wp-block-button.is-style-outline .wp-block-button__link { border: 2px solid var(--mh-navy); color: var(--mh-navy); background: transparent; }
.wp-block-button__link { min-height: 44px; display: inline-flex; align-items: center; text-decoration: none; }

/* Cartões */
.mh-cartoes { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); margin-top: 2rem; }
.mh-cartao { background: #fff; border: 1px solid rgba(135,146,115,.35); border-radius: var(--mh-raio); padding: 2rem 1.75rem; display: flex; flex-direction: column; gap: .6rem; position: relative; }
.mh-cartao::before { content: ""; position: absolute; top: 0; left: 1.75rem; width: 48px; height: 3px; background: var(--mh-gold); }
.mh-cartao h3 { margin: 0; font-size: 1.75rem; }
.mh-cartao h3 a { text-decoration: none; color: var(--mh-navy); }
.mh-cartao h3 a::after { content: ""; position: absolute; inset: 0; border-radius: var(--mh-raio); }
.mh-cartao h3 a:focus-visible { outline: none; }
.mh-cartao:focus-within { outline: 3px solid var(--mh-navy); outline-offset: 3px; }
.mh-cartao .mh-duracao { color: var(--mh-sage-deep); font-weight: 500; margin: 0; }
.mh-cartao .mh-desde { margin-top: auto; color: var(--mh-gold-deep); font-weight: 600; }
.mh-cartao p { margin: 0; }

/* Citação */
.mh-citacao { border: 0; padding: 0; margin: 0; text-align: center; }
.mh-citacao p { font-family: var(--wp--preset--font-family--heading); font-style: italic; font-weight: 500; font-size: clamp(1.75rem, 3.5vw, 2.5rem); line-height: 1.35; color: var(--mh-navy); }
.mh-citacao cite { display: block; margin-top: 1rem; font-style: normal; font-size: 1rem; color: var(--mh-sage-deep); }
.mh-citacao-eco { text-align: center; font-family: var(--wp--preset--font-family--heading); font-size: 1.5rem; color: var(--mh-charcoal); }

/* Grelha de mestres e listas */
.mh-mestres { display: grid; gap: 1rem 2rem; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); list-style: none; padding: 0; }
.mh-mestres li { border-left: 2px solid var(--mh-sage); padding: .25rem 0 .25rem 1rem; }
.mh-mestres strong { display: block; color: var(--mh-navy); font-weight: 600; }
.mh-cronologia { list-style: none; padding: 0; }
.mh-cronologia li { padding: .55rem 0; border-bottom: 1px solid rgba(135,146,115,.3); }

/* Bloco de formação com o símbolo (sem filtros/bordas/sombras na imagem) */
.mh-formacao-bloco { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem 2rem; background: var(--mh-stone); border-radius: var(--mh-raio); padding: 1.5rem; margin: 2rem 0; }
.mh-formacao-bloco__simbolo { background: #fff; padding: 40px; line-height: 0; flex: 0 0 auto; }
.mh-formacao-bloco__simbolo img { height: 88px; width: auto; max-width: none; object-fit: contain; filter: none; box-shadow: none; border: 0; border-radius: 0; opacity: 1; mix-blend-mode: normal; }
.mh-formacao-bloco__texto h3 { margin: 0 0 .4rem; }
.mh-formacao-bloco__texto p { margin: 0; }

/* Galeria */
.mh-galeria { display: grid; gap: 1.25rem; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; padding: 0; margin: 2rem 0 1rem; }
@media (min-width: 640px) { .mh-galeria { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .mh-galeria { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.mh-galeria figure { margin: 0; }
.mh-galeria__botao { display: block; width: 100%; padding: .75rem; background: var(--mh-stone); border: 1px solid rgba(135,146,115,.5); border-radius: 10px; cursor: zoom-in; }
.mh-galeria__botao:hover { border-color: var(--mh-navy); }
.mh-galeria__botao img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; display: block; }
.mh-galeria figcaption { font-size: .9rem; margin-top: .5rem; color: var(--mh-charcoal); }
.mh-nota-marcas { font-size: .85rem; color: var(--mh-sage-deep); margin-top: 1.5rem; }

/* Lightbox */
.mh-lightbox { border: 0; padding: 0; background: transparent; max-width: 100vw; max-height: 100vh; width: 100vw; height: 100vh; margin: 0; }
.mh-lightbox::backdrop { background: rgba(18, 30, 38, .88); }
.mh-lightbox__painel { width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; padding: 1rem; box-sizing: border-box; }
.mh-lightbox__figura { margin: 0; text-align: center; }
.mh-lightbox__img { max-width: 90vw; max-height: 75vh; width: auto; height: auto; object-fit: contain; background: #fff; }
.mh-lightbox__legenda { color: #fff; margin-top: .75rem; }
.mh-lightbox__contador { color: var(--mh-gold); margin-left: .5rem; }
.mh-lightbox__controlos { display: flex; gap: .75rem; flex-wrap: wrap; justify-content: center; }
.mh-lightbox__btn { min-width: 44px; min-height: 44px; padding: .6rem 1.2rem; border-radius: 999px; border: 2px solid #fff; background: transparent; color: #fff; font: inherit; cursor: pointer; }
.mh-lightbox__btn:hover { background: rgba(255,255,255,.12); }
.mh-lightbox__btn:focus-visible { outline: 3px solid var(--mh-gold); outline-offset: 3px; }

/* (lista de ícones, sem uso) */
.mh-areas { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); list-style: none; padding: 0; text-align: center; }
.mh-areas li { padding: 1.25rem .5rem; background: #fff; border-radius: var(--mh-raio); border: 1px solid rgba(135,146,115,.35); font-weight: 500; }
.mh-areas svg { width: 40px; height: 40px; stroke: var(--mh-sage); fill: none; stroke-width: 1.5; display: block; margin: 0 auto .6rem; }

/* Tabela de preços (cartões no mobile) */
.mh-precos { width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; border-radius: var(--mh-raio); overflow: hidden; border: 1px solid rgba(135,146,115,.35); }
.mh-precos th, .mh-precos td { padding: 1rem 1.1rem; vertical-align: top; text-align: left; border-bottom: 1px solid rgba(135,146,115,.25); }
.mh-precos thead th { background: var(--mh-navy); color: #fff; font-family: var(--wp--preset--font-family--heading); font-size: 1.4rem; font-weight: 600; }
.mh-precos thead th span { display: block; font-family: var(--wp--preset--font-family--body); font-size: .9rem; color: var(--mh-gold); font-weight: 500; }
.mh-precos tbody th { color: var(--mh-navy); font-weight: 600; width: 18%; background: var(--mh-stone); }
.mh-precos .mh-preco { font-weight: 600; color: var(--mh-charcoal); white-space: nowrap; }
.mh-precos .mh-prestacao { display: block; font-size: .9rem; color: var(--mh-sage-deep); }
.mh-precos tfoot td { border-bottom: 0; }
.mh-precos .mh-btn { display: inline-flex; align-items: center; min-height: 44px; background: var(--mh-navy); color: #fff; text-decoration: none; border-radius: 999px; padding: .6rem 1.1rem; font-weight: 500; font-size: .95rem; }
.mh-precos .mh-btn:hover { background: #14374C; color: #fff; }
.mh-precos-cartoes { display: none; }
@media (max-width: 860px) {
	.mh-precos { display: none; }
	.mh-precos-cartoes { display: grid; gap: 1.25rem; }
	.mh-precos-cartoes .mh-cartao dl { margin: 0; }
	.mh-precos-cartoes dt { font-weight: 600; color: var(--mh-navy); margin-top: .75rem; }
	.mh-precos-cartoes dd { margin: 0; }
	.mh-precos-cartoes .mh-btn { display: inline-flex; align-items: center; min-height: 44px; background: var(--mh-navy); color: #fff; text-decoration: none; border-radius: 999px; padding: .6rem 1.1rem; margin-top: 1rem; align-self: flex-start; }
}

/* Bloco avaliação */
.mh-avaliacao { background: #fff; border: 1px solid rgba(135,146,115,.45); border-left: 4px solid var(--mh-sage); border-radius: var(--mh-raio); padding: 1.75rem; }
.mh-avaliacao h3 { margin-top: 0; }

/* FAQ */
.mh-faq details { border-bottom: 1px solid rgba(135,146,115,.35); padding: .25rem 0; }
.mh-faq summary { cursor: pointer; font-weight: 600; color: var(--mh-navy); padding: .75rem 0; min-height: 44px; list-style-position: outside; }

/* CTA final */
.mh-cta { text-align: center; }
.mh-cta .wp-block-buttons { justify-content: center; }

/* Contacto */
.mh-contacto-grelha { display: grid; gap: 2.5rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .mh-contacto-grelha { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); } }
.mh-lateral { background: var(--mh-stone); border-radius: var(--mh-raio); padding: 1.5rem; align-self: start; }
.mh-lateral h2 { font-size: 1.5rem; margin-top: 0; }
.mh-form .mh-campo { margin: 0 0 1.25rem; }
.mh-form label, .mh-form legend { font-weight: 500; display: block; margin-bottom: .35rem; }
.mh-form fieldset { border: 0; padding: 0; min-width: 0; }
.mh-form input[type="text"], .mh-form input[type="email"], .mh-form input[type="tel"], .mh-form select, .mh-form textarea {
	width: 100%; box-sizing: border-box; font: inherit; color: var(--mh-charcoal); background: #fff; border: 1px solid #6E7566; border-radius: 8px; padding: .7rem .85rem; min-height: 44px;
}
.mh-form .wpcf7-list-item { display: inline-block; margin: 0 1.25rem .35rem 0; }
.mh-form .wpcf7-list-item label { display: inline-flex; align-items: center; gap: .5rem; font-weight: 400; min-height: 44px; margin: 0; }
.mh-form input[type="radio"], .mh-form input[type="checkbox"] { width: 20px; height: 20px; accent-color: var(--mh-navy); flex: 0 0 auto; }
.mh-form .mh-consentimento .wpcf7-list-item { display: block; margin: 0; }
.mh-form .mh-consentimento label { align-items: flex-start; }
.mh-form .mh-consentimento input { margin-top: .3rem; }
.mh-form .mh-obrig { color: #9B2C2C; }
.mh-form .mh-ajuda, .mh-legenda-obrig { font-size: .875rem; color: var(--mh-sage-deep); }
.mh-form .wpcf7-not-valid-tip { color: #9B2C2C; font-size: .9rem; margin-top: .3rem; }
.mh-form .wpcf7-not-valid { border-color: #9B2C2C; }
.mh-form .wpcf7-submit { background: var(--mh-navy); color: #fff; border: 0; border-radius: 999px; padding: .85rem 1.8rem; font: inherit; font-weight: 500; min-height: 44px; cursor: pointer; }
.mh-form .wpcf7-submit:hover { background: #14374C; }
.mh-form .wpcf7-response-output { border-radius: 8px; padding: 1rem !important; margin: 1rem 0 0 !important; }
.mh-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
[hidden] { display: none !important; }

/* Rodapé */
.mh-rodape { background: var(--mh-navy); color: #F6F3EC; padding-top: 3rem; padding-bottom: 2rem; margin-top: 0; }
.mh-rodape a { color: #fff; }
.mh-rodape a:hover { color: var(--mh-gold); }
.mh-rodape__interior { max-width: 1200px; margin: 0 auto; display: grid; gap: 1.25rem; }
.mh-rodape__logo { display: inline-block; line-height: 0; background: var(--mh-ivory); padding: 10px 14px; border-radius: 10px; justify-self: start; }
.mh-rodape__logo img { height: 48px; width: auto; display: block; }
.mh-rodape p { margin: 0; font-size: .95rem; }
.mh-rodape__links { display: flex; gap: 1.25rem; flex-wrap: wrap; list-style: none; padding: 0; margin: 0; }
.mh-rodape__links a { display: inline-flex; min-height: 44px; align-items: center; }
.mh-rodape__aviso { color: var(--mh-gold) !important; }
.mh-rodape__copy { font-size: .85rem !important; opacity: .9; border-top: 1px solid rgba(246,243,236,.2); padding-top: 1rem; }

/* 404 */
.mh-404 { text-align: center; padding-top: 6rem; padding-bottom: 6rem; }

/* Entrada suave */
@media (prefers-reduced-motion: no-preference) {
	.mh-secao, .mh-pagina-topo, .mh-hero > * { animation: mh-aparecer .8s ease both; }
	@keyframes mh-aparecer { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
}
.mh-cabecalho, .mh-rodape { padding-left: clamp(1.25rem, 5vw, 2.5rem); padding-right: clamp(1.25rem, 5vw, 2.5rem); }
.mh-hero.is-layout-constrained > h1, .mh-hero.is-layout-constrained > .mh-hero__sub { max-width: var(--wp--style--global--content-size, 760px); text-wrap: balance; }
.mh-escuro .wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: #fff; border-color: #fff; }
.mh-contacto-grelha { padding-left: max(clamp(1.25rem, 5vw, 2.5rem), calc((100% - 1100px) / 2)) !important; padding-right: max(clamp(1.25rem, 5vw, 2.5rem), calc((100% - 1100px) / 2)) !important; }
@media (min-width: 861px) { table.mh-precos { width: min(1100px, calc(100vw - 4rem)); max-width: none !important; position: relative; left: 50%; transform: translateX(-50%); } }

/* =====================================================================
 * v2 — direção "Paz": hero escuro, ivory + sage claro, natureza como respiro.
 * Dourado só em linhas e botões. Títulos leves, itálico.
 * ===================================================================== */
:root { --mh-mist: #E9ECE4; --mh-ink: #1F2421; --mh-raio: 18px; }
body { font-weight: 300; }
strong, b { font-weight: 500; }
h1, h2, h3, .wp-block-heading { font-weight: 400; letter-spacing: .005em; text-wrap: balance; }
h1.wp-block-heading, h2.wp-block-heading { font-style: italic; font-weight: 300; }
.mh-secao { padding-top: clamp(4.5rem, 10vw, 8.5rem); padding-bottom: clamp(4.5rem, 10vw, 8.5rem); }
.mh-secao--sage, .mh-secao--pedra { background: var(--mh-mist); }
.mh-secao--curta { padding-top: clamp(3.5rem, 7vw, 6rem); padding-bottom: clamp(3.5rem, 7vw, 6rem); }
.mh-secao--cola { padding-top: clamp(1rem, 3vw, 2.5rem); }
.mh-secao--estreita { padding-top: 3rem; padding-bottom: 3rem; }
.mh-centro { text-align: center; }
.mh-centro .mh-filete, .mh-cta .mh-filete { margin-left: auto; margin-right: auto; }
.mh-centro .wp-block-buttons { justify-content: center; }
.mh-filete { width: 56px; height: 1px; margin-bottom: 2rem; }
.mh-sobretitulo { font-size: .75rem; letter-spacing: .3em; font-weight: 400; }
.mh-introducao { font-size: clamp(1.1rem, 1.6vw, 1.3rem); font-weight: 300; }
.wp-block-button__link { letter-spacing: .08em; font-weight: 400; padding: .95rem 1.9rem; }
.wp-block-button.is-style-outline .wp-block-button__link { border: 1px solid var(--mh-gold); color: var(--mh-gold-deep); }
.mh-ligacao a, a.mh-ligacao, p.mh-ligacao { color: var(--mh-gold-deep); text-decoration: none; border-bottom: 1px solid var(--mh-gold); padding-bottom: 2px; font-size: .95rem; }
.mh-ligacao a { border: 0; }
mark.mh-confirmar { font-weight: 400; }

/* Cabeçalho mais leve */
.mh-cabecalho { background: rgba(246,243,236,.94); backdrop-filter: blur(6px); border-bottom: 1px solid rgba(135,146,115,.22); }
.mh-menu .wp-block-navigation-item__content { font-weight: 400; letter-spacing: .06em; font-size: .92rem; }
.mh-menu .mh-nav-cta > .wp-block-navigation-item__content { background: transparent; color: var(--mh-navy); border: 1px solid var(--mh-gold); }
.mh-menu .mh-nav-cta > .wp-block-navigation-item__content:hover { background: var(--mh-navy); color: #fff; border-color: var(--mh-navy); }

/* Hero escuro com retrato em arco */
.mh-hero { background: radial-gradient(ellipse at 72% 45%, #2a2f2a 0%, #1F2421 62%); color: var(--mh-ivory); padding-top: clamp(4rem, 9vw, 7rem) !important; padding-bottom: clamp(4rem, 9vw, 7rem) !important;
  display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 5vw; align-items: center;
  padding-left: max(clamp(1.25rem, 6vw, 5rem), calc((100% - 1200px) / 2)) !important; padding-right: max(clamp(1.25rem, 6vw, 5rem), calc((100% - 1200px) / 2)) !important; }
.mh-hero::after { display: none; }
.mh-hero > * { max-width: none !important; margin: 0 !important; }
.mh-hero__texto { max-width: 620px; }
.mh-hero .mh-sobretitulo { color: var(--mh-ivory); opacity: .8; }
.mh-hero h1 { max-width: none; font-size: clamp(2.1rem, 3.8vw, 3.5rem); line-height: 1.18; color: var(--mh-ivory); margin: 1.25rem 0; }
.mh-hero .mh-hero__sub { font-size: 1.1rem; opacity: .88; color: var(--mh-ivory); margin-bottom: 2rem; }
.mh-escuro .wp-block-button__link { background: var(--mh-ivory); color: var(--mh-navy); }
.mh-escuro .wp-block-button__link:hover { background: #fff; color: var(--mh-navy); }
.mh-hero__secundario { margin-top: 1rem; font-size: .9rem; }
.mh-hero__secundario a { color: var(--mh-ivory); opacity: .78; text-decoration: none; }
.mh-hero__secundario a:hover { color: var(--mh-gold); opacity: 1; }
.mh-hero__retrato { justify-self: center; width: 100%; max-width: 460px; border-radius: 230px 230px 18px 18px; overflow: hidden; box-shadow: 0 0 0 1px rgba(211,173,89,.35); }
.mh-hero__retrato img { display: block; width: 100%; height: auto; }
@media (max-width: 760px) {
  .mh-hero { grid-template-columns: 1fr; text-align: center; gap: 2.5rem; }
  .mh-hero__retrato { order: -1; max-width: 260px; }
  .mh-hero .wp-block-buttons { justify-content: center; }
}

/* Manifesto */
.mh-manifesto { font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.6rem, 2.6vw, 2.25rem); line-height: 1.45; font-weight: 400; max-width: 660px; margin-left: auto !important; margin-right: auto !important; }
.mh-manifesto--eco { color: var(--mh-sage-deep); font-style: italic; }

/* Duas colunas com retrato em arco */
.mh-duas { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 7vw; align-items: center; max-width: 1160px !important; margin: 0 auto; }
.mh-duas--texto { align-items: start; gap: 5vw; }
.mh-duas p + p { margin-top: 1rem; }
.mh-arco { margin: 0; max-width: 520px; border-radius: 180px 180px 18px 18px; overflow: hidden; }
.mh-arco img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
@media (max-width: 760px) { .mh-duas { grid-template-columns: 1fr; gap: 2.5rem; } .mh-arco { max-width: 340px; margin: 0 auto; border-radius: 140px 140px 16px 16px; } }

/* Imagens de natureza: respiros, faixa da citação, banners e CTA final */
.mh-respiro, .mh-pausa__img, .mh-banner__img, .mh-final__img { margin: 0; overflow: hidden; }
.mh-respiro img, .mh-pausa__img img, .mh-banner__img img, .mh-final__img img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: var(--mh-pos, center); }
.mh-respiro { height: clamp(220px, 32vw, 380px); max-width: none !important; }
.mh-pausa, .mh-banner, .mh-final { position: relative; display: grid; place-items: center; overflow: hidden; padding: 0 !important; }
.mh-pausa > *, .mh-banner > *, .mh-final > * { grid-area: 1 / 1; max-width: none !important; margin: 0 !important; }
.mh-pausa__img, .mh-banner__img, .mh-final__img { width: 100%; height: 100%; }
.mh-pausa { min-height: clamp(420px, 42vw, 540px); }
.mh-pausa::before, .mh-banner::before { content: ""; grid-area: 1 / 1; width: 100%; height: 100%; background: rgba(31,36,33,.45); z-index: 1; }
.mh-pausa .mh-citacao { position: relative; z-index: 2; max-width: 900px !important; padding: 3rem 8vw; }
.mh-pausa .mh-citacao p { color: #fff; font-weight: 300; font-size: clamp(1.9rem, 3.4vw, 3rem); line-height: 1.3; }
.mh-pausa .mh-citacao cite { color: #fff; font-size: .8rem; letter-spacing: .24em; text-transform: uppercase; margin-top: 1.5rem; }
.mh-citacao p { font-weight: 300; }
.mh-banner { min-height: clamp(340px, 36vw, 460px); }
.mh-banner__texto { position: relative; z-index: 2; text-align: center; padding: 3rem 7vw; max-width: 860px !important; }
.mh-banner h1 { color: var(--mh-ivory); font-size: clamp(2.2rem, 4.2vw, 3.6rem); }
.mh-banner .mh-introducao, .mh-banner .mh-sobretitulo { color: var(--mh-ivory); }
.mh-banner .mh-sobretitulo { opacity: .85; }
.mh-final { min-height: clamp(460px, 40vw, 560px); }
.mh-final::before { content: ""; grid-area: 1 / 1; width: 100%; height: 100%; background: rgba(246,243,236,.74); z-index: 1; }
.mh-final__texto { position: relative; z-index: 2; text-align: center; padding: 3rem 7vw; }
.mh-final__texto .wp-block-buttons { justify-content: center; }
.mh-final h2 { font-size: clamp(2rem, 3.2vw, 2.9rem); }
.mh-final__aviso { font-size: .85rem; color: #4b4f4a; margin-top: 2rem !important; }

/* Cartões dos programas (sem preços) */
.mh-programas-home .mh-areas-linha { margin-top: 1.5rem; font-size: .78rem; letter-spacing: .24em; text-transform: uppercase; color: var(--mh-sage-deep); }
.mh-programas-home > .wp-block-buttons { justify-content: center; margin-top: 3rem; }
.mh-cartoes-prog { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; max-width: 1200px !important; margin: 3.5rem auto 0; }
.mh-cartao-prog { background: #fff; border-radius: var(--mh-raio); overflow: hidden; position: relative; display: flex; flex-direction: column; transition: transform .3s ease; }
.mh-cartao-prog:hover { transform: translateY(-3px); }
.mh-cartao-prog:focus-within { outline: 3px solid var(--mh-navy); outline-offset: 3px; }
.mh-cartao-prog figure { margin: 0; aspect-ratio: 3 / 2; overflow: hidden; }
.mh-cartao-prog figure img { width: 100%; height: 100%; object-fit: cover; object-position: var(--mh-pos, center); display: block; }
.mh-cartao-prog__corpo { padding: 1.9rem 1.9rem 2.1rem; display: flex; flex-direction: column; gap: .7rem; flex: 1; text-align: left; }
.mh-cartao-prog .mh-duracao { font-size: .75rem; letter-spacing: .24em; text-transform: uppercase; color: var(--mh-sage-deep); margin: 0; }
.mh-cartao-prog h3 { margin: 0; font-size: 2.1rem; font-weight: 400; }
.mh-cartao-prog h3 a { color: var(--mh-navy); text-decoration: none; }
.mh-cartao-prog h3 a::after { content: ""; position: absolute; inset: 0; }
.mh-cartao-prog h3 a:focus-visible { outline: none; }
.mh-cartao-prog p { margin: 0; }
.mh-cartao-prog .mh-ligacao { margin-top: auto; padding-top: 1rem; align-self: flex-start; }
@media (max-width: 860px) { .mh-cartoes-prog { grid-template-columns: 1fr; max-width: 520px !important; } }

/* Três pontos */
.mh-tres { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem; max-width: 1100px !important; margin: 0 auto; text-align: center; }
.mh-tres__ic { display: block; width: 44px; height: 44px; border: 1px solid var(--mh-gold); border-radius: 50%; margin: 0 auto 1.1rem; }
@media (max-width: 760px) { .mh-tres { grid-template-columns: 1fr; gap: 2.25rem; } }

/* Primeiras pessoas */
.mh-destaque { font-family: var(--wp--preset--font-family--heading); font-style: italic; font-size: clamp(1.5rem, 2.4vw, 1.9rem); line-height: 1.4; max-width: 660px; margin-left: auto !important; margin-right: auto !important; }
.mh-foto-pendente { font-size: .8rem; opacity: .85; }

/* Preços na página de cada programa */
.mh-precos-prog { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; max-width: 760px; margin: 2rem auto 0; }
.mh-preco-cartao { background: #fff; border-radius: var(--mh-raio); padding: 2rem; border-top: 1px solid var(--mh-gold); }
.mh-preco-cartao h3 { margin: 0 0 .4rem; font-size: 1.6rem; }
.mh-preco-cartao p { margin: .2rem 0; }
.mh-preco-valor { font-family: var(--wp--preset--font-family--heading); font-size: 1.9rem; color: var(--mh-navy); }
.mh-preco-cartao .mh-duracao { font-size: .8rem; letter-spacing: .2em; text-transform: uppercase; color: var(--mh-sage-deep); }
@media (max-width: 640px) { .mh-precos-prog { grid-template-columns: 1fr; } }

/* Áreas, mestres, avaliação, FAQ, lateral */
.mh-areas li { border: 0; font-weight: 400; }
.mh-mestres li { border-left: 1px solid var(--mh-gold); }
.mh-cronologia li { border-bottom-color: rgba(135,146,115,.22); }
.mh-avaliacao { border: 0; border-top: 1px solid var(--mh-gold); border-radius: var(--mh-raio); padding: 2.25rem; }
.mh-formacao-bloco { background: #fff; }
.mh-galeria__botao { background: #fff; border-color: rgba(135,146,115,.3); }
.mh-faq summary { font-weight: 400; font-size: 1.05rem; }
.mh-lateral { background: var(--mh-mist); border-radius: var(--mh-raio); padding: 0 0 1.75rem; overflow: hidden; }
.mh-lateral > *:not(figure) { padding-left: 1.75rem; padding-right: 1.75rem; }
.mh-lateral__img { margin: 0 0 1.5rem; aspect-ratio: 16 / 9; overflow: hidden; }
.mh-lateral__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mh-legal { max-width: 760px; margin: 0 auto; }
.mh-legal h2 { font-size: 1.6rem; margin-top: 2.5rem; }
.mh-pagina-topo { text-align: center; padding-top: clamp(4rem, 9vw, 7rem); }
.mh-pagina-topo h1 { font-size: clamp(2.2rem, 4vw, 3.4rem); }

/* Rodapé mais escuro e calmo */
.mh-rodape { background: var(--mh-ink); }
.mh-rodape__aviso { color: rgba(246,243,236,.75) !important; }

/* 404 */
.mh-404 { padding-top: 4rem; padding-bottom: 6rem; }
.mh-404__img { max-width: 520px; margin: 0 auto 2.5rem; border-radius: 180px 180px 18px 18px; overflow: hidden; }
.mh-404__img img { display: block; width: 100%; height: auto; }

@media (prefers-reduced-motion: no-preference) {
  .mh-banner__texto, .mh-hero__texto, .mh-hero__retrato { animation: mh-aparecer 1s ease both; }
}
.mh-manifesto-corpo { font-family: var(--wp--preset--font-family--heading); font-style: italic; font-weight: 300; font-size: 1.3rem; margin-top: 1.75rem !important; opacity: .85; }

/* pt31u: avaliação opcional com mais presença, calma */
.mh-avaliacao{max-width:46rem;margin-inline:auto;background:#fffdf8;border:1px solid rgba(176,141,87,.35);border-top:3px solid #b08d57;border-radius:14px;padding:2.75rem 2.5rem;box-shadow:0 10px 30px rgba(60,70,50,.08);text-align:center}
.mh-avaliacao h3{font-size:clamp(1.5rem,2.4vw,1.9rem);margin:.35rem 0 1rem}
.mh-avaliacao p{max-width:36rem;margin-inline:auto;line-height:1.7}
.mh-avaliacao .wp-block-buttons{justify-content:center;margin-top:1.5rem}
.mh-avaliacao .mh-nota{font-size:.9rem;opacity:.75;margin-top:.9rem}
.mh-interesse-avaliacao{background:#f6f3ea;border-left:3px solid #b08d57;padding:.8rem 1rem;border-radius:8px}

.mh-foto-conversa{max-width:960px;margin:0 auto 2rem}.mh-foto-conversa img{width:100%;height:auto;border-radius:14px;display:block;box-shadow:0 10px 30px rgba(60,70,50,.12)}

/* pt-Life: limpeza */
.mh-manifesto-corpo{font-size:clamp(1.6rem,2.6vw,2.2rem)!important;font-weight:400;opacity:1;color:var(--mh-navy);margin-top:2.5rem!important;padding-top:1.5rem;position:relative}
.mh-manifesto-corpo::before{content:"";position:absolute;top:0;left:50%;width:56px;height:2px;background:var(--mh-gold);transform:translateX(-50%)}
.mh-visao{font-family:var(--wp--preset--font-family--heading);font-style:italic;font-size:1.15rem;border-left:2px solid var(--mh-gold);padding-left:1rem}
.mh-banner--claro::before{background:linear-gradient(180deg,rgba(27,72,99,.25),rgba(27,72,99,.45))!important}
.mh-banner--claro .mh-banner__texto{text-shadow:0 1px 12px rgba(0,0,0,.35)}
.mh-final::before{background:linear-gradient(180deg,rgba(22,40,38,.45),rgba(22,40,38,.62))!important}
.mh-final h2,.mh-final__texto{color:#fff!important;text-shadow:0 1px 14px rgba(0,0,0,.3)}
.mh-final .wp-block-button:not(.is-style-outline) .wp-block-button__link{background:var(--mh-ivory,#F6F3EC);color:var(--mh-navy)}
.mh-final .is-style-outline .wp-block-button__link{color:#fff;border-color:#fff}
.mh-citacao-visao{margin:0 0 1.5rem;padding:0 0 0 1rem;border-left:2px solid rgba(211,173,89,.5)}.mh-citacao-visao p{font-family:var(--wp--preset--font-family--heading);font-size:1.05rem;margin:0}.mh-citacao-visao cite{font-size:.85rem;font-style:normal;opacity:.75}
.mh-frase-visao{font-family:var(--wp--preset--font-family--heading);font-size:1.1rem;color:var(--mh-navy);padding-left:1rem;border-left:2px solid rgba(211,173,89,.5)}
.mh-logos-formacao{display:flex;justify-content:center;align-items:center;gap:clamp(2rem,6vw,4.5rem);flex-wrap:wrap;margin:0 auto 1.5rem}.mh-logos-formacao img{height:96px;width:auto;max-width:42vw;object-fit:contain;border:0;box-shadow:none;border-radius:0}
.mh-formacao-bloco__simbolo img{height:88px;width:88px}
.mh-banner--manha::before{background:linear-gradient(180deg,rgba(27,52,70,.18),rgba(27,52,70,.38))!important}
.mh-banner--manha .mh-banner__texto{text-shadow:0 1px 14px rgba(20,35,50,.55)}
