/* Morivita Psi — site estático. Gerado por gerador/gerar.py a partir de motor/morivita.css: edite lá e gere de novo. */
/* Site estático: o mínimo do Elementor/Hello de que o layout depende (no WordPress isso vem do tema). */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:#F9F6ED}
[hidden]{display:none!important}
img{max-width:100%;height:auto;border:0}
.e-con{display:flex;flex-direction:column;position:relative;min-width:0;width:100%}
.elementor-widget{position:relative}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:300;font-display:swap;src:url("../fontes/cormorant-garamond-latin-300-normal.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url("../fontes/cormorant-garamond-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url("../fontes/cormorant-garamond-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:300;font-display:swap;src:url("../fontes/cormorant-garamond-latin-300-italic.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:400;font-display:swap;src:url("../fontes/cormorant-garamond-latin-400-italic.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url("../fontes/jost-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:swap;src:url("../fontes/jost-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:600;font-display:swap;src:url("../fontes/jost-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"La Belle Aurore";font-style:normal;font-weight:400;font-display:swap;src:url("../fontes/la-belle-aurore-latin-400-normal.woff2") format("woff2")}
/* Lenis 1.3.26 (MIT, darkroom.engineering) */
html.lenis,
html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.lenis.lenis-autoToggle {
  transition-property: overflow;
  transition-duration: 1ms;
  transition-behavior: allow-discrete;
}

/* =====================================================================
   Morivita Psi — motor CSS da landing page (Elementor + Hello)
   Cores e fontes: das artes da marca (marca/BRAND-RESUMO.md).
   Movimento: linguagem da Ampere Alliance (referencia-animacoes/).
   Tudo que começa escondido fica sob html.mv-movimento: sem JS, com
   movimento reduzido e no editor do Elementor a página aparece inteira.
   Gerado no JSON por gerador/gerar.py — edite AQUI e regenere.
   ===================================================================== */

/* Fontes: por padrão vêm do Google Fonts (link no motor). Para hospedar no próprio site (LGPD),
   envie recursos/fontes/*.woff2 para /wp-content/uploads/morivita/fontes/ e preencha
   "fontes_locais_url" no gerador/config.json — o gerador troca o Google Fonts por este bloco:
@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-weight: 300; font-display: swap; src: url("/wp-content/uploads/morivita/fontes/cormorant-garamond-latin-300-normal.woff2") format("woff2"); }
@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-weight: 400; font-display: swap; src: url("/wp-content/uploads/morivita/fontes/cormorant-garamond-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-weight: 500; font-display: swap; src: url("/wp-content/uploads/morivita/fontes/cormorant-garamond-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Cormorant Garamond"; font-style: italic; font-weight: 300; font-display: swap; src: url("/wp-content/uploads/morivita/fontes/cormorant-garamond-latin-300-italic.woff2") format("woff2"); }
@font-face { font-family: "Cormorant Garamond"; font-style: italic; font-weight: 400; font-display: swap; src: url("/wp-content/uploads/morivita/fontes/cormorant-garamond-latin-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Jost"; font-style: normal; font-weight: 400; font-display: swap; src: url("/wp-content/uploads/morivita/fontes/jost-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Jost"; font-style: normal; font-weight: 500; font-display: swap; src: url("/wp-content/uploads/morivita/fontes/jost-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Jost"; font-style: normal; font-weight: 600; font-display: swap; src: url("/wp-content/uploads/morivita/fontes/jost-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "La Belle Aurore"; font-style: normal; font-weight: 400; font-display: swap; src: url("/wp-content/uploads/morivita/fontes/la-belle-aurore-latin-400-normal.woff2") format("woff2"); }
*/

/* ---------- 1. Tokens ---------- */
:root {
  --mv-creme: #F9F6ED;
  --mv-branco: #FFFFFF;
  --mv-roxo: #3A2B62;
  --mv-roxo-claro: #463579;
  --mv-roxo-escuro: #2E2245;   /* rodapé */
  --mv-tinta: #2E2545;
  --mv-muted: #5E5470;
  --mv-lilas-claro: #EEE5FA;
  --mv-lilas: #E1D6F4;
  --mv-lilas-medio: #C9B0EA;
  --mv-violeta: #6646B0;
  --mv-onda-escuro: #6E58A0;   /* só linhas, nunca texto */
  --mv-onda-claro: #C2B6D8;    /* só linhas, nunca texto */
  --mv-linha-creme: rgb(58 43 98 / .14);
  --mv-linha-roxo: rgb(249 246 237 / .18);
  --mv-sombra: 0 20px 60px rgb(46 37 69 / .08);

  --mv-f-titulo: "Cormorant Garamond", "Cormorant", Georgia, "Times New Roman", serif;
  --mv-f-texto: "Jost", "Futura", "Century Gothic", "Segoe UI", sans-serif;
  --mv-f-manu: "La Belle Aurore", "Segoe Script", cursive;

  --mv-h1: clamp(2.25rem, 1.2rem + 4.1vw, 4.6rem);
  --mv-h2: clamp(2.1rem, 1.3rem + 3.2vw, 4rem);
  --mv-h3: clamp(1.5rem, 1.15rem + 1.1vw, 2.1rem);
  --mv-sub: clamp(1.2rem, 1rem + .7vw, 1.6rem);
  --mv-corpo: 1.0625rem;
  --mv-rotulo: .75rem;
  --mv-botao: .8125rem;
  --mv-track-rotulo: .3em;
  --mv-track-botao: .18em;

  --mv-container: 1200px;
  --mv-gutter: clamp(1rem, 4vw, 3rem);
  --mv-secao: clamp(5.5rem, 12vw, 12rem);
  --mv-header-h: 88px;
  --mv-raio-botao: 999px;
  --mv-raio-card: 22px;
  --mv-raio-caixa: 28px;

  --mv-ease-revela: cubic-bezier(.4, .5, 0, 1);
  --mv-ease-suave: cubic-bezier(.25, .1, .25, 1);
  --mv-t-ui: .25s;
  --mv-t-ui-lento: .5s;
  --mv-fa: 1;   /* fator dos atrasos (70 % no celular) */
  --mv-fd: 1;   /* fator dos deslocamentos (60 % no celular) */
}
@media (max-width: 767px) {
  :root { --mv-fa: .7; --mv-fd: .6; --mv-header-h: 72px; }
}
@property --mv-atraso { syntax: "<time>"; inherits: false; initial-value: 0s; }

/* ---------- 2. Base: neutraliza o tema Hello e os padrões do Elementor ---------- */
html.mv-js { scroll-padding-bottom: 120px; }   /* o offset das âncoras é o scroll-margin-top das seções */
body.mv-page { background: var(--mv-creme); color: var(--mv-tinta); margin: 0; }
html.mv-rodape-revelado { background: var(--mv-roxo-escuro); }
.mv-raiz, .mv-raiz .e-con {
  padding: 0; margin: 0; gap: 0; min-width: 0;
  --container-default-padding-top: 0px; --container-default-padding-right: 0px;
  --container-default-padding-bottom: 0px; --container-default-padding-left: 0px;
  --widgets-spacing: 0px; --widgets-spacing-row: 0px; --widgets-spacing-column: 0px; --kit-widget-spacing: 0px;
  --row-gap: 0px; --column-gap: 0px;
}
.mv-raiz :where(.elementor-widget) { margin: 0; }
.mv-raiz .e-con > .elementor-widget { width: auto; max-width: 100%; }
/* Elementor real: no celular todo contêiner ganha flex-wrap: wrap (--flex-wrap-mobile) e
   ".elementor.elementor .e-con>.elementor-widget{max-width:100%}" (0,4,0) vence max-width de widget. */
.mv-raiz.e-con, .mv-raiz .e-con { flex-wrap: nowrap; }
@property --mv-max { syntax: "*"; inherits: false; }
.mv-raiz .e-con > .elementor-element.elementor-widget.elementor-widget { max-width: var(--mv-max, 100%); }
.mv-raiz {
  font-family: var(--mv-f-texto); font-size: var(--mv-corpo); font-weight: 400; line-height: 1.7;
  color: var(--mv-tinta); letter-spacing: normal; word-spacing: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility; font-kerning: normal;
}
.mv-raiz *, .mv-raiz *::before, .mv-raiz *::after { box-sizing: border-box; }
.mv-raiz :is(h1, h2, h3, h4, p, ul, ol, figure, blockquote) { margin: 0; }
.mv-raiz :is(ul, ol) { padding: 0; list-style: none; }
.mv-raiz a { color: inherit; text-decoration: none; font-family: inherit; }
.mv-raiz a:hover { color: inherit; }
.mv-raiz a:focus-visible { box-shadow: none; }
.mv-raiz img { max-width: 100%; height: auto; display: block; opacity: 1; border-radius: 0; box-shadow: none; }
.mv-raiz .elementor-widget-image a { display: block; }
.mv-raiz .elementor-widget-image a img { width: 100%; }
.mv-raiz .elementor-heading-title, .mv-raiz .elementor-widget-text-editor, .mv-raiz .elementor-widget-container {
  font: inherit; color: inherit; line-height: inherit; letter-spacing: inherit; word-spacing: inherit; text-transform: inherit; text-decoration: none; padding: 0; margin: 0;
}
.mv-raiz .elementor-widget-image { text-align: left; }
.mv-raiz .elementor-widget-image img { display: block; vertical-align: top; border: 0; border-radius: 0; box-shadow: none; }
.mv-raiz :is(button, [type="button"]) {
  background: none; border: 0; padding: 0; margin: 0; color: inherit; font: inherit; border-radius: 0;
  letter-spacing: inherit; word-spacing: inherit; text-transform: none; text-decoration: none; line-height: inherit; white-space: normal; box-shadow: none; cursor: pointer;
}
.mv-raiz :is(button, [type="button"]):is(:hover, :focus) { background: none; color: inherit; box-shadow: none; }
.mv-raiz :focus-visible { outline: 2px solid var(--mv-violeta); outline-offset: 3px; border-radius: 4px; }
.mv-raiz [tabindex="-1"]:focus, .mv-raiz [tabindex="-1"]:focus-visible { outline: none; }
.mv-roxa :focus-visible, .mv-historia :focus-visible, .mv-final :focus-visible, .mv-rodape :focus-visible,
.mv-menu :focus-visible, .mv-marquee :focus-visible { outline-color: var(--mv-lilas-medio); }
.mv-raiz ::selection { background: var(--mv-lilas); color: var(--mv-roxo); }
.mv-sr-only {
  position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important;
  overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important;
}
.mv-motor, .mv-scripts, .mv-motor-widget, .mv-scripts-widget { height: 0; overflow: hidden; }
.mv-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }

/* Ícones de linha */
.mv-icone {
  width: 1.25em; height: 1.25em; flex: none; fill: none; stroke: currentColor; stroke-width: 1.5;
  stroke-linecap: round; stroke-linejoin: round; display: inline-block; vertical-align: middle; overflow: visible;
}
/* Símbolo da marca (sprite #mv-simbolo) */
.mv-simbolo { display: block; width: 28px; height: auto; aspect-ratio: 777 / 677; fill: currentColor; stroke: currentColor; stroke-width: 0; overflow: visible; }

/* ---------- 3. Layout ---------- */
.mv-raiz .mv-wrap {
  width: 100%; max-width: calc(var(--mv-container) + 2 * var(--mv-gutter)); margin-inline: auto;
  padding-inline: var(--mv-gutter); position: relative; z-index: 2;
}
.mv-raiz .mv-secao { position: relative; padding-block: var(--mv-secao); scroll-margin-top: 96px; overflow: clip; }
.mv-raiz .mv-page { background: var(--mv-creme); position: relative; z-index: 2; display: block; }
.mv-raiz.mv-page { background: var(--mv-creme); position: relative; z-index: 2; display: block; }
.mv-raiz .mv-botoes { display: flex; flex-direction: row; flex-wrap: wrap; gap: 12px 14px; align-items: center; }

/* ---------- 4. Tipografia ---------- */
.mv-raiz .mv-h1, .mv-raiz .mv-h2, .mv-raiz .mv-h3, .mv-raiz .mv-destaque, .mv-raiz .mv-sub {
  font-family: var(--mv-f-titulo); color: var(--mv-roxo); font-weight: 400; letter-spacing: -.005em;
}
.mv-raiz .mv-h1 { font-size: var(--mv-h1); line-height: 1.04; font-weight: 400; }
.mv-raiz .mv-h2 { font-size: var(--mv-h2); line-height: 1.06; font-weight: 400; text-wrap: balance; }
.mv-raiz .mv-h2--grande { font-size: clamp(2.4rem, 1.2rem + 4.6vw, 5rem); line-height: 1.02; }
.mv-raiz .mv-h3 { font-size: var(--mv-h3); line-height: 1.12; font-weight: 400; }
.mv-raiz .mv-sub { font-size: var(--mv-sub); font-style: italic; font-weight: 300; color: var(--mv-violeta); line-height: 1.25; }
.mv-raiz .mv-italico { font-family: var(--mv-f-titulo); font-style: italic; font-weight: 300; color: var(--mv-violeta); }
.mv-raiz .mv-manuscrita {
  font-family: var(--mv-f-manu); font-style: normal; font-weight: 400; color: var(--mv-violeta);
  font-size: 1.1em; line-height: 1; letter-spacing: 0; display: inline-block; transform: translateY(.08em);
}
.mv-historia .mv-manuscrita, .mv-final .mv-manuscrita, .mv-roxa .mv-manuscrita { color: var(--mv-lilas-medio); }
.mv-historia .mv-italico, .mv-final .mv-italico { color: var(--mv-lilas-medio); }
.mv-raiz .mv-corpo { font-family: var(--mv-f-texto); font-size: var(--mv-corpo); line-height: 1.7; color: var(--mv-tinta); }
.mv-raiz .elementor-widget.mv-corpo { --mv-max: 62ch; }
.mv-raiz .mv-corpo p + p { margin-top: 1em; }
.mv-raiz .mv-corpo a, .mv-raiz .mv-small a { color: var(--mv-violeta); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.mv-raiz .mv-corpo a:hover, .mv-raiz .mv-small a:hover { color: var(--mv-roxo); }
.mv-raiz .mv-corpo--claro, .mv-raiz .mv-corpo--claro a { color: var(--mv-creme); }
.mv-raiz .mv-small { font-family: var(--mv-f-texto); font-size: .875rem; line-height: 1.6; color: var(--mv-muted); }
.mv-raiz .elementor-widget.mv-small { --mv-max: 70ch; }
.mv-raiz .mv-eyebrow, .mv-raiz .mv-tag {
  font-family: var(--mv-f-texto); font-size: var(--mv-rotulo); font-weight: 500; line-height: 1.5;
  letter-spacing: var(--mv-track-rotulo); text-transform: uppercase; color: var(--mv-violeta);
}
.mv-raiz .mv-eyebrow--claro { color: var(--mv-lilas-medio); }
.mv-raiz .mv-num { font-variant-numeric: tabular-nums; margin-right: .6em; }
.mv-raiz .mv-legenda { font-family: var(--mv-f-titulo); font-style: italic; font-size: 1.05rem; color: var(--mv-muted); }

/* ---------- 5. Botões (widget Botão do Elementor e .mv-btn em HTML) ---------- */
.mv-raiz .mv-botao .elementor-button, .mv-raiz .mv-btn {
  position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 0 28px; border-radius: var(--mv-raio-botao); border: 1.5px solid var(--mv-roxo);
  background: var(--mv-roxo); color: var(--mv-creme); font-family: var(--mv-f-texto); font-size: var(--mv-botao);
  font-weight: 500; letter-spacing: var(--mv-track-botao); text-transform: uppercase; line-height: 1.2;
  text-decoration: none; box-shadow: none; word-spacing: normal; overflow: hidden; isolation: isolate; white-space: nowrap; cursor: pointer; max-width: 100%;
  transition: background-color var(--mv-t-ui) ease, color var(--mv-t-ui) ease, border-color var(--mv-t-ui) ease;
}
.mv-raiz .mv-botao .elementor-button-content-wrapper { display: inline-flex; align-items: center; gap: 10px; flex-direction: row; }
.mv-raiz .mv-botao .elementor-button-text, .mv-raiz .mv-btn .mv-btn-texto { position: relative; transition: opacity var(--mv-t-ui) ease; }
.mv-raiz .mv-botao .elementor-button:hover, .mv-raiz .mv-botao .elementor-button:focus-visible,
.mv-raiz .mv-btn:hover, .mv-raiz .mv-btn:focus-visible { background: var(--mv-roxo-claro); border-color: var(--mv-roxo-claro); color: var(--mv-creme); }
.mv-raiz .mv-botao--contorno .elementor-button, .mv-raiz .mv-btn--contorno { background: transparent; color: var(--mv-roxo); }
.mv-raiz .mv-botao--contorno .elementor-button:hover, .mv-raiz .mv-botao--contorno .elementor-button:focus-visible,
.mv-raiz .mv-btn--contorno:hover, .mv-raiz .mv-btn--contorno:focus-visible { background: var(--mv-roxo); border-color: var(--mv-roxo); color: var(--mv-creme); }
.mv-raiz .mv-botao--claro .elementor-button, .mv-raiz .mv-btn--claro { background: var(--mv-creme); border-color: var(--mv-creme); color: var(--mv-roxo); }
.mv-raiz .mv-botao--claro .elementor-button:hover, .mv-raiz .mv-botao--claro .elementor-button:focus-visible,
.mv-raiz .mv-btn--claro:hover, .mv-raiz .mv-btn--claro:focus-visible { background: var(--mv-lilas); border-color: var(--mv-lilas); color: var(--mv-roxo); }
.mv-raiz .mv-botao .elementor-button:focus-visible, .mv-raiz .mv-btn:focus-visible { outline: 2px solid var(--mv-violeta); outline-offset: 3px; }
.mv-raiz a.mv-btn--solido, .mv-raiz .mv-botao--solido .elementor-button { color: var(--mv-creme); }
.mv-historia .mv-botao .elementor-button:focus-visible, .mv-final .mv-botao .elementor-button:focus-visible,
.mv-menu .mv-btn:focus-visible { outline-color: var(--mv-lilas-medio); }
/* seta ↗ nos botões que abrem outro site */
.mv-raiz .mv-botao--externo .elementor-button-text::after {
  content: ""; display: inline-block; width: 1.05em; height: 1.05em; margin-left: .6em; vertical-align: -.18em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M9 7h8v8'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M9 7h8v8'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* Botão marquee (padrão Ampere): no hover o rótulo some e o mesmo texto roda em loop */
.mv-rolo { position: absolute; inset: 0; display: flex; align-items: center; overflow: hidden; opacity: 0; pointer-events: none; transition: opacity var(--mv-t-ui) ease; }
.mv-rolo-trilho { display: flex; flex: none; white-space: nowrap; }
.mv-rolo-trilho span { padding-inline: .6em; }
@media (hover: hover) and (pointer: fine) {
  .mv-movimento .mv-rolavel:hover .elementor-button-text, .mv-movimento .mv-rolavel:hover .mv-btn-texto,
  .mv-movimento .mv-rolavel:focus-visible .elementor-button-text, .mv-movimento .mv-rolavel:focus-visible .mv-btn-texto { opacity: 0; }
  .mv-movimento .mv-rolavel:hover .mv-rolo, .mv-movimento .mv-rolavel:focus-visible .mv-rolo { opacity: 1; }
  .mv-movimento .mv-rolavel:hover .mv-rolo-trilho, .mv-movimento .mv-rolavel:focus-visible .mv-rolo-trilho {
    animation: mv-k-rolo var(--mv-rolo-dur, 20s) linear infinite;
  }
}
@keyframes mv-k-rolo { to { transform: translate3d(-33.3333%, 0, 0); } }

@media (max-width: 479px) {   /* rótulos longos quebram em vez de cortar */
  .mv-raiz .mv-botao .elementor-button, .mv-raiz .mv-btn { white-space: normal; text-align: center; padding-block: 12px; }
}

/* ---------- 6. Chips, selo, listas com ícones ---------- */
.mv-raiz .mv-chips { display: flex; flex-wrap: wrap; gap: 8px 10px; }
.mv-raiz .mv-chip {
  display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 6px 14px;
  border: 1px solid var(--mv-lilas); border-radius: var(--mv-raio-botao); background: transparent;
  font-family: var(--mv-f-texto); font-size: .8125rem; font-weight: 400; line-height: 1.3; color: var(--mv-roxo);
}
.mv-raiz .mv-chip .mv-icone { width: 18px; height: 18px; color: var(--mv-violeta); }
.mv-raiz .mv-chip--claro { border-color: var(--mv-lilas-medio); color: var(--mv-creme); }
.mv-raiz .mv-chip--formato { min-height: 32px; padding: 4px 12px 4px 8px; font-size: .78rem; }
.mv-raiz button.mv-chip--filtro { border-radius: var(--mv-raio-botao); min-height: 44px; padding: 8px 18px; border: 1px solid var(--mv-lilas); color: var(--mv-roxo); background: transparent; transition: background-color var(--mv-t-ui) ease, color var(--mv-t-ui) ease, border-color var(--mv-t-ui) ease; }
.mv-raiz button.mv-chip--filtro:hover { border-color: var(--mv-violeta); background: var(--mv-lilas-claro); color: var(--mv-roxo); }
.mv-raiz button.mv-chip--filtro.is-ativo, .mv-raiz button.mv-chip--filtro[aria-pressed="true"] { background: var(--mv-roxo); border-color: var(--mv-roxo); color: var(--mv-creme); }

.mv-selo {
  display: flex; align-items: center; gap: 16px; padding: 18px 22px 18px 18px; background: var(--mv-branco);
  border: 1px solid var(--mv-lilas); border-radius: var(--mv-raio-card); box-shadow: var(--mv-sombra); width: max-content; max-width: 100%;
}
.mv-selo-icone {
  display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; border: 1.5px solid var(--mv-roxo); color: var(--mv-roxo); flex: none;
}
.mv-selo-icone .mv-icone { width: 22px; height: 22px; }
.mv-selo-texto { display: flex; flex-direction: column; padding-left: 16px; border-left: 1px solid var(--mv-lilas); font-size: .8125rem; line-height: 1.45; color: var(--mv-violeta); }
.mv-selo-texto strong { font-weight: 600; font-size: 1.05rem; letter-spacing: .06em; text-transform: uppercase; color: var(--mv-roxo); line-height: 1.2; margin-bottom: 4px; }

.mv-raiz .mv-lista-icones { display: grid; gap: 14px; }
.mv-raiz .mv-lista-icones li { position: relative; display: grid; grid-template-columns: 44px 1fr; column-gap: 14px; align-items: center; min-height: 44px; }
.mv-raiz .mv-lista-icones li::before {
  content: ""; grid-row: 1 / span 2; width: 44px; height: 44px; border-radius: 50%;
  background: var(--mv-lilas) center / 20px 20px no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233A2B62' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3.5H7.5a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3.5V8h4.5'/%3E%3Cpath d='M9 12.5h6M9 16h6M9 9h2'/%3E%3C/svg%3E");
}
.mv-raiz .mv-lista-icones--check li::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233A2B62' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}
.mv-raiz .mv-li-titulo { grid-column: 2; font-weight: 500; color: var(--mv-roxo); line-height: 1.35; }
.mv-raiz .mv-li-detalhe { grid-column: 2; font-size: .875rem; color: var(--mv-violeta); line-height: 1.4; }
.mv-raiz .mv-lista-icones--compacta { gap: 10px; }
.mv-raiz .mv-lista-icones--compacta li { grid-template-columns: 34px 1fr; column-gap: 12px; min-height: 34px; font-size: .9375rem; }
.mv-raiz .mv-lista-icones--compacta li::before { width: 34px; height: 34px; background-size: 16px 16px; }
.mv-raiz .mv-inclui { font-size: var(--mv-rotulo); font-weight: 500; letter-spacing: var(--mv-track-rotulo); text-transform: uppercase; color: var(--mv-muted); margin-bottom: 12px; }

/* Círculos decorativos e linha ondulada */
.mv-circulo { position: absolute; display: block; pointer-events: none; overflow: visible; }
.mv-circulo circle { fill: var(--mv-lilas-claro); }
.mv-circulo--contorno circle { fill: none; stroke: var(--mv-lilas-medio); stroke-width: .25px; }   /* sem non-scaling-stroke: o traço usa pathLength */
.mv-onda { display: block; width: 100%; height: clamp(48px, 7vw, 110px); overflow: visible; }
.mv-onda path { fill: none; stroke: var(--mv-onda-claro); stroke-width: 1.5px; vector-effect: non-scaling-stroke; }
.mv-onda--claro path { stroke: var(--mv-onda-escuro); }

/* Textura (ruído) só nas faixas roxas */
.mv-ruido { position: relative; isolation: isolate; }
.mv-ruido::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1; opacity: .1; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='r'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23r)'/%3E%3C/svg%3E");
}

/* ---------- 7. Header ---------- */
.mv-raiz.mv-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 90; height: var(--mv-header-h); display: flex; flex-direction: row;
  align-items: center; justify-content: flex-start; gap: 24px; padding-inline: var(--mv-gutter);
  background: transparent; transition: transform var(--mv-t-ui-lento) ease, background-color var(--mv-t-ui-lento) ease, box-shadow var(--mv-t-ui-lento) ease;
}
.mv-raiz.mv-header::before {
  content: ""; position: absolute; inset: 0; z-index: -1; background: rgb(249 246 237 / .92); opacity: 0;
  border-bottom: 1px solid var(--mv-linha-creme); transition: opacity var(--mv-t-ui-lento) ease;
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.mv-raiz.mv-header.is-rolado::before, html:not(.mv-js) .mv-raiz.mv-header::before { opacity: 1; }
@media (max-width: 767px) {   /* desempenho: sem desfoque de fundo no celular */
  .mv-raiz.mv-header::before { -webkit-backdrop-filter: none; backdrop-filter: none; background: rgb(249 246 237 / .97); }
}
.mv-raiz.mv-header.is-oculto { transform: translate3d(0, -100%, 0); }
body.admin-bar .mv-raiz.mv-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .mv-raiz.mv-header { top: 46px; } }
.mv-raiz .elementor-widget.mv-header-logo { flex: none; width: clamp(132px, 12vw, 172px); }
.mv-raiz .elementor-widget.mv-skip-widget { position: absolute; width: 0; height: 0; overflow: visible; }
.mv-raiz .mv-header-logo a, .mv-raiz .mv-header-logo img { display: block; width: 100%; }
.mv-raiz .elementor-widget.mv-header-nav { display: flex; flex-direction: row; align-items: center; gap: clamp(16px, 2.4vw, 36px); flex: 1 1 auto; width: auto; justify-content: flex-end; }
.mv-raiz .mv-header-nav > .elementor-widget-container { display: contents; }   /* markup antigo */
.mv-raiz .mv-header-logo a { display: flex; align-items: center; min-height: 44px; }
.mv-nav-lista { display: flex; gap: clamp(14px, 2vw, 32px); --mv-passo: .06s; }
.mv-raiz .mv-nav-link {
  position: relative; display: inline-flex; align-items: center; min-height: 44px; font-size: .8125rem; font-weight: 500;
  letter-spacing: .12em; text-transform: uppercase; color: var(--mv-roxo);
}
.mv-raiz .mv-nav-link::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 10px; height: 1px; background: currentColor;
  transform: scaleX(0); transform-origin: right; transition: transform .5s var(--mv-ease-revela);
}
.mv-raiz .mv-nav-link:hover::after, .mv-raiz .mv-nav-link[aria-current="true"]::after { transform: scaleX(1); transform-origin: left; }
.mv-raiz .mv-nav-link:hover { color: var(--mv-violeta); }
.mv-raiz .mv-header-cta { min-height: 44px; padding: 0 22px; }
.mv-hamburguer { display: none; }
.mv-raiz .mv-skip {
  position: fixed; top: 12px; left: 12px; z-index: 200; padding: 12px 20px; border-radius: var(--mv-raio-botao);
  background: var(--mv-roxo); color: var(--mv-creme); font-weight: 500; transform: translateY(-160%); transition: transform var(--mv-t-ui) ease;
}
.mv-raiz .mv-skip:focus { transform: none; color: var(--mv-creme); }
.mv-raiz .mv-skip:hover { color: var(--mv-creme); }
@media (max-width: 1023px) {
  .mv-raiz .mv-nav, .mv-raiz .mv-header-cta { display: none; }
  .mv-js .mv-raiz .mv-hamburguer, .mv-js .mv-hamburguer {
    display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--mv-linha-creme);
    color: var(--mv-roxo); background: rgb(249 246 237 / .6);
  }
  .mv-hamburguer .mv-icone { width: 22px; height: 22px; grid-area: 1 / 1; transition: opacity var(--mv-t-ui) ease, transform .5s var(--mv-ease-revela); }
  .mv-hamburguer .mv-icone-fechar { opacity: 0; transform: rotate(-90deg); }
  .mv-js.mv-menu-aberto .mv-raiz .mv-hamburguer { border-color: var(--mv-linha-roxo); color: var(--mv-creme); background: transparent; }
  .mv-js.mv-menu-aberto .mv-raiz .mv-hamburguer:focus-visible { outline-color: var(--mv-lilas-medio); }
  .mv-menu-aberto .mv-hamburguer .mv-icone-abrir { opacity: 0; transform: rotate(90deg); }
  .mv-menu-aberto .mv-hamburguer .mv-icone-fechar { opacity: 1; transform: none; }
}
/* Menu mobile (o motor o move para o fim do <body>) */
.mv-menu[hidden] { display: none; }
.mv-menu {
  position: fixed; inset: 0; z-index: 80; display: flex; flex-direction: column; justify-content: center; gap: 40px;
  padding: calc(var(--mv-header-h) + 24px) var(--mv-gutter) 40px; background: var(--mv-roxo); color: var(--mv-creme);
  overflow-y: auto; overscroll-behavior: contain; font-family: var(--mv-f-texto);
  clip-path: inset(0 0 100% 0); transition: clip-path .7s var(--mv-ease-revela), visibility 0s linear .7s; visibility: hidden;
}
.mv-menu.is-aberto { clip-path: inset(0 0 0 0); visibility: visible; transition: clip-path .7s var(--mv-ease-revela), visibility 0s; }
.mv-menu-lista { display: grid; gap: 4px; }
.mv-menu-link { display: flex; align-items: baseline; gap: 16px; padding-block: 6px; color: var(--mv-creme); overflow: hidden; }
.mv-menu-num { font-size: .75rem; letter-spacing: .2em; color: var(--mv-lilas-medio); }
.mv-menu-texto { display: inline-block; font-family: var(--mv-f-titulo); font-size: clamp(2.2rem, 8vw, 3.2rem); line-height: 1.1; font-weight: 300; }
.mv-menu-link[aria-current="true"] .mv-menu-texto { font-style: italic; color: var(--mv-lilas-medio); }
.mv-menu-rodape { display: flex; flex-wrap: wrap; gap: 18px 24px; align-items: center; }
.mv-menu-siga { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--mv-lilas-medio); font-size: .9375rem; }
.mv-menu-siga .mv-icone { width: 20px; height: 20px; }
.mv-menu-simbolo { position: absolute; right: -8%; bottom: -6%; width: min(70vw, 420px); color: var(--mv-creme); opacity: .06; pointer-events: none; }
.mv-movimento .mv-menu .mv-menu-texto, .mv-movimento .mv-menu .mv-menu-num { transform: translate3d(0, 110%, 0); transition: transform .9s var(--mv-ease-revela); }
.mv-movimento .mv-menu.is-aberto .mv-menu-texto, .mv-movimento .mv-menu.is-aberto .mv-menu-num { transform: none; transition-delay: calc(.15s + var(--mv-i, 0) * .07s); }
.mv-movimento .mv-menu .mv-menu-rodape { opacity: 0; transition: opacity .6s ease; }
.mv-movimento .mv-menu.is-aberto .mv-menu-rodape { opacity: 1; transition-delay: .55s; }
html.mv-menu-aberto { overflow: hidden; }
.mv-menu-aberto .mv-raiz.mv-header { transform: none; }
.mv-menu-aberto .mv-raiz.mv-header::before { opacity: 0; }
.mv-menu-aberto .mv-raiz .mv-header-logo { visibility: hidden; }

/* ---------- 8. Pílula flutuante ---------- */
.mv-pilula[hidden] { display: none; }
.mv-pilula {
  position: fixed; left: 50%; bottom: 24px; z-index: 70; display: flex; align-items: center; gap: 6px; padding: 6px;
  border-radius: var(--mv-raio-botao); background: rgb(58 43 98 / .82); color: var(--mv-creme); font-family: var(--mv-f-texto);
  -webkit-backdrop-filter: blur(9px); backdrop-filter: blur(9px); box-shadow: 0 12px 40px rgb(46 37 69 / .18);
  transform: translate3d(-50%, 0, 0); transition: transform .6s var(--mv-ease-revela), opacity var(--mv-t-ui-lento) ease;
}
.mv-pilula.is-escondida { transform: translate3d(-50%, calc(100% + 40px), 0); opacity: 0; pointer-events: none; visibility: hidden;
  transition: transform .6s var(--mv-ease-revela), opacity var(--mv-t-ui-lento) ease, visibility 0s linear .6s; }
.mv-pilula-logo { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; color: var(--mv-creme); flex: none; }
.mv-pilula-logo .mv-simbolo { width: 24px; }
.mv-pilula-secoes { position: relative; height: 44px; overflow: hidden; width: 0; transition: width var(--mv-t-ui-lento) ease; }
.mv-pilula-lista { transform: translate3d(0, calc(var(--mv-pilula-i, 0) * -44px), 0); transition: transform var(--mv-t-ui-lento) ease; }
.mv-pilula-link { display: flex; width: max-content; align-items: center; height: 44px; padding-inline: 14px; white-space: nowrap; font-size: .8125rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--mv-creme); }
.mv-raiz .mv-pilula-link:hover, .mv-pilula-link:hover { color: var(--mv-lilas-medio); }
.mv-raiz .mv-pilula a.mv-pilula-cta { min-height: 44px; padding: 0 20px; background: var(--mv-creme); border-color: var(--mv-creme); color: var(--mv-roxo); font-size: .75rem; }
.mv-raiz .mv-pilula a.mv-pilula-cta:hover, .mv-raiz .mv-pilula a.mv-pilula-cta:focus-visible { background: var(--mv-lilas); border-color: var(--mv-lilas); color: var(--mv-roxo); }
.mv-pilula :focus-visible, .mv-raiz .mv-pilula .mv-btn:focus-visible { outline: 2px solid var(--mv-lilas-medio); outline-offset: 2px; }
@media (max-width: 767px) {
  .mv-pilula { left: 12px; right: 12px; bottom: 12px; transform: none; justify-content: center; padding: 6px; }
  .mv-pilula.is-escondida { transform: translate3d(0, calc(100% + 30px), 0); }
  .mv-pilula-logo, .mv-pilula-secoes { display: none; }
  .mv-raiz .mv-pilula a.mv-pilula-cta { flex: 1; min-height: 48px; }
}

/* ---------- 9. Cursor com rótulo ---------- */
.mv-cursor { position: fixed; left: 0; top: 0; z-index: 95; width: 0; height: 0; pointer-events: none; transform: translate3d(-300px, -300px, 0); will-change: transform; }
.mv-cursor-pilula {
  position: absolute; left: -84px; top: -20px; display: flex; align-items: center; width: 168px; height: 40px; overflow: hidden;
  border-radius: var(--mv-raio-botao); background: var(--mv-roxo); color: var(--mv-creme); box-shadow: 0 10px 30px rgb(46 37 69 / .2);
  font-family: var(--mv-f-texto); font-size: .75rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase;
  transform: scale(0); transition: transform var(--mv-t-ui) ease;
}
.mv-cursor.is-ativo .mv-cursor-pilula { transform: scale(1); }
.mv-cursor .mv-rolo { opacity: 1; }
.mv-cursor .mv-rolo-trilho { animation: mv-k-rolo var(--mv-rolo-dur, 7s) linear infinite; }
.mv-com-cursor, .mv-com-cursor * { cursor: none; }

/* ---------- 10. Hero ---------- */
.mv-raiz .mv-hero {
  display: flex; flex-direction: column; justify-content: center; min-height: min(100svh, 980px);
  padding-top: calc(var(--mv-header-h) + clamp(1.5rem, 4vw, 3.5rem)); padding-bottom: clamp(4.5rem, 8vw, 7rem);
  background: var(--mv-creme);
}
.mv-raiz .elementor-widget.mv-hero-deco { position: absolute; inset: 0; z-index: 0; pointer-events: none; width: auto; --mv-max: none; }
.mv-hero-deco { --c1: clamp(280px, 34vw, 520px); }
.mv-hero-circulo--1 { width: var(--c1); left: calc(var(--c1) * -.42); bottom: calc(var(--c1) * -.5); }
.mv-hero-circulo--2 { width: calc(var(--c1) * 1.16); left: calc(var(--c1) * -.5); bottom: calc(var(--c1) * -.58); }
.mv-raiz .mv-hero-grade { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr); gap: clamp(2rem, 5vw, 5.5rem); align-items: center; }
.mv-raiz .mv-hero-texto { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
.mv-raiz .elementor-widget.mv-hero-eyebrow { display: flex; align-items: center; gap: 14px; margin-bottom: clamp(1.25rem, 2.4vw, 2rem); }
.mv-raiz .mv-hero-eyebrow .elementor-heading-title { display: inline-flex; align-items: center; gap: 14px; }
.mv-raiz .mv-hero-eyebrow .elementor-heading-title::after { content: ""; display: block; flex: none; width: 48px; height: 1px; background: currentColor; transform-origin: left; }
@media (max-width: 599px) { .mv-raiz .mv-hero-eyebrow .elementor-heading-title::after { display: none; } }
.mv-raiz .mv-hero .elementor-widget.mv-h1 { margin-bottom: clamp(1.5rem, 2.6vw, 2.25rem); }
.mv-raiz .elementor-widget.mv-hero-lead { font-size: 1.125rem; --mv-max: 34em; margin-bottom: 2rem; }
.mv-raiz .mv-hero .mv-botoes { margin-bottom: 2rem; }
.mv-raiz .mv-hero-chips .mv-chip { background: rgb(255 255 255 / .55); }
.mv-raiz .mv-hero-midia { position: relative; display: flex; flex-direction: column; gap: 14px; align-items: stretch; }
.mv-raiz .mv-legenda { align-self: flex-end; padding-right: 4%; }
.mv-painel { position: relative; width: 100%; aspect-ratio: 4 / 5; max-height: calc(100svh - var(--mv-header-h) - 120px); min-height: 420px; }
.mv-painel-circulo { width: 78%; right: -20%; top: -9%; z-index: 0; }
.mv-painel-anel { width: 96%; right: -32%; top: -16%; z-index: 0; }
.mv-painel-mascara {
  position: absolute; inset: 0; z-index: 1; overflow: hidden; background: var(--mv-roxo);
  clip-path: polygon(18% 0, 100% 0, 100% 90%, 88% 100%, 0 100%);
}
.mv-painel-paralaxe { position: absolute; left: 0; right: 0; top: -3%; height: 106%; }
.mv-painel-paralaxe picture, .mv-painel-foto { display: block; width: 100%; height: 100%; }
.mv-raiz .mv-painel-foto, .mv-painel-foto { object-fit: cover; object-position: 50% 22%; max-width: none; }
.mv-elipse { position: absolute; border-radius: 50%; pointer-events: none; filter: blur(55px); }
.mv-elipse--1 { width: 120%; height: 34%; left: -48%; top: -12%; background: var(--mv-roxo-claro); opacity: .75; transform: rotate(-15deg); }
.mv-elipse--2 { width: 90%; height: 26%; left: -40%; bottom: -12%; background: var(--mv-roxo); opacity: .55; }
.mv-painel .mv-selo { position: absolute; left: -9%; bottom: 7%; z-index: 3; }
.mv-raiz .mv-rolar {
  display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: .75rem; font-weight: 500;
  letter-spacing: .24em; text-transform: uppercase; color: var(--mv-muted);
}
.mv-raiz .mv-rolar .mv-icone { width: 18px; height: 18px; }
.mv-raiz .elementor-widget.mv-rolar-widget { position: absolute; left: 50%; bottom: clamp(16px, 3vw, 32px); transform: translateX(-50%); z-index: 3; width: auto; }
.mv-raiz .mv-rolar:hover { color: var(--mv-roxo); }
@media (min-width: 1024px) and (max-width: 1179px) { .mv-raiz .mv-h1 { font-size: 5.45vw; } }
@media (max-width: 359px) { .mv-raiz .mv-h1 { font-size: 1.95rem; } }
@media (max-width: 1023px) {
  .mv-raiz .mv-hero { min-height: 0; }
  .mv-raiz .mv-hero-grade { grid-template-columns: minmax(0, 1fr); }
  .mv-raiz .mv-hero-midia { width: 100%; max-width: 600px; }
  .mv-painel { max-height: none; min-height: 0; }
  .mv-painel .mv-selo { left: 4%; bottom: 5%; }
  .mv-raiz .mv-rolar-widget { display: none; }
}
@media (max-width: 767px) {
  .mv-raiz .mv-hero-midia { max-width: none; }
  .mv-painel .mv-selo { left: 12px; bottom: 12px; padding: 12px 14px 12px 12px; gap: 12px; }
  .mv-selo-icone { width: 42px; height: 42px; }
  .mv-selo-texto { padding-left: 12px; font-size: .75rem; }
  .mv-selo-texto strong { font-size: .95rem; }
  .mv-raiz .mv-legenda { align-self: flex-start; }
}

/* ---------- 11. Faixa marquee ---------- */
.mv-raiz .mv-marquee { padding-block: clamp(1.4rem, 3vw, 2.2rem); background: var(--mv-roxo); color: var(--mv-creme); --mv-cortina-cor: var(--mv-roxo); }
.mv-faixa { position: relative; z-index: 2; overflow: hidden; display: flex; }
.mv-faixa-trilho { display: flex; flex: none; width: max-content; }
.mv-faixa-grupo { display: flex; flex: none; align-items: center; }
.mv-faixa-item { font-family: var(--mv-f-titulo); font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.4rem); font-weight: 300; font-style: italic; white-space: nowrap; padding-inline: clamp(14px, 2vw, 28px); }
.mv-faixa-sep { color: var(--mv-lilas-medio); font-size: .9rem; }
.mv-movimento .mv-faixa-trilho { animation: mv-k-faixa var(--mv-faixa-dur, 60s) linear infinite; }
.mv-faixa:hover .mv-faixa-trilho, .mv-faixa.is-pausada .mv-faixa-trilho { animation-play-state: paused; }
/* controle de pausa (WCAG 2.2.2): caixa de seleção nativa, sem JS */
.mv-raiz .mv-faixa-pausa { display: none; }
.mv-movimento .mv-raiz .mv-faixa-pausa { position: absolute; right: var(--mv-gutter); top: calc(100% + 4px); z-index: 3; display: flex; align-items: center; gap: 8px;
  min-height: 44px; padding-inline: 12px; background: var(--mv-roxo); font-size: .6875rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--mv-lilas-medio); cursor: pointer; }
.mv-faixa-pausa input { width: 16px; height: 16px; margin: 0; accent-color: var(--mv-lilas-medio); }
.mv-faixa-pausa:focus-within { outline: 2px solid var(--mv-lilas-medio); outline-offset: 2px; border-radius: 4px; }
.mv-marquee:has(.mv-faixa-pausa input:checked) .mv-faixa-trilho { animation-play-state: paused; }
.mv-movimento .mv-raiz .mv-marquee { padding-bottom: 3.6rem; }   /* espaço para o controle de pausa */
@keyframes mv-k-faixa { to { transform: translate3d(-50%, 0, 0); } }

/* ---------- 12. Cabeçalho de seção ---------- */
.mv-raiz .mv-cabecalho {
  position: relative; display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); grid-template-rows: auto auto;
  column-gap: clamp(1.5rem, 4vw, 4rem); align-items: start; padding-bottom: clamp(1.5rem, 3vw, 2.5rem); margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}
.mv-raiz .mv-cabecalho::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--mv-linha-creme); transform-origin: left; }
.mv-raiz .elementor-widget.mv-cab-simbolo-widget { grid-column: 1; grid-row: 1; margin-bottom: 14px; }
.mv-cab-marca { color: var(--mv-roxo); }
.mv-cab-simbolo { width: 28px; --mv-traco-larg: 34; }
.mv-raiz .mv-cab-eyebrow { grid-column: 1; grid-row: 2; }
.mv-raiz .mv-cab-titulo { grid-column: 2; grid-row: 1 / span 2; align-self: end; }
@media (max-width: 767px) {
  .mv-raiz .mv-cabecalho { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; row-gap: 14px; }
  .mv-raiz .elementor-widget.mv-cab-simbolo-widget { margin-bottom: 0; }
  .mv-raiz .mv-cab-eyebrow, .mv-raiz .mv-cab-titulo { grid-column: 1; grid-row: auto; }
}

/* ---------- 13. Catálogo ---------- */
.mv-raiz .mv-kits { background: var(--mv-creme); }
.mv-raiz .mv-kits-topo { display: flex; flex-direction: column; gap: 28px; margin-bottom: clamp(2rem, 4vw, 3rem); }
.mv-raiz .elementor-widget.mv-kits-intro { --mv-max: 70ch; }
.mv-filtro { display: none; flex-wrap: wrap; gap: 10px; }
.mv-js .mv-filtro { display: flex; }
.mv-raiz .mv-grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.25rem, 2.2vw, 2rem); align-items: stretch; --mv-passo: .08s; }
.mv-raiz .mv-card {
  position: relative; display: flex; flex-direction: column; background: var(--mv-branco); border: 1px solid var(--mv-linha-creme);
  border-radius: var(--mv-raio-card); overflow: hidden; box-shadow: 0 1px 2px rgb(46 37 69 / .04);
}
.mv-raiz .mv-card.is-filtrado { display: none; }
.mv-raiz .mv-card.is-entrando { animation: mv-k-fade .35s ease both; }
.mv-raiz .mv-card-img { position: relative; overflow: hidden; aspect-ratio: 4 / 5; background: var(--mv-lilas-claro); --mv-cortina-cor: var(--mv-branco); }
.mv-raiz .mv-card-img a, .mv-raiz .mv-card-img img { display: block; width: 100%; height: 100%; }
.mv-raiz .mv-card-img img { object-fit: cover; transition: transform .8s var(--mv-ease-revela); }
@media (hover: hover) and (pointer: fine) {
  .mv-raiz .mv-card-img a:hover img { transform: translate3d(0, -6px, 0) scale(1.02); }
}
.mv-raiz .mv-card-corpo { display: flex; flex-direction: column; flex: 1; padding: clamp(1.25rem, 2vw, 1.75rem); }
.mv-raiz .elementor-widget.mv-card-eyebrow { font-size: .6875rem; letter-spacing: .26em; margin-bottom: 10px; }
.mv-raiz .elementor-widget.mv-card-titulo { font-size: clamp(1.6rem, 1.2rem + 1vw, 2rem); margin-bottom: 8px; }
.mv-raiz .elementor-widget.mv-card-sub { font-size: 1.15rem; margin-bottom: 22px; }
.mv-raiz .elementor-widget.mv-card-lista { margin-bottom: 20px; }
.mv-raiz .elementor-widget.mv-card-aviso { font-size: .8125rem; line-height: 1.55; padding: 12px 14px; border-radius: 14px; background: var(--mv-creme); margin-bottom: 20px; }
.mv-raiz .elementor-widget.mv-card-para { font-size: .8125rem; margin-bottom: 20px; }
.mv-raiz .mv-card-para strong { font-weight: 500; color: var(--mv-roxo); }
.mv-raiz .elementor-widget.mv-card-formatos { margin-top: auto; padding-bottom: 18px; }
.mv-raiz .mv-card-rodape { display: flex; flex-direction: column; gap: 14px; padding-top: 18px; border-top: 1px solid var(--mv-linha-creme); }
.mv-raiz .mv-card-botao .elementor-button { width: 100%; }
.mv-raiz .mv-card-valor { font-size: .8125rem; text-align: center; color: var(--mv-muted); }
.mv-raiz .mv-card-cta {
  grid-column: span 2; justify-content: center; align-items: flex-start; gap: 18px; padding: clamp(2rem, 4vw, 3.5rem);
  background: var(--mv-lilas-claro); border-color: transparent; overflow: hidden;
}
.mv-raiz .mv-card-cta-marca { color: var(--mv-roxo); }
.mv-card-cta-simbolo { width: 44px; --mv-traco-larg: 24; }
.mv-raiz .mv-card-cta-titulo { font-size: clamp(1.8rem, 1.3rem + 1.4vw, 2.6rem); }
.mv-raiz .elementor-widget.mv-card-cta-texto { --mv-max: 40ch; }
.mv-raiz .elementor-widget.mv-kits-nota { margin-top: clamp(2rem, 4vw, 3rem); --mv-max: 80ch; }
.mv-raiz .elementor-widget.mv-card-cta-img { width: min(100%, 320px); margin-top: 6px; }
.mv-raiz .mv-card-cta-img img { width: 100%; border-radius: var(--mv-raio-card); box-shadow: 0 24px 50px rgb(46 37 69 / .14); }
@media (max-width: 1023px) {
  .mv-raiz .mv-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mv-raiz .mv-card-cta { grid-column: span 2; }
}
@media (max-width: 639px) {
  .mv-raiz .mv-grade { grid-template-columns: minmax(0, 1fr); }
  .mv-raiz .mv-card-cta { grid-column: auto; }
}
.mv-raiz .mv-card-cta.mv-cta-1 { grid-column: auto; }
.mv-raiz .mv-card-cta.mv-cta-3 { grid-column: 1 / -1; }

/* ---------- 14. Baralho grátis ---------- */
.mv-raiz .mv-gratuito { background: var(--mv-creme); padding-top: 0; }
.mv-raiz .mv-gratuito-cartao {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: center;
  gap: clamp(2rem, 5vw, 5rem); padding: clamp(1.5rem, 4vw, 4rem); border-radius: var(--mv-raio-caixa);
  background: var(--mv-lilas-claro); overflow: hidden; --mv-cortina-cor: var(--mv-creme);
}
.mv-raiz .mv-gratuito-midia { position: relative; display: flex; align-items: center; justify-content: center; }
.mv-raiz .elementor-widget.mv-gratuito-deco { position: absolute; inset: 0; pointer-events: none; width: auto; --mv-max: none; }
.mv-gratuito-circulo { width: 88%; left: 6%; top: 6%; }
.mv-gratuito-circulo circle { fill: var(--mv-lilas); }
.mv-gratuito-anel { width: 104%; left: -2%; top: -2%; }
.mv-gratuito-anel circle { stroke: var(--mv-violeta); }
.mv-raiz .elementor-widget.mv-gratuito-img { position: relative; z-index: 1; width: 100%; --mv-max: 520px; }
.mv-raiz .mv-gratuito-img img { width: 100%; border-radius: var(--mv-raio-card); box-shadow: 0 30px 70px rgb(46 37 69 / .16); aspect-ratio: 1 / 1; object-fit: cover; }
.mv-raiz .mv-gratuito-texto { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.mv-raiz .mv-tag { display: inline-flex; align-items: center; gap: 10px; padding: 8px 14px; border-radius: var(--mv-raio-botao); background: var(--mv-lilas); color: var(--mv-roxo); font-size: .6875rem; }
.mv-raiz .elementor-widget.mv-gratuito-lista { margin-block: 4px 8px; }
.mv-raiz .mv-gratuito-pequeno { font-size: .8125rem; }
.mv-raiz .mv-aviso { font-size: .8125rem; }
@media (max-width: 1023px) { .mv-raiz .mv-gratuito-cartao { grid-template-columns: minmax(0, 1fr); } .mv-raiz .mv-gratuito-midia { max-width: 480px; margin-inline: auto; width: 100%; } }

/* ---------- 15. Como funciona ---------- */
.mv-raiz .mv-como { background: var(--mv-branco); }
.mv-raiz .mv-passos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); }
.mv-raiz .mv-passo { position: relative; display: flex; flex-direction: column; gap: 16px; padding: 8px 0 8px clamp(1.25rem, 2.4vw, 2.25rem); }
.mv-raiz .mv-passo::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 1px; background: var(--mv-lilas-medio); transform-origin: top; }
.mv-raiz .mv-passo-num { font-family: var(--mv-f-titulo); font-size: 1.1rem; font-style: italic; color: var(--mv-violeta); letter-spacing: .04em; }
.mv-passo-icone { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--mv-lilas); color: var(--mv-roxo); }
.mv-passo-icone .mv-icone { width: 28px; height: 28px; }
.mv-raiz .elementor-widget.mv-passo-titulo { margin-top: 8px; }
.mv-raiz .elementor-widget.mv-como-apoio { margin-top: clamp(2.5rem, 5vw, 4rem); padding-top: 20px; border-top: 1px solid var(--mv-linha-creme); --mv-max: none; }
@media (max-width: 899px) { .mv-raiz .mv-passos { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; } }

/* ---------- 16. Quem somos ---------- */
.mv-raiz .mv-quem { background: var(--mv-creme); }
.mv-raiz .mv-quem-grade { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.mv-raiz .mv-quem-img { position: relative; overflow: hidden; border-radius: var(--mv-raio-caixa); aspect-ratio: 3 / 4; --mv-cortina-cor: var(--mv-creme); }
.mv-raiz .mv-quem-img img { width: 100%; height: 108%; object-fit: cover; object-position: 50% 20%; margin-top: -4%; }
.mv-raiz .mv-quem-texto { display: flex; flex-direction: column; gap: clamp(2rem, 4vw, 3.5rem); }
.mv-raiz .mv-destaque { font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.3rem); line-height: 1.3; font-weight: 300; color: var(--mv-roxo); }
.mv-raiz .mv-pessoas { display: flex; flex-direction: column; }
.mv-raiz .mv-pessoa { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 6px 20px; padding-block: 20px; }
.mv-raiz .mv-pessoa::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--mv-linha-creme); transform-origin: left; }
.mv-raiz .mv-pessoas .mv-pessoa:last-child { border-bottom: 1px solid var(--mv-linha-creme); }
.mv-raiz .mv-pessoa-nome { font-family: var(--mv-f-titulo); font-size: clamp(1.45rem, 1.15rem + .9vw, 1.9rem); line-height: 1.15; color: var(--mv-roxo); }
.mv-raiz .mv-pessoa-registro { font-size: .8125rem; letter-spacing: .08em; color: var(--mv-violeta); text-align: right; }
.mv-raiz .mv-pessoa-bio { grid-column: 1 / -1; }
.mv-raiz .mv-pessoa-bio p { font-size: .9375rem; color: var(--mv-muted); max-width: 60ch; }
@media (max-width: 899px) { .mv-raiz .mv-quem-grade { grid-template-columns: minmax(0, 1fr); } .mv-raiz .mv-quem-foto { max-width: 520px; } }
@media (max-width: 479px) { .mv-raiz .mv-pessoa { grid-template-columns: minmax(0, 1fr); } .mv-raiz .mv-pessoa-registro { text-align: left; } }

/* ---------- 17. História (faixa roxa) ---------- */
.mv-raiz .mv-historia { background: var(--mv-roxo); color: var(--mv-creme); padding-bottom: 0; --mv-cortina-cor: var(--mv-roxo); }
.mv-raiz .mv-historia .mv-h2, .mv-raiz .mv-historia .mv-h3 { color: var(--mv-creme); }
.mv-raiz .mv-historia-grade { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 6vw, 6rem); align-items: end; }
.mv-raiz .mv-historia-texto { display: flex; flex-direction: column; gap: 22px; }
.mv-raiz .mv-historia-texto .elementor-widget.mv-h2 { margin-block: 4px 10px; }
.mv-raiz .mv-historia .mv-corpo { font-size: 1.1rem; }
.mv-raiz .mv-historia-chips { margin-top: 8px; }
.mv-raiz .mv-caixa { display: flex; flex-direction: column; gap: 12px; padding: clamp(1.75rem, 3vw, 2.75rem); border-radius: var(--mv-raio-caixa); background: var(--mv-roxo-claro); }
.mv-raiz .mv-caixa-titulo { font-size: clamp(1.7rem, 1.3rem + 1.2vw, 2.4rem); }
.mv-raiz .elementor-widget.mv-historia-marca { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; width: auto; --mv-max: none; }
.mv-marca-dagua { position: absolute; right: -6%; top: 10%; width: clamp(320px, 46vw, 680px); color: var(--mv-lilas-medio); fill: none; stroke: currentColor; --mv-traco-larg: 2.4; stroke-width: var(--mv-traco-larg); opacity: .18; }
.mv-raiz .elementor-widget.mv-onda-widget { position: relative; z-index: 2; margin-top: clamp(3rem, 7vw, 6rem); width: 100%; }
@media (max-width: 899px) { .mv-raiz .mv-historia-grade { grid-template-columns: minmax(0, 1fr); } }

/* ---------- 18. Personalizados ---------- */
.mv-raiz .mv-personalizados { background: var(--mv-branco); }
.mv-raiz .mv-pers-grade { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-areas: "intro lista" "acao lista";
  gap: 22px clamp(2rem, 6vw, 6rem); align-items: start; grid-template-rows: auto 1fr; }
.mv-raiz .mv-pers-intro { grid-area: intro; } .mv-raiz .elementor-widget.mv-pers-lista { grid-area: lista; } .mv-raiz .mv-pers-acao { grid-area: acao; display: flex; flex-direction: column; gap: 22px; }
.mv-raiz .mv-pers-intro { display: flex; flex-direction: column; gap: 22px; }
.mv-raiz .mv-pers-orcamento { font-size: .9375rem; }
.mv-raiz .mv-servicos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(1.25rem, 3vw, 2.5rem); }
.mv-raiz .mv-servico { position: relative; display: flex; align-items: center; gap: 16px; padding-block: 18px; }
.mv-raiz .mv-servico::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--mv-linha-creme); transform-origin: left; }
.mv-servico-icone { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--mv-lilas); color: var(--mv-roxo); flex: none; }
.mv-servico-icone .mv-icone { width: 20px; height: 20px; }
.mv-raiz .mv-servico-texto { font-weight: 500; color: var(--mv-roxo); line-height: 1.35; }
@media (max-width: 899px) { .mv-raiz .mv-pers-grade { grid-template-columns: minmax(0, 1fr); grid-template-areas: "intro" "lista" "acao"; grid-template-rows: auto; row-gap: 2rem; } }
@media (max-width: 539px) { .mv-raiz .mv-servicos { grid-template-columns: minmax(0, 1fr); } }

/* ---------- 19. Grupo ---------- */
.mv-raiz .mv-grupo { background: var(--mv-creme); }
.mv-raiz .mv-grupo-cartao {
  position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px;
  max-width: 880px; margin-inline: auto; padding: clamp(2.5rem, 6vw, 5rem) clamp(1.25rem, 5vw, 4rem);
  border-radius: var(--mv-raio-caixa); background: var(--mv-lilas-claro); overflow: hidden; --mv-cortina-cor: var(--mv-creme);
}
.mv-raiz .mv-grupo-cartao .elementor-widget.mv-corpo { --mv-max: 46ch; }
.mv-raiz .elementor-widget.mv-grupo-deco { position: absolute; inset: 0; pointer-events: none; width: auto; --mv-max: none; }
.mv-grupo-anel { width: 46%; right: -16%; top: -34%; }
.mv-grupo-anel circle { stroke: var(--mv-lilas-medio); }
.mv-raiz .mv-grupo-icone {
  display: grid; place-items: center; width: 76px; height: 76px; border-radius: 50%; background: var(--mv-roxo); color: var(--mv-creme);
  transition: background-color var(--mv-t-ui) ease, transform .5s var(--mv-ease-revela);
}
.mv-raiz .mv-grupo-icone:hover { background: var(--mv-roxo-claro); color: var(--mv-creme); transform: scale(1.05); }
.mv-grupo-icone .mv-icone { width: 34px; height: 34px; }
.mv-raiz .mv-grupo-cartao .elementor-widget.mv-botao { margin-top: 8px; }

/* ---------- 20. Dúvidas ---------- */
.mv-raiz .mv-duvidas { background: var(--mv-creme); }
.mv-raiz .e-con.mv-faq-lista { display: flex; flex-direction: column; width: auto; margin-left: calc(33.333% + clamp(.5rem, 1.4vw, 1.4rem)); --mv-passo: .08s; }
.mv-raiz .mv-faq-item { position: relative; display: block; }
.mv-raiz .mv-faq-item::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--mv-linha-creme); transform-origin: left; }
.mv-raiz .mv-faq-lista .mv-faq-item:last-child { border-bottom: 1px solid var(--mv-linha-creme); }
.mv-raiz .mv-faq-pergunta { font-family: var(--mv-f-titulo); font-size: clamp(1.3rem, 1.1rem + .7vw, 1.7rem); line-height: 1.25; color: var(--mv-roxo); font-weight: 400; padding-block: 22px; }
.mv-raiz .mv-faq-resposta { padding-bottom: 24px; }
.mv-raiz .elementor-widget.mv-faq-resposta { --mv-max: 68ch; }
/* acordeão (o motor injeta o botão) */
.mv-raiz .mv-faq-pergunta.is-acordeao { padding-block: 0; }
.mv-raiz .mv-faq-botao {
  display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; min-height: 44px; padding: 22px 0;
  text-align: left; font: inherit; color: var(--mv-roxo); cursor: pointer;
}
.mv-raiz .mv-faq-botao:hover, .mv-raiz .mv-faq-botao:focus { color: var(--mv-violeta); background: none; }
.mv-faq-mais { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--mv-lilas); flex: none; transition: transform .4s var(--mv-ease-revela), background-color var(--mv-t-ui) ease; }
.mv-faq-mais .mv-icone { width: 18px; height: 18px; }
.mv-faq-botao[aria-expanded="true"] .mv-faq-mais { transform: rotate(45deg); background: var(--mv-lilas); }
.mv-raiz .mv-faq-resposta.is-acordeao { display: grid; grid-template-rows: 0fr; padding-bottom: 0; transition: grid-template-rows .4s var(--mv-ease-suave); }
.mv-raiz .mv-faq-resposta.is-acordeao.is-aberta { grid-template-rows: 1fr; }
.mv-raiz .mv-faq-resposta.is-acordeao > * { min-height: 0; overflow: hidden; }
.mv-faq-corpo { min-height: 0; overflow: hidden; }
.mv-faq-corpo > :last-child { padding-bottom: 24px; }
.mv-faq-resposta.is-acordeao:not(.is-aberta) .mv-faq-corpo { visibility: hidden; transition: visibility 0s linear .4s; }
@media (max-width: 899px) { .mv-raiz .e-con.mv-faq-lista { margin-left: 0; } }

/* ---------- 21. Faixa final ---------- */
.mv-raiz .mv-final { background: var(--mv-roxo); color: var(--mv-creme); --mv-cortina-cor: var(--mv-roxo); }
.mv-raiz .mv-final .mv-h2 { color: var(--mv-creme); }
.mv-raiz .mv-final .elementor-widget.mv-h2 { --mv-max: 14ch; }
.mv-raiz .mv-final-grade { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.mv-raiz .mv-final-texto { display: flex; flex-direction: column; align-items: flex-start; gap: 26px; }
.mv-raiz .mv-final-marca { justify-self: end; color: var(--mv-lilas-medio); }
.mv-final-simbolo { width: clamp(160px, 22vw, 300px); fill: none; stroke: currentColor; --mv-traco-larg: 3.5; stroke-width: var(--mv-traco-larg); opacity: .9; }
@media (max-width: 767px) { .mv-raiz .mv-final-grade { grid-template-columns: minmax(0, 1fr); } .mv-raiz .mv-final-marca { justify-self: start; } .mv-final-simbolo { width: 120px; } }

/* ---------- 22. Rodapé ---------- */
.mv-raiz.mv-rodape { position: relative; z-index: 1; display: block; background: var(--mv-roxo-escuro); color: var(--mv-creme); overflow: hidden; padding-block: clamp(4rem, 8vw, 6.5rem) clamp(1.5rem, 3vw, 2rem); }
.mv-raiz .mv-rodape-grade { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2.5rem, 5vw, 4rem) clamp(2rem, 6vw, 6rem); }
.mv-raiz .mv-rodape-marca-col { display: flex; flex-direction: column; gap: 20px; }
.mv-raiz .elementor-widget.mv-rodape-logo { width: clamp(150px, 16vw, 210px); }
.mv-raiz .mv-rodape-tagline { font-family: var(--mv-f-titulo); font-style: italic; font-size: clamp(1.3rem, 1.1rem + .6vw, 1.6rem); color: var(--mv-lilas-medio); line-height: 1.3; }
.mv-raiz .elementor-widget.mv-rodape-tagline { --mv-max: 22ch; }
.mv-rodape-colunas-in { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.mv-rodape-titulo { font-size: var(--mv-rotulo); letter-spacing: var(--mv-track-rotulo); text-transform: uppercase; color: var(--mv-lilas-medio); margin-bottom: 14px; font-weight: 500; }
.mv-rodape-col ul { display: grid; gap: 2px; }
.mv-raiz .mv-rodape-col a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; min-width: 44px; color: var(--mv-creme); font-size: .9375rem; transition: color var(--mv-t-ui) ease; overflow-wrap: anywhere; }
.mv-raiz .mv-rodape-col a:hover { color: var(--mv-lilas-medio); }
.mv-rodape-col .mv-icone { width: 18px; height: 18px; color: var(--mv-lilas-medio); }
.mv-raiz .elementor-widget.mv-rodape-aviso { grid-column: 1 / -1; color: rgb(249 246 237 / .72); --mv-max: none; font-size: .8125rem; padding-top: 24px; border-top: 1px solid var(--mv-linha-roxo); }
.mv-raiz .mv-rodape-aviso p + p { margin-top: .6em; }
.mv-raiz .mv-rodape-barra { grid-column: 1 / -1; }
.mv-rodape-barra-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 24px; font-size: .8125rem; color: rgb(249 246 237 / .72); }
.mv-raiz .mv-rodape-barra a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--mv-creme); }
.mv-raiz .mv-rodape-barra a:hover { color: var(--mv-lilas-medio); }
.mv-rodape-copy { margin-right: auto; }
.mv-topo .mv-icone { width: 16px; height: 16px; }
.mv-raiz .elementor-widget.mv-rodape-colunas { position: relative; }
.mv-rodape-simbolo { position: absolute; right: -2%; bottom: -36px; width: clamp(150px, 15vw, 220px); z-index: -1; color: var(--mv-lilas-medio); fill: none; stroke: currentColor; --mv-traco-larg: 2.6; stroke-width: var(--mv-traco-larg); opacity: .12; }
.mv-raiz.mv-rodape .mv-wrap { position: relative; z-index: 2; }
@media (max-width: 767px) { .mv-raiz .mv-rodape-grade { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 419px) { .mv-rodape-colunas-in { grid-template-columns: minmax(0, 1fr); gap: 24px; } }
/* Rodapé revelado por baixo (ativado pelo motor em telas ≥ 768 px e altura ≥ 700 px) */
.mv-rodape-revelado .mv-raiz.mv-rodape { position: fixed; left: 0; right: 0; bottom: 0; z-index: 0; }
.mv-rodape-revelado .mv-raiz.mv-page { margin-bottom: var(--mv-rodape-h, 0px); box-shadow: 0 30px 60px rgb(46 37 69 / .25); }

/* =====================================================================
   23. MOVIMENTO — só existe com html.mv-movimento (o motor só põe a classe
   fora do editor e sem prefers-reduced-motion).
   ===================================================================== */
.mv-d-0 { --mv-atraso: 0s; } .mv-d-100 { --mv-atraso: .1s; } .mv-d-150 { --mv-atraso: .15s; } .mv-d-200 { --mv-atraso: .2s; }
.mv-d-250 { --mv-atraso: .25s; } .mv-d-300 { --mv-atraso: .3s; } .mv-d-400 { --mv-atraso: .4s; } .mv-d-500 { --mv-atraso: .5s; }
.mv-d-600 { --mv-atraso: .6s; } .mv-d-700 { --mv-atraso: .7s; } .mv-d-750 { --mv-atraso: .75s; } .mv-d-800 { --mv-atraso: .8s; }
.mv-d-900 { --mv-atraso: .9s; } .mv-d-1000 { --mv-atraso: 1s; } .mv-d-1100 { --mv-atraso: 1.1s; } .mv-d-1250 { --mv-atraso: 1.25s; }
.mv-d-1400 { --mv-atraso: 1.4s; } .mv-d-1500 { --mv-atraso: 1.5s; } .mv-d-1600 { --mv-atraso: 1.6s; } .mv-d-1750 { --mv-atraso: 1.75s; }
.mv-d-2000 { --mv-atraso: 2s; } .mv-d-2250 { --mv-atraso: 2.25s; } .mv-d-2500 { --mv-atraso: 2.5s; }
.mv-base-250 { --mv-base: .25s; } .mv-base-500 { --mv-base: .5s; } .mv-base-750 { --mv-base: .75s; }
.mv-revelar-filhos > * { --mv-base: calc(var(--mv-n, 0) * var(--mv-passo, .125s)); }
/* atraso efetivo: base herdada + atraso próprio, × fator do celular */
[class*="mv-d-"], [class*="mv-base-"], .mv-revelar-filhos > * { --mv-d: calc((var(--mv-base, 0s) + var(--mv-atraso, 0s)) * var(--mv-fa, 1)); }

@keyframes mv-k-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes mv-k-sobe { from { opacity: 0; transform: translate3d(0, calc(var(--mv-desloc, 40px) * var(--mv-fd, 1)), 0); } to { opacity: 1; transform: none; } }
@keyframes mv-k-desliza { from { transform: translate3d(0, calc(var(--mv-desloc, 40px) * var(--mv-fd, 1)), 0); } to { transform: none; } }
@keyframes mv-k-desce { from { opacity: 0; transform: translate3d(0, calc(-25px * var(--mv-fd, 1)), 0); } to { opacity: 1; transform: none; } }
@keyframes mv-k-esq { from { opacity: 0; transform: translate3d(calc(-32px * var(--mv-fd, 1)), 0, 0); } to { opacity: 1; transform: none; } }
@keyframes mv-k-dir { from { opacity: 0; transform: translate3d(calc(32px * var(--mv-fd, 1)), 0, 0); } to { opacity: 1; transform: none; } }
@keyframes mv-k-mascara { from { transform: translate3d(0, calc(100% + var(--mv-folga, .4em)), 0); } to { transform: none; } }
@keyframes mv-k-letra { from { transform: translate3d(0, calc(100% + var(--mv-folga, .4em)), 0); } to { transform: none; } }
.mv-mascara-in { --mv-folga: .8em; }
@keyframes mv-k-linha { from { opacity: 0; transform: translate3d(0, 102%, 0); } to { opacity: 1; transform: none; } }
@keyframes mv-k-escala { from { opacity: 0; transform: scale(1.1); } to { opacity: 1; transform: none; } }
@keyframes mv-k-ponto { from { opacity: 0; transform: scale(0); } to { opacity: 1; transform: none; } }
@keyframes mv-k-largura { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.mv-movimento .mv-t-largura { transform-origin: left; }
.mv-movimento .mv-t-largura:not(.mv-inview) { transform: scaleX(0); }
.mv-movimento .mv-t-largura.mv-inview { animation: mv-k-largura 1.5s var(--mv-ease-revela) var(--mv-d, 0s) both; }
@keyframes mv-k-altura { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes mv-k-cortina { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(0, -101%, 0); } }
@keyframes mv-k-traco { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes mv-k-simbolo { 0% { stroke-dashoffset: 1; fill-opacity: 0; } 70% { stroke-dashoffset: 0; fill-opacity: 0; } 100% { stroke-dashoffset: 0; fill-opacity: 1; } }
@keyframes mv-k-gira { from { opacity: 0; transform: rotate(-90deg); } to { opacity: 1; transform: none; } }
@keyframes mv-k-painel { from { clip-path: polygon(100% 0, 100% 0, 100% 6%, 0 100%, 0 100%); } to { clip-path: polygon(18% 0, 100% 0, 100% 90%, 88% 100%, 0 100%); } }
@keyframes mv-k-zoom { from { transform: scale(1.06); } to { transform: none; } }
@keyframes mv-k-traco-hero { from { transform: scaleX(0); } to { transform: scaleX(1); } }

html.mv-movimento body { animation: mv-k-fade .25s ease both; }

/* utilitários: estado inicial (escondido) */
.mv-movimento :is(.mv-t-fade, .mv-t-sobe, .mv-t-desce, .mv-t-esq, .mv-t-dir, .mv-t-escala, .mv-t-ponto):not(.mv-inview) { opacity: 0; }
.mv-movimento :is(.mv-t-mascara, .mv-letras, .mv-palavras, .mv-linhas) { overflow: clip; overflow-clip-margin: .1em; }
.mv-movimento :is(.mv-letras, .mv-palavras, .mv-linhas) { overflow: visible; }
.mv-movimento .mv-t-mascara { overflow: hidden; padding-block: .14em .2em; margin-block: -.14em -.2em; }
.mv-movimento .mv-t-mascara:not(.mv-inview) > * { transform: translate3d(0, calc(100% + var(--mv-folga, .4em)), 0); }

/* utilitários: animação quando o elemento (ou sua raiz) recebe .mv-inview */
.mv-movimento .mv-inview:is(.mv-t-fade, .mv-t-sobe, .mv-t-desce, .mv-t-esq, .mv-t-dir, .mv-t-escala, .mv-t-ponto) {
  animation-duration: 1s; animation-timing-function: var(--mv-ease-suave); animation-fill-mode: both; animation-delay: var(--mv-d, 0s);
}
.mv-movimento .mv-t-fade.mv-inview { animation-name: mv-k-fade; }
.mv-movimento .mv-t-sobe.mv-inview { animation-name: mv-k-sobe; }
/* mv-t-desliza: sobe SEM esconder (opacidade 1 o tempo todo). Usado no parágrafo do hero, que é o maior
   texto da primeira tela no celular: assim o navegador o pinta logo (LCP) e o movimento continua. */
.mv-movimento .mv-t-desliza.mv-inview { animation: mv-k-desliza 1s var(--mv-ease-suave) var(--mv-d, 0s) both; }
.mv-movimento .mv-t-desce.mv-inview { animation-name: mv-k-desce; }
.mv-movimento .mv-t-esq.mv-inview { animation-name: mv-k-esq; }
.mv-movimento .mv-t-dir.mv-inview { animation-name: mv-k-dir; }
.mv-movimento .mv-t-escala.mv-inview { animation-name: mv-k-escala; animation-duration: 1.5s; animation-timing-function: var(--mv-ease-revela); }
.mv-movimento .mv-t-ponto.mv-inview { animation-name: mv-k-ponto; animation-duration: 1.2s; animation-timing-function: var(--mv-ease-revela); }
.mv-movimento .mv-t-mascara.mv-inview > * { animation: mv-k-mascara 1.5s var(--mv-ease-revela) var(--mv-d, 0s) both; }
@media (max-width: 1023px) {
  .mv-movimento .mv-t-esq.mv-inview, .mv-movimento .mv-t-dir.mv-inview { animation-name: mv-k-sobe; }
}

/* divisão de texto (o motor cria os spans) */
.mv-dividido { display: inline; }
.mv-palavra { display: inline-flex; overflow: hidden; padding-block: .14em .25em; margin-block: -.14em -.25em; vertical-align: top; }
.mv-letra, .mv-palavra-in { display: inline-block; white-space: pre; }
.mv-mascara { display: inline-flex; overflow: hidden; padding: .32em .2em .4em; margin: -.32em -.2em -.4em; vertical-align: top; }
.mv-mascara-in { display: inline-block; }
.mv-movimento .mv-letras:not(.mv-inview) .mv-letra,
.mv-movimento .mv-palavras:not(.mv-inview) .mv-palavra-in,
.mv-movimento :is(.mv-letras, .mv-palavras, .mv-linhas):not(.mv-inview) .mv-mascara-in { transform: translate3d(0, calc(100% + var(--mv-folga, .4em)), 0); }
.mv-movimento .mv-linhas:not(.mv-inview) .mv-palavra-in { transform: translate3d(0, 102%, 0); opacity: 0; }
.mv-movimento .mv-letras.mv-inview .mv-letra {
  animation: mv-k-letra 1.2s var(--mv-ease-revela) both; animation-delay: calc(var(--mv-d, 0s) + var(--mv-i, 0) * .01s * var(--mv-fa, 1));
}
.mv-movimento .mv-palavras.mv-inview .mv-palavra-in {
  animation: mv-k-letra 1.2s var(--mv-ease-revela) both; animation-delay: calc(var(--mv-d, 0s) + var(--mv-i, 0) * .045s * var(--mv-fa, 1));
}
.mv-movimento .mv-linhas.mv-inview .mv-palavra-in {
  animation: mv-k-linha 1.2s var(--mv-ease-revela) both; animation-delay: calc(var(--mv-d, 0s) + var(--mv-linha, 0) * .25s * var(--mv-fa, 1));
}
.mv-movimento :is(.mv-letras, .mv-palavras).mv-inview .mv-mascara-in {
  animation: mv-k-mascara 1.5s var(--mv-ease-revela) both; animation-delay: calc(var(--mv-d, 0s) + var(--mv-fim, 0s) * var(--mv-fa, 1));
}
.mv-movimento .mv-linhas.mv-inview .mv-mascara-in {
  animation: mv-k-mascara 1.5s var(--mv-ease-revela) both; animation-delay: calc(var(--mv-d, 0s) + (var(--mv-linha, 0) * .25s + .4s) * var(--mv-fa, 1));
}

/* cortina: a cor do fundo cobre o conteúdo e sobe */
.mv-movimento .mv-cortina { position: relative; overflow: hidden; }
.mv-movimento .mv-cortina::after {
  content: ""; position: absolute; inset: -1px; z-index: 6; pointer-events: none; background: var(--mv-cortina-cor, var(--mv-creme));
}
.mv-movimento .mv-cortina.mv-inview::after { animation: mv-k-cortina 1.5s var(--mv-ease-revela) both; animation-delay: calc(var(--mv-d, 0s) + .25s * var(--mv-fa, 1)); }

/* linhas que se desenham */
.mv-movimento :is(.mv-cabecalho, .mv-linha-h)::after, .mv-movimento :is(.mv-pessoa, .mv-faq-item, .mv-servico, .mv-linha-h)::before { transform: scaleX(0); }
.mv-movimento .mv-cabecalho.mv-inview::after { animation: mv-k-largura 1.5s var(--mv-ease-revela) .2s both; }
.mv-movimento :is(.mv-pessoa, .mv-faq-item, .mv-servico, .mv-linha-h).mv-inview::before { animation: mv-k-largura 1.5s var(--mv-ease-revela) both; animation-delay: var(--mv-d, 0s); }
.mv-movimento .mv-passo::before, .mv-movimento .mv-linha-v::before { transform: scaleY(0); }
.mv-movimento :is(.mv-passo, .mv-linha-v).mv-inview::before { animation: mv-k-altura 1.5s var(--mv-ease-revela) both; animation-delay: var(--mv-d, 0s); }
.mv-movimento .mv-hero-eyebrow .elementor-heading-title::after { transform: scaleX(0); }
.mv-movimento .mv-hero-eyebrow.mv-inview .elementor-heading-title::after { animation: mv-k-traco-hero 1.5s var(--mv-ease-revela) both; animation-delay: calc(var(--mv-d, 0s) + .35s); }

/* traços SVG (símbolo, círculos, onda) */
.mv-movimento .mv-traco { stroke-dasharray: 1; stroke-dashoffset: 1; }
.mv-movimento .mv-traco.mv-inview { animation: mv-k-traco 1.8s var(--mv-ease-revela) both; animation-delay: var(--mv-d, 0s); }
.mv-movimento .mv-onda.mv-traco { stroke-dasharray: none; stroke-dashoffset: 0; clip-path: inset(0 100% 0 0); }
.mv-movimento .mv-onda.mv-traco.mv-inview { animation: mv-k-onda 2s var(--mv-ease-revela) calc(var(--mv-d, 0s) + .3s) both; }
@keyframes mv-k-onda { to { clip-path: inset(0 0 0 0); } }
.mv-movimento .mv-simbolo.mv-traco { stroke: currentColor; stroke-width: var(--mv-traco-larg, 30); fill-opacity: 0; }
.mv-movimento .mv-simbolo.mv-traco.mv-inview { animation-name: mv-k-simbolo; }
.mv-movimento :is(.mv-marca-dagua, .mv-final-simbolo, .mv-rodape-simbolo).mv-traco { fill-opacity: 0; }
.mv-movimento :is(.mv-marca-dagua, .mv-final-simbolo, .mv-rodape-simbolo).mv-traco.mv-inview { animation-name: mv-k-traco; animation-duration: 2.4s; }
.mv-movimento .mv-cab-simbolo-widget .mv-cab-marca { opacity: 0; transform: rotate(-90deg); }
.mv-movimento .mv-cabecalho.mv-inview .mv-cab-marca { animation: mv-k-gira 1s var(--mv-ease-suave) both; }
.mv-movimento .mv-cabecalho.mv-inview .mv-cab-simbolo { animation-delay: .1s; }

/* hero: painel com máscara diagonal + foto que assenta */
.mv-movimento .mv-hero-midia:not(.mv-inview) .mv-painel-mascara { clip-path: polygon(100% 0, 100% 0, 100% 6%, 0 100%, 0 100%); }
.mv-movimento .mv-hero-midia.mv-inview .mv-painel-mascara { animation: mv-k-painel 1.5s var(--mv-ease-revela) calc(.3s * var(--mv-fa, 1)) both; }
.mv-movimento .mv-hero-midia.mv-inview .mv-painel-foto { animation: mv-k-zoom 1.8s var(--mv-ease-revela) calc(.3s * var(--mv-fa, 1)) both; }
.mv-movimento .mv-painel .mv-selo.mv-t-escala { --mv-d: calc(1.3s * var(--mv-fa, 1)); }
.mv-movimento :is(.mv-hero-circulo--2, .mv-painel-anel) { --mv-d: calc(.6s * var(--mv-fa, 1)); }
/* foco do teclado dentro de algo ainda não revelado: mostra na hora */
.mv-movimento :is(.mv-t-fade, .mv-t-sobe, .mv-t-desce, .mv-t-esq, .mv-t-dir, .mv-t-escala, .mv-t-ponto):focus-within { opacity: 1; }
.mv-movimento .mv-t-mascara:focus-within > * { transform: none; }
.mv-movimento .mv-cortina:not(.mv-inview):focus-within::after { visibility: hidden; }

/* terminada a entrada, o motor marca .mv-fim e a animação é solta (libera hover e o fade do filtro) */
.mv-movimento .mv-inview.mv-fim:is(.mv-t-fade, .mv-t-sobe, .mv-t-desce, .mv-t-esq, .mv-t-dir, .mv-t-escala, .mv-t-ponto) { animation: none; }
/* filtro: os cards somem e voltam com fade de .35 s */
.mv-raiz .mv-grade > .mv-card { transition: opacity .35s ease; }
.mv-raiz .mv-grade.is-trocando > .mv-card:not(.mv-card-cta) { opacity: 0; }
.mv-raiz .mv-card { --mv-desloc: 24px; }
.mv-raiz .mv-card-lista .mv-lista-icones { --mv-passo: .05s; }
.mv-raiz .mv-lista-icones li, .mv-raiz .mv-faq-item { --mv-desloc: 16px; }

/* parallax (o motor move com translate3d) */
.mv-parallax { will-change: auto; }

/* rede de segurança: se o motor travar, ele troca mv-movimento por mv-falhou e nada fica escondido */

/* ---------- 24. Movimento reduzido e editor do Elementor ---------- */
@media (prefers-reduced-motion: reduce) {
  .mv-raiz *, .mv-raiz *::before, .mv-raiz *::after, .mv-menu, .mv-pilula, .mv-cursor { animation: none !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .mv-faixa-trilho { animation: none !important; transform: none !important; }
  .mv-cursor { display: none !important; }
}
.elementor-editor-active .mv-raiz.mv-header, .elementor-editor-active .mv-rodape { position: relative !important; transform: none !important; }
.elementor-editor-active .mv-faixa-trilho { animation: none !important; }
.elementor-editor-active .mv-motor-widget, .elementor-editor-active .mv-scripts-widget { height: auto; min-height: 24px; overflow: visible; }
.elementor-editor-active .mv-motor-widget::before { content: "Motor da Morivita (CSS/JS). Não apague."; display: block; padding: 6px 10px; font: 12px/1.4 sans-serif; color: #fff; background: var(--mv-roxo); }
.elementor-editor-active .mv-scripts-widget::before { content: "Rastreamento e dados estruturados (JSON-LD)."; display: block; padding: 6px 10px; font: 12px/1.4 sans-serif; color: #fff; background: var(--mv-roxo); }
