/* ==========================================================================
   Grupo MBC — "Da pedra à obra"
   Tema-filho do blueprint Valente. Tokens no theme.json (DESIGN.md). Nenhuma cor literal
   fora dos tokens, a não ser transparências derivadas deles (color-mix).
   Ordem: tokens · base · tipografia · botões · topo · seções · home · páginas · tipos ·
   formulários · rodapé · efeitos · celular · movimento reduzido.
   ========================================================================== */

:root {
	--c-concreto: var(--wp--preset--color--claro);
	--c-concreto-2: var(--wp--preset--color--branco);
	--c-junta: var(--wp--preset--color--linha);
	--c-tinta: var(--wp--preset--color--escuro);
	--c-cimento: var(--wp--preset--color--cinza);
	--c-marinho: var(--wp--preset--color--primaria);
	--c-noite: var(--wp--preset--color--primaria-escura);
	--c-azul: var(--wp--preset--color--secundaria);
	--c-vermelho: var(--wp--preset--color--acento);
	--c-acao: var(--wp--preset--color--cta);
	--c-nevoa: var(--wp--preset--color--nevoa);
	--f-titulo: var(--wp--preset--font-family--titulos);
	--f-texto: var(--wp--preset--font-family--texto);
	--f-mono: var(--wp--preset--font-family--mono);
	--margem: clamp(20px, 5vw, 72px);
	--largo: 1280px;
	--texto: 680px;
	--secao: clamp(72px, 10vw, 160px);
	--curva: cubic-bezier(.2, .7, .1, 1);
	--raio: 2px;
	--sombra-flutua: 0 30px 60px -30px color-mix(in srgb, var(--c-tinta) 45%, transparent);
	--topo-h: 76px;
	/* o mesmo ângulo dos lados do telhado do logo (~50°) */
	--telhado: 50deg;
	/* o pai: alinhamento das variáveis antigas com a nova paleta */
	--vl-raio: 2px;
	--vl-sombra: var(--sombra-flutua);
	--vl-branco: var(--c-concreto-2);
}

/* ---------------------------------------------------------------- base -- */
html { scroll-padding-top: calc(var(--topo-h) + 16px); }
body.mbc { background: var(--c-concreto); color: var(--c-tinta); font-family: var(--f-texto); font-size: clamp(1.0625rem, 1rem + .15vw, 1.125rem); line-height: 1.6; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
.mbc ::selection { background: var(--c-azul); color: #fff; }
.mbc a { color: var(--c-azul); text-underline-offset: .18em; text-decoration-thickness: 1px; }
.mbc a:hover { text-decoration: underline; }
.mbc :focus-visible { outline: 3px solid var(--c-azul); outline-offset: 2px; }
.mbc .mbc-escura :focus-visible, .mbc .mbc-rodape :focus-visible, .mbc .mbc-capa :focus-visible { outline-color: var(--c-nevoa); }
.mbc img { height: auto; }
.mbc-main { display: block; }
.mbc .vl-main { padding: 0; }

/* ---------------------------------------------------------- tipografia -- */
.mbc h1, .mbc h2, .mbc h3, .mbc h4 { font-family: var(--f-titulo); color: inherit; margin: 0 0 .5em; text-wrap: balance; }
.mbc h1 { font-size: clamp(2.4rem, 1.5rem + 3.6vw, 4.6rem); font-weight: 800; line-height: .98; letter-spacing: -.03em; }
.mbc h2 { font-size: clamp(1.9rem, 1.3rem + 2.2vw, 3.2rem); font-weight: 800; line-height: 1.04; letter-spacing: -.022em; }
.mbc h3 { font-size: clamp(1.25rem, 1.1rem + .6vw, 1.6rem); font-weight: 600; line-height: 1.15; letter-spacing: -.01em; }
.mbc p { margin: 0 0 1em; }
.mbc .mbc-lead { font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem); line-height: 1.5; color: var(--c-cimento); max-width: 46ch; text-wrap: pretty; }
.mbc .mbc-rotulo { font-family: var(--f-mono); font-size: .78rem; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; line-height: 1.3; color: var(--c-cimento); margin: 0 0 1rem; }
.mbc .mbc-rotulo strong { font-weight: 500; color: var(--c-tinta); }
.mbc .mbc-prosa { max-width: 68ch; }
.mbc .mbc-prosa p, .mbc .mbc-texto-in p { text-wrap: pretty; }

/* -------------------------------------------------------------- botões -- */
.mbc-btn, .mbc .wp-block-button__link {
	position: relative; isolation: isolate; overflow: hidden;
	display: inline-flex; align-items: center; justify-content: center; gap: .6em;
	min-height: 52px; padding: 14px 24px;
	font-family: var(--f-titulo); font-weight: 600; font-size: 1rem; letter-spacing: -.005em; line-height: 1.1;
	border-radius: var(--raio); border: 1.5px solid transparent;
	text-decoration: none !important; cursor: pointer;
	transition: background-color .22s var(--curva), color .22s var(--curva), border-color .22s var(--curva), transform .22s var(--curva);
	will-change: transform;
}
.mbc-btn .mbc-ico { flex: none; transition: transform .3s var(--curva); }
.mbc-btn:hover .mbc-ico-seta, .mbc .wp-block-button__link:hover .mbc-ico-seta { transform: translateX(4px); }
/* brilho que atravessa o botão no hover */
.mbc-btn::after, .mbc .wp-block-button__link::after {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background: linear-gradient(105deg, transparent 30%, color-mix(in srgb, #fff 32%, transparent) 50%, transparent 70%);
	transform: translateX(-120%); transition: transform .7s var(--curva);
}
.mbc-btn:hover::after, .mbc .wp-block-button__link:hover::after { transform: translateX(120%); }
.mbc-btn-acao, .mbc .is-style-acao .wp-block-button__link, .mbc .vl-btn-primario, .mbc .vl-form button[type=submit] { background: var(--c-acao); color: #fff !important; border-color: var(--c-acao); }
.mbc-btn-acao:hover, .mbc .is-style-acao .wp-block-button__link:hover, .mbc .vl-btn-primario:hover, .mbc .vl-form button[type=submit]:hover { background: color-mix(in srgb, var(--c-acao) 86%, var(--c-tinta)); border-color: color-mix(in srgb, var(--c-acao) 86%, var(--c-tinta)); }
.mbc-btn-linha, .mbc .is-style-linha .wp-block-button__link, .mbc .is-style-download .wp-block-button__link, .mbc .vl-btn-secundario { background: transparent; color: var(--c-tinta) !important; border-color: color-mix(in srgb, var(--c-tinta) 35%, transparent); }
.mbc-btn-linha:hover, .mbc .is-style-linha .wp-block-button__link:hover, .mbc .is-style-download .wp-block-button__link:hover, .mbc .vl-btn-secundario:hover { border-color: var(--c-tinta); background: color-mix(in srgb, var(--c-tinta) 5%, transparent); }
.mbc-btn-claro, .mbc .is-style-claro .wp-block-button__link { background: var(--c-concreto-2); color: var(--c-tinta) !important; border-color: var(--c-concreto-2); }
.mbc-btn-claro:hover, .mbc .is-style-claro .wp-block-button__link:hover { background: #fff; border-color: #fff; }
.mbc .is-style-linha-claro .wp-block-button__link { background: transparent; color: var(--c-concreto-2) !important; border-color: color-mix(in srgb, var(--c-concreto-2) 45%, transparent); }
.mbc .is-style-linha-claro .wp-block-button__link:hover { border-color: var(--c-concreto-2); background: color-mix(in srgb, var(--c-concreto-2) 8%, transparent); }
.mbc .is-style-acao .wp-block-button__link::before, .mbc .is-style-download .wp-block-button__link::before { order: 2; }
.mbc .is-style-acao .wp-block-button__link { padding-right: 52px; }
.mbc .is-style-acao .wp-block-button__link::before { content: ""; position: absolute; right: 22px; top: 50%; width: 16px; height: 1.5px; background: currentColor; transition: transform .3s var(--curva); box-shadow: none; }
.mbc .is-style-acao .wp-block-button__link:hover::before { transform: translateX(4px); }
.mbc .is-style-download .wp-block-button__link { padding-left: 50px; }
.mbc .is-style-download .wp-block-button__link::before { content: ""; position: absolute; left: 20px; top: 50%; width: 16px; height: 16px; margin-top: -8px; border-bottom: 1.5px solid currentColor; background: linear-gradient(currentColor, currentColor) 50% 0 / 1.5px 11px no-repeat; }
.mbc .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin: 1.75rem 0 0; }
.mbc .wp-block-button { margin: 0; }
.mbc-botoes-linha { display: flex; flex-wrap: wrap; gap: 12px; margin: 1.75rem 0 0; }
.mbc-link { display: inline-flex; align-items: center; gap: .45em; font-family: var(--f-titulo); font-weight: 600; color: var(--c-tinta) !important; text-decoration: none !important; border-bottom: 1.5px solid var(--c-vermelho); padding-bottom: 2px; }
.mbc-link .mbc-ico { transition: transform .3s var(--curva); }
.mbc-link:hover .mbc-ico { transform: translateX(3px); }
.mbc-chip { position: relative; display: inline-flex; }
.mbc-chip input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.mbc-chip span { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border: 1.5px solid var(--c-junta); border-radius: 999px; font-family: var(--f-titulo); font-weight: 600; font-size: .95rem; background: var(--c-concreto-2); transition: background-color .2s, border-color .2s, color .2s; }
.mbc-chip input:checked + span { background: var(--c-tinta); color: var(--c-concreto-2); border-color: var(--c-tinta); }
.mbc-chip input:focus-visible + span { outline: 3px solid var(--c-azul); outline-offset: 2px; }

/* ---------------------------------------------------------------- topo -- */
.mbc .vl-header { display: none; }
.mbc-topo { position: fixed; inset: 0 0 auto; z-index: 80; height: var(--topo-h); color: var(--c-tinta); transition: background-color .35s var(--curva), color .35s var(--curva), transform .45s var(--curva), box-shadow .35s; }
.mbc-topo::before { content: ""; position: absolute; inset: 0; background: var(--c-concreto); border-bottom: 1px solid var(--c-junta); opacity: 1; transition: opacity .35s var(--curva); z-index: -1; }
.mbc-topo-in { height: 100%; width: min(100% - 2 * var(--margem), 1440px); margin-inline: auto; display: flex; align-items: center; gap: clamp(16px, 2vw, 32px); }
.mbc-marca { position: relative; display: block; flex: none; height: 52px; aspect-ratio: 1051 / 903; }
.mbc-marca img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; transition: opacity .35s var(--curva); }
.mbc-marca .mbc-marca-clara { opacity: 0; }
.mbc-marca-texto { font-family: var(--f-titulo); font-weight: 800; font-size: 1.4rem; color: var(--c-marinho); }
.mbc-nav { flex: 1; display: flex; align-items: center; justify-content: center; }
.mbc-menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: clamp(2px, .6vw, 10px); }
.mbc-menu > li { position: relative; }
.mbc-menu a { display: flex; align-items: center; min-height: 44px; padding: 8px 12px; color: inherit !important; font-family: var(--f-titulo); font-weight: 600; font-size: .98rem; text-decoration: none !important; border-radius: var(--raio); position: relative; }
.mbc-menu > li > a::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 6px; height: 2px; background: var(--c-vermelho); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--curva); }
.mbc-menu > li > a:hover::after, .mbc-menu > .current-menu-item > a::after, .mbc-menu > .current-menu-ancestor > a::after, .mbc-menu > .current-menu-parent > a::after { transform: scaleX(1); }
.mbc-menu .menu-item-has-children > a { padding-right: 26px; }
.mbc-menu .menu-item-has-children > a::before { content: ""; position: absolute; right: 10px; top: 50%; width: 6px; height: 6px; margin-top: -5px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.mbc-menu .sub-menu { list-style: none; margin: 0; padding: 10px; position: absolute; top: calc(100% + 6px); left: 0; min-width: 250px; background: var(--c-noite); color: var(--c-concreto-2); box-shadow: var(--sombra-flutua); border-radius: var(--raio); opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .25s var(--curva), transform .25s var(--curva), visibility .25s; z-index: 90; }
.mbc-menu .sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; height: 10px; }
.mbc-menu li:hover > .sub-menu, .mbc-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.mbc-menu .sub-menu a { font-weight: 500; padding: 10px 12px; }
.mbc-menu .sub-menu a:hover, .mbc-menu .sub-menu .current-menu-item > a { background: color-mix(in srgb, var(--c-nevoa) 14%, transparent); }
.mbc-nav-rodape { display: none; }
.mbc-topo-acoes { flex: none; display: flex; align-items: center; gap: 10px; }
.mbc-topo-wa { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; color: inherit !important; border: 1.5px solid color-mix(in srgb, currentColor 30%, transparent); border-radius: var(--raio); transition: border-color .2s, background-color .2s; }
.mbc-topo-wa:hover { border-color: currentColor; }
.mbc-topo-cta { min-height: 48px; padding: 12px 20px; }
.mbc-menu-botao { display: none; position: relative; width: 48px; height: 48px; background: none; border: 1.5px solid color-mix(in srgb, currentColor 30%, transparent); border-radius: var(--raio); color: inherit; cursor: pointer; }
.mbc-menu-botao i { position: absolute; left: 13px; right: 13px; height: 1.5px; background: currentColor; transition: transform .35s var(--curva), top .35s var(--curva); }
.mbc-menu-botao i:first-of-type { top: 19px; }
.mbc-menu-botao i:last-of-type { top: 27px; right: 19px; }
.mbc-topo.is-escondido { transform: translateY(-100%); }
/* home: topo transparente sobre a capa até rolar */
.mbc-home .mbc-topo:not(.is-rolado):not(.is-aberto) { color: var(--c-concreto-2); }
.mbc-home .mbc-topo:not(.is-rolado):not(.is-aberto)::before { opacity: 0; }
.mbc-home .mbc-topo:not(.is-rolado):not(.is-aberto) .mbc-marca-clara { opacity: 1; }
.mbc-home .mbc-topo:not(.is-rolado):not(.is-aberto) .mbc-marca-escura { opacity: 0; }
.mbc-topo.is-rolado { box-shadow: 0 10px 30px -24px color-mix(in srgb, var(--c-tinta) 60%, transparent); }
.mbc-main { padding-top: var(--topo-h); }
.mbc-home .mbc-main { padding-top: 0; }

/* -------------------------------------------------------------- seções -- */
.mbc .mbc-secao { position: relative; padding: var(--secao) var(--margem); margin: 0; }
.mbc .mbc-secao > * { max-width: var(--largo); margin-inline: auto; }
.mbc .mbc-secao-cabeca { margin-bottom: clamp(40px, 5vw, 72px); display: grid; grid-template-columns: minmax(0, 1fr); }
.mbc .mbc-secao-cabeca h2 { max-width: 20ch; }
.mbc .mbc-secao-cabeca .mbc-lead { margin-bottom: 0; }
@media (min-width: 900px) {
	.mbc .mbc-secao-cabeca { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: 48px; align-items: end; }
	.mbc .mbc-secao-cabeca .mbc-rotulo { grid-column: 1 / -1; }
	.mbc .mbc-secao-cabeca h2 { margin: 0; }
	.mbc .mbc-secao-cabeca .mbc-lead { justify-self: end; }
}
.mbc .mbc-fundo-branco { background: var(--c-concreto-2); }
.mbc .mbc-fundo-noite, .mbc .mbc-escura { background: var(--c-noite); color: var(--c-concreto-2); }
.mbc .mbc-escura .mbc-rotulo, .mbc .mbc-fundo-noite .mbc-rotulo { color: var(--c-nevoa); }
.mbc .mbc-escura .mbc-lead, .mbc .mbc-fundo-noite .mbc-lead, .mbc .mbc-escura p { color: color-mix(in srgb, var(--c-concreto-2) 86%, var(--c-nevoa)); }
.mbc .mbc-escura a:not(.wp-block-button__link):not(.mbc-btn) { color: var(--c-nevoa); }
.mbc-lista-tecnica { list-style: none; margin: 1.5rem 0 0; padding: 0; border-top: 1px solid var(--c-junta); }
.mbc-lista-tecnica li { position: relative; padding: 14px 0 14px 32px; border-bottom: 1px solid var(--c-junta); }
.mbc-lista-tecnica li::before { content: ""; position: absolute; left: 0; top: 1.35em; width: 14px; height: 1.5px; background: var(--c-vermelho); }
.mbc-escura .mbc-lista-tecnica, .mbc-escura .mbc-lista-tecnica li { border-color: color-mix(in srgb, var(--c-nevoa) 25%, transparent); }
.mbc-vazio { color: var(--c-cimento); }

/* trilha (breadcrumb) */
.mbc-trilha ol { list-style: none; margin: 0 0 clamp(20px, 3vw, 36px); padding: 0; display: flex; flex-wrap: wrap; gap: 4px 10px; font-family: var(--f-mono); font-size: .75rem; letter-spacing: .05em; text-transform: uppercase; color: var(--c-cimento); }
.mbc-trilha li + li::before { content: "/"; margin-right: 10px; color: var(--c-junta); }
.mbc-trilha a { color: inherit !important; text-decoration: none !important; }
.mbc-trilha a:hover { color: var(--c-tinta) !important; }
.mbc-trilha-flutuante { position: absolute; z-index: 3; top: calc(clamp(28px, 4vw, 56px)); left: 0; right: 0; padding-inline: var(--margem); }
.mbc-trilha-flutuante .mbc-trilha { max-width: var(--largo); margin-inline: auto; }
.mbc-pagina { position: relative; display: block; }

/* ================================================================= HOME == */

/* ---- capa em camadas ---- */
.mbc .mbc-capa { min-height: max(640px, 100svh); padding: calc(var(--topo-h) + 48px) var(--margem) clamp(28px, 4vw, 48px); display: grid; grid-template-rows: 1fr auto; align-items: end; color: var(--c-concreto-2); background: var(--c-noite); overflow: hidden; isolation: isolate; }
.mbc .mbc-capa > * { max-width: none; margin: 0; }
.mbc .mbc-capa-foto { position: absolute; inset: -8% 0 0; z-index: -3; margin: 0; }
.mbc .mbc-capa-foto img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; filter: grayscale(.25) contrast(1.06) brightness(.92); transform: translate3d(0, var(--mbc-y, 0px), 0) scale(1.06); }
.mbc .mbc-capa::before { content: ""; position: absolute; inset: 0; z-index: -2; background:
	linear-gradient(180deg, color-mix(in srgb, var(--c-noite) 70%, transparent) 0%, color-mix(in srgb, var(--c-noite) 10%, transparent) 32%, color-mix(in srgb, var(--c-noite) 35%, transparent) 58%, color-mix(in srgb, var(--c-noite) 94%, transparent) 100%),
	linear-gradient(90deg, color-mix(in srgb, var(--c-noite) 70%, transparent) 0%, transparent 62%); }
.mbc-capa-planos { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.mbc-plano { position: absolute; display: block; transform: translate3d(0, var(--mbc-y, 0px), 0); will-change: transform; }
/* planos do telhado: lados a ~50°, como o triângulo do logo */
.mbc-plano-a { right: -6vw; bottom: -14vh; width: 62vw; height: 62vw; max-width: 980px; max-height: 980px; background: color-mix(in srgb, var(--c-marinho) 72%, transparent); clip-path: polygon(50% 0, 100% 60%, 100% 100%, 0 100%, 0 60%); mix-blend-mode: multiply; }
.mbc-plano-b { right: 14vw; bottom: -30vh; width: 40vw; height: 40vw; max-width: 640px; max-height: 640px; background: color-mix(in srgb, var(--c-azul) 55%, transparent); clip-path: polygon(50% 0, 100% 60%, 100% 100%, 0 100%, 0 60%); mix-blend-mode: screen; opacity: .55; }
.mbc-plano-c { right: 9vw; bottom: 22vh; width: 9vw; height: 9vw; min-width: 64px; min-height: 64px; max-width: 150px; max-height: 150px; background: var(--c-vermelho); clip-path: polygon(50% 0, 100% 84%, 0 84%); }
.mbc-capa-luz { position: absolute; inset: 0; display: block; opacity: 0; transition: opacity .6s; background: radial-gradient(520px circle at var(--mx, 70%) var(--my, 35%), color-mix(in srgb, #fff 14%, transparent), transparent 70%); mix-blend-mode: soft-light; }
.mbc-capa.is-perto .mbc-capa-luz { opacity: 1; }
.mbc .mbc-capa-texto { align-self: end; max-width: 1100px; padding-bottom: clamp(28px, 5vh, 56px); }
.mbc .mbc-capa-kicker { color: var(--c-nevoa); }
.mbc .mbc-capa-titulo { font-size: clamp(3.4rem, 1.6rem + 7.2vw, 8.6rem); line-height: .9; letter-spacing: -.045em; font-weight: 800; margin: 0 0 .32em; color: var(--c-concreto-2); }
.mbc .mbc-capa-lead { font-size: clamp(1.1rem, 1rem + .45vw, 1.35rem); line-height: 1.5; max-width: 40ch; color: color-mix(in srgb, var(--c-concreto-2) 88%, var(--c-nevoa)); margin: 0; }
.mbc .mbc-capa-ficha { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid color-mix(in srgb, var(--c-nevoa) 32%, transparent); }
.mbc .mbc-capa-ficha .mbc-rotulo { margin: 0; padding: 16px 16px 0 0; color: var(--c-nevoa); }
.mbc .mbc-capa-ficha strong { display: block; font-family: var(--f-titulo); font-weight: 800; font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2.2rem); letter-spacing: -.02em; text-transform: none; color: var(--c-concreto-2); margin-bottom: 4px; }

/* ---- números ---- */
.mbc .mbc-numeros { background: var(--c-concreto); }
.mbc .mbc-numeros-cabeca { margin-bottom: clamp(40px, 5vw, 72px); }
.mbc .mbc-numeros-cabeca h2 { max-width: 16ch; margin: 0; }
.mbc .mbc-numeros-grade { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--c-tinta); }
.mbc .mbc-numero { padding: 20px 24px 0 0; border-right: 1px solid var(--c-junta); margin-right: 24px; }
.mbc .mbc-numero:last-child { border-right: 0; margin-right: 0; }
.mbc .mbc-numero-valor { font-size: clamp(2rem, .9rem + 2.2vw, 3.5rem); font-weight: 800; letter-spacing: -.035em; line-height: 1; margin: 0 0 .35em; font-variant-numeric: lining-nums proportional-nums; white-space: nowrap; }
.mbc .mbc-numero-legenda { color: var(--c-cimento); max-width: 22ch; margin: 0; }

/* ---- da pedra à obra (palco preso) ---- */
.mbc .mbc-cadeia { background: var(--c-concreto-2); }
.mbc .mbc-cadeia-cabeca { margin-bottom: clamp(40px, 6vw, 96px); max-width: var(--largo); }
.mbc .mbc-cadeia-cabeca h2 { max-width: 15ch; }
.mbc .mbc-cadeia-corpo { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 96px); align-items: start; }
.mbc .mbc-cadeia-palco { position: sticky; top: calc(var(--topo-h) + 4vh); height: min(78vh, 760px); margin: 0; overflow: hidden; border-radius: var(--raio); background: var(--c-noite); }
.mbc .mbc-cadeia-foto { position: absolute; inset: 0; margin: 0; clip-path: inset(100% 0 0 0); transition: clip-path 1.1s var(--curva); }
.mbc .mbc-cadeia-foto img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.12); transition: transform 1.6s var(--curva); }
.mbc .mbc-cadeia-foto.is-ativa, .mbc .mbc-cadeia-foto.is-passou { clip-path: inset(0 0 0 0); }
.mbc .mbc-cadeia-foto.is-ativa img { transform: scale(1); }
.mbc .mbc-cadeia-foto:first-of-type { clip-path: inset(0 0 0 0); }
.mbc .mbc-cadeia-regua { position: absolute; left: 20px; right: 20px; bottom: 20px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; z-index: 2; }
.mbc .mbc-cadeia-regua span { height: 3px; background: color-mix(in srgb, #fff 30%, transparent); position: relative; overflow: hidden; }
.mbc .mbc-cadeia-regua span::after { content: ""; position: absolute; inset: 0; background: var(--c-vermelho); transform: scaleX(var(--p, 0)); transform-origin: left; }
.mbc .mbc-cadeia-passos { display: grid; }
.mbc .mbc-cadeia-passo { min-height: 64vh; display: flex; flex-direction: column; justify-content: center; padding: 24px 0; opacity: .32; transition: opacity .6s var(--curva); }
.mbc .mbc-cadeia-passo.is-ativo { opacity: 1; }
.mbc .mbc-cadeia-passo .mbc-rotulo { color: var(--c-vermelho); }
.mbc .mbc-cadeia-passo h3 { font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.4rem); font-weight: 800; letter-spacing: -.025em; max-width: 14ch; }
.mbc .mbc-cadeia-passo p:last-child { color: var(--c-cimento); max-width: 42ch; }
.mbc .mbc-cadeia-passo .mbc-cadeia-foto-movel { display: none; }
.mbc .mbc-cadeia-passo:first-child { min-height: 50vh; }

/* ---- portas de produto ---- */
.mbc .mbc-portas { display: flex; gap: 16px; min-height: 640px; }
.mbc .mbc-porta { position: relative; flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; background: var(--c-concreto-2); border: 1px solid var(--c-junta); border-radius: var(--raio); overflow: hidden; transition: flex-grow .7s var(--curva), border-color .3s; }
.mbc .mbc-portas:hover .mbc-porta { flex-grow: .85; }
.mbc .mbc-portas .mbc-porta:hover, .mbc .mbc-portas .mbc-porta:focus-within { flex-grow: 1.35; border-color: var(--c-tinta); }
.mbc .mbc-porta-foto { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; }
.mbc .mbc-porta-foto img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--curva); }
.mbc .mbc-porta:hover .mbc-porta-foto img { transform: scale(1.05); }
.mbc .mbc-porta-corpo { padding: 24px 24px 28px; display: flex; flex-direction: column; flex: 1; }
.mbc .mbc-porta-corpo .mbc-rotulo { color: var(--c-vermelho); }
.mbc .mbc-porta-corpo h3 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); font-weight: 800; letter-spacing: -.02em; }
.mbc .mbc-porta-corpo > p { color: var(--c-cimento); }
.mbc .mbc-porta-corpo .wp-block-buttons { margin-top: auto; padding-top: 20px; }
.mbc .mbc-produtos-nomes { list-style: none; margin: 4px 0 0; padding: 0; border-top: 1px solid var(--c-junta); }
.mbc .mbc-produtos-nomes a { display: flex; align-items: baseline; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--c-junta); color: var(--c-tinta) !important; text-decoration: none !important; font-weight: 700; font-size: .98rem; }
.mbc .mbc-produtos-nomes a span { flex: 1; min-width: 0; }
.mbc .mbc-produtos-nomes small { margin: 0; font-size: .68rem; white-space: nowrap; }
.mbc .mbc-produtos-nomes .mbc-ico { flex: none; align-self: center; opacity: .35; transition: transform .3s var(--curva), opacity .3s; }
.mbc .mbc-produtos-nomes a:hover .mbc-ico { opacity: 1; transform: translateX(3px); color: var(--c-vermelho); }

/* ---- dois caminhos ---- */
.mbc .mbc-caminhos { display: grid; grid-template-columns: 1fr 1fr; gap: 0; padding: 0; }
.mbc .mbc-caminhos > * { max-width: none; margin: 0; }
.mbc .mbc-caminho { position: relative; isolation: isolate; padding: clamp(56px, 7vw, 112px) var(--margem); overflow: hidden; }
.mbc .mbc-caminho h3 { font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.6rem); font-weight: 800; letter-spacing: -.025em; max-width: 16ch; }
.mbc .mbc-caminho p { max-width: 44ch; }
.mbc .mbc-caminho-obra { background: var(--c-concreto-2); }
.mbc .mbc-caminho-obra::after { content: ""; position: absolute; z-index: -1; right: -60px; bottom: -80px; width: 260px; height: 260px; background: color-mix(in srgb, var(--c-azul) 9%, transparent); clip-path: polygon(50% 0, 100% 60%, 100% 100%, 0 100%, 0 60%); }
.mbc .mbc-caminho-empresa { background: var(--c-marinho); color: var(--c-concreto-2); }
.mbc .mbc-caminho-empresa .mbc-rotulo { color: var(--c-nevoa); }
.mbc .mbc-caminho-empresa p { color: color-mix(in srgb, var(--c-concreto-2) 88%, var(--c-nevoa)); }
.mbc .mbc-caminho-empresa::after { content: ""; position: absolute; z-index: -1; right: -40px; bottom: -60px; width: 220px; height: 220px; background: var(--c-vermelho); clip-path: polygon(50% 0, 100% 84%, 0 84%); opacity: .9; transform: translate3d(0, var(--mbc-y, 0px), 0); }

/* ---- localizador ---- */
.mbc .mbc-localizador-secao { background: var(--c-concreto); }
.mbc .mbc-localizador { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-areas: "form mapa" "lista mapa"; gap: 24px clamp(32px, 5vw, 80px); align-items: start; }
.mbc .mbc-loc-form { grid-area: form; margin: 0; }
.mbc .mbc-loc-campo { display: flex; border: 1.5px solid var(--c-tinta); border-radius: var(--raio); background: var(--c-concreto-2); }
.mbc .mbc-loc-campo input { flex: 1; min-width: 0; border: 0; background: transparent; padding: 0 18px; min-height: 60px; font: inherit; font-size: 1.15rem; color: var(--c-tinta); outline: none; }
.mbc .mbc-loc-campo .mbc-btn { border-radius: 0; min-height: 60px; }
.mbc .mbc-loc-resultado { min-height: 1.6em; margin: 18px 0 0; font-size: 1.05rem; }
.mbc .mbc-loc-resultado:empty { display: none; }
.mbc .mbc-loc-res { display: grid; gap: 12px; padding: 20px; background: var(--c-noite); color: var(--c-concreto-2); border-radius: var(--raio); }
.mbc .mbc-loc-res .mbc-rotulo { color: var(--c-nevoa); margin: 0; }
.mbc .mbc-loc-res strong { font-family: var(--f-titulo); font-size: 1.5rem; font-weight: 800; letter-spacing: -.02em; display: block; line-height: 1.1; }
.mbc .mbc-loc-res .mbc-botoes-linha { margin: 4px 0 0; }
.mbc .mbc-loc-mapa { grid-area: mapa; margin: 0; background: var(--c-noite); border-radius: var(--raio); padding: clamp(12px, 2vw, 24px); color: var(--c-nevoa); }
.mbc .mbc-loc-mapa svg { width: 100%; height: auto; display: block; overflow: hidden; }
.mbc .mbc-loc-municipios circle { fill: color-mix(in srgb, var(--c-nevoa) 34%, transparent); }
.mbc .mbc-loc-mapa figcaption { font-family: var(--f-mono); font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; margin-top: 12px; color: var(--c-nevoa); }
.mbc .mbc-loc-grade line { stroke: color-mix(in srgb, var(--c-nevoa) 16%, transparent); stroke-width: 1; }
.mbc .mbc-loc-grade text { fill: color-mix(in srgb, var(--c-nevoa) 70%, transparent); font-family: var(--f-mono); font-size: 13px; }
.mbc .mbc-loc-raios circle { fill: color-mix(in srgb, var(--c-azul) 12%, transparent); stroke: color-mix(in srgb, var(--c-nevoa) 30%, transparent); stroke-dasharray: 4 6; }
.mbc .mbc-loc-pino { cursor: pointer; }
.mbc .mbc-loc-pino circle { fill: var(--c-nevoa); stroke: var(--c-noite); stroke-width: 3; transition: fill .3s; }
.mbc .mbc-loc-pino.is-pedreira circle:first-child { fill: var(--c-concreto-2); }
.mbc .mbc-loc-pino .mbc-loc-pulso { fill: none; stroke: var(--c-vermelho); stroke-width: 2; opacity: 0; }
.mbc .mbc-loc-pino text { fill: var(--c-concreto-2); font-family: var(--f-mono); font-size: 15px; text-anchor: middle; letter-spacing: .06em; }
.mbc .mbc-loc-pino.is-ativo circle:first-child { fill: var(--c-vermelho); }
.mbc .mbc-loc-pino.is-ativo .mbc-loc-pulso { animation: mbc-pulso 1.8s var(--curva) infinite; }
.mbc .mbc-loc-cidade circle { fill: var(--c-concreto-2); }
.mbc .mbc-loc-cidade line { stroke: var(--c-vermelho); stroke-width: 2; stroke-dasharray: 6 6; }
.mbc .mbc-loc-cidade text { fill: var(--c-concreto-2); font-family: var(--f-titulo); font-weight: 700; font-size: 16px; }
@keyframes mbc-pulso { 0% { opacity: .9; r: 9; } 100% { opacity: 0; r: 34; } }
.mbc .mbc-loc-lista { grid-area: lista; list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--c-junta); counter-reset: u; }
.mbc .mbc-loc-lista li { display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--c-junta); transition: background-color .3s; }
.mbc .mbc-loc-lista li.is-ativo { background: var(--c-concreto-2); }
.mbc .mbc-loc-nome { flex: 1; display: flex; align-items: baseline; gap: 10px; padding: 12px 0; min-height: 48px; color: var(--c-tinta) !important; text-decoration: none !important; font-weight: 700; }
.mbc .mbc-loc-nome .mbc-rotulo { margin: 0; min-width: 3.4em; }
.mbc .mbc-loc-wa { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 10px; color: var(--c-tinta) !important; text-decoration: none !important; font-weight: 700; font-size: .92rem; }
.mbc .mbc-loc-wa:hover { color: var(--c-acao) !important; }

/* ---- qualidade + vídeo ---- */
.mbc .mbc-qualidade { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 96px); align-items: center; overflow: hidden; isolation: isolate; }
.mbc .mbc-qualidade > * { margin: 0; max-width: none; }
.mbc .mbc-qualidade-texto h2 { max-width: 14ch; }
.mbc-escura-planos { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.mbc-escura-planos i { position: absolute; display: block; transform: translate3d(0, var(--mbc-y, 0px), 0); }
.mbc-escura-planos i:first-child { left: -10vw; top: 10%; width: 48vw; height: 48vw; max-width: 760px; max-height: 760px; background: color-mix(in srgb, var(--c-marinho) 60%, transparent); clip-path: polygon(50% 0, 100% 60%, 100% 100%, 0 100%, 0 60%); }
.mbc-escura-planos i:last-child { right: 6vw; bottom: -6vw; width: 14vw; height: 14vw; max-width: 200px; max-height: 200px; background: var(--c-vermelho); clip-path: polygon(50% 0, 100% 84%, 0 84%); opacity: .85; }
.mbc .mbc-video { position: relative; margin: 0; }
.mbc .mbc-video-capa { margin: 0; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--raio); box-shadow: var(--sombra-flutua); }
.mbc .mbc-video-capa img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--curva), filter .6s; filter: saturate(.85); }
.mbc .mbc-video:hover .mbc-video-capa img { transform: scale(1.03); filter: saturate(1); }
.mbc .mbc-video-botao { position: absolute; inset: 0; margin: 0; display: grid; place-items: center; }
.mbc .mbc-video-botao .wp-block-button { margin: 0; }
.mbc .is-style-video .wp-block-button__link { background: var(--c-concreto-2); color: var(--c-tinta) !important; border-color: var(--c-concreto-2); padding-left: 56px; }
.mbc .is-style-video .wp-block-button__link::before { content: ""; position: absolute; left: 22px; top: 50%; margin-top: -8px; border-left: 14px solid var(--c-acao); border-top: 8px solid transparent; border-bottom: 8px solid transparent; }
.mbc .mbc-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: var(--raio); }

/* ---- obras: faixa que desliza ---- */
.mbc .mbc-obras { background: var(--c-concreto); overflow: hidden; }
.mbc .mbc-galeria-faixa { display: flex !important; flex-wrap: nowrap !important; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 calc(-1 * var(--margem)) !important; padding: 0 var(--margem) 8px; max-width: none !important; cursor: grab; overscroll-behavior-x: contain; scroll-padding-inline: var(--margem); }
.mbc .mbc-galeria-faixa::-webkit-scrollbar { display: none; }
.mbc .mbc-galeria-faixa.is-arrastando { cursor: grabbing; scroll-snap-type: none; }
.mbc .mbc-galeria-faixa .wp-block-image { flex: 0 0 clamp(260px, 34vw, 520px) !important; width: auto !important; margin: 0 !important; scroll-snap-align: start; position: relative; }
.mbc .mbc-galeria-faixa .wp-block-image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--raio); user-select: none; -webkit-user-drag: none; }
.mbc .mbc-galeria-faixa .wp-block-image:nth-child(3n+2) img { aspect-ratio: 4 / 3; margin-top: 12%; }
.mbc .mbc-legenda-foto { display: block; margin-top: 10px; font-family: var(--f-mono); font-size: .74rem; letter-spacing: .05em; text-transform: uppercase; color: var(--c-cimento); }
.mbc-faixa-setas { display: flex; gap: 8px; justify-content: flex-end; max-width: var(--largo); margin: 20px auto 0; }
.mbc-faixa-setas button { width: 52px; height: 52px; border: 1.5px solid color-mix(in srgb, var(--c-tinta) 35%, transparent); background: transparent; border-radius: var(--raio); cursor: pointer; color: var(--c-tinta); display: grid; place-items: center; transition: border-color .2s, background-color .2s; }
.mbc-faixa-setas button:hover { border-color: var(--c-tinta); background: var(--c-concreto-2); }
.mbc-faixa-setas button:first-child svg { transform: scaleX(-1); }

/* ---- equipamentos ---- */
.mbc .mbc-equip-secao .wp-block-buttons { margin-top: 32px; }
.mbc .mbc-equipamentos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr)); gap: 16px; }
.mbc .mbc-equip { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: var(--c-concreto-2); border: 1px solid var(--c-junta); border-radius: var(--raio); overflow: hidden; transition: border-color .3s, transform .4s var(--curva); }
.mbc .mbc-equip:hover { border-color: var(--c-tinta); }
.mbc .mbc-equip-foto { position: relative; display: block; min-height: 100%; aspect-ratio: 1; overflow: hidden; }
.mbc .mbc-equip-foto img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--curva); }
.mbc .mbc-equip:hover .mbc-equip-foto img { transform: scale(1.05); }
.mbc .mbc-equip-fotos { position: absolute; left: 10px; bottom: 10px; margin: 0; padding: 4px 8px; background: var(--c-noite); color: var(--c-concreto-2) !important; }
.mbc .mbc-equip-corpo { padding: 22px; display: flex; flex-direction: column; }
.mbc .mbc-equip-corpo h3 { font-size: 1.35rem; }
.mbc .mbc-equip-corpo h3 a { color: inherit !important; text-decoration: none !important; }
.mbc .mbc-equip-corpo > p:not(.mbc-rotulo):not(.mbc-equip-preco) { color: var(--c-cimento); }
.mbc .mbc-equip-preco { font-family: var(--f-titulo); font-weight: 800; font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); letter-spacing: -.02em; margin: auto 0 14px; font-variant-numeric: lining-nums proportional-nums; }

/* ---- compromisso ---- */
.mbc .mbc-compromisso { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(32px, 6vw, 112px); align-items: center; background: var(--c-concreto-2); }
.mbc .mbc-compromisso > * { margin: 0; max-width: none; }
.mbc .mbc-compromisso-fotos { position: relative; min-height: clamp(420px, 50vw, 700px); }
.mbc .mbc-compromisso-f1 { position: absolute; left: 0; top: 0; width: 72%; margin: 0; }
.mbc .mbc-compromisso-f1 img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--raio); }
.mbc .mbc-compromisso-f2 { position: absolute; right: 0; bottom: 10%; width: 52%; margin: 0; z-index: 2; transform: translate3d(0, var(--mbc-y, 0px), 0); box-shadow: var(--sombra-flutua); border: 8px solid var(--c-concreto-2); border-radius: var(--raio); }
.mbc .mbc-compromisso-f2 img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.mbc .mbc-compromisso-texto h2 { max-width: 14ch; }

/* ---- faixa de orçamento ---- */
.mbc .mbc-faixa { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); align-items: center; gap: clamp(24px, 4vw, 64px); background: var(--c-marinho); color: var(--c-concreto-2); overflow: hidden; isolation: isolate; padding-bottom: 0; }
.mbc .mbc-faixa > * { margin: 0; max-width: none; }
.mbc .mbc-faixa-texto { padding-bottom: var(--secao); }
.mbc .mbc-faixa-texto h2 { max-width: 15ch; }
.mbc .mbc-faixa-texto .mbc-rotulo { color: var(--c-nevoa); }
.mbc .mbc-faixa-texto p { color: color-mix(in srgb, var(--c-concreto-2) 86%, var(--c-nevoa)); }
.mbc-faixa-listras { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.mbc-faixa-listras i { position: absolute; top: -20%; bottom: -20%; width: 22vw; transform: skewX(-24deg) translate3d(var(--mbc-x, 0px), 0, 0); }
.mbc-faixa-listras i:nth-child(1) { right: 30vw; background: color-mix(in srgb, var(--c-azul) 85%, transparent); }
.mbc-faixa-listras i:nth-child(2) { right: 8vw; background: color-mix(in srgb, var(--c-concreto-2) 92%, transparent); }
.mbc-faixa-listras i:nth-child(3) { right: -14vw; background: var(--c-vermelho); }
.mbc .mbc-faixa-caminhao { align-self: end; margin: 0; position: relative; z-index: 1; transform: translate3d(var(--mbc-x, 0px), 0, 0); }
.mbc .mbc-faixa-caminhao { padding-bottom: clamp(24px, 4vw, 56px); }
.mbc .mbc-faixa-caminhao img { width: 100%; height: auto; aspect-ratio: 1201 / 510; object-fit: contain; filter: drop-shadow(0 28px 22px color-mix(in srgb, #000 45%, transparent)); }
.mbc .mbc-faixa-caminhao::after { content: ""; position: absolute; left: 4%; right: 4%; bottom: clamp(20px, 3.6vw, 50px); height: 2px; background: color-mix(in srgb, var(--c-concreto-2) 35%, transparent); z-index: -1; }

/* =============================================================== PÁGINAS == */

/* ---- topo de página ---- */
.mbc .mbc-cabeca { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; padding-top: clamp(72px, 9vw, 128px); padding-bottom: clamp(56px, 7vw, 112px); background: var(--c-concreto); overflow: hidden; }
.mbc .mbc-cabeca > * { margin: 0; max-width: none; }
.mbc .mbc-cabeca-in { max-width: var(--largo); width: 100%; margin-inline: auto; align-self: end; }
.mbc .mbc-cabeca-titulo { max-width: 16ch; margin-bottom: .35em; }
.mbc .mbc-cabeca .mbc-lead { margin-bottom: 0; }
.mbc .mbc-cabeca-com-foto { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); align-items: end; column-gap: clamp(32px, 5vw, 96px); padding-left: max(var(--margem), (100% - var(--largo)) / 2); padding-right: 0; }
.mbc .mbc-cabeca-com-foto .mbc-cabeca-in { margin: 0; }
.mbc .mbc-cabeca-midia { position: relative; margin: 0; align-self: stretch; min-height: clamp(320px, 38vw, 560px); }
.mbc .mbc-cabeca-foto { position: absolute !important; inset: 0 0 0 0; margin: 0 !important; z-index: 1; }
.mbc .mbc-cabeca-foto img, .mbc img.mbc-cabeca-foto { width: 100%; height: 100%; object-fit: cover; border-radius: var(--raio) 0 0 var(--raio); }
.mbc img.mbc-cabeca-foto { position: absolute; inset: 0; }
.mbc .mbc-cabeca-plano { position: absolute; z-index: 2; left: -40px; bottom: -40px; width: clamp(110px, 12vw, 180px); aspect-ratio: 1; background: var(--c-vermelho); clip-path: polygon(50% 0, 100% 84%, 0 84%); transform: translate3d(0, var(--mbc-y, 0px), 0); }
.mbc .mbc-cabeca-simples { background: var(--c-concreto); padding: clamp(56px, 7vw, 104px) var(--margem) clamp(32px, 4vw, 56px); }
.mbc .mbc-cabeca-simples .mbc-cabeca-in { max-width: var(--largo); margin-inline: auto; }
.mbc .mbc-pagina-simples { display: block; padding: 0 var(--margem) var(--secao); }
.mbc .mbc-pagina-simples > * { max-width: var(--largo); margin-inline: auto; }
.mbc .mbc-espec { display: inline-grid; margin: 1.5rem 0 0; padding: 14px 18px; border-left: 3px solid var(--c-vermelho); background: var(--c-concreto-2); }
.mbc .mbc-espec dt { margin: 0 0 4px; }
.mbc .mbc-espec dd { margin: 0; font-family: var(--f-titulo); font-weight: 800; font-size: clamp(1.4rem, 1.1rem + 1vw, 2rem); letter-spacing: -.02em; }
.mbc .mbc-horario { display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 1.25rem 0 0; font-weight: 700; }
.mbc .mbc-horario-estado:empty { display: none; }
.mbc .mbc-horario-estado { font-family: var(--f-mono); font-size: .74rem; letter-spacing: .06em; text-transform: uppercase; padding: 4px 8px; border-radius: 999px; background: color-mix(in srgb, var(--c-cimento) 15%, transparent); }
.mbc .mbc-horario-estado.is-aberto { background: color-mix(in srgb, var(--c-azul) 14%, transparent); color: var(--c-azul); }

/* ---- texto + foto ---- */
.mbc .mbc-texto-foto { overflow: clip; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(40px, 6vw, 112px); align-items: center; }
.mbc .mbc-texto-foto > * { margin: 0; max-width: none; }
.mbc .mbc-texto-foto.is-invertido .mbc-texto-foto-texto { order: 2; }
.mbc .mbc-texto-foto-texto h2 { max-width: 16ch; }
.mbc .mbc-texto-foto-texto > p { max-width: 58ch; }
.mbc .mbc-texto-foto-midia { position: relative; padding: 0 0 28px 28px; }
.mbc .mbc-texto-foto.is-invertido .mbc-texto-foto-midia { padding: 0 28px 28px 0; }
.mbc .mbc-texto-foto-img { position: relative; z-index: 1; margin: 0; }
.mbc .mbc-texto-foto-img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--raio); }
.mbc .mbc-plano-fundo { position: absolute; z-index: 0; left: 0; bottom: 0; width: 70%; height: 70%; background: var(--c-marinho); border-radius: var(--raio); transform: translate3d(0, var(--mbc-y, 0px), 0); }
.mbc .mbc-texto-foto.is-invertido .mbc-plano-fundo { left: auto; right: 0; background: var(--c-azul); }
.mbc .mbc-legenda { position: relative; z-index: 2; margin: 12px 0 0; }
.mbc .mbc-fundo-branco .mbc-lista-tecnica li, .mbc .mbc-texto-foto .mbc-lista-tecnica li { border-color: var(--c-junta); }

/* ---- processo (índice preso) ---- */
.mbc .mbc-processo { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(40px, 6vw, 112px); align-items: start; background: var(--c-concreto-2); }
.mbc .mbc-processo > * { margin: 0; max-width: none; }
.mbc .mbc-processo-fixo { position: sticky; top: calc(var(--topo-h) + 32px); }
.mbc .mbc-processo-fixo h2 { max-width: 13ch; }
.mbc .mbc-processo-foto { margin: 24px 0 0; }
.mbc .mbc-processo-foto img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--raio); }
.mbc .mbc-processo-passos { counter-reset: p; border-top: 1px solid var(--c-tinta); }
.mbc .mbc-processo-passo { display: grid; grid-template-columns: 64px minmax(0, 1fr); column-gap: 16px; padding: 28px 0; border-bottom: 1px solid var(--c-junta); transition: opacity .5s var(--curva); }
.mbc .mbc-processo-passo > * { grid-column: 2; }
.mbc .mbc-processo-passo .mbc-processo-num { grid-column: 1; grid-row: 1 / span 3; margin: 4px 0 0; font-size: .9rem; color: var(--c-cimento); transition: color .4s; }
.mbc .mbc-processo-passo.is-ativo .mbc-processo-num { color: var(--c-vermelho); }
.mbc .mbc-processo-passo h3 { margin-bottom: .4em; }
.mbc .mbc-processo-passo p:last-child { margin: 0; color: var(--c-cimento); max-width: 62ch; }

/* ---- cartões ---- */
.mbc .mbc-cartoes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.mbc .mbc-cartao { position: relative; padding: 28px 28px 32px; background: var(--c-concreto-2); border: 1px solid var(--c-junta); border-radius: var(--raio); transition: border-color .3s, transform .5s var(--curva), opacity .4s; }
.mbc .mbc-cartao::before { content: ""; position: absolute; left: -1px; right: -1px; top: -1px; height: 3px; background: var(--c-vermelho); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--curva); }
.mbc .mbc-cartoes:hover .mbc-cartao { opacity: .62; }
.mbc .mbc-cartoes .mbc-cartao:hover { opacity: 1; border-color: var(--c-tinta); transform: translateY(-4px); }
.mbc .mbc-cartao:hover::before { transform: scaleX(1); }
.mbc .mbc-cartao .mbc-rotulo { color: var(--c-vermelho); }
.mbc .mbc-cartao p:last-child { margin: 0; color: var(--c-cimento); }
.mbc .mbc-fundo-branco .mbc-cartao { background: var(--c-concreto); }

/* ---- diferenciais ---- */
.mbc .mbc-difs { border-top: 1px solid var(--c-tinta); }
.mbc .mbc-dif { position: relative; display: grid; grid-template-columns: 80px minmax(0, 5fr) minmax(0, 6fr); column-gap: 24px; align-items: baseline; padding: 28px 0; border-bottom: 1px solid var(--c-junta); }
.mbc .mbc-dif::before { content: ""; position: absolute; left: 0; bottom: -1px; height: 2px; width: 100%; background: var(--c-vermelho); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--curva); }
.mbc .mbc-dif:hover::before { transform: scaleX(1); }
.mbc .mbc-dif .mbc-dif-num { margin: 0; color: var(--c-vermelho); }
.mbc .mbc-dif h3 { margin: 0; }
.mbc .mbc-dif p:last-child { margin: 0; color: var(--c-cimento); }

/* ---- galeria em grade ---- */
.mbc .mbc-galeria-grade { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px !important; margin: 0 auto !important; }
.mbc .mbc-galeria-grade .wp-block-image { width: auto !important; margin: 0 !important; overflow: hidden; border-radius: var(--raio); cursor: zoom-in; }
.mbc .mbc-galeria-grade .wp-block-image:nth-child(5n+1) { grid-column: span 2; grid-row: span 2; }
.mbc .mbc-galeria-grade .wp-block-image img { width: 100%; height: 100% !important; aspect-ratio: 1; object-fit: cover !important; transition: transform 1s var(--curva); }
.mbc .mbc-galeria-grade .wp-block-image:hover img { transform: scale(1.04); }
.mbc .mbc-galeria-equip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0; }
.mbc .mbc-galeria-equip .wp-block-image { margin: 0; overflow: hidden; border-radius: var(--raio); cursor: zoom-in; }
.mbc .mbc-galeria-equip .wp-block-image:first-child { grid-column: 1 / -1; }
.mbc .mbc-galeria-equip img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.mbc .mbc-galeria-equip .wp-block-image:first-child img { aspect-ratio: 16 / 10; }

/* ---- download ---- */
.mbc .mbc-download { background: var(--c-concreto); padding-block: clamp(56px, 7vw, 96px); }
.mbc .mbc-download-in { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: 48px; align-items: end; border-top: 1px solid var(--c-tinta); padding-top: 28px; }
.mbc .mbc-download-in .mbc-rotulo { grid-column: 1 / -1; }
.mbc .mbc-download-in h2 { margin: 0; }
.mbc .mbc-download-in p:not(.mbc-rotulo) { grid-column: 1; margin: .5rem 0 0; color: var(--c-cimento); }
.mbc .mbc-download-in .wp-block-buttons { grid-column: 2; grid-row: 2 / span 2; justify-content: flex-end; margin: 0; }

/* ---- unidades ---- */
.mbc .mbc-unidades { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr)); gap: 16px; }
.mbc .mbc-unidade { display: flex; flex-direction: column; background: var(--c-concreto-2); border: 1px solid var(--c-junta); border-radius: var(--raio); overflow: hidden; transition: border-color .3s, opacity .4s; }
.mbc .mbc-unidades:hover .mbc-unidade { opacity: .7; }
.mbc .mbc-unidades .mbc-unidade:hover, .mbc .mbc-unidades .mbc-unidade:focus-within { opacity: 1; border-color: var(--c-tinta); }
.mbc .mbc-fundo-branco .mbc-unidade { background: var(--c-concreto); }
.mbc .mbc-unidade-foto { display: block; aspect-ratio: 16 / 9; overflow: hidden; }
.mbc .mbc-unidade-foto img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--curva); }
.mbc .mbc-unidade:hover .mbc-unidade-foto img { transform: scale(1.04); }
.mbc .mbc-unidade-corpo { padding: 22px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.mbc .mbc-unidade-corpo .mbc-rotulo { margin-bottom: .6rem; }
.mbc .mbc-unidade-corpo .mbc-rotulo span { color: var(--c-vermelho); }
.mbc .mbc-unidade-nome { font-size: 1.45rem; font-weight: 800; letter-spacing: -.02em; margin-bottom: .5rem; }
.mbc .mbc-unidade-nome a { color: inherit !important; text-decoration: none !important; }
.mbc .mbc-unidade-end { color: var(--c-cimento); font-size: .98rem; }
.mbc .mbc-unidade-contatos { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 6px; font-size: .98rem; }
.mbc .mbc-unidade-contatos li { display: flex; align-items: center; gap: 10px; min-height: 28px; }
.mbc .mbc-unidade-contatos .mbc-ico { flex: none; color: var(--c-cimento); }
.mbc .mbc-unidade-contatos a { color: var(--c-tinta) !important; overflow-wrap: anywhere; }
.mbc .mbc-unidade-vendedor { padding: 14px 0 0; border-top: 1px solid var(--c-junta); margin-top: auto; }
.mbc .mbc-unidade-vendedor .mbc-rotulo { margin-bottom: .25rem; }
.mbc .mbc-unidade-pessoa { font-family: var(--f-titulo); font-weight: 700; font-size: 1.15rem; margin: 0 0 .15rem; }
.mbc .mbc-unidade-mail { font-size: .92rem; margin: 0; overflow-wrap: anywhere; }
.mbc .mbc-unidade-mail a { color: var(--c-cimento) !important; }
.mbc .mbc-unidade-acoes { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.mbc .mbc-unidade-acoes .mbc-btn { flex: 1 1 auto; padding: 12px 16px; }
.mbc .mbc-unidade-dados { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding-top: clamp(40px, 5vw, 72px); padding-bottom: clamp(40px, 5vw, 72px); background: var(--c-concreto-2); }
.mbc .mbc-unidade-dados > * { margin: 0; max-width: none; }
.mbc .mbc-unidade-bloco { padding: 24px; border: 1px solid var(--c-junta); border-radius: var(--raio); background: var(--c-concreto); }
.mbc .mbc-unidade-bloco .mbc-unidade-end { margin-bottom: 1rem; }
.mbc .mbc-unidade-pessoa-bloco { background: var(--c-noite); color: var(--c-concreto-2); border-color: var(--c-noite); }
.mbc .mbc-unidade-pessoa-bloco .mbc-rotulo { color: var(--c-nevoa); }
.mbc .mbc-unidade-pessoa-bloco .mbc-unidade-contatos a, .mbc .mbc-unidade-pessoa-bloco .mbc-ico { color: var(--c-concreto-2) !important; }
.mbc .mbc-unidade-pessoa-bloco .mbc-unidade-pessoa { font-size: 1.5rem; margin-bottom: .75rem; }
.mbc .mbc-outras-lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); border-top: 1px solid var(--c-tinta); }
.mbc .mbc-outras-lista a { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 4px 12px; padding: 18px 16px 18px 0; border-bottom: 1px solid var(--c-junta); color: var(--c-tinta) !important; text-decoration: none !important; }
.mbc .mbc-outras-lista .mbc-rotulo { margin: 0; grid-column: 1; }
.mbc .mbc-outras-lista strong { font-family: var(--f-titulo); font-size: 1.2rem; grid-column: 1; }
.mbc .mbc-outras-lista .mbc-ico { grid-column: 2; grid-row: 1 / span 2; transition: transform .3s var(--curva); }
.mbc .mbc-outras-lista a:hover .mbc-ico { transform: translate(3px, -3px); color: var(--c-vermelho); }

/* ---- produtos ---- */
.mbc .mbc-produtos-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 16px; }
.mbc .mbc-produto-cartao { display: flex; flex-direction: column; background: var(--c-concreto-2); border: 1px solid var(--c-junta); border-radius: var(--raio); overflow: hidden; transition: border-color .3s, opacity .4s; }
.mbc .mbc-fundo-branco .mbc-produto-cartao { background: var(--c-concreto); }
.mbc .mbc-produtos-grade:hover .mbc-produto-cartao { opacity: .68; }
.mbc .mbc-produtos-grade .mbc-produto-cartao:hover, .mbc .mbc-produtos-grade .mbc-produto-cartao:focus-within { opacity: 1; border-color: var(--c-tinta); }
.mbc .mbc-produto-foto { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--c-junta); }
.mbc .mbc-produto-foto img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--curva); }
.mbc .mbc-produto-cartao:hover .mbc-produto-foto img { transform: scale(1.05); }
.mbc .mbc-produto-corpo { padding: 20px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.mbc .mbc-produto-corpo .mbc-rotulo { color: var(--c-azul); margin-bottom: .6rem; }
.mbc .mbc-produto-corpo h3 { font-size: 1.3rem; }
.mbc .mbc-produto-corpo h3 a { color: inherit !important; text-decoration: none !important; }
.mbc .mbc-produto-resumo { color: var(--c-cimento); font-size: .98rem; }
.mbc .mbc-produto-corpo .mbc-link { margin-top: auto; align-self: flex-start; }
.mbc .mbc-produtos-secao .mbc-botoes-linha, .mbc .mbc-produtos-secao .wp-block-buttons { margin-top: 32px; }
.mbc .mbc-outras-cats ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); border-top: 1px solid var(--c-tinta); }
.mbc .mbc-outras-cats a { display: flex; align-items: center; gap: 16px; padding: 22px 0; border-bottom: 1px solid var(--c-junta); color: var(--c-tinta) !important; text-decoration: none !important; }
.mbc .mbc-outras-cats a span { font-family: var(--f-titulo); font-weight: 800; font-size: clamp(1.4rem, 1.1rem + 1vw, 2rem); letter-spacing: -.02em; }
.mbc .mbc-outras-cats small { margin: 0 auto 0 0; }
.mbc .mbc-outras-cats a:hover .mbc-ico { color: var(--c-vermelho); transform: translate(3px, -3px); }
.mbc .mbc-outras-cats .mbc-ico { transition: transform .3s var(--curva); }

/* ficha do produto */
.mbc .mbc-ficha { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: clamp(40px, 6vw, 96px); align-items: start; }
.mbc .mbc-ficha > * { margin: 0; max-width: none; }
.mbc .mbc-ficha-texto .mbc-prosa { font-size: 1.08rem; }
.mbc .mbc-ficha-lado { display: grid; gap: 16px; position: sticky; top: calc(var(--topo-h) + 24px); }
.mbc .mbc-ficha-bloco { padding: 22px; border: 1px solid var(--c-junta); border-radius: var(--raio); background: var(--c-concreto-2); }
.mbc .mbc-ficha-bloco .mbc-lista-tecnica { margin-top: 0; }
.mbc .mbc-ficha-cta { background: var(--c-noite); color: var(--c-concreto-2); border-color: var(--c-noite); }
.mbc .mbc-ficha-cta .mbc-rotulo { color: var(--c-nevoa); }
.mbc .mbc-ficha-cta .mbc-btn-linha { color: var(--c-concreto-2) !important; border-color: color-mix(in srgb, var(--c-concreto-2) 45%, transparent); }
.mbc .mbc-cabeca-produto { padding-bottom: clamp(48px, 6vw, 96px); }
.mbc .mbc-cabeca-produto, .mbc .mbc-cabeca-unidade { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); align-items: end; column-gap: clamp(32px, 5vw, 96px); padding-left: max(var(--margem), (100% - var(--largo)) / 2); padding-right: 0; }
.mbc .mbc-cabeca-unidade:not(.mbc-cabeca-com-foto) { grid-template-columns: minmax(0, 1fr); padding-right: var(--margem); }
.mbc .mbc-cabeca-produto .mbc-cabeca-in, .mbc .mbc-cabeca-unidade .mbc-cabeca-in { margin: 0; }

/* equipamento */
.mbc .mbc-equip-ficha { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 80px); align-items: start; padding-top: clamp(56px, 7vw, 104px); }
.mbc .mbc-equip-ficha > * { margin: 0; max-width: none; }
.mbc .mbc-equip-ficha-texto { position: sticky; top: calc(var(--topo-h) + 24px); }

/* ---- calculadora ---- */
.mbc .mbc-calc-form { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 16px; margin: 0; }
.mbc .mbc-calc fieldset { margin: 0; padding: 24px; border: 1px solid var(--c-junta); border-radius: var(--raio); background: var(--c-concreto-2); min-width: 0; }
.mbc .mbc-calc legend { padding: 0; margin-bottom: 14px; float: left; width: 100%; }
.mbc .mbc-calc-pecas { clear: both; display: flex; flex-wrap: wrap; gap: 8px; }
.mbc .mbc-calc fieldset:first-child { grid-column: 1 / -1; }
.mbc .mbc-calc-campos { clear: both; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.mbc .mbc-calc-campo { margin: 0; }
.mbc .mbc-calc-campo[hidden] { display: none; }
.mbc .mbc-calc-campo label { display: block; font-family: var(--f-mono); font-size: .74rem; letter-spacing: .05em; text-transform: uppercase; color: var(--c-cimento); margin-bottom: 6px; }
.mbc .mbc-calc-campo input { width: 100%; min-height: 52px; padding: 0 14px; border: 1.5px solid var(--c-junta); border-radius: var(--raio); background: var(--c-concreto); font: inherit; font-size: 1.15rem; font-variant-numeric: tabular-nums; color: var(--c-tinta); }
.mbc .mbc-calc-campo input:focus { border-color: var(--c-tinta); outline: none; }
.mbc .mbc-calc-parcial { font-family: var(--f-mono); font-size: .9rem; min-height: 1.4em; color: var(--c-cimento); }
.mbc .mbc-calc-total { padding: 24px; border-radius: var(--raio); background: var(--c-noite); color: var(--c-concreto-2); display: flex; flex-direction: column; }
.mbc .mbc-calc-total .mbc-rotulo { color: var(--c-nevoa); }
.mbc .mbc-calc-lista { list-style: none; margin: 0 0 12px; padding: 0; font-size: .95rem; color: color-mix(in srgb, var(--c-concreto-2) 85%, var(--c-nevoa)); }
.mbc .mbc-calc-lista li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid color-mix(in srgb, var(--c-nevoa) 22%, transparent); }
.mbc .mbc-calc-lista button { background: none; border: 0; color: var(--c-nevoa); cursor: pointer; padding: 0 4px; min-width: 32px; min-height: 32px; }
.mbc .mbc-calc-numero { font-family: var(--f-titulo); font-weight: 800; font-size: clamp(2.6rem, 1.8rem + 3vw, 4.4rem); letter-spacing: -.04em; line-height: 1; margin: 8px 0 12px; font-variant-numeric: lining-nums proportional-nums; }
.mbc .mbc-calc-nota { font-size: .88rem; color: color-mix(in srgb, var(--c-concreto-2) 75%, var(--c-nevoa)) !important; }
.mbc .mbc-calc-total .mbc-btn { margin-top: auto; }

/* ---- perguntas ---- */
.mbc .mbc-faq { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 24px clamp(32px, 5vw, 96px); align-items: start; }
.mbc .mbc-faq > * { margin: 0; max-width: none; }
.mbc .mbc-faq > .mbc-secao-cabeca { display: block; position: sticky; top: calc(var(--topo-h) + 32px); margin: 0; }
.mbc .mbc-faq > .mbc-secao-cabeca h2 { margin-bottom: .4em; }
.mbc .mbc-perguntas { border-top: 1px solid var(--c-tinta); }
.mbc .mbc-pergunta { border-bottom: 1px solid var(--c-junta); margin: 0; }
.mbc .mbc-pergunta summary { position: relative; list-style: none; cursor: pointer; padding: 22px 56px 22px 0; font-family: var(--f-titulo); font-weight: 700; font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem); line-height: 1.3; }
.mbc .mbc-pergunta summary::-webkit-details-marker { display: none; }
.mbc .mbc-pergunta summary::before, .mbc .mbc-pergunta summary::after { content: ""; position: absolute; right: 12px; top: 50%; width: 18px; height: 1.5px; background: var(--c-tinta); transition: transform .35s var(--curva); }
.mbc .mbc-pergunta summary::after { transform: rotate(90deg); }
.mbc .mbc-pergunta[open] summary::after { transform: rotate(0); }
.mbc .mbc-pergunta[open] summary { color: var(--c-marinho); }
.mbc .mbc-pergunta p { max-width: 68ch; color: var(--c-cimento); }
.mbc .mbc-pergunta > p:last-child { padding-bottom: 12px; }

/* ---- texto corrido ---- */
.mbc .mbc-texto-in { max-width: 760px !important; }
.mbc .mbc-texto-in h2 { max-width: 18ch; }

/* =========================================================== FORMULÁRIOS == */
.mbc .mbc-form-secao { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 112px); align-items: start; }
.mbc .mbc-form-secao > * { margin: 0; max-width: none; }
.mbc .mbc-form-lado { position: sticky; top: calc(var(--topo-h) + 24px); }
.mbc .mbc-form-lado h2 { max-width: 12ch; }
.mbc .mbc-lista-contatos { list-style: none; margin: 1.5rem 0 0; padding: 0; border-top: 1px solid var(--c-junta); }
.mbc .mbc-lista-contatos li { padding: 14px 0; border-bottom: 1px solid var(--c-junta); }
.mbc .mbc-lista-contatos strong { display: block; font-family: var(--f-mono); font-size: .74rem; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--c-cimento); margin-bottom: 2px; }
.mbc .mbc-form-caixa { background: var(--c-concreto-2); border: 1px solid var(--c-junta); border-radius: var(--raio); padding: clamp(24px, 3.5vw, 48px); }
.mbc .vl-form { margin: 0; padding: 0; background: none; box-shadow: none; border: 0; max-width: none; }
.mbc .vl-form-titulo { font-size: clamp(1.4rem, 1.2rem + .8vw, 1.9rem); font-weight: 800; letter-spacing: -.02em; margin-bottom: 1.25rem; }
.mbc .vl-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; }
.mbc .vl-form-campo { margin: 0; }
.mbc .vl-form-campo label { display: block; font-family: var(--f-mono); font-size: .75rem; font-weight: 500; letter-spacing: .05em; text-transform: uppercase; color: var(--c-cimento); margin-bottom: 6px; }
.mbc .vl-form input:not([type=checkbox]):not([type=radio]):not([type=file]), .mbc .vl-form select, .mbc .vl-form textarea { width: 100%; min-height: 52px; padding: 12px 14px; border: 1.5px solid var(--c-junta); border-radius: var(--raio); background: var(--c-concreto); font: inherit; font-size: 1.05rem; color: var(--c-tinta); transition: border-color .2s, background-color .2s; }
.mbc .vl-form textarea { min-height: 120px; resize: vertical; }
.mbc .vl-form input:focus, .mbc .vl-form select:focus, .mbc .vl-form textarea:focus { border-color: var(--c-tinta); background: #fff; outline: none; }
.mbc .vl-form-lgpd { font-size: .95rem; margin: 18px 0 0; }
.mbc .vl-form-lgpd input { width: 20px; height: 20px; margin-right: 8px; vertical-align: -4px; accent-color: var(--c-marinho); }
.mbc .vl-form-acao { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0 0; }
.mbc .vl-form button[type=submit] { position: relative; overflow: hidden; min-height: 54px; padding: 14px 28px; font-family: var(--f-titulo); font-weight: 600; font-size: 1.02rem; border-radius: var(--raio); border: 1.5px solid var(--c-acao); cursor: pointer; }
.mbc .mbc-form-wa { display: inline-flex; align-items: center; gap: .55em; min-height: 54px; padding: 14px 22px; font-family: var(--f-titulo); font-weight: 600; font-size: 1.02rem; border-radius: var(--raio); border: 1.5px solid color-mix(in srgb, var(--c-tinta) 35%, transparent); background: transparent; color: var(--c-tinta); cursor: pointer; }
.mbc .mbc-form-wa:hover { border-color: var(--c-tinta); }
.mbc .vl-form-ok, .mbc .vl-form-erro { padding: 16px 18px; border-radius: var(--raio); margin-bottom: 16px; }
.mbc .vl-form-ok { background: color-mix(in srgb, var(--c-azul) 10%, transparent); border-left: 3px solid var(--c-azul); }
.mbc .vl-form-erro { background: color-mix(in srgb, var(--c-acao) 10%, transparent); border-left: 3px solid var(--c-acao); }
.mbc .vl-form-produto { font-family: var(--f-mono); font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; }

/* ================================================================ RODAPÉ == */
.mbc .vl-footer { display: none; }
.mbc-rodape { position: relative; background: var(--c-noite); color: var(--c-concreto-2); padding: clamp(72px, 9vw, 140px) var(--margem) 0; overflow: hidden; isolation: isolate; }
.mbc-rodape-cumeeira { position: absolute; left: max(var(--margem), (100% - var(--largo)) / 2); top: 0; width: 96px; height: 4px; pointer-events: none; }
.mbc-rodape-cumeeira span { position: absolute; inset: 0; background: var(--c-vermelho); }
.mbc-rodape-cumeeira span + span { display: none; }
.mbc-rodape-in { max-width: var(--largo); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 3fr) minmax(0, 4fr); gap: 40px clamp(24px, 4vw, 56px); padding-bottom: clamp(48px, 6vw, 88px); }
.mbc-rodape-frase { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 16px 48px; align-items: end; padding-bottom: clamp(40px, 5vw, 72px); border-bottom: 1px solid color-mix(in srgb, var(--c-nevoa) 25%, transparent); margin-bottom: 8px; }
.mbc-rodape-grande { font-family: var(--f-titulo); font-weight: 800; font-size: clamp(3rem, 1.6rem + 6vw, 7.4rem); line-height: .9; letter-spacing: -.045em; margin: 0; color: var(--c-concreto-2); max-width: 9ch; text-wrap: balance; }
.mbc-rodape .mbc-btn-claro { color: var(--c-tinta) !important; }
.mbc-rodape .mbc-btn-claro:hover { text-decoration: none; }
.mbc-rodape-texto { color: color-mix(in srgb, var(--c-concreto-2) 80%, var(--c-nevoa)); margin: 0; }
.mbc-rodape-acoes { grid-column: 2; display: flex; flex-wrap: wrap; gap: 12px; margin: 0; justify-self: end; }
.mbc-rodape .mbc-rotulo { color: var(--c-nevoa); }
.mbc-rodape ul { list-style: none; margin: 0; padding: 0; }
.mbc-rodape a { color: var(--c-concreto-2) !important; text-decoration: none; }
.mbc-rodape a:hover { text-decoration: underline; }
.mbc-rodape-unidades { grid-column: 1; }
.mbc-rodape-unidades li { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid color-mix(in srgb, var(--c-nevoa) 18%, transparent); font-weight: 700; }
.mbc-rodape-tel { font-family: var(--f-mono); font-weight: 500; font-size: .86rem; color: var(--c-nevoa) !important; white-space: nowrap; }
.mbc-rodape-menu li a { display: inline-block; padding: 7px 0; }
.mbc-rodape-contato li { padding: 5px 0; color: color-mix(in srgb, var(--c-concreto-2) 85%, var(--c-nevoa)); }
.mbc-rodape-redes { display: flex; gap: 8px; margin-top: 16px !important; }
.mbc-rodape-redes a { display: inline-grid; place-items: center; width: 48px; height: 48px; border: 1.5px solid color-mix(in srgb, var(--c-nevoa) 35%, transparent); border-radius: var(--raio); }
.mbc-rodape-redes a:hover { border-color: var(--c-concreto-2); }
.mbc-rodape-base { max-width: var(--largo); margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; padding: 24px 0 calc(28px + env(safe-area-inset-bottom)); border-top: 1px solid color-mix(in srgb, var(--c-nevoa) 25%, transparent); font-size: .88rem; color: var(--c-nevoa); }
.mbc-rodape-base p { margin: 0; }
.mbc-rodape-base .vl-credito { margin-left: auto; }
.mbc-rodape-base .vl-link-botao { background: none; border: 0; padding: 0; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; min-height: 32px; }
.mbc-rodape-logo { display: block; width: 64px; }
.mbc-rodape-logo img { width: 100%; height: auto; }

/* WhatsApp flutuante */
.mbc .mbc-wa-flutuante { position: fixed; right: 18px; bottom: calc(18px + env(safe-area-inset-bottom)); z-index: 70; width: 60px; height: 60px; display: grid; place-items: center; background: var(--c-noite); color: var(--c-concreto-2) !important; border: 1.5px solid color-mix(in srgb, var(--c-nevoa) 40%, transparent); border-radius: var(--raio); box-shadow: var(--sombra-flutua); transition: transform .3s var(--curva), background-color .2s; }
.mbc .mbc-wa-flutuante:hover { background: var(--c-acao); transform: translateY(-3px); }

/* aviso de cookies do core, na linguagem do tema */
.mbc #vl-consent, .mbc .vl-consent { font-family: var(--f-texto); }
.mbc .vl-consent button, .mbc #vl-consent button { border-radius: var(--raio) !important; font-family: var(--f-titulo) !important; }

/* páginas do blueprint (Política, Obrigado) */
.mbc .vl-politica { max-width: 820px; }
.mbc .vl-politica h2 { font-size: clamp(1.4rem, 1.2rem + .8vw, 1.9rem); margin-top: 2em; }
.mbc .vl-politica-tabela, .mbc .vl-politica table { width: 100%; border-collapse: collapse; font-size: .95rem; display: block; overflow-x: auto; }
.mbc .vl-politica td, .mbc .vl-politica th { border-bottom: 1px solid var(--c-junta); padding: 10px 12px 10px 0; text-align: left; vertical-align: top; }
.mbc .vl-obrigado { max-width: 680px; padding: 24px 0; }
.mbc .vl-obrigado-icone { color: var(--c-azul); }
.mbc .vl-obrigado-acoes { display: flex; flex-wrap: wrap; gap: 12px; }
.mbc .vl-btn { border-radius: var(--raio); min-height: 50px; display: inline-flex; align-items: center; }

/* ============================================================= LIGHTBOX == */
.mbc-luz { position: fixed; inset: 0; z-index: 200; display: grid; grid-template-rows: 1fr auto; background: color-mix(in srgb, var(--c-noite) 96%, transparent); color: var(--c-concreto-2); opacity: 0; transition: opacity .3s var(--curva); }
.mbc-luz.is-aberta { opacity: 1; }
.mbc-luz figure { margin: 0; display: grid; place-items: center; padding: 64px 72px 12px; min-height: 0; }
.mbc-luz img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; border-radius: var(--raio); }
.mbc-luz figcaption { font-family: var(--f-mono); font-size: .8rem; letter-spacing: .05em; text-transform: uppercase; color: var(--c-nevoa); text-align: center; padding: 0 24px 24px; }
.mbc-luz button { position: absolute; display: grid; place-items: center; width: 52px; height: 52px; background: none; border: 1.5px solid color-mix(in srgb, var(--c-nevoa) 40%, transparent); border-radius: var(--raio); color: inherit; cursor: pointer; }
.mbc-luz button:hover { border-color: var(--c-concreto-2); }
.mbc-luz .mbc-luz-fechar { top: 16px; right: 16px; }
.mbc-luz .mbc-luz-ant { left: 12px; top: 50%; margin-top: -26px; }
.mbc-luz .mbc-luz-prox { right: 12px; top: 50%; margin-top: -26px; }
.mbc-luz .mbc-luz-ant svg { transform: scaleX(-1); }
.mbc-luz-contador { position: absolute; top: 28px; left: 24px; font-family: var(--f-mono); font-size: .8rem; color: var(--c-nevoa); }
html.mbc-sem-rolagem { overflow: hidden; }

/* ================================================================ EFEITOS == */
/* Revelação: só com JS e sem pedido de menos movimento (classe mbc-anima no <html>). */
.mbc-anima .mbc-revela { opacity: 0; transform: translate3d(0, 28px, 0); transition: opacity .9s var(--curva), transform .9s var(--curva); transition-delay: var(--atraso, 0s); }
.mbc-anima .mbc-revela.is-visivel { opacity: 1; transform: none; }
.mbc-anima .mbc-palavras .mbc-p { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; margin-bottom: -.08em; }
.mbc-anima .mbc-palavras .mbc-p > span { display: inline-block; transform: translate3d(0, 105%, 0); transition: transform 1s var(--curva); transition-delay: calc(var(--i, 0) * 45ms + var(--atraso, 0s)); }
.mbc-anima .mbc-palavras.is-visivel .mbc-p > span { transform: none; }
.mbc-anima .mbc-revela-img { clip-path: inset(0 0 100% 0); transition: clip-path 1.2s var(--curva); }
.mbc-anima .mbc-revela-img img { transform: scale(1.12); transition: transform 1.6s var(--curva); }
.mbc-anima .mbc-revela-img.is-visivel { clip-path: inset(0 0 0 0); }
.mbc-anima .mbc-revela-img.is-visivel img { transform: none; }
.mbc-anima-fim .mbc-revela, .mbc-anima-fim .mbc-palavras .mbc-p > span { opacity: 1; transform: none; }
.mbc-anima-fim .mbc-revela-img { clip-path: none; }
/* entrada da capa (acontece no carregamento, sem mexer no layout: só transform/opacity/clip) */
.mbc-anima .mbc-capa .mbc-plano { animation: mbc-plano-entra 1.6s var(--curva) both; }
.mbc-anima .mbc-capa .mbc-plano-b { animation-delay: .12s; }
.mbc-anima .mbc-capa .mbc-plano-c { animation-delay: .3s; }
@keyframes mbc-plano-entra { from { clip-path: polygon(50% 100%, 100% 100%, 100% 100%, 0 100%, 0 100%); } }
.mbc-anima .mbc-capa-foto img { animation: mbc-foto-entra 2.4s var(--curva) both; }
@keyframes mbc-foto-entra { from { opacity: .3; scale: 1.08; } }
.mbc-anima .mbc-capa-ficha .mbc-rotulo { animation: mbc-sobe .9s var(--curva) both; animation-delay: calc(.6s + var(--i, 0) * 90ms); }
@keyframes mbc-sobe { from { opacity: 0; transform: translateY(16px); } }
/* fio de leitura no topo das páginas longas */
.mbc-fio { position: fixed; left: 0; top: 0; z-index: 95; height: 2px; width: 100%; background: var(--c-vermelho); transform: scaleX(var(--p, 0)); transform-origin: left; pointer-events: none; }

/* ============================================================== CELULAR == */
@media (max-width: 1100px) {
	.mbc .mbc-menu a { padding: 8px 9px; font-size: .94rem; }
	.mbc .mbc-numeros-grade { grid-template-columns: 1fr 1fr; row-gap: 32px; }
	.mbc .mbc-numero:nth-child(2n) { border-right: 0; margin-right: 0; }
	.mbc-topo-wa { display: none; }
}
@media (max-width: 980px) {
	:root { --topo-h: 68px; }
	.mbc-marca { height: 44px; }
	.mbc-menu-botao { display: inline-block; }
	.mbc-topo-cta { padding: 10px 14px; font-size: .92rem; min-height: 44px; }
	.mbc-nav { position: fixed; inset: var(--topo-h) 0 0; z-index: -1; display: flex; flex-direction: column; align-items: stretch; justify-content: space-between; gap: 24px; padding: 24px var(--margem) calc(24px + env(safe-area-inset-bottom)); background: var(--c-noite); color: var(--c-concreto-2); overflow-y: auto; opacity: 0; visibility: hidden; transform: translateY(-12px); transition: opacity .35s var(--curva), transform .35s var(--curva), visibility .35s; }
	.mbc-topo.is-aberto .mbc-nav { opacity: 1; visibility: visible; transform: none; }
	.mbc-topo.is-aberto { color: var(--c-tinta); }
	.mbc-menu { flex-direction: column; align-items: stretch; gap: 0; }
	.mbc-menu > li { border-bottom: 1px solid color-mix(in srgb, var(--c-nevoa) 20%, transparent); }
	.mbc-menu > li > a { font-size: 1.6rem; font-weight: 800; letter-spacing: -.02em; padding: 14px 0; min-height: 56px; }
	.mbc-menu > li > a::after { display: none; }
	.mbc-menu .menu-item-has-children > a::before { display: none; }
	.mbc-menu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; background: none; padding: 0 0 12px; min-width: 0; display: flex; flex-wrap: wrap; gap: 4px 18px; }
	.mbc-menu .sub-menu a { padding: 6px 0; min-height: 44px; font-size: 1.02rem; color: var(--c-nevoa) !important; }
	.mbc-nav-rodape { display: grid; gap: 8px; }
	.mbc-nav-contato { display: flex; align-items: center; gap: 10px; min-height: 48px; color: var(--c-concreto-2) !important; font-weight: 700; text-decoration: none !important; }
	.mbc-topo.is-aberto .mbc-menu-botao i:first-of-type { top: 23px; transform: rotate(45deg); }
	.mbc-topo.is-aberto .mbc-menu-botao i:last-of-type { top: 23px; right: 13px; transform: rotate(-45deg); }
	.mbc-anima .mbc-topo.is-aberto .mbc-menu > li { animation: mbc-sobe .6s var(--curva) both; animation-delay: calc(var(--i, 0) * 50ms); }

	.mbc .mbc-cadeia-corpo { grid-template-columns: 1fr; }
	.mbc .mbc-cadeia-palco { display: none; }
	.mbc .mbc-cadeia-passo { min-height: 0; opacity: 1; padding: 0 0 48px; }
	.mbc .mbc-cadeia-passo .mbc-cadeia-foto-movel { display: block; margin: 0 0 20px; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--raio); }
	.mbc .mbc-cadeia-passo .mbc-cadeia-foto-movel img { width: 100%; height: 100%; object-fit: cover; }
	.mbc .mbc-portas { flex-direction: column; min-height: 0; }
	.mbc .mbc-porta, .mbc .mbc-portas:hover .mbc-porta, .mbc .mbc-portas .mbc-porta:hover { flex: none; }
	.mbc .mbc-porta-foto { aspect-ratio: 16 / 9; }
	.mbc .mbc-localizador { grid-template-columns: 1fr; grid-template-areas: "form" "mapa" "lista"; }
	.mbc .mbc-qualidade, .mbc .mbc-compromisso, .mbc .mbc-texto-foto, .mbc .mbc-processo, .mbc .mbc-ficha, .mbc .mbc-form-secao, .mbc .mbc-equip-ficha { grid-template-columns: 1fr; }
	.mbc .mbc-texto-foto.is-invertido .mbc-texto-foto-texto { order: 0; }
	.mbc .mbc-plano-fundo { transform: none !important; height: 55%; }
	.mbc .mbc-processo-fixo, .mbc .mbc-ficha-lado, .mbc .mbc-form-lado, .mbc .mbc-equip-ficha-texto { position: static; }
	.mbc .mbc-cabeca-com-foto, .mbc .mbc-cabeca-produto, .mbc .mbc-cabeca-unidade { grid-template-columns: 1fr; padding-right: var(--margem); padding-left: var(--margem); }
	.mbc .mbc-cabeca-midia { min-height: 0; aspect-ratio: 4 / 3; }
	.mbc .mbc-cabeca-foto img, .mbc img.mbc-cabeca-foto { border-radius: var(--raio); }
	.mbc .mbc-faixa { grid-template-columns: 1fr; }
	.mbc .mbc-faixa-texto { padding-bottom: 8px; }
	.mbc-faixa-listras i { top: 52%; bottom: -10%; width: 34vw; }
	.mbc-faixa-listras i:nth-child(1) { right: 52vw; } .mbc-faixa-listras i:nth-child(2) { right: 22vw; } .mbc-faixa-listras i:nth-child(3) { right: -10vw; }
	.mbc .mbc-cartoes { grid-template-columns: 1fr; }
	.mbc .mbc-unidade-dados { grid-template-columns: 1fr; }
	.mbc .mbc-calc-form { grid-template-columns: 1fr; }
	.mbc .mbc-rodape-in { grid-template-columns: 1fr 1fr; }
	.mbc .mbc-rodape-frase { grid-template-columns: 1fr; }
	.mbc .mbc-rodape-acoes { grid-column: 1; justify-self: start; }
	.mbc .mbc-rodape-unidades { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
	.mbc .mbc-capa { min-height: max(600px, 100svh); padding-top: calc(var(--topo-h) + 32px); }
	.mbc .mbc-capa-titulo { font-size: clamp(3.1rem, 15vw, 4.6rem); }
	.mbc .mbc-capa .wp-block-buttons { flex-direction: column; align-items: stretch; }
	.mbc .mbc-capa .wp-block-button__link { width: 100%; }
	.mbc .mbc-capa-ficha { grid-template-columns: 1fr 1fr; }
	.mbc .mbc-capa-ficha .mbc-rotulo { padding-bottom: 12px; }
	.mbc .mbc-plano-a { width: 120vw; height: 120vw; right: -40vw; bottom: -30vh; }
	.mbc .mbc-plano-b { width: 80vw; height: 80vw; right: 20vw; }
	.mbc .mbc-plano-c { right: 6vw; bottom: 30vh; top: auto; width: 56px; height: 56px; min-width: 0; min-height: 0; }
	.mbc .mbc-numero-valor { font-size: clamp(1.6rem, 7.2vw, 2.4rem); }
	.mbc-escura-planos i:last-child { right: -30px; bottom: -40px; width: 110px; height: 110px; opacity: .6; }
	.mbc .mbc-caminho-empresa::after { width: 120px; height: 120px; right: -24px; bottom: -36px; }
	.mbc .mbc-numeros-grade { grid-template-columns: 1fr 1fr; row-gap: 32px; }
	.mbc .mbc-numero:nth-child(2n) { border-right: 0; margin-right: 0; }
	.mbc .mbc-caminhos { grid-template-columns: 1fr; }
	.mbc .mbc-equip { grid-template-columns: 1fr; }
	.mbc .mbc-equip-foto { aspect-ratio: 16 / 10; }
	.mbc .mbc-compromisso-fotos { min-height: 0; display: grid; grid-template-columns: 1fr; gap: 12px; }
	.mbc .mbc-compromisso-f1, .mbc .mbc-compromisso-f2 { position: relative; width: auto; transform: none; }
	.mbc .mbc-compromisso-f2 { width: 70%; margin: -30% 0 0 auto !important; }
	.mbc .mbc-dif { grid-template-columns: 48px minmax(0, 1fr); row-gap: 8px; }
	.mbc .mbc-dif p:last-child { grid-column: 2; }
	.mbc .mbc-galeria-grade { grid-template-columns: 1fr 1fr; }
	.mbc .mbc-galeria-faixa .wp-block-image { flex-basis: 78vw !important; }
	.mbc .mbc-download-in { grid-template-columns: 1fr; }
	.mbc .mbc-download-in .wp-block-buttons { grid-column: 1; grid-row: auto; justify-content: flex-start; margin-top: 20px; }
	.mbc .vl-form-grid { grid-template-columns: 1fr; }
	.mbc .mbc-calc-campos { grid-template-columns: 1fr 1fr; }
	.mbc .mbc-calc fieldset { padding: 18px; }
	.mbc .mbc-loc-campo { flex-direction: column; }
	.mbc .mbc-loc-campo .mbc-btn { width: 100%; }
	.mbc .mbc-rodape-in { grid-template-columns: 1fr; }
	.mbc .mbc-rodape-base .vl-credito { margin-left: 0; }
	.mbc .mbc-trilha-flutuante { position: relative; top: 0; padding-top: 20px; }
	.mbc .mbc-trilha-flutuante + .mbc-cabeca, .mbc .mbc-trilha-flutuante + * { padding-top: 32px; }
	.mbc .mbc-galeria-equip { grid-template-columns: 1fr 1fr; }
	.mbc .mbc-faixa-setas { justify-content: flex-start; }
	.mbc .mbc-wa-flutuante { width: 56px; height: 56px; right: 14px; }
}
@media (max-width: 420px) {
	.mbc-topo-cta span { font-size: .88rem; }
	.mbc .mbc-numero-valor { font-size: clamp(1.9rem, 9vw, 2.4rem); }
	.mbc .mbc-capa-ficha strong { font-size: 1.4rem; }
}
/* sem mouse (toque): nada que dependa de hover */
@media (hover: none) {
	.mbc .mbc-portas:hover .mbc-porta, .mbc .mbc-produtos-grade:hover .mbc-produto-cartao, .mbc .mbc-unidades:hover .mbc-unidade, .mbc .mbc-cartoes:hover .mbc-cartao { opacity: 1; flex-grow: 1; }
}

/* ===================================================== MENOS MOVIMENTO == */
@media (prefers-reduced-motion: reduce) {
	.mbc *, .mbc *::before, .mbc *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
	.mbc [data-mbc-vel], .mbc .mbc-capa-foto img { transform: none !important; }
	.mbc .mbc-cadeia-foto { clip-path: none; opacity: 0; }
	.mbc .mbc-cadeia-foto.is-ativa { opacity: 1; }
}

/* ======================================== camadas entre seções (desktop) == */
/* A capa fica presa por baixo e a seção seguinte passa por cima dela (referência: Aker). */
@media (min-width: 981px) and (min-height: 640px) {
	.mbc-home .mbc-capa { position: sticky; top: 0; z-index: 0; }
	.mbc-home .mbc-capa ~ .mbc-secao { z-index: 1; }
	.mbc-home .mbc-capa + .mbc-secao { box-shadow: 0 -40px 80px -30px color-mix(in srgb, var(--c-noite) 55%, transparent); }
}
/* Rodapé que se revela no fim da página, por baixo do conteúdo (referência: EFLA). Só quando
   ele cabe inteiro na tela; o JS marca o <html> com mbc-rodape-cabe. */
@media (min-width: 981px) {
	.mbc-rodape-cabe .mbc-main { position: relative; z-index: 1; background: var(--c-concreto); box-shadow: 0 30px 60px -20px color-mix(in srgb, var(--c-noite) 60%, transparent); }
	.mbc-rodape-cabe .mbc-rodape { position: sticky; bottom: 0; z-index: 0; }
}
/* entrada do texto da capa: CSS puro, roda já na primeira pintura (sem piscar) */
.mbc-anima .mbc-capa-titulo { animation: mbc-titulo-entra 1.3s var(--curva) .1s both; }
@keyframes mbc-titulo-entra { from { clip-path: inset(0 0 100% 0); transform: translate3d(0, .25em, 0); } to { clip-path: inset(0 0 -10% 0); transform: none; } }
.mbc-anima .mbc-capa-kicker, .mbc-anima .mbc-capa-lead, .mbc-anima .mbc-capa-botoes { animation: mbc-sobe 1s var(--curva) both; }
.mbc-anima .mbc-capa-kicker { animation-delay: 0s; }
.mbc-anima .mbc-capa-lead { animation-delay: .35s; }
.mbc-anima .mbc-capa-botoes { animation-delay: .5s; }

/* topo sem foto: o desenho técnico do telhado do logo ocupa o lado direito */
.mbc .mbc-cabeca:not(.mbc-cabeca-com-foto):not(.mbc-cabeca-simples):not(.mbc-cabeca-produto)::after { content: ""; position: absolute; right: max(var(--margem), (100% - var(--largo)) / 2); bottom: 0; width: min(38vw, 520px); aspect-ratio: 1.6; pointer-events: none;
	background:
		linear-gradient(var(--c-vermelho), var(--c-vermelho)) 50% 100% / 18% 3px no-repeat,
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 200' fill='none' stroke='%2316192A' stroke-width='1.2'%3E%3Cpath d='M20 196 160 30l140 166'/%3E%3Cpath d='M60 196 160 78l100 118' stroke-dasharray='4 6'/%3E%3Cpath d='M160 30v166M20 196h280'/%3E%3Cpath d='M112 196 160 140l48 56' stroke='%23EE3B37' stroke-width='2'/%3E%3Cpath d='M300 196v-30M296 166h8M20 196v-30M16 166h8'/%3E%3C/svg%3E") 100% 100% / contain no-repeat;
	opacity: .55; }
.mbc .mbc-cabeca + .mbc-secao:not(.mbc-escura):not(.mbc-faixa) { padding-top: clamp(40px, 5vw, 88px); }
@media (max-width: 980px) {
	.mbc .mbc-faq { grid-template-columns: 1fr; }
	.mbc .mbc-faq > .mbc-secao-cabeca { position: static; }
	.mbc .mbc-cabeca:not(.mbc-cabeca-com-foto)::after { display: none; }
}
