/* Animações sempre ativas, como no site de referência: as regras de movimento reduzido
   ficam desligadas com "and (max-width: 0px)". Para reativar, remova essa cláusula. */
/* Design system do app da BMAI (UI v2 "Apple", saasbmai app/ui-v2*.css), tema escuro, aplicado ao site.
   Carregado por último: vence a referência e a camada bmai-overrides.css. */

@font-face { font-family: "General Sans"; src: url(/brand/fonts/GeneralSans-Variable.woff2) format("woff2"); font-weight: 200 700; font-style: normal; font-display: swap; }
@font-face { font-family: "General Sans"; src: url(/brand/fonts/GeneralSans-VariableItalic.woff2) format("woff2"); font-weight: 200 700; font-style: italic; font-display: swap; }
@font-face { font-family: "JetBrains Mono"; src: url(/brand/fonts/JetBrainsMono-Variable.woff2) format("woff2"); font-weight: 400 600; font-display: swap; }

:root {
  /* tokens do tema escuro do app */
  --background: 213 53% 8%;
  --foreground: 33 26% 93%;
  --card: 213 45% 12%;
  --muted-foreground: 210 13% 66%;
  --border: 213 28% 20%;
  --input: 213 26% 24%;
  --primary: 22 100% 43%;
  --primary-bright: 24 100% 60%;
  --label: hsl(var(--foreground));
  --label-2: hsl(var(--foreground) / 0.6);
  --label-3: hsl(var(--foreground) / 0.3);
  --separator: hsl(var(--foreground) / 0.12);
  --v2-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --v2-ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --v2-shadow-2: 0 2px 8px hsl(0 0% 0% / 0.35), 0 12px 32px hsl(0 0% 0% / 0.3);
  /* vidro */
  --vidro-corpo-a: hsl(213 40% 24% / 0.5);
  --vidro-corpo-b: hsl(213 45% 14% / 0.32);
  --vidro-aresta: hsl(0 0% 100% / 0.2);
  --vidro-aresta-baixo: hsl(0 0% 100% / 0.05);
  --vidro-contorno: hsl(0 0% 100% / 0.07);
  --vidro-brilho: hsl(0 0% 100% / 0.22);
  --vidro-sombra: 0 1px 1px hsl(0 0% 0% / 0.3), 0 12px 34px -8px hsl(0 0% 0% / 0.5);
  --vidro-sombra-alta: 0 2px 6px hsl(0 0% 0% / 0.35), 0 26px 60px -12px hsl(0 0% 0% / 0.6);
  --vidro-blur: blur(22px) saturate(160%) brightness(1.08);
  /* o laranja de destaque em texto usa a versão clara, como no app */
  --bm-orange: hsl(24 100% 60%);
  --bm-muted: hsl(210 13% 66%);
  --line: hsl(0 0% 100% / 0.08);
  color-scheme: dark;
}
@media (max-width: 699px) { :root { --vidro-blur: blur(14px) saturate(170%); } }

/* Fundo vivo do app */
body {
  background:
    radial-gradient(60vmax 50vmax at 8% -10%, hsl(var(--primary) / 0.16), transparent 60%),
    radial-gradient(50vmax 45vmax at 105% 20%, hsl(213 60% 30% / 0.35), transparent 60%),
    radial-gradient(55vmax 50vmax at 60% 115%, hsl(22 70% 30% / 0.18), transparent 60%),
    hsl(var(--background)) !important;
  background-attachment: fixed !important;
  color: var(--label);
  font-family: "General Sans", system-ui, -apple-system, sans-serif;
  font-optical-sizing: auto;
  font-feature-settings: "ss01", "cv11";
  text-rendering: optimizeLegibility;
}
@media (max-width: 699px) { body { background-attachment: scroll !important; } }
/* Seções da referência pintavam fundo sólido por cima: deixa o fundo vivo aparecer */
.section_why, .section_testimonials, .section_stats, .section_case-studies, .section_faqs,
.section_services, .section_team, .section_cs-body, .section_legal, .main-wrapper { background-color: transparent !important; }

/* Tipografia: pesos do app (700 títulos, 500 subtítulos, 400 corpo); títulos grandes ficam leves como na referência */
h1, .h1_text-gradient { font-weight: 300 !important; letter-spacing: -0.03em !important; }
h2, .heading-style-h1, .heading-style-h4, .text-sequence-stop { font-weight: 300 !important; letter-spacing: -0.025em !important; }
h3, .process_card-title h3, .cs_title, .team_name { font-weight: 500 !important; letter-spacing: -0.016em !important; }
.hl { font-weight: 500; }
p, li { letter-spacing: -0.011em; }
.text-color-primary, a.text-color-primary { color: var(--bm-orange) !important; }
.text-style-muted, .eyebrow-text.text-style-muted, .team_member p, .testimonial_author .text-size-small { color: var(--bm-muted) !important; }

/* Rótulos e dados em mono, como os kickers do app */
.eyebrow-text, .footer_desktop-link, .footer_heading, .services_nav-item-num, .services_item-title-num,
.bm-results span, .stat_wrap p, .cs_wrap .eyebrow-text, .bm-stats-note {
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace !important;
  letter-spacing: 0.02em !important;
}
.eyebrow-text { text-transform: uppercase; font-size: .72rem !important; }
.stat_num, .bm-results strong, .process_num { font-variant-numeric: tabular-nums; }

/* ---------- Botões: cápsula de vidro tingida de laranja (primário do app) ---------- */
.button, .form-submit {
  border-radius: 999px !important;
  color: #fff !important;
  background: linear-gradient(170deg, hsl(22 100% 50% / 0.95), hsl(22 100% 40% / 0.92)) !important;
  border: 0 !important;
  box-shadow: inset 0 1px 0 hsl(0 0% 100% / 0.45), inset 0 -1px 0 hsl(0 0% 0% / 0.12), 0 6px 18px -6px hsl(var(--primary) / 0.55) !important;
  font-weight: 500 !important;
  letter-spacing: -0.006em !important;
  text-transform: none !important;
  font-size: .9375rem !important;
  min-height: 2.75rem;
  transition: transform 100ms var(--v2-ease-out), background 200ms var(--v2-ease-out), box-shadow 200ms var(--v2-ease-out) !important;
}
.button:active, .form-submit:active { transform: scale(0.97) !important; }
@media (hover: hover) and (pointer: fine) {
  .button:hover, .form-submit:hover {
    background: linear-gradient(170deg, hsl(22 100% 53% / 0.97), hsl(22 100% 42% / 0.94)) !important;
    box-shadow: inset 0 1px 0 hsl(0 0% 100% / 0.5), inset 0 -1px 0 hsl(0 0% 0% / 0.12), 0 10px 26px -8px hsl(var(--primary) / 0.7) !important;
  }
}
.button .icon-1x1-xsmall { background: hsl(0 0% 100% / 0.18) !important; box-shadow: inset 0 1px 0 hsl(0 0% 100% / 0.35); }
/* Botões claros do banner de cookies seguem a cápsula de vidro secundária */
.bm-cookies { background: linear-gradient(170deg, var(--vidro-corpo-a), var(--vidro-corpo-b)) !important; backdrop-filter: var(--vidro-blur); -webkit-backdrop-filter: var(--vidro-blur); border-top: 1px solid var(--vidro-contorno) !important; }
.bm-cookies button { background: linear-gradient(170deg, hsl(22 100% 50% / 0.95), hsl(22 100% 40% / 0.92)); box-shadow: inset 0 1px 0 hsl(0 0% 100% / 0.45); font-weight: 500; transition: transform 100ms var(--v2-ease-out); }
.bm-cookies button:active { transform: scale(0.97); }
.bm-cookies button.bm-ghost { background: linear-gradient(170deg, var(--vidro-corpo-a), var(--vidro-corpo-b)); border: 1px solid var(--vidro-contorno); box-shadow: inset 0 1px 0 var(--vidro-aresta); }

/* ---------- Menu: material do app ao rolar ---------- */
.nav_component.scrolled {
  background: hsl(213 50% 10% / 0.7) !important;
  backdrop-filter: blur(20px) saturate(180%) !important; -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  box-shadow: inset 0 -1px 0 hsl(0 0% 100% / 0.08);
}
.nav_menu-link { font-weight: 500; letter-spacing: -0.011em; }

/* ---------- Cards de vidro (process, FAQ, formulário, cards de case nas páginas) ---------- */
.process_card, .faq_accordion, .contact-form, .bm-results div, .services_wrap, .cs_top-card, .bm-legal {
  background: linear-gradient(160deg, var(--vidro-corpo-a), var(--vidro-corpo-b)) !important;
  backdrop-filter: var(--vidro-blur); -webkit-backdrop-filter: var(--vidro-blur);
  border: 1px solid var(--vidro-contorno) !important;
  border-radius: 1rem !important;
  box-shadow: inset 0 1px 0 var(--vidro-aresta), inset 0 -1px 0 var(--vidro-aresta-baixo), inset 0 0 0 1px hsl(0 0% 100% / 0.06), var(--vidro-sombra) !important;
}
.bm-legal { padding: clamp(1.5rem, 4vw, 3rem); }
.faq_accordion { margin-bottom: .75rem; }
.faq_accordion.is-open, .faq_accordion:hover { box-shadow: inset 0 1px 0 var(--vidro-aresta), inset 0 0 0 1px hsl(var(--primary) / 0.3), var(--vidro-sombra-alta) !important; }

/* Inclinação e brilho especular que seguem o mouse (movimento-v2 do app) */
[data-tilt] {
  --v2-tx: 0deg; --v2-ty: 0deg; --v2-s: 1; --v2-rx: 50%; --v2-ry: 50%; --v2-luz: 0;
  transform: perspective(900px) rotateX(var(--v2-tx)) rotateY(var(--v2-ty)) scale(var(--v2-s));
  position: relative; will-change: transform;
}
[data-tilt]::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 1;
  background: radial-gradient(260px circle at var(--v2-rx) var(--v2-ry), var(--vidro-brilho), transparent 60%);
  opacity: calc(var(--v2-luz) * 0.55); transition: opacity 300ms var(--v2-ease-out);
}
.process_card[data-tilt]:hover { transform: perspective(900px) rotateX(var(--v2-tx)) rotateY(var(--v2-ty)) scale(var(--v2-s)) !important; }

/* Campos do app */
.contact-form input, .contact-form select, .contact-form textarea {
  border: 1px solid hsl(var(--input)) !important; border-radius: .625rem !important;
  background: linear-gradient(170deg, var(--vidro-corpo-a), var(--vidro-corpo-b)) !important;
  box-shadow: inset 0 1px 2px hsl(213 53% 11% / 0.06);
  color: var(--label) !important;
  transition: border-color 200ms var(--v2-ease-out), box-shadow 200ms var(--v2-ease-out);
}
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus {
  border-color: hsl(var(--primary)) !important; box-shadow: 0 0 0 3px hsl(var(--primary) / 0.18) !important;
}
.contact-form label { font-weight: 500; letter-spacing: -0.006em; color: var(--label-2); }

/* Foco do app */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid hsl(var(--primary-bright)) !important; outline-offset: 2px;
}

/* Entrada ao rolar: o estado inicial só existe com JS ativo, então sem JS tudo aparece */


/* Etiqueta de setor dos cases vira badge do app */
.cs_wrap .eyebrow-text, .bm-more-card .eyebrow-text {
  display: inline-flex; padding: .2rem .6rem; border-radius: 999px;
  background: hsl(var(--primary) / 0.11); box-shadow: inset 0 0 0 0.5px hsl(var(--primary) / 0.22);
  color: hsl(var(--primary-bright)) !important;
}
.cs_wrap .eyebrow-text::before { display: none; }

@media (prefers-reduced-motion: reduce) and (max-width: 0px) {
  [data-tilt] { transform: none !important; }
  [data-tilt]::before { display: none; }
  .button:active, .form-submit:active { transform: none !important; opacity: .75; }
}
.cs_wrap .eyebrow-text, .bm-more-card .eyebrow-text { align-self: flex-start; width: fit-content; }

/* ---------- Estrela do hero: só contorno, inteira, centralizada, com halo ---------- */
.section_hero { background-image: none !important; position: relative; overflow: hidden; }
.section_hero .home-hero, .section_hero .hero_wrap { position: relative; z-index: 1; }
.bm-hero-star { position: absolute; inset: 0; display: grid; place-items: center; pointer-events: none; z-index: 0; }
.bm-hero-star svg { position: relative; height: 100%; width: auto; max-width: none; overflow: visible; }
.bm-hero-star path {
  fill: none; stroke: hsl(24 100% 60%); stroke-opacity: 0.06; stroke-width: 1.5px; vector-effect: non-scaling-stroke;
  stroke-dasharray: 1; stroke-dashoffset: 1;
  animation: bm-desenha 1.6s cubic-bezier(0.22, 1, 0.36, 1) .15s forwards;
}
@keyframes bm-desenha { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) and (max-width: 0px) { .bm-hero-star path { animation: none; stroke-dashoffset: 0; } }

/* ---------- Um fundo contínuo: seções sem fundo, borda ou faixa própria ---------- */
.section_hero, .section_process, .section_testimonials, .section_faqs, .section_stats, .section_cta,
.section_case-studies, .section_why, .services_bg-gradient, .section_footer, .footer_radial-gradient {
  background-image: none !important; background-color: transparent !important;
  border-radius: 0 !important; box-shadow: none !important; border: 0 !important;
}
.ticker-gradient { display: none !important; }
.stats_ticker, .mobile-logo-ticker, .hero_logo-row.desktop {
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}
.dashed_divider {
  background-image: url(/assets/dashed-vert.svg) !important; background-position: 50% !important; background-repeat: no-repeat !important;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 25%, #000 75%, transparent);
  mask-image: linear-gradient(180deg, transparent, #000 25%, #000 75%, transparent);
}
/* Laranja depois de "Foi por isso que criamos a BMAI": halo suave, sem faixa */
.radial-gradient { background-image: radial-gradient(55% 45% at 50% 100%, hsl(22 100% 43% / 0.22), transparent 70%) !important; }
.radial-gradient-sequence { background-image: radial-gradient(closest-side at 50% 100%, hsl(22 100% 60% / 0.12), transparent) !important; }
/* Fecho da página: as bolhas nascem do fundo, sem linha de corte */
.blob_wrap {
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 45%);
  mask-image: linear-gradient(180deg, transparent, #000 45%);
  opacity: .7;
}
.section_cta .grainy { display: none !important; }

/* Correções: banner some de verdade ao aceitar/recusar; seta centralizada; hover do círculo */
.bm-cookies[hidden], .bm-form-error[hidden] { display: none !important; }
.button .icon-1x1-xsmall { display: flex !important; align-items: center; justify-content: center; }
.button .icon-1x1-xsmall > * { flex: none; }
@media (hover: hover) and (pointer: fine) {
  .button:hover .icon-1x1-xsmall { background: var(--bm-cream) !important; color: hsl(22 100% 43%) !important; transform: translateX(2px); }
}

/* Depoimentos: cards da mesma altura, assinatura sempre na mesma linha */
.testimonials_wrap { align-items: stretch !important; }
.testimonial_card { display: flex !important; flex-direction: column; }
.testimonial_card > p { flex: 1 1 auto; }
.testimonial_card .testimonial_author { margin-top: auto; padding-top: 1.75rem; }
.bm-author { justify-content: center; }

/* Rodapé: legível, em uma linha organizada */
.footer_bottom { align-items: center !important; gap: 1.5rem; }
.footer_text, .footer_desktop-link { color: var(--label-2) !important; font-size: .72rem !important; letter-spacing: .04em !important; }
.footer_text span { color: inherit !important; }
a.footer_desktop-link { transition: color 200ms var(--v2-ease-out); }
@media (hover: hover) and (pointer: fine) { a.footer_desktop-link:hover { color: hsl(var(--primary-bright)) !important; transform: none !important; } }
.footer_links { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; column-gap: .5rem; row-gap: .25rem; }
.footer_links > div.footer_desktop-link { color: var(--label-3) !important; }
.footer_mobile-link { color: var(--label-2) !important; }
.footer_heading { color: var(--label-3) !important; }
.testimonials_wrap > .testimonial_card { align-self: stretch !important; height: auto !important; }

/* Estrela do hero: largura da tela, pontas encostando nas bordas do site */
.bm-hero-star svg { width: 100vw !important; height: auto !important; max-height: none !important; flex: none; }

/* Fim da página: o laranja some antes do rodapé do celular, sem corte */
.blob_wrap {
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 40%, #000 65%, transparent) !important;
  mask-image: linear-gradient(180deg, transparent, #000 40%, #000 65%, transparent) !important;
}
.blob_wrap { top: 0 !important; bottom: 0 !important; height: auto !important; transform: none !important; }
.blob_wrap { pointer-events: none; }
.section_footer { position: relative; z-index: 1; }
.main-wrapper, body { overflow-x: clip; }

/* Escala das marcas na faixa de clientes. */
.hero_logo-row.desktop { -webkit-mask-image: none !important; mask-image: none !important; justify-content: center; gap: 4.5rem !important; }
.hero_logo-wrap { height: 96px !important; }
.hero_logo { max-width: 170px !important; opacity: .7 !important; }
.hero_logo.is-wide { height: 44px !important; }
.hero_logo.is-mid { height: 64px !important; }
.hero_logo.is-square { height: 88px !important; }
@media (max-width: 767px) {
  .hero_logo-wrap { height: 64px !important; }
  .hero_logo.is-wide { height: 30px !important; }
  .hero_logo.is-mid { height: 42px !important; }
  .hero_logo.is-square { height: 58px !important; }
}

/* Sem vão entre os cases e as Dúvidas */
.section_case-studies .padding-global { padding-bottom: 3rem !important; }
.section_faqs .padding-global { padding-top: 3rem !important; }
/* Título do case e seta sempre na mesma linha: os três cards alinham */
.cs_title-wrap { flex-direction: row !important; flex-wrap: nowrap !important; align-items: flex-start; gap: .75rem; }
.cs_title-wrap .cs_title { flex: 1 1 auto; min-width: 0; }
.cs_title-wrap .cs_arrow { flex: none; margin-top: .35rem; }

/* Detalhes da referência de volta: grade tracejada sobre o laranja e cruzes tracejadas nos cantos.
   Sempre com máscara, para não virar borda entre seções. */
.radial-gradient {
  background-image: radial-gradient(55% 45% at 50% 100%, hsl(22 100% 43% / 0.22), transparent 70%) !important;
  background-size: cover, auto !important; background-position: 50% 100%, 0 0 !important; background-repeat: no-repeat !important;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 35%, #000 80%, transparent);
  mask-image: linear-gradient(180deg, transparent, #000 35%, #000 80%, transparent);
}
.section_testimonials, .section_case-studies {
  background-image: url(/assets/dashed-bottom.svg), url(/assets/dashed-top.svg) !important;
  background-position: 0 100%, 100% 0 !important; background-repeat: no-repeat, no-repeat !important; background-size: auto, auto !important;
}
.section_faqs {
  background-image: url(/assets/faq-dashed-bottom.svg), url(/assets/faq-dashed-top.svg) !important;
  background-position: 0 85%, 100% 150px !important; background-repeat: no-repeat, no-repeat !important;
}
@media (max-width: 991px) {
  .section_testimonials, .section_case-studies { background-size: 200px, 200px !important; }
  .section_faqs { background-size: 150px, 150px !important; }
}

/* ---------- Cor só onde a referência põe cor ---------- */
/* Fundo liso navy (a referência é preto liso; o verde só aparece em pontos) */
body {
  background: hsl(var(--background)) !important;
  background-attachment: scroll !important;
}
/* 1. Hero: brilho no canto superior */
.section_hero::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background: radial-gradient(70% 60% at 12% -8%, hsl(22 100% 43% / 0.16), transparent 70%);
}
/* 2. Fim de "Foi por isso que criamos a BMAI": laranja forte subindo, com a grade por cima,
      e um fade curto no pé para não marcar a troca de seção */
.radial-gradient {
  background-image: url(/assets/gradient-bg.png), linear-gradient(180deg, transparent 45%, hsl(22 100% 30% / 0.55) 82%, hsl(22 100% 36% / 0.75)) !important;
  background-size: cover, auto !important; background-position: 50% 100%, 0 0 !important; background-repeat: no-repeat !important;
  -webkit-mask-image: linear-gradient(180deg, #000 88%, transparent) !important;
  mask-image: linear-gradient(180deg, #000 88%, transparent) !important;
}
/* 3. Processo: brilho leve no topo */
.section_process { position: relative; }
.section_process::before {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 520px; pointer-events: none;
  background: radial-gradient(60% 100% at 50% 0%, hsl(22 100% 43% / 0.12), transparent 70%);
}
/* 4. Fecho: brilho que nasce embaixo à esquerda, como na referência */
.section_cta::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background: radial-gradient(60% 70% at 20% 100%, hsl(22 100% 43% / 0.28), transparent 70%);
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 35%, #000 85%, transparent);
  mask-image: linear-gradient(180deg, transparent, #000 35%, #000 85%, transparent);
}
.section_cta .cta_wrap { position: relative; z-index: 1; }

/* Logos do topo mais perto do texto, visíveis antes do hero desfocar */
.section_hero .hero_logos { margin-top: 5.5rem !important; }

/* ---------- Degradê só nas palavras de destaque: tom sobre tom, mesma tipografia ---------- */
.hl.hl, span.hl, .text-color-primary.hl {
  background-image: linear-gradient(100deg, hsl(20 100% 52%) 0%, hsl(26 100% 60%) 55%, hsl(33 100% 72%) 100%) !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color: transparent !important; color: transparent !important;
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
  padding-bottom: .06em;
}

/* ---------- Header: estrela engole a palavra ao rolar e a devolve no topo ---------- */
.nav_logo.bm-logo { height: 44px !important; gap: 12px !important; overflow: visible; }
.bm-logo .bm-mark { height: 44px !important; width: auto; position: relative; z-index: 2; }
.bm-logo .bm-word {
  height: 32px !important; width: auto; position: relative; z-index: 1;
  transform-origin: left center;
  clip-path: inset(0 0 0 0);
  transition: transform 520ms var(--v2-ease-out), clip-path 520ms var(--v2-ease-out), opacity 380ms var(--v2-ease-out) !important;
}
.nav_component.scrolled .bm-logo .bm-word {
  transform: translateX(-52px) scale(.82);
  clip-path: inset(0 0 0 100%);
  opacity: 0 !important;
}
/* Ao abrir a página, a palavra nasce de dentro da estrela */
@keyframes bm-palavra-sai {
  from { transform: translateX(-52px) scale(.82); clip-path: inset(0 0 0 100%); opacity: 0; }
  to { transform: none; clip-path: inset(0 0 0 0); opacity: 1; }
}
.nav_component:not(.scrolled) .bm-logo:not(.is-ready) .bm-word { animation: bm-palavra-sai 900ms var(--v2-ease-out) 250ms both; }
@media (max-width: 767px) {
  .nav_logo.bm-logo { height: 36px !important; }
  .bm-logo .bm-mark { height: 36px !important; }
  .bm-logo .bm-word { height: 26px !important; }
}
@media (prefers-reduced-motion: reduce) and (max-width: 0px) {
  .bm-logo .bm-word { animation: none !important; transition: opacity 200ms ease !important; }
  .nav_component.scrolled .bm-logo .bm-word { transform: none; clip-path: none; }
}

/* Estrela do hero inteira: passa da borda da seção e vai apagando devagar para baixo */
.section_hero { overflow: visible !important; }
.bm-hero-star {
  inset: auto 0 auto 0 !important; top: calc(50% - 50vw) !important; height: 100vw !important;
  display: block !important; z-index: 0;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 38%, rgba(0,0,0,.45) 62%, transparent 92%);
  mask-image: linear-gradient(180deg, #000 0%, #000 38%, rgba(0,0,0,.45) 62%, transparent 92%);
}
.bm-hero-star svg { display: block; width: 100vw !important; height: 100vw !important; }
.section_hero ~ * { position: relative; z-index: 1; }

/* ---------- Header: a estrela dá 1/4 de volta (termina reta) e passa pela palavra;
   cada letra some sozinha quando a estrela chega nela, e volta na ordem inversa ---------- */
.bm-logo .bm-mark {
  animation: none !important;
  transform-origin: 50% 50%;
  transition: transform 820ms cubic-bezier(0.65, 0, 0.35, 1) !important;
}
.bm-logo svg.bm-word {
  height: 32px !important; width: auto; overflow: visible;
  clip-path: none !important; transform: none !important; opacity: 1 !important; animation: none !important; transition: none !important;
}
.bm-l {
  transform-box: fill-box; transform-origin: 50% 60%;
  transition: opacity 260ms cubic-bezier(0.22, 1, 0.36, 1), transform 320ms cubic-bezier(0.22, 1, 0.36, 1), filter 260ms ease;
}
/* volta (estrela indo para a esquerda): a última letra reaparece primeiro */
.bm-l4 { transition-delay: 310ms; }
.bm-l3 { transition-delay: 410ms; }
.bm-l2 { transition-delay: 490ms; }
.bm-l1 { transition-delay: 600ms; }
.nav_component.scrolled .bm-logo .bm-mark { transform: translateX(88px) rotate(180deg); }
.nav_component.scrolled .bm-l { opacity: 0; transform: translateY(3px) scale(.86); filter: blur(3px); }
/* ida (estrela indo para a direita): some da primeira para a última */
.nav_component.scrolled .bm-l1 { transition-delay: 300ms; }
.nav_component.scrolled .bm-l2 { transition-delay: 400ms; }
.nav_component.scrolled .bm-l3 { transition-delay: 500ms; }
.nav_component.scrolled .bm-l4 { transition-delay: 620ms; }
@media (max-width: 767px) {
  .nav_logo.bm-logo { gap: 8px !important; }
  .bm-logo svg.bm-word { height: 26px !important; }
  .nav_component.scrolled .bm-logo .bm-mark { transform: translateX(70px) rotate(180deg); }
}
@media (prefers-reduced-motion: reduce) and (max-width: 0px) {
  .bm-logo .bm-mark { transition: none !important; }
  .nav_component.scrolled .bm-logo .bm-mark { transform: none; }
  .bm-l { transition: opacity 200ms ease !important; transition-delay: 0ms !important; }
  .nav_component.scrolled .bm-l { transform: none; filter: none; }
}

/* ---------- Header de vidro (Liquid Glass do app): cápsula flutuante, sempre de vidro ---------- */
.nav_component, .nav_component.scrolled {
  background: transparent !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  box-shadow: none !important; border: 0 !important;
  padding-top: max(12px, env(safe-area-inset-top, 0px));
}
.nav_component .nav_container {
  margin-top: 0; padding: .5rem .55rem .5rem 1.1rem !important;
  border-radius: 999px;
  background: linear-gradient(170deg, hsl(213 40% 24% / 0.42), hsl(213 45% 14% / 0.28));
  backdrop-filter: blur(22px) saturate(160%) brightness(1.08); -webkit-backdrop-filter: blur(22px) saturate(160%) brightness(1.08);
  border: 1px solid hsl(0 0% 100% / 0.08);
  box-shadow: inset 0 1px 0 hsl(0 0% 100% / 0.22), inset 0 -1px 0 hsl(0 0% 100% / 0.05), 0 12px 34px -12px hsl(0 0% 0% / 0.55);
  transition: background 300ms var(--v2-ease-out), box-shadow 300ms var(--v2-ease-out);
}
.nav_component.scrolled .nav_container {
  background: linear-gradient(170deg, hsl(213 40% 22% / 0.62), hsl(213 45% 12% / 0.5));
  box-shadow: inset 0 1px 0 hsl(0 0% 100% / 0.26), inset 0 -1px 0 hsl(0 0% 100% / 0.06), 0 16px 40px -12px hsl(0 0% 0% / 0.65);
}
.nav_menu-link::after { bottom: -2px; }
@media (max-width: 991px) {
  .nav_component .nav_container { padding: .4rem .5rem .4rem .9rem !important; }
}
a.bm-contact-link { color: inherit; text-decoration: none; border-radius: 12px; margin: -.4rem -.6rem; padding: .4rem .6rem; transition: background-color 200ms var(--v2-ease-out); }
@media (hover: hover) and (pointer: fine) { a.bm-contact-link:hover { background: hsl(0 0% 100% / 0.05); } a.bm-contact-link:hover .contact-detail-text > :last-child { color: hsl(var(--primary-bright)); } }

/* Assinatura do depoimento centralizada e empilhada, igual nos dois cards */
.testimonial_card .bm-author { flex-direction: column !important; align-items: center !important; justify-content: flex-start; gap: .55rem !important; text-align: center; }
.testimonial_card .bm-author-text { text-align: center !important; }
.testimonial_card .bm-author-text p { margin: 0; }
.testimonial_card .bm-avatar { width: 52px !important; height: 52px !important; }
.testimonial_card .bm-client-logo { height: 26px !important; width: 72px !important; object-fit: contain; object-position: center; opacity: .75; margin-top: .15rem; }

/* Header: barra de vidro retangular, de uma ponta à outra da tela */
.nav_component, .nav_component.scrolled {
  padding-top: env(safe-area-inset-top, 0px) !important;
  background: linear-gradient(180deg, hsl(213 45% 14% / 0.55), hsl(213 50% 10% / 0.42)) !important;
  backdrop-filter: blur(22px) saturate(160%) brightness(1.06) !important; -webkit-backdrop-filter: blur(22px) saturate(160%) brightness(1.06) !important;
  border-bottom: 1px solid hsl(0 0% 100% / 0.07) !important;
  box-shadow: inset 0 1px 0 hsl(0 0% 100% / 0.12), 0 10px 30px -18px hsl(0 0% 0% / 0.6) !important;
  border-radius: 0 !important;
}
.nav_component.scrolled { background: linear-gradient(180deg, hsl(213 45% 13% / 0.72), hsl(213 50% 9% / 0.6)) !important; }
.nav_component .nav_container {
  background: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  border: 0 !important; box-shadow: none !important; border-radius: 0 !important;
  padding: .7rem 0 !important;
}

/* Header: transparente no topo; vira a barra de vidro ao rolar */
.nav_component:not(.scrolled) {
  background: transparent !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  border-bottom-color: transparent !important; box-shadow: none !important;
}
.nav_component { transition: background 320ms var(--v2-ease-out), border-color 320ms var(--v2-ease-out), box-shadow 320ms var(--v2-ease-out), backdrop-filter 320ms var(--v2-ease-out) !important; }

/* Wordmark no lugar da palavra "BMAI" em títulos e textos grandes */
.bm-wm { display: inline-block; height: .72em; vertical-align: baseline; line-height: 0; margin: 0 .02em 0 .06em; -webkit-text-fill-color: initial; }
.bm-wm-svg { height: 100%; width: auto; display: block; fill: currentColor; overflow: visible; }
.hl .bm-wm-svg, .bm-wm-laranja .bm-wm-svg { fill: hsl(24 100% 58%); }
.final-sequence .bm-wm { height: 1.15em; width: auto; vertical-align: -.08em; }

/* Três mensagens após o hero, seguidas da apresentação da BMAI. */
.bm-three-step-sequence.is-enhanced { height: 380vh !important; height: 380svh !important; }
.bm-three-step-sequence.is-enhanced .text-sequence-sticky {
  position: sticky !important; top: 0; height: 100svh; overflow: hidden;
}
.bm-three-step-sequence.is-enhanced .text-line {
  inset: 0; display: grid; place-items: center; width: 100%; max-width: none;
  padding: clamp(1.5rem, 5vw, 4rem); transform: none !important;
}
.bm-three-step-sequence.is-enhanced .text-sequence-stop {
  grid-area: 1 / 1; width: 100%; max-width: 38ch; margin: 0;
  opacity: 0 !important; filter: blur(5px) !important; transform: translateY(16px) !important;
  pointer-events: none;
  transition: opacity 300ms cubic-bezier(.22,1,.36,1), filter 350ms cubic-bezier(.22,1,.36,1), transform 350ms cubic-bezier(.22,1,.36,1);
}
.bm-three-step-sequence.is-enhanced .text-sequence-stop.is-active {
  opacity: 1 !important; filter: none !important; transform: none !important;
}
.bm-three-step-sequence.is-enhanced .final-sequence {
  position: absolute; inset: 0; width: 100%; height: 100%;
  opacity: 0 !important; transform: translateY(16px) !important; pointer-events: none;
  transition: opacity 300ms cubic-bezier(.22,1,.36,1), transform 350ms cubic-bezier(.22,1,.36,1);
}
.bm-three-step-sequence.is-enhanced .final-sequence.is-active {
  opacity: 1 !important; transform: none !important; pointer-events: auto;
}
.bm-three-step-sequence.is-enhanced .radial-gradient {
  opacity: 0;
  transition: opacity 550ms cubic-bezier(.22,1,.36,1);
}
.bm-three-step-sequence.is-enhanced .final-sequence.is-active ~ .radial-gradient {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) and (max-width: 0px) {
  .bm-three-step-sequence.is-enhanced .text-sequence-stop,
  .bm-three-step-sequence.is-enhanced .final-sequence,
  .bm-three-step-sequence.is-enhanced .radial-gradient {
    transition: none !important; filter: none !important; transform: none !important;
  }
}

/* Header: conteúdo centralizado na altura da barra */
.nav_component { padding-bottom: 0 !important; display: flex !important; flex-direction: column; justify-content: center; min-height: 72px; }
.nav_component > .padding-global { padding-top: 0 !important; padding-bottom: 0 !important; width: 100%; }
.nav_component .nav_container { min-height: 72px; display: flex !important; align-items: center !important; padding-top: 0 !important; padding-bottom: 0 !important; }
.nav_brand { display: flex !important; align-items: center !important; margin-top: 0 !important; margin-bottom: 0 !important; }
@media (min-width: 992px) { .nav_menu { display: flex !important; align-items: center !important; margin-top: 0 !important; margin-bottom: 0 !important; } }
.nav_logo { margin-top: 0 !important; }

/* ---------- Página Time ---------- */
.founder_img img, .team_member-photo { filter: none !important; }
.founder_img { border-radius: 16px !important; overflow: hidden; }
.founder_img img { border-radius: 16px; display: block; }
.founder_bio h2 { color: #fff !important; -webkit-text-fill-color: #fff !important; }
.founder_bio .bm-cargo {
  font-family: "JetBrains Mono", ui-monospace, monospace !important; text-transform: uppercase; letter-spacing: .08em !important;
  font-size: .95rem !important; color: hsl(24 100% 60%) !important; margin: .35rem 0 1rem !important;
}
/* Placeholder de foto: inicial grande sobre vidro */
.bm-iniciais {
  width: 100%; aspect-ratio: 3 / 4; border-radius: 16px; display: grid; place-items: center;
  background: linear-gradient(160deg, var(--vidro-corpo-a), var(--vidro-corpo-b));
  border: 1px solid var(--vidro-contorno);
  box-shadow: inset 0 1px 0 var(--vidro-aresta), inset 0 -1px 0 var(--vidro-aresta-baixo), var(--vidro-sombra);
  backdrop-filter: var(--vidro-blur); -webkit-backdrop-filter: var(--vidro-blur);
}
.bm-iniciais span {
  font-size: clamp(5rem, 12vw, 9rem); font-weight: 300; letter-spacing: -0.04em; line-height: 1;
  background: linear-gradient(160deg, hsl(33 26% 93%), hsl(24 100% 62%));
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}

/* Estrela do hero: largura do conteúdo (100vw inclui a barra de rolagem e cortava a ponta direita) */
.bm-hero-star {
  left: 0 !important; right: 0 !important; width: 100% !important;
  top: 50% !important; height: auto !important; aspect-ratio: 1 / 1;
  transform: translateY(-50%);
}
.bm-hero-star svg { width: 100% !important; height: 100% !important; }

/* Estrela do hero: espessura na escala do desenho. Com vector-effect: non-scaling-stroke o Chrome ignora o pathLength
   e o tracejado da animação de desenho virava pontilhado (linhas "quebradas"). */
.bm-hero-star path { vector-effect: none !important; stroke-width: .85 !important; }

/* Estrela do hero no celular: maior que a tela, centralizada no título, linha mais grossa para aparecer */
@media (max-width: 767px) {
  .bm-hero-star {
    width: 150vw !important; left: 50% !important; right: auto !important;
    top: 38% !important; transform: translate(-50%, -50%) !important;
  }
  .bm-hero-star path { stroke-width: 1.8 !important; stroke-opacity: 0.1 !important; }
}

/* ---------- Seleção do formulário: lista própria (bmai-v2.js), o <select> fica por trás ---------- */
.bm-select { position: relative; }
.bm-select > select.bm-select__native {
  position: absolute !important; inset: 0; width: 100% !important; height: 100% !important;
  opacity: 0; pointer-events: none; margin: 0 !important;
}
.bm-select__trigger {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 14px 18px; text-align: left; cursor: pointer;
  font: inherit; font-size: 16px; line-height: 1.4; color: var(--label);
  border: 1px solid hsl(var(--input)); border-radius: .625rem;
  background: linear-gradient(170deg, var(--vidro-corpo-a), var(--vidro-corpo-b));
  box-shadow: inset 0 1px 2px hsl(213 53% 11% / 0.06);
  transition: border-color 200ms var(--v2-ease-out), box-shadow 200ms var(--v2-ease-out);
}
@media (hover: hover) { .bm-select__trigger:hover { border-color: hsl(var(--foreground) / 0.28); } }
.bm-select__trigger.is-placeholder .bm-select__value { color: var(--label-2); }
.bm-select.is-open .bm-select__trigger, .bm-select__trigger:focus-visible {
  border-color: hsl(var(--primary)) !important; box-shadow: 0 0 0 3px hsl(var(--primary) / 0.18); outline: none !important;
}
.bm-select.is-invalid .bm-select__trigger { border-color: hsl(var(--primary-bright)); }
.bm-select__value { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bm-select__chev { flex: none; color: var(--label-2); transition: transform 240ms var(--v2-ease-out), color 200ms ease; }
.bm-select.is-open .bm-select__chev { transform: rotate(180deg); color: hsl(var(--primary-bright)); }

.bm-select__list {
  position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 30;
  margin: 0; padding: 6px; list-style: none; max-height: min(328px, 60vh); overflow-y: auto; overscroll-behavior: contain;
  background: #13273b; border: 1px solid hsl(var(--input)); border-radius: .75rem;
  box-shadow: 0 18px 40px -12px hsl(213 53% 4% / 0.7), 0 2px 6px hsl(213 53% 4% / 0.3);
  opacity: 0; visibility: hidden; transform: translateY(-4px) scale(.98); transform-origin: top center;
  transition: opacity 160ms ease, transform 200ms var(--v2-ease-out), visibility 0s linear 200ms;
  scrollbar-width: thin; scrollbar-color: hsl(var(--input)) transparent;
}
.bm-select.is-up .bm-select__list { top: auto; bottom: calc(100% + 6px); transform-origin: bottom center; transform: translateY(4px) scale(.98); }
.bm-select.is-open .bm-select__list { opacity: 1; visibility: visible; transform: none; transition: opacity 160ms ease, transform 200ms var(--v2-ease-out), visibility 0s; }
.bm-select__list:focus, .bm-select__list:focus-visible { outline: none !important; }
.bm-select__opt {
  position: relative; padding: 10px 36px 10px 12px; border-radius: .5rem; cursor: pointer;
  font-size: 15px; line-height: 1.35; color: var(--label); user-select: none;
  transition: background-color 120ms ease, color 120ms ease;
}
.bm-select__opt.is-active { background: hsl(var(--primary) / 0.16); color: #fff; }
.bm-select__opt[aria-selected="true"] { color: hsl(var(--primary-bright)); font-weight: 600; }
.bm-select__opt[aria-selected="true"]::after {
  content: ""; position: absolute; right: 14px; top: 50%; width: 11px; height: 6px; margin-top: -5px;
  border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg);
}
@media (prefers-reduced-motion: reduce) and (max-width: 0px) {
  .bm-select__list, .bm-select__chev { transition: none !important; }
}

/* Clientes do hero: faixa fixa, como na referência desktop. */
.bm-home-hero .hero_wrap,
.bm-home-hero .hero_content,
.bm-home-hero .hero_logos { width: 100%; min-width: 0; max-width: 100%; }
.bm-home-hero .hero_content { grid-template-columns: minmax(0, 1fr); }
.bm-home-hero .hero_content > h1.h1_text-gradient {
  width: 100%; max-width: 1120px; margin-inline: auto;
  font-size: clamp(2.25rem, 5vw, 4.5rem) !important;
  line-height: 1.06; text-wrap: balance;
}
.bm-home-hero .bm-hero-second-line { display: block; }
.bm-logo-viewport {
  width: 100%; overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.bm-home-hero .hero_logo-row.desktop.bm-logo-marquee {
  display: flex !important; width: max-content; max-width: none;
  justify-content: flex-start !important; flex-wrap: nowrap !important;
  gap: 0 !important; animation: bm-logo-loop 44s linear infinite;
  -webkit-mask-image: none !important; mask-image: none !important;
  will-change: transform;
}
.bm-logo-set { display: flex; align-items: center; flex: none; gap: clamp(2.25rem, 3.5vw, 4rem); padding-right: clamp(2.25rem, 3.5vw, 4rem); }
.bm-home-hero .bm-logo-set .hero_logo-wrap {
  flex: none; width: clamp(125px, 11vw, 165px); height: 82px !important;
  margin: 0; overflow: hidden;
}
.bm-home-hero .bm-logo-set .hero_logo {
  display: block; max-width: 130px !important; max-height: 50px !important;
  width: auto; height: auto !important; object-fit: contain;
  opacity: .82 !important; transform-origin: center;
}
.bm-home-hero .bm-logo-set .hero_logo[src*="logo-mataco"] { transform: scale(.92); }
.bm-home-hero .bm-logo-set .hero_logo[src*="logo-sebrae"] { transform: scale(1.65); }
.bm-home-hero .bm-logo-set .hero_logo[src*="logo-mgp"] { transform: scale(1.2); }
.bm-home-hero .bm-logo-set .hero_logo[src*="logo-gastroobesi"] { transform: scale(1.4); }
.bm-home-hero .bm-logo-set .hero_logo[src*="logo-redeconstruir"],
.bm-home-hero .bm-logo-set .hero_logo[src*="logo-mantris"] { transform: scale(1.08); }
.bm-home-hero .bm-logo-set .hero_logo[src*="logo-ocanto"] { transform: none; max-height: 74px !important; }
.bm-home-hero .bm-logo-set .hero_logo[src*="logo-espaco-gourmet"] {
  transform: scale(2.7);
  filter: url("/brand/content/logo-white-knockout.svg#white-mark");
}
.bm-home-hero .bm-logo-set .hero_logo[src*="logo-cb3d"] {
  max-width: 76px !important; max-height: 76px !important;
  border-radius: 0; filter: none; opacity: .82 !important;
}
.bm-logo-name {
  display: block; max-width: 160px; color: rgba(255, 255, 255, .82);
  font-size: 1rem; line-height: 1.15; font-weight: 600;
  text-align: center; text-wrap: balance;
}
@keyframes bm-logo-loop { to { transform: translateX(-50%); } }
.bm-logo-viewport:hover .bm-logo-marquee,
.bm-logo-viewport:focus-within .bm-logo-marquee { animation-play-state: paused; }
@media (max-width: 767px) {
  .bm-home-hero .bm-logo-set .hero_logo-wrap { width: 132px; height: 70px !important; }
  .bm-home-hero .bm-logo-set .hero_logo { max-width: 110px !important; max-height: 42px !important; }
  .bm-home-hero .bm-logo-set .hero_logo[src*="logo-cb3d"] {
    max-width: 64px !important; max-height: 64px !important;
  }
  .bm-logo-name { font-size: .88rem; }
  .bm-home-hero .hero_logo-row.desktop.bm-logo-marquee { animation-duration: 36s; }
}
@media (prefers-reduced-motion: reduce) and (max-width: 0px) {
  .bm-logo-viewport { overflow-x: auto; -webkit-mask-image: none; mask-image: none; scrollbar-width: thin; }
  .bm-home-hero .hero_logo-row.desktop.bm-logo-marquee { animation: none; will-change: auto; }
  .bm-logo-set[aria-hidden="true"] { display: none; }
}

/* Todos os cases em uma linha, com rolagem por toque, teclado e botões. */
.section_case-studies .container-large { position: relative; }
.bm-case-controls { position: absolute; inset: 0 -3.5rem auto; height: 0; z-index: 5; pointer-events: none; }
.bm-case-nav-button {
  position: absolute; top: clamp(6rem, 9vw, 8.25rem);
  display: grid; place-items: center; width: 54px; height: 54px; padding: 0;
  border: 1px solid #ff8b48; border-radius: 50%; background: #db5500;
  color: #fff; cursor: pointer; pointer-events: auto;
  box-shadow: 0 9px 24px rgba(4, 11, 20, .34);
  transition: background-color 180ms ease, transform 180ms ease, opacity 180ms ease;
}
.bm-case-nav-button[data-case-direction="previous"] { left: 0; }
.bm-case-nav-button[data-case-direction="next"] { right: 0; }
.bm-case-nav-button svg { width: 23px; height: 23px; transition: transform 180ms ease; }
.bm-case-nav-button:hover:not(:disabled) { background: #f26b16; transform: scale(1.06); }
.bm-case-nav-button:hover:not(:disabled)[data-case-direction="previous"] svg { transform: translateX(-2px); }
.bm-case-nav-button:hover:not(:disabled)[data-case-direction="next"] svg { transform: translateX(2px); }
.bm-case-nav-button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.bm-case-nav-button:disabled { opacity: .32; cursor: not-allowed; background: #14283c; border-color: #8293a6; box-shadow: none; }
.bm-cases-viewport { min-width: 0; }
.bm-cases-viewport.bm-has-next { -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 94%, transparent 100%); mask-image: linear-gradient(90deg, #000 0%, #000 94%, transparent 100%); }
.bm-cases-viewport.bm-has-previous { -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 100%); mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 100%); }
.bm-cases-viewport.bm-has-next.bm-has-previous { -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%); }
.section_case-studies .cs_grid {
  display: flex !important; flex-flow: row nowrap !important; gap: clamp(.875rem, 1.5vw, 1.25rem) !important;
  overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory;
  scroll-padding-inline: 2px; scrollbar-width: none; padding: .25rem 2px 1rem;
}
.section_case-studies .cs_grid::-webkit-scrollbar { display: none; }
.section_case-studies .cs_grid > .w-dyn-item {
  flex: 0 0 clamp(240px, 22vw, 300px); min-width: 0; aspect-ratio: 3 / 4; scroll-snap-align: start;
}
.section_case-studies .cs_wrap {
  position: relative; isolation: isolate; display: block; width: 100%; height: 100%;
  overflow: hidden; border-radius: 16px; background: #14283c; cursor: pointer;
}
.section_case-studies .cs_img-wrap {
  position: absolute; inset: 0; width: 100%; height: 100%; max-height: none;
  margin: 0; border: 0; border-radius: inherit; aspect-ratio: auto;
}
.section_case-studies .cs_img-wrap > img:first-child {
  width: 100%; height: 100%; object-fit: cover; object-position: 50% 32%;
}
.section_case-studies .cs_img-wrap::after {
  inset: 0;
  background: linear-gradient(180deg, rgba(3, 10, 18, .42), transparent 32%, rgba(3, 10, 18, .32) 55%, rgba(3, 10, 18, .96));
}
.section_case-studies .cs_wrap > .eyebrow-text {
  position: absolute; top: 15px; left: 15px; z-index: 2; width: max-content; max-width: calc(100% - 30px);
}
.section_case-studies .cs_title-wrap {
  position: absolute; right: 16px; bottom: 66px; left: 16px; z-index: 2;
  display: block !important; margin: 0 !important; min-height: 0 !important;
}
.section_case-studies .cs_title {
  margin: 0; color: #fff; font-size: clamp(1.125rem, 1.7vw, 1.35rem);
  line-height: 1.16; font-weight: 600 !important; letter-spacing: -.025em;
  text-wrap: balance;
}
.section_case-studies .cs_arrow { display: none; }
.section_case-studies .cs_wrap > p:not(.cs_title) {
  position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden;
  clip-path: inset(50%); white-space: nowrap;
}
.section_case-studies .bm-story-ready .bm-case-logo { display: none; }
.bm-story-author {
  position: absolute; right: 16px; bottom: 16px; left: 16px; z-index: 2;
  display: flex; align-items: center; gap: 9px; color: #fff;
  font-size: .8rem; line-height: 1.2; font-weight: 600; pointer-events: none;
}
.bm-story-avatar {
  display: grid; place-items: center; flex: none; width: 36px; height: 36px;
  padding: 6px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 50%; background: rgba(11, 23, 37, .72);
}
.bm-story-avatar img { display: block; width: 100%; height: 100%; object-fit: contain; filter: brightness(0) invert(1); }
.section_case-studies .cs_grid > .w-dyn-item:focus-within { outline: 2px solid var(--bm-orange); outline-offset: 3px; border-radius: 16px; }
html.bm-case-motion-ready .section_case-studies .bm-case-entry {
  opacity: 0; transform: translate3d(0, 18px, 0);
  transition: opacity 550ms cubic-bezier(.22,1,.36,1), transform 650ms cubic-bezier(.22,1,.36,1);
}
html.bm-case-motion-ready .section_case-studies .bm-case-entry.is-in-view {
  opacity: 1; transform: none;
}
@media (max-width: 991px) {
  .bm-case-controls { inset-inline: -1rem; }
  .section_case-studies .cs_grid > .w-dyn-item { flex-basis: clamp(220px, 32vw, 270px); }
}
@media (max-width: 767px) {
  .bm-home-hero {
    min-height: 80svh !important;
  }
  .bm-home-hero .home-hero {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding-top: clamp(6.5rem, 16vh, 8rem) !important;
    padding-bottom: clamp(2rem, 6vh, 3rem) !important;
  }
  .bm-home-hero .container-large,
  .bm-home-hero .hero_wrap,
  .bm-home-hero .hero_content { flex: 1; }
  .bm-home-hero .container-large { display: flex; flex-direction: column; width: 100%; }
  .bm-home-hero .hero_content {
    display: flex;
    flex-direction: column;
    row-gap: clamp(1.25rem, 4vw, 1.75rem);
  }
  .bm-home-hero .hero_content > h1.h1_text-gradient {
    max-width: 100%;
    font-size: clamp(2rem, 8.5vw, 2.5rem) !important;
    line-height: 1.1;
  }
  .bm-home-hero .hero_logos { margin-top: auto !important; padding-top: 2rem; }
  .bm-home-hero .hero_subtitle-txt { font-size: clamp(1.0625rem, 4.4vw, 1.25rem); line-height: 1.4; }
  .bm-home-hero .hero_logo { height: 30px !important; max-width: 150px; opacity: .78; }
  .bm-home-hero .hero_logo.is-mid { height: 36px !important; }
  .bm-case-controls { inset-inline: 0; }
  .bm-case-nav-button { top: 9.5rem; width: 46px; height: 46px; }
  .section_case-studies .cs_grid > .w-dyn-item { flex-basis: min(68vw, 250px); }
}

.cs_img-wrap.bm-case-brand-art { display: block; background: #172a26; }
.cs_img-wrap.bm-case-brand-art > img:first-child {
  position: absolute; inset: 0; width: 100% !important; height: 100% !important;
  max-height: none !important; padding: 0; object-fit: contain !important;
  filter: brightness(0) invert(1) !important; opacity: .13;
  transform: scale(1.3);
}
.cs_img-wrap.bm-case-brand-art > .bm-case-logo {
  left: 12px !important; bottom: -22px !important;
  width: 160px !important; height: 120px !important;
  max-width: none !important; max-height: none !important;
  object-fit: contain; filter: brightness(0) invert(1);
}
.cs_wrap:hover .bm-case-brand-art > img:first-child { transform: scale(1.35); }

/* Páginas dos dois novos cases: concisas quando não há métricas públicas. */
.bm-case-detail { color: var(--bm-cream); }
.bm-case-detail-hero { padding: clamp(7rem, 13vw, 11rem) 0 4rem; }
.bm-case-back { display: block; width: max-content; margin-bottom: 2rem; color: var(--bm-cream); text-decoration: none; opacity: .78; }
.bm-case-back:hover, .bm-case-back:focus-visible { opacity: 1; color: var(--bm-orange); }
.bm-case-detail .eyebrow-text { color: var(--bm-orange); }
.bm-case-detail h1 { max-width: 15ch; margin: 1rem 0 1.25rem; color: #fff; font-size: clamp(2.6rem, 5.2vw, 5.5rem); line-height: 1.05; letter-spacing: -.035em; }
.bm-case-detail-intro { max-width: 52ch; margin-bottom: 3rem; color: var(--bm-cream); font-size: clamp(1.15rem, 2vw, 1.55rem); line-height: 1.45; }
.bm-case-detail-photo, .bm-case-detail-brand { width: 100%; max-height: 600px; aspect-ratio: 16 / 8; border-radius: 16px; }
.bm-case-detail-photo { display: block; object-fit: cover; object-position: center 25%; filter: grayscale(1) brightness(.78); }
.bm-case-detail-brand { display: flex; align-items: center; justify-content: center; background: #172a26; }
.bm-case-detail-brand img { width: min(60%, 560px); max-height: 50%; object-fit: contain; filter: brightness(0) invert(1); }
.bm-case-detail-content { padding: 1rem 0 8rem; }
.bm-case-detail-body { max-width: 760px; margin: 0 auto; }
.bm-case-detail-body h2 { margin-bottom: 1.2rem; color: #fff; font-size: clamp(2rem, 3vw, 3rem); letter-spacing: -.025em; }
.bm-case-detail-body p { max-width: 68ch; margin-bottom: 1.5rem; font-size: 1.2rem; line-height: 1.65; }
.bm-case-detail-body blockquote { margin: 2.5rem 0 .6rem; padding: 0; border: 0; color: #fff; font-size: clamp(1.4rem, 2.5vw, 2rem); line-height: 1.4; }
.bm-case-detail-body .bm-case-credit { margin-bottom: 3rem; color: var(--bm-orange); font-size: 1rem; }
.bm-case-detail-body .button { margin-top: 1rem; }
@media (max-width: 767px) {
  .bm-case-detail-hero { padding-top: 7rem; }
  .bm-case-detail-photo, .bm-case-detail-brand { aspect-ratio: 4 / 3; }
  .bm-case-detail-body p { font-size: 1.05rem; }
}


/* Textura e brilho da apresentação, com bordas suaves entre as seções. */
.bm-three-step-sequence .radial-gradient {
  background-image: radial-gradient(ellipse at 50% 75%, hsl(22 100% 43% / .4), transparent 75%) !important;
  background-size: 100% 100% !important;
  -webkit-mask-image: linear-gradient(transparent, #000 25%, #000 75%, transparent) !important;
  mask-image: linear-gradient(transparent, #000 25%, #000 75%, transparent) !important;
}
.section_process::before { background: radial-gradient(60% 100% at 50% 0%, hsl(22 100% 43% / .12), transparent 70%); }

/* Marcas em branco, com remoção dos fundos por filtros SVG. */
.bm-logo-filter-defs { position: absolute; overflow: hidden; pointer-events: none; }
.bm-home-hero .bm-logo-set .hero_logo[src*="logo-mantris-atual"] {
  width: 130px; max-width: 130px !important; max-height: none !important;
  height: auto !important; mix-blend-mode: normal;
  filter: url("#bm-mark-light"); transform: none;
}
.bm-home-hero .bm-logo-set .hero_logo[src*="logo-flores-do-carmo"] {
  width: auto; max-width: 140px !important; max-height: 70px !important;
  height: auto !important; filter: none;
  transform: none; border-radius: 0; opacity: .82 !important;
}
.bm-home-hero .bm-logo-set .hero_logo[src*="logo-cb3d"] {
  max-width: 78px !important; max-height: 78px !important;
  filter: none; border-radius: 0;
}
.bm-cases-heading { margin-bottom: 2.5rem; }
@media (max-width: 767px) {
  .bm-home-hero .bm-logo-set .hero_logo[src*="logo-mantris-atual"] {
    width: 110px; max-width: 110px !important;
  }
  .bm-home-hero .bm-logo-set .hero_logo[src*="logo-flores-do-carmo"] { max-width: 116px !important; max-height: 58px !important; }
  .bm-home-hero .bm-logo-set .hero_logo[src*="logo-cb3d"] {
    max-width: 64px !important; max-height: 64px !important;
  }
}

/* Depoimentos visuais, com identificação dos clientes. */
.section_testimonials .testimonials_wrap { justify-content: center; }
.section_testimonials .testimonial_card {
  align-items: center; padding: 2rem; background: transparent !important;
  border: 0; box-shadow: none;
}
.section_testimonials .testimonial_card .testimonial_author { padding-top: 0; }
.section_testimonials .testimonial_card .bm-avatar {
  width: clamp(140px, 20vw, 220px) !important;
  height: clamp(140px, 20vw, 220px) !important;
  object-fit: cover; border-radius: 50%;
}
.section_testimonials .testimonials_wrap > .dashed_divider { display: none; }

/* O scroll avança as mensagens dentro da mesma tela também no celular. */
@media (max-width: 767px) {
  .section_why { overflow: visible !important; }
  .bm-three-step-sequence.is-enhanced .text-sequence-sticky { min-height: 0; }
  .bm-three-step-sequence.is-enhanced .text-line { position: absolute; }
  .bm-three-step-sequence.is-enhanced .final-sequence {
    padding: 4.5rem 1.25rem 1.5rem; gap: 1rem;
  }
  .bm-three-step-sequence .final-sequence-sub { gap: .75rem; }
  .bm-three-step-sequence .final-sequence .text-size-xlarge {
    font-size: clamp(1rem, 3.7vw, 1.25rem); line-height: 1.35;
  }
  .bm-three-step-sequence .final-sequence .margin-top { margin-top: .75rem !important; }
}

/* Cards de cases: retratos, luz nas bordas e interação sem botões decorativos. */
.section_case-studies .cs_grid { padding-top: .75rem; padding-bottom: 1.75rem; }
.section_case-studies .bm-case-entry { transition: translate 280ms ease, box-shadow 280ms ease; }
.section_case-studies .bm-case-entry::before {
  content: ""; position: absolute; inset: 0; z-index: 3; border-radius: inherit;
  border: 1px solid rgba(255,139,72,.08); pointer-events: none;
  transition: border-color 280ms ease, box-shadow 280ms ease;
}
.section_case-studies .cs_img-wrap > img:first-child {
  filter: grayscale(1) brightness(.82); transition: filter 400ms ease, scale 600ms ease;
}
.section_case-studies .bm-case-group-photo > img:first-child {
  object-fit: contain; object-position: center top; background: #101a25;
}
@media (hover:hover) and (pointer:fine) {
  .section_case-studies .bm-case-entry:hover { translate: 0 -5px; }
  .section_case-studies .bm-case-entry:hover::before {
    border-color: rgba(255,139,72,.65); box-shadow: inset 0 0 25px rgba(255,139,72,.08);
  }
  .section_case-studies .bm-case-entry:hover .cs_img-wrap > img:first-child { filter: grayscale(0) brightness(.95); scale: 1.025; }
  .section_case-studies .bm-case-entry:hover .bm-case-group-photo > img:first-child { scale: 1; }
}
.section_case-studies .bm-case-entry:focus-within::before { border-color: #ff8b48; }
.bm-case-person { margin: 2rem 0; max-width: 420px; }
.bm-case-person img { display: block; width: 100%; height: auto; border-radius: 16px; filter: grayscale(1); }
.bm-case-person figcaption { margin-top: .75rem; color: var(--bm-muted); font-size: .95rem; }
.bm-case-benefits { display: grid; gap: 1rem; margin: 2rem 0; }
.bm-case-benefits > div { padding: 1.5rem; border: 1px solid rgba(255,139,72,.2); border-radius: 14px; background: rgba(255,255,255,.025); }
.bm-case-benefits h3 { color: var(--bm-orange); font-size: 1.3rem; margin-bottom: .5rem; }
.bm-case-benefits p { margin: 0; }
/* O arquivo branco enviado pelo cliente é exibido sem filtro de conversão. */
.bm-home-hero .bm-logo-set .hero_logo[src*="logo-cb3d-branco"] { filter: none !important; }
/* Elimina a faixa de progresso no encontro entre apresentação e método. */
.bm-three-step-sequence .progress_bar-wrap { display: none; }
.section_process { margin-top: 0 !important; }
.bm-three-step-sequence .radial-gradient {
  -webkit-mask-image: linear-gradient(transparent, #000 28%, #000 62%, transparent 100%) !important;
  mask-image: linear-gradient(transparent, #000 28%, #000 62%, transparent 100%) !important;
}
@media (prefers-reduced-motion: reduce) and (max-width: 0px) {
  .section_case-studies .bm-case-entry, .section_case-studies .bm-case-entry::before,
  .section_case-studies .cs_img-wrap > img:first-child { transition: none !important; }
  .section_case-studies .bm-case-entry:hover { translate: none; }
  .section_case-studies .cs_img-wrap > img:first-child { scale: 1 !important; }
}
/* O trilho permite navegar com mouse sem botões sobre as fotos. */
.section_case-studies .cs_grid { scrollbar-width: thin; scrollbar-color: rgba(255,139,72,.5) transparent; }
.section_case-studies .cs_grid::-webkit-scrollbar { display: block; height: 3px; }
.section_case-studies .cs_grid::-webkit-scrollbar-track { background: transparent; }
.section_case-studies .cs_grid::-webkit-scrollbar-thumb { background: rgba(255,139,72,.5); border-radius: 3px; }

/* A saída muda apenas o conteúdo; a textura e as cores do fundo são preservadas. */
.bm-three-step-sequence.is-enhanced .final-sequence.is-active {
  opacity: var(--bm-sequence-exit-opacity, 1) !important;
  transform: translateY(var(--bm-sequence-exit-y, 0px)) !important;
}
/* Cabeçalhos de todos os cases seguem a mesma composição da GastroObesi. */
.cs-hero .hero_content { width: 100%; min-width: 0; }
.cs-hero .cs_hero-subtitle { width: 100%; }
.cs-hero .cs_subtitle { max-width: 60ch; margin-inline: auto; }
.bm-case-person { width: 100%; max-width: none; margin: 0 0 3rem; text-align: center; }
.bm-case-person img { width: auto; max-width: 100%; height: auto; max-height: 480px; margin-inline: auto; object-fit: contain; }
.bm-case-person figcaption { text-align: center; }
/* Os retratos usam os originais, com espaço para a cabeça e os dois rostos do grupo. */
.section_case-studies .cs_img-wrap > img:first-child { object-position: center top; }
.section_case-studies .cs_img-wrap > img[src*="client-mariangela-case"],
.section_case-studies .bm-case-group-photo > img:first-child {
  object-fit: contain; object-position: center top; background: #101a25;
}
.section_case-studies .cs_img-wrap > img[src*="client-mgp"] { object-position: 43% top; }
.bm-more-card .cs_img-wrap > img:first-child { object-fit: contain !important; object-position: center top; background: #101a25; }
@media (prefers-reduced-motion: reduce) and (max-width: 0px) {
  .bm-three-step-sequence.is-enhanced .final-sequence.is-active { transform: none !important; }
}

.section_case-studies .cs_img-wrap > img[src*="client-murilo"] { object-position: center bottom; }
.bm-audio-testimonial { padding: clamp(1.25rem, 3vw, 2rem); margin: 2rem 0 3rem; border: 1px solid rgba(255,139,72,.2); border-radius: 16px; background: rgba(255,255,255,.025); }
.bm-audio-testimonial > p { color: var(--bm-orange); font-size: 1rem; }
.bm-audio-testimonial audio { display: block; width: 100%; margin-top: 1rem; }

/* Serviços: altura baseada no conteúdo, sem reservar 70% da tela. */
.section_hero.bm-services-hero { min-height: 0 !important; height: auto !important; padding-top: 0 !important; display: block; }
.bm-services-hero > .home-hero { padding-top: clamp(7rem, 12svh, 9rem) !important; padding-bottom: 2.5rem !important; }
.bm-services-hero .hero_wrap, .bm-services-hero .hero_content { min-height: 0; height: auto; }
.bm-services-hero + .section_services { padding-top: 0 !important; }
/* Saída natural do texto, sem apagar o conteúdo antes da próxima seção. */
.bm-three-step-sequence.is-enhanced .final-sequence.is-active { opacity: 1 !important; transform: none !important; }
.section_process > .padding-section-large { padding-top: clamp(2.5rem, 6vw, 5rem) !important; }
/* Páginas internas: layout compartilhado e independente dos estilos do hero da home. */
.bm-case-page { padding-top: 0; }
.bm-case-page-container { width: min(1120px, calc(100% - 3rem)); margin-inline: auto; }
.bm-case-page-header { padding: clamp(7rem, 13vw, 10rem) 0 3rem; }
.bm-case-page-back { display: inline-block; margin-bottom: 2rem; color: var(--bm-muted); font-size: .95rem; text-decoration: none; }
.bm-case-page-back:hover { color: var(--bm-orange); }
.bm-case-page-title { max-width: 21ch; margin: 0 auto 1.5rem; color: #fff; text-align: center; font-size: clamp(2.25rem, 5vw, 4.75rem); line-height: 1.08; letter-spacing: -.035em; font-weight: 300; }
.bm-case-page-intro { max-width: 65ch; margin: 0 auto 3rem; color: var(--bm-muted); text-align: center; font-size: clamp(1.05rem, 1.5vw, 1.25rem); line-height: 1.65; }
.bm-case-page-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 0; }
.bm-case-page-facts > div { min-width: 0; padding: 1.5rem; border: 1px solid rgba(255,255,255,.09); border-radius: 16px; background: rgba(255,255,255,.025); }
.bm-case-page-facts dt { margin-bottom: .75rem; color: var(--bm-orange); font-size: .85rem; }
.bm-case-page-facts dd { margin: 0; color: #e6e8eb; font-size: 1rem; line-height: 1.6; overflow-wrap: anywhere; }
.bm-case-page-reading { width: min(780px, calc(100% - 3rem)); margin-inline: auto; }
.bm-case-page-content { padding: 0 0 5rem; }
.bm-case-page-photo { margin: 0 0 3rem; text-align: center; }
.bm-case-page-photo img { display: block; width: auto; height: auto; max-width: 100%; max-height: 520px; margin-inline: auto; border-radius: 16px; object-fit: contain; filter: grayscale(1); }
.bm-case-page-photo figcaption { margin-top: .75rem; color: var(--bm-muted); font-size: .95rem; }
.bm-case-page-article { color: #d3d9e0; font-size: 1.125rem; line-height: 1.75; }
.bm-case-page-article h2 { margin: 2.5rem 0 1rem; color: #fff; font-size: clamp(1.75rem, 3vw, 2.4rem); line-height: 1.2; }
.bm-case-page-article h3 { font-size: 1.25rem; }
.bm-case-page-article p { margin: 0 0 1.25rem; }
.bm-case-page-article blockquote { margin: 2rem 0; padding: 1rem 0 1rem 1.5rem; border-left: 2px solid var(--bm-orange); color: #fff; font-size: 1.25rem; line-height: 1.65; }
.bm-case-page-article .bm-results { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-block: 2rem; }
.bm-case-page-article .bm-results > div { min-width: 0; padding: 1.25rem; }
.bm-case-page-article .bm-results strong { display: block; color: var(--bm-orange); font-size: clamp(1.75rem,4vw,2.5rem); }
.bm-case-page-article .bm-results span { display: block; font-size: 1rem; }
.bm-case-page-article .bm-more-cases { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
/* Carrossel contínuo: duas cópias iguais e pausa por hover. */
.bm-case-loop-viewport { overflow: hidden; mask-image: none !important; -webkit-mask-image: none !important; }
.section_case-studies .cs_grid.bm-case-loop { --bm-case-card-width: clamp(240px,22vw,300px); width: max-content; max-width: none; overflow: visible; scroll-snap-type: none; animation: bm-cases-continuous var(--bm-case-loop-duration, 60s) linear infinite; will-change: transform; }
.section_case-studies .cs_grid.bm-case-loop > .w-dyn-item { width: var(--bm-case-card-width); flex: 0 0 var(--bm-case-card-width) !important; }
.bm-case-loop-viewport:hover .bm-case-loop, .bm-case-loop-viewport:focus-within .bm-case-loop { animation-play-state: paused; }
@keyframes bm-cases-continuous { from { transform: translateX(0); } to { transform: translateX(calc(-1 * var(--bm-case-loop-distance, 1500px))); } }
.section_case-studies .cs_img-wrap > img[src*="client-mariangela"]:not([src*="mariangela-case"]) { object-fit: cover; object-position: center 85%; }
@media (max-width: 991px) { .bm-case-page-facts { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 767px) {
  .bm-services-hero > .home-hero { padding-top: 7rem !important; padding-bottom: 2rem !important; }
  .bm-case-page-container, .bm-case-page-reading { width: calc(100% - 2.5rem); }
  .bm-case-page-facts { gap: .75rem; }
  .bm-case-page-facts > div { padding: 1rem; }
  .bm-case-page-article .bm-results { grid-template-columns: 1fr; }
  .bm-case-page-article .bm-more-cases { grid-template-columns: 1fr; }
  .section_case-studies .cs_grid.bm-case-loop { --bm-case-card-width: min(68vw,250px); }
}
@media (prefers-reduced-motion: reduce) and (max-width: 0px) { .section_case-studies .cs_grid.bm-case-loop { animation: none; } }

/* O logo do Espaço Gourmet tem fundo branco: recorte e filtro próprios no selo. */


/* Névoa na passagem entre seções: camada difusa, sem borda reta. */
.section_process, .bm-services-hero + .section_services {
  overflow: visible !important; isolation: isolate;
}
.section_process::before, .bm-services-hero + .section_services::before {
  content: ""; position: absolute; inset: -170px 0 auto; height: 360px;
  z-index: 0; pointer-events: none;
  background:
    radial-gradient(ellipse at 18% 48%, rgba(9,21,34,.95), rgba(9,21,34,.45) 45%, transparent 72%),
    radial-gradient(ellipse at 82% 53%, rgba(13,29,45,.9), rgba(9,21,34,.4) 44%, transparent 72%),
    radial-gradient(ellipse at 50% 48%, rgba(40,29,27,.5), transparent 66%),
    linear-gradient(180deg, transparent, rgba(9,21,34,.9) 48%, transparent);
  filter: blur(32px);
  -webkit-mask-image: linear-gradient(transparent, #000 30%, #000 65%, transparent);
  mask-image: linear-gradient(transparent, #000 30%, #000 65%, transparent);
}
.section_process > .padding-global, .bm-services-hero + .section_services > .padding-global {
  position: relative; z-index: 1;
}
@media (max-width: 767px) {
  .section_process::before, .bm-services-hero + .section_services::before {
    top: -110px; height: 250px; filter: blur(24px);
  }
}

/* Serviços: nenhuma camada decorativa atravessa o texto do cabeçalho. */
.bm-services-hero { isolation: isolate; }
.bm-services-hero .hero_wrap { position: relative; z-index: 2; }
.bm-services-hero .hero_content { display: flex !important; flex-direction: column; align-items: center; text-align: center; }
.bm-services-hero .hero_subtitle { width: 100%; max-width: 65ch; margin-inline: auto; opacity: 1 !important; filter: none !important; transform: none !important; }
.bm-services-hero .hero_subtitle-txt { color: #aab6c4 !important; line-height: 1.65; opacity: 1 !important; }
.bm-services-hero + .section_services::before { content: none !important; display: none !important; }
/* Quatro etapas em uma barra lateral, alinhadas com o topo do card. */
.section_services .bm-services-layout { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: clamp(1.5rem,3vw,3rem); align-items: start; max-width: 1160px; width: 100%; margin-inline: auto; }
.bm-services-layout > .services_nav-wrap { position: sticky; top: 100px; width: 100%; margin: 0; overflow: visible !important; mask-image: none !important; -webkit-mask-image: none !important; }
.bm-services-layout .services_nav { display: flex !important; flex-flow: column nowrap !important; gap: .75rem !important; width: 100% !important; min-width: 0; max-width: none; padding: 0 !important; }
.bm-services-layout .services_nav-item { display: grid !important; grid-template-columns: 28px minmax(0,1fr) 14px; align-items: center !important; gap: .6rem !important; width: 100%; min-height: 80px; padding: 1rem !important; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: rgba(255,255,255,.025); transition: background 180ms ease, border-color 180ms ease, translate 180ms ease; }
.bm-services-layout .services_nav-item::after { content: "↗"; color: #7d90a4; font-size: 1.1rem; }
.bm-services-layout .services_nav-item-num { color: #8393a7; font-size: .85rem; font-style: normal; }
.bm-services-layout .services_nav-item-text { font-size: 1rem !important; line-height: 1.3; color: #d3dce5 !important; -webkit-text-fill-color: #d3dce5 !important; background: none !important; }
.bm-services-layout .services_nav-item.active { border-color: rgba(255,133,63,.65); background: linear-gradient(120deg,rgba(219,85,0,.2),rgba(219,85,0,.035)); box-shadow: inset 3px 0 0 #f9813e; }
.bm-services-layout .services_nav-item.active :is(.services_nav-item-num,.services_nav-item-text), .bm-services-layout .services_nav-item.active::after { color: #ff9b61 !important; -webkit-text-fill-color: #ff9b61 !important; }
.bm-services-layout .services_nav-item:hover { border-color: rgba(255,139,72,.4); background-color: rgba(255,139,72,.05); }
.bm-services-layout > .services { width: 100%; min-width: 0; }
.bm-services-layout .services_wrap { margin: 0; width: 100%; padding: 2rem; }
.bm-services-layout .services_item-top { gap: 1.5rem; align-items: flex-start; }
.bm-services-layout .service_lottie, .bm-services-layout .services_wrap .bm-method-icon { flex: none; width: 110px; height: 110px; }
.bm-services-layout .services_item-text { font-size: clamp(1.6rem,2.6vw,2.4rem); overflow-wrap: normal; }
/* Logo com proporção correta, sem recortar as laterais da marca. */


.bm-home-hero .bm-logo-set .hero_logo[src*="logo-espaco-gourmet-mark"] { max-width: 130px !important; max-height: 50px !important; filter: none !important; transform: none !important; }
@media (max-width: 767px) {
  .section_services .bm-services-layout { grid-template-columns: minmax(0,1fr); gap: 1.25rem; }
  .bm-services-layout > .services_nav-wrap { position: relative; top: auto; overflow-x: auto !important; padding-bottom: .5rem; }
  .bm-services-layout .services_nav { flex-direction: row !important; width: max-content !important; min-width: 100%; }
  .bm-services-layout .services_nav-item { flex: 0 0 180px; width: 180px; min-height: 68px; padding: .85rem !important; }
  .bm-services-layout .services_wrap { padding: 1.5rem; }
  .bm-services-layout .services_item-top { flex-direction: column; }
  .bm-services-layout .service_lottie, .bm-services-layout .services_wrap .bm-method-icon { width: 90px; height: 90px; }
}
@media (prefers-reduced-motion: reduce) and (max-width: 0px) { .bm-services-layout .services_nav-item { transition: none; } }

/* Imagem entre a metodologia e os cases, preservada sem recorte. */
.bm-office-section { padding: clamp(1rem,3vw,2.5rem) 0 clamp(2.5rem,6vw,5rem); }
.bm-office-figure { margin: 0; overflow: hidden; border-radius: 18px; border: 1px solid rgba(255,255,255,.08); }
.bm-office-figure img { display: block; width: 100%; height: auto; }
/* Navegação de Serviços discreta: nome e traço da etapa ativa. */
.bm-services-layout .services_nav { gap: .25rem !important; }
.bm-services-layout .services_nav-item {
  grid-template-columns: minmax(0,1fr); min-height: 62px;
  padding: .85rem .5rem .85rem 1.25rem !important;
  border: 0; border-left: 2px solid transparent; border-radius: 0;
  background: none !important; box-shadow: none !important;
}
.bm-services-layout .services_nav-item::after, .bm-services-layout .services_nav-item-num { display: none; }
.bm-services-layout .services_nav-item-text { color: #91a0b1 !important; -webkit-text-fill-color: #91a0b1 !important; font-weight: 400; }
.bm-services-layout .services_nav-item.active { border-left-color: #ff8b48; }
.bm-services-layout .services_nav-item.active .services_nav-item-text { color: #f0f3f7 !important; -webkit-text-fill-color: #f0f3f7 !important; }
.bm-services-layout .services_nav-item:hover { border-color: transparent; border-left-color: rgba(255,139,72,.45); }
.bm-services-layout .services_nav-item.active:hover { border-left-color: #ff8b48; }
@media (max-width: 767px) {
  .bm-office-figure { border-radius: 12px; }
  .bm-services-layout .services_nav-item { flex-basis: auto; width: auto; min-height: 50px; padding: .65rem .9rem !important; border-left: 0; border-bottom: 2px solid transparent; }
  .bm-services-layout .services_nav-item.active { border-bottom-color: #ff8b48; }
  .bm-services-layout .services_nav-item:hover { border-left-color: transparent; }
  .bm-services-layout .services_nav-item.active:hover { border-bottom-color: #ff8b48; }
}

/* Imagem de apoio antes do FAQ, centralizada e com proporção natural. */
.bm-office-section { padding: clamp(1.5rem, 4vw, 3rem) 0; }
.bm-office-section .container-large { max-width: 760px; margin-inline: auto; }
.bm-office-figure { border-radius: 14px; }
.bm-office-figure img { width: 100%; height: auto; }
@media (max-width: 767px) {
  .bm-office-section .container-large { max-width: 560px; }
  .bm-office-figure { border-radius: 10px; }
}

/* Seção Equipe: recorte apenas da lateral esquerda e entrada discreta. */
.bm-team-heading { margin-bottom: 1.5rem; }
.bm-team-heading .eyebrow-text { color: var(--bm-muted); margin-bottom: .5rem; }
.bm-team-heading h2 { font-size: clamp(2.5rem,5vw,4rem); line-height: 1; margin: 0; }
.bm-office-figure .bm-team-image { width: 112%; max-width: none; height: auto; margin-left: -12%; }
/* Composição dos cases baseada no desenho: fatos, marca e relato, comparação e resultados. */
.bm-case-sketch-content { padding: 0 0 2rem; }
.bm-case-page-facts dt { display: flex; align-items: center; gap: .65rem; }
.bm-case-page-facts dt svg { flex: none; width: 25px; height: 25px; }
.bm-case-story { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(2rem,6vw,5rem); align-items: center; padding: clamp(2rem,5vw,4.5rem) 0; }
.bm-case-brand { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.5rem; min-height: 220px; }
.bm-case-brand .eyebrow-text { color: var(--bm-muted); }
.bm-case-brand img { display: block; width: min(100%,340px); max-height: 225px; object-fit: contain; }
.bm-case-brand img[src*="case-logo-so-hydraulica"] { filter: brightness(0) invert(1); }
.bm-case-witness { min-width: 0; padding-left: clamp(1.5rem,4vw,3rem); border-left: 1px solid rgba(255,255,255,.12); }
.bm-case-witness-photo { margin: 0 0 1.5rem; }
.bm-case-witness-photo img { display: block; width: auto; max-width: min(100%,240px); height: auto; max-height: 210px; border-radius: 14px; object-fit: contain; filter: grayscale(1); }
.bm-case-witness-photo figcaption { margin-top: .75rem; color: var(--bm-muted); font-size: .9rem; }
.bm-case-witness blockquote { margin: 0 0 1.25rem; padding: 0; border: 0; color: #f0f3f6; font-size: clamp(1.1rem,1.6vw,1.3rem); line-height: 1.7; }
.bm-case-witness > p { color: var(--bm-muted); line-height: 1.6; }
.bm-case-witness .bm-audio-testimonial { margin-bottom: 0; }
.bm-case-comparison { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(1.5rem,4vw,3.5rem); padding: clamp(2rem,5vw,4rem) 0; border-top: 1px solid rgba(255,255,255,.08); }
.bm-case-comparison-panel h2 { margin: 0 0 1.25rem; color: #fff; font-size: clamp(1.8rem,3vw,2.5rem); }
.bm-case-comparison-panel p { color: #aab6c4; font-size: 1.1rem; line-height: 1.8; }
.bm-case-outcomes { padding: clamp(2rem,5vw,4rem) 0; }
.bm-case-outcomes > h2 { margin: 0 0 2rem; text-align: center; color: #fff; font-size: clamp(2rem,4vw,3rem); }
.bm-case-outcomes .bm-results { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
.bm-case-outcomes .bm-results > div { text-align: center; padding: 2rem 1rem; background: transparent; border: 0; box-shadow: none; }
.bm-case-outcomes .bm-results strong { display: block; color: var(--bm-orange); font-size: clamp(2.5rem,5vw,4.5rem); font-weight: 400; line-height: 1.1; font-variant-numeric: tabular-nums; }
.bm-case-outcomes .bm-results span { display: block; margin-top: .75rem; color: #b1bdca; font-size: 1rem; line-height: 1.5; }
.bm-case-outcomes .bm-case-benefits { grid-template-columns: repeat(3,minmax(0,1fr)); }
.bm-case-final-cta .padding-section-large { padding-top: clamp(3rem,7vw,6rem); }
.bm-reveal-ready [data-bm-reveal] { opacity: 0; transform: translateY(22px); transition: opacity 700ms ease, transform 850ms cubic-bezier(.2,.7,.2,1); }
.bm-reveal-ready [data-bm-reveal].is-revealed { opacity: 1; transform: none; }
@media (max-width: 767px) {
  .bm-case-story { grid-template-columns: minmax(0,1fr); gap: 2rem; }
  .bm-case-brand { min-height: 150px; }
  .bm-case-brand img { max-width: 260px; max-height: 170px; }
  .bm-case-witness { border-left: 0; border-top: 1px solid rgba(255,255,255,.1); padding: 2rem 0 0; }
  .bm-case-comparison { grid-template-columns: minmax(0,1fr); gap: 2rem; }
  .bm-case-outcomes .bm-results, .bm-case-outcomes .bm-case-benefits { grid-template-columns: minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) and (max-width: 0px) {
  .bm-reveal-ready [data-bm-reveal] { opacity: 1; transform: none; transition: none; }
}
.bm-team-frame { transition: border-color 350ms ease, box-shadow 500ms ease; }
.bm-team-frame .bm-team-image { transition: transform 1200ms cubic-bezier(.2,.7,.2,1); }
@media (hover: hover) and (pointer: fine) {
  .bm-team-frame:hover { border-color: rgba(255,139,72,.35); box-shadow: 0 18px 55px rgba(0,0,0,.2); }
  .bm-team-frame:hover .bm-team-image { transform: scale(1.025); }
}
@media (prefers-reduced-motion: reduce) and (max-width: 0px) { .bm-team-frame, .bm-team-frame .bm-team-image { transition: none; transform: none !important; } }

/* Ficha do case: quatro colunas alinhadas, sem caixas ou efeitos de vidro. */
.bm-case-page-facts { gap: 0; align-items: stretch; border-top: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); }
.bm-case-page-facts > div { display: grid; grid-template-rows: 34px 1fr; align-content: start; gap: 1rem; min-width: 0; padding: 1.5rem; background: none; border: 0; border-radius: 0; box-shadow: none; }
.bm-case-page-facts > div + div { border-left: 1px solid rgba(255,255,255,.1); }
.bm-case-page-facts dt { margin: 0; min-height: 34px; align-items: center; color: #dce2e8; font-size: .9rem; }
.bm-case-page-facts dt svg { color: var(--bm-orange); width: 23px; height: 23px; }
.bm-case-page-facts dd { align-self: start; color: #9caaba; font-size: .96rem; line-height: 1.7; }
/* Depoimento: retrato circular em cima e aspas tipográficas grandes. */
.bm-case-witness { display: flex; flex-direction: column; align-items: center; text-align: center; }
.bm-case-witness-photo { margin: 0 0 1rem; }
.bm-case-witness-photo img { width: 112px; height: 112px; max-width: none; max-height: none; border-radius: 50%; object-fit: cover; object-position: center 28%; }
.bm-case-witness-photo img[src*="client-mgp"] { object-position: 45% 12%; }
.bm-case-witness-photo img[src*="client-murilo"] { object-position: center 50%; }
.bm-case-witness-photo img[src*="client-felipe-arthur"] { object-position: center 25%; }
.bm-case-quote-mark { display: block; height: 54px; color: var(--bm-orange); font-family: Georgia,serif; font-size: 100px; line-height: 1; }
.bm-case-witness blockquote { position: relative; max-width: 50ch; font-size: clamp(1.1rem,1.6vw,1.3rem); line-height: 1.7; }
.bm-case-witness > figcaption { margin-top: .5rem; color: #91a0b1; font-size: .9rem; line-height: 1.5; }
.bm-case-witness .bm-audio-testimonial { width: 100%; box-sizing: border-box; }
/* Comparação com eixo central, evitando dois cards decorativos. */
.bm-case-comparison { grid-template-columns: minmax(0,1fr) 64px minmax(0,1fr); gap: clamp(1rem,3vw,2.5rem); align-items: center; }
.bm-case-comparison-panel { align-self: stretch; padding: .5rem 0; }
.bm-case-vs { display: grid; place-items: center; width: 64px; height: 64px; border: 1px solid rgba(255,139,72,.35); border-radius: 50%; color: var(--bm-orange); font-size: .85rem; font-weight: 500; letter-spacing: .08em; }
@media (max-width: 991px) {
  .bm-case-page-facts > div:nth-child(3) { border-left: 0; }
  .bm-case-page-facts > div:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.1); }
}
@media (max-width: 767px) {
  .bm-case-page-facts > div { padding: 1rem; gap: .75rem; }
  .bm-case-page-facts dt { font-size: .85rem; }
  .bm-case-comparison { grid-template-columns: minmax(0,1fr); gap: 1rem; }
  .bm-case-vs { width: 48px; height: 48px; margin: .25rem auto; }
}

.bm-case-witness-photo img[src*="client-felipe-arthur"] { object-fit: contain; padding: 8px; box-sizing: border-box; background: #101a25; }

/* Resultados com composição editorial: um destaque e duas leituras de apoio. */
.bm-case-outcomes > h2 { text-align: left; margin-bottom: 1.75rem; letter-spacing: -.025em; }
.bm-case-outcomes .bm-results {
  grid-template-columns: minmax(0,1.1fr) minmax(0,1fr);
  grid-template-rows: repeat(2,minmax(110px,auto)); gap: 0 2.5rem;
  border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2);
}
.bm-case-outcomes .bm-results > div {
  min-width: 0; margin: 0; padding: 1.75rem 0; text-align: left;
  border: 0; border-radius: 0; background: none; box-shadow: none;
}
.bm-case-outcomes .bm-results > div:first-child {
  grid-row: 1 / 3; display: flex; flex-direction: column; justify-content: center;
  align-items: flex-start; padding-right: 2.5rem; border-right: 1px solid rgba(255,255,255,.12);
}
.bm-case-outcomes .bm-results > div:not(:first-child) {
  display: grid; grid-template-columns: minmax(100px,.8fr) minmax(0,1fr); gap: 1.25rem; align-items: center;
}
.bm-case-outcomes .bm-results > div:nth-child(3) { border-top: 1px solid rgba(255,255,255,.12); }
.bm-case-outcomes .bm-results strong { color: #f2eee7; font-size: clamp(2.75rem,4.5vw,4.5rem); font-weight: 300; letter-spacing: -.055em; line-height: 1.05; }
.bm-case-outcomes .bm-results > div:first-child strong { font-size: clamp(4.5rem,8vw,8rem); }
.bm-case-outcomes .bm-results span { margin: 0; max-width: 25ch; color: #9baaba; font-size: 1rem; line-height: 1.55; }
.bm-case-outcomes .bm-results > div:first-child span { margin-top: 1.25rem; padding-left: 1.25rem; border-left: 2px solid var(--bm-orange); }
/* Retratos em cor apenas nas páginas internas. */
.bm-case-witness-photo img { filter: none !important; }
/* VS tipográfico, sem o botão circular. */
.bm-case-comparison { grid-template-columns: minmax(0,1fr) 80px minmax(0,1fr); }
.bm-case-vs {
  position: relative; width: 80px; height: 136px; margin: auto;
  border: 0; border-radius: 0; background: none; box-shadow: none;
  color: #e7e2d9; font-family: Georgia,serif; font-style: italic;
  font-weight: 400; font-size: 2.25rem; letter-spacing: -.08em; text-transform: lowercase;
}
.bm-case-vs::before, .bm-case-vs::after {
  content: ""; position: absolute; left: 50%; width: 1px; height: 38px;
  background: #db6c30; transform: rotate(24deg); transform-origin: center;
}
.bm-case-vs::before { top: 0; }
.bm-case-vs::after { bottom: 0; }
@media (max-width: 767px) {
  .bm-case-outcomes .bm-results { grid-template-columns: minmax(0,1fr); grid-template-rows: auto; gap: 0; }
  .bm-case-outcomes .bm-results > div:first-child, .bm-case-outcomes .bm-results > div:not(:first-child) {
    grid-row: auto; display: grid; grid-template-columns: minmax(108px,.8fr) minmax(0,1fr);
    gap: 1.25rem; align-items: center; padding: 1.75rem 0; border: 0;
  }
  .bm-case-outcomes .bm-results > div + div { border-top: 1px solid rgba(255,255,255,.12); }
  .bm-case-outcomes .bm-results strong, .bm-case-outcomes .bm-results > div:first-child strong { font-size: clamp(2.6rem,10vw,3.25rem); }
  .bm-case-outcomes .bm-results > div:first-child span { margin: 0; padding: 0; border: 0; }
  .bm-case-comparison { grid-template-columns: minmax(0,1fr); }
  .bm-case-vs { width: 120px; height: 58px; margin: .5rem auto; }
  .bm-case-vs::before, .bm-case-vs::after { width: 30px; height: 1px; top: 50%; bottom: auto; transform: rotate(-24deg); }
  .bm-case-vs::before { left: 0; }
  .bm-case-vs::after { left: auto; right: 0; }
}

/* Resultados qualitativos seguem a mesma composição editorial dos números. */
.bm-case-outcomes .bm-case-benefits { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); grid-template-rows: repeat(2,auto); gap: 0 2.5rem; border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.bm-case-outcomes .bm-case-benefits > div { padding: 1.75rem 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.bm-case-outcomes .bm-case-benefits > div:first-child { grid-row: 1 / 3; display: flex; flex-direction: column; justify-content: center; padding-right: 2.5rem; border-right: 1px solid rgba(255,255,255,.12); }
.bm-case-outcomes .bm-case-benefits > div:nth-child(3) { border-top: 1px solid rgba(255,255,255,.12); }
.bm-case-outcomes .bm-case-benefits h3 { color: #f2eee7; font-size: 1.5rem; font-weight: 400; margin-bottom: .75rem; }
.bm-case-outcomes .bm-case-benefits > div:first-child h3 { font-size: clamp(2rem,4vw,3.4rem); line-height: 1.15; }
.bm-case-outcomes .bm-case-benefits p { color: #9baaba; font-size: 1rem; line-height: 1.65; }
/* Formulário aberto e compacto: os campos não ficam dentro de outro card. */
.wwu-body .contact-wrapper { grid-template-columns: minmax(0,.95fr) minmax(0,1.1fr); gap: clamp(2rem,5vw,4rem); align-items: stretch; }
.wwu-body .contact-info { display: flex; flex-direction: column; }
.wwu-body .contact-label { margin-bottom: 16px; }
.wwu-body .contact-heading { margin-bottom: 18px; }
.wwu-body .contact-description { margin-bottom: 26px; }
.wwu-body .contact-details { margin-top: auto; gap: 14px; }
.wwu-body .contact-form { display: flex; flex-direction: column; justify-content: space-between; gap: 12px; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; backdrop-filter: none !important; }
.wwu-body .form-row { width: 100%; gap: 14px; margin: 0; }
.wwu-body .bm-form-row-three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.wwu-body .form-group { min-width: 0; gap: 5px; }
.wwu-body .form-group label { font-size: 12px; line-height: 1.4; }
.wwu-body .form-group input, .wwu-body .form-group textarea, .wwu-body .bm-select__trigger { min-height: 40px; padding: 8px 0 !important; border: 0 !important; border-bottom: 1px solid rgba(255,255,255,.22) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; font-size: 14px; }
.wwu-body .bm-select__trigger { height: 40px; }
.wwu-body .form-group textarea { min-height: 66px; height: 66px; resize: vertical; }
.wwu-body .form-group input:focus, .wwu-body .form-group textarea:focus, .wwu-body .bm-select__trigger:focus-visible { border-bottom-color: #ff8b48 !important; outline: 2px solid rgba(255,139,72,.4); outline-offset: 3px; }
.wwu-body .form-submit { width: 100%; min-height: 52px; margin: 4px 0 0; padding: 14px 20px !important; border: 0; border-radius: 8px !important; background: #f78136 !important; color: #081522 !important; font-size: 1rem !important; font-weight: 650; text-transform: none; letter-spacing: 0; box-shadow: none !important; justify-content: space-between; }
.wwu-body .form-submit:hover { background: #ff9a57 !important; }
.wwu-body .form-submit svg { width: 24px; height: 24px; }
.wwu-body .bm-form-note { margin: 0; font-size: 11px; line-height: 1.4; text-align: left; }
.wwu-body .bm-form-error[hidden] { display: none; }
/* Serviços em uma faixa horizontal, com troca de painéis por sobreposição. */
.section_services .bm-services-layout { display: block; }
.bm-services-layout > .services_nav-wrap { position: relative; top: auto; overflow-x: auto !important; margin-bottom: 1.5rem; padding-bottom: 4px; }
.bm-services-layout .services_nav { flex-direction: row !important; width: max-content !important; min-width: 100%; justify-content: space-between; gap: 1.5rem !important; }
.bm-services-layout .services_nav-item { flex: 0 0 auto; width: auto; min-height: 50px; padding: .6rem 0 !important; border: 0; border-bottom: 2px solid transparent; background: none !important; border-radius: 0; }
.bm-services-layout .services_nav-item.active { border-left: 0; border-bottom-color: #ff8b48; }
.bm-services-layout .services_nav-item:hover { border-left-color: transparent; border-bottom-color: rgba(255,139,72,.45); }
.bm-services-layout > .services { position: relative; overflow: hidden; border-radius: 16px; touch-action: pan-y; }
.bm-services-layout .services_wrap { position: relative; z-index: 1; }
.bm-services-layout .services_wrap.bm-service-outgoing { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
@media (max-width: 767px) {
  .bm-case-outcomes .bm-case-benefits { grid-template-columns: minmax(0,1fr); }
  .bm-case-outcomes .bm-case-benefits > div:first-child { grid-row: auto; border-right: 0; padding-right: 0; }
  .bm-case-outcomes .bm-case-benefits > div + div { border-top: 1px solid rgba(255,255,255,.12); }
  .wwu-body .contact-wrapper { grid-template-columns: minmax(0,1fr); gap: 2.5rem; }
  .wwu-body .contact-form { justify-content: flex-start; gap: 18px; }
  .wwu-body .form-row, .wwu-body .bm-form-row-three { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .wwu-body .form-submit { margin-top: 6px; }
  .bm-services-layout .services_nav { gap: 1.25rem !important; }
}
/* Títulos dos cases com degradê da identidade BMAI. */
.bm-case-page-title, .section_case-studies .cs_title {
  color: #fff1e5;
  background-image: linear-gradient(105deg, #fff8f0 8%, #ffd2ae 56%, #ff8b48 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}
h1.bm-case-page-title .hl { background-image: none !important; color: inherit !important; -webkit-text-fill-color: inherit !important; }

/* Resultados sem cards, alinhados em três colunas; principal no centro. */
.bm-case-outcomes > h2 { text-align: center; margin: 0 0 2.5rem; }
.bm-case-outcomes .bm-results, .bm-case-outcomes .bm-case-benefits {
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: auto;
  gap: clamp(1.5rem,4vw,3rem); margin: 0; border: 0; background: none; box-shadow: none;
}
.bm-case-outcomes .bm-results > div,
.bm-case-outcomes .bm-results > div:first-child,
.bm-case-outcomes .bm-results > div:not(:first-child),
.bm-case-outcomes .bm-case-benefits > div,
.bm-case-outcomes .bm-case-benefits > div:first-child {
  grid-row: auto; display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: auto 1fr;
  align-content: start; align-items: start; justify-items: center;
  gap: 1rem; min-width: 0; padding: 1rem 0; margin: 0;
  border: 0; border-radius: 0; text-align: center; background: none; box-shadow: none;
}
.bm-case-outcomes .bm-results > div:nth-child(3),
.bm-case-outcomes .bm-results > div + div,
.bm-case-outcomes .bm-case-benefits > div:nth-child(3),
.bm-case-outcomes .bm-case-benefits > div + div { border: 0; }
.bm-case-outcomes .bm-results strong,
.bm-case-outcomes .bm-results > div:first-child strong {
  min-height: 1.1em; margin: 0; color: #dce2e8; font-size: clamp(2.8rem,5vw,4.5rem);
  line-height: 1.1; font-weight: 300; letter-spacing: -.045em; font-variant-numeric: tabular-nums;
}
.bm-case-outcomes .bm-results span,
.bm-case-outcomes .bm-results > div:first-child span {
  display: block; max-width: 26ch; margin: 0; padding: 0; border: 0;
  color: #9caaba; font-size: 1rem; line-height: 1.6; text-align: center;
}
.bm-case-outcomes .bm-case-benefits h3,
.bm-case-outcomes .bm-case-benefits > div:first-child h3 {
  min-height: 2.5em; margin: 0; color: #dce2e8; font-size: clamp(1.35rem,2.2vw,1.9rem);
  font-weight: 400; line-height: 1.25; text-align: center;
}
.bm-case-outcomes .bm-case-benefits p { margin: 0; color: #9caaba; line-height: 1.6; text-align: center; }
.bm-case-outcomes .bm-results > .bm-result-primary strong,
.bm-case-outcomes .bm-case-benefits > .bm-result-primary h3 { color: #ff8b48; }
.bm-reveal-ready .bm-case-outcomes.is-revealed :is(.bm-results,.bm-case-benefits) > div {
  animation: bm-results-arrive 650ms cubic-bezier(.2,.7,.2,1) both;
}
.bm-reveal-ready .bm-case-outcomes.is-revealed :is(.bm-results,.bm-case-benefits) > div:nth-child(2) { animation-delay: 90ms; }
.bm-reveal-ready .bm-case-outcomes.is-revealed :is(.bm-results,.bm-case-benefits) > div:nth-child(3) { animation-delay: 180ms; }
@keyframes bm-results-arrive { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 640px) {
  .bm-case-outcomes .bm-results, .bm-case-outcomes .bm-case-benefits { grid-template-columns: minmax(0,1fr); gap: 1.5rem; }
  .bm-case-outcomes .bm-case-benefits h3, .bm-case-outcomes .bm-case-benefits > div:first-child h3 { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) and (max-width: 0px) {
  .bm-reveal-ready .bm-case-outcomes.is-revealed :is(.bm-results,.bm-case-benefits) > div { animation: none; }
}

/* H1 dos cases segue o hero: base clara e degradê só no destaque. */
h1.bm-case-page-title { background: none !important; color: #ede7e1 !important; -webkit-text-fill-color: #ede7e1 !important; }
h1.bm-case-page-title .hl {
  background-image: linear-gradient(100deg, hsl(20 100% 52%) 0%, hsl(26 100% 60%) 55%, hsl(33 100% 72%) 100%) !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  color: transparent !important; -webkit-text-fill-color: transparent !important;
}
.bm-case-source-note { margin: 1.5rem auto 0; max-width: 75ch; color: #8393a6; font-size: .8rem; line-height: 1.6; text-align: center; }
/* Contato usa a mesma tipografia, navy e botão laranja do restante do site. */
.wwu-body { background: hsl(var(--background)) !important; color: var(--label); }
.wwu-body, .wwu-body :is(input,textarea,select,button,.bm-select__trigger,.contact-heading,.contact-label) { font-family: "General Sans",system-ui,-apple-system,sans-serif !important; }
.wwu-body::before { content: none; }
.wwu-body .contact-heading { color: #ede7e1; font-weight: 300 !important; letter-spacing: -.03em; }
.wwu-body .contact-heading .accent { background-image: linear-gradient(100deg,hsl(20 100% 52%),hsl(26 100% 60%) 55%,hsl(33 100% 72%)); }
.wwu-body .contact-label { color: var(--bm-muted); font-size: .72rem; font-weight: 500; }
.wwu-body .contact-detail-icon { border: 0; border-radius: 0; background: none; }
.wwu-body .contact-form { border: 0 !important; background: none !important; box-shadow: none !important; }
.wwu-body .form-submit {
  border-radius: 999px !important; color: #fff !important;
  background: linear-gradient(170deg,hsl(22 100% 50% / .95),hsl(22 100% 40% / .92)) !important;
  box-shadow: inset 0 1px 0 hsl(0 0% 100% / .45),inset 0 -1px 0 hsl(0 0% 0% / .12),0 6px 18px -6px hsl(var(--primary) / .55) !important;
  font-weight: 500; justify-content: center; gap: 1.25rem;
}
.wwu-body .form-submit:hover { background: linear-gradient(170deg,hsl(22 100% 53% / .97),hsl(22 100% 42% / .94)) !important; }
.wwu-body .form-group label { color: #aab6c4; font-weight: 400; }

/* Centraliza o consentimento abaixo do botão de envio. */
.wwu-body .bm-form-note { text-align: center; }

/* Campos do formulário sem contorno quadrado ao receber foco. */
.wwu-body .form-group input:focus,
.wwu-body .form-group textarea:focus,
.wwu-body .bm-select__trigger:focus-visible {
  outline: none !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
  border: 0 !important;
  border-bottom: 1px solid #ff8b48 !important;
  border-radius: 0 !important;
}
/* Métricas dos cases soltas no layout, com a legenda sempre antes do número. */
.bm-case-outcomes .bm-results > div,
.bm-case-outcomes .bm-results > div:first-child,
.bm-case-outcomes .bm-results > div:not(:first-child) {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: .45rem !important;
  padding: .75rem 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  text-align: center !important;
}
.bm-case-outcomes .bm-results > div::before,
.bm-case-outcomes .bm-results > div::after {
  content: none !important;
  display: none !important;
}
.bm-case-outcomes .bm-results > div span,
.bm-case-outcomes .bm-results > div:first-child span {
  order: 0 !important;
  max-width: 32ch !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: #9caaba !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
  text-align: center !important;
}
.bm-case-outcomes .bm-results > div strong,
.bm-case-outcomes .bm-results > div:first-child strong {
  order: 1 !important;
  min-height: 0 !important;
  margin: 0 !important;
  color: #dce2e8 !important;
  font-size: clamp(2.8rem, 5vw, 4.5rem) !important;
  font-weight: 300 !important;
  letter-spacing: -.045em !important;
  line-height: 1.05 !important;
  font-variant-numeric: tabular-nums;
}
.bm-case-outcomes .bm-results > .bm-result-primary strong {
  color: #ff8b48 !important;
}

/* Falas dos fundadores: composição editorial sem cartões. */
.bm-founder-voices { position: relative; padding: clamp(4rem,8vw,7rem) 0; }
.bm-founder-voices-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(2rem,5vw,5rem); }
.bm-founder-voice { position: relative; min-width: 0; padding: .5rem 0; }
.bm-founder-voice + .bm-founder-voice { padding-left: clamp(1.5rem,3vw,3rem); border-left: 1px solid rgba(255,255,255,.16); }
.bm-founder-quote-mark { display: block; height: clamp(2.4rem,4vw,3.5rem); color: #ff8b48; font-family: Georgia,serif; font-size: clamp(4rem,7vw,6rem); line-height: .9; }
.bm-founder-voice blockquote { margin: .8rem 0 1.4rem; padding: 0; border: 0; color: #e5e9ed; font-size: clamp(1rem,1.28vw,1.2rem); line-height: 1.8; }
.bm-founder-attribution { margin: 0; color: #ff9a5c; font-size: .82rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
@media (max-width: 767px) {
  .bm-founder-voices { padding: 3.5rem 0; }
  .bm-founder-voices-grid { grid-template-columns: minmax(0,1fr); gap: 2.25rem; }
  .bm-founder-voice + .bm-founder-voice { padding: 2rem 0 0; border-top: 1px solid rgba(255,255,255,.16); border-left: 0; }
  .bm-founder-voice blockquote { font-size: 1rem; line-height: 1.75; }
}

/* Avatar circular exclusivo para o símbolo do Espaço Gourmet no carrossel. */



/* Destaque para os títulos do comparativo nos cases. */
.bm-case-page .bm-case-comparison-panel h2 { margin: 0 0 1rem !important; color: #f1eee8 !important; font-size: clamp(1.4rem,2.1vw,1.8rem) !important; font-weight: 500 !important; line-height: 1.2 !important; letter-spacing: -.025em; }
.bm-case-page .bm-case-comparison-panel h2::after { content: ""; display: block; width: 38px; height: 2px; margin-top: .65rem; background: linear-gradient(90deg,#ff7a2f,#ffb36a); }
/* Os resultados são texto e números livres, sem superfícies de card. */
.bm-case-page .bm-case-outcomes .bm-results > div,
.bm-case-page .bm-case-outcomes .bm-results > div:first-child,
.bm-case-page .bm-case-outcomes .bm-results > div:not(:first-child) {
 background: transparent !important; background-color: transparent !important; background-image: none !important;
 border: 0 !important; border-radius: 0 !important; box-shadow: none !important; outline: none !important; padding: 0 !important;
 backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
.bm-team-quote { position: relative; margin: 1.25rem 0 0 !important; padding: 0 0 0 1.1rem !important; border: 0 !important; border-left: 2px solid #ff8b48 !important; color: #d8dee5 !important; font-size: clamp(1rem,1.2vw,1.12rem) !important; font-weight: 400 !important; line-height: 1.8 !important; }
/* O selo mantém o logo completo dentro de um círculo, sem recortar ou esticar a arte. */




/* O selo de cada cliente usa o mesmo círculo e o mesmo tratamento. */
.bm-story-avatar { box-sizing: border-box; width: 36px; height: 36px; min-width: 36px; aspect-ratio: 1; }
.section_footer .footer_heading { color: #aab6c4 !important; }

/* Etapas: a mesma entrada lateral ligada à rolagem no desktop e no celular. */
@media (prefers-reduced-motion: reduce) and (max-width: 0px) {
  html.bm-motion-ready .section_process .process_step, .section_process .process_step {
    opacity: 1 !important; filter: none !important; transform: none !important; transition: none !important;
  }
}
/* Sem movimento, as mensagens ficam disponíveis em fluxo normal. */
.bm-three-step-sequence.is-static { height: auto !important; }
.bm-three-step-sequence.is-static .text-sequence-sticky { position: static !important; height: auto !important; min-height: 0 !important; overflow: visible !important; padding: 3rem 1.25rem; }
.bm-three-step-sequence.is-static .text-line { position: static !important; display: flex !important; flex-direction: column; gap: 3rem; padding: 0; transform: none !important; width: 100%; }
.bm-three-step-sequence.is-static .text-sequence-stop, .bm-three-step-sequence.is-static .final-sequence { position: static !important; display: block !important; width: 100%; height: auto !important; opacity: 1 !important; filter: none !important; transform: none !important; margin: 0; }
.bm-three-step-sequence.is-static .final-sequence { padding-top: 3rem; }
.bm-three-step-sequence.is-static .radial-gradient { display: none; }
.bm-case-loop[data-bm-paused] { animation-play-state: paused !important; }
@media (hover:none) { .bm-logo-viewport:hover .bm-logo-marquee { animation-play-state: running; } }

/* A primeira tela aparece com o HTML, sem aguardar o motor de animações. */
.bm-home-hero :is(.hero_wrap,.hero_content,.hero_title,.hero_subtitle,.hero_subtitle-txt) {
  opacity: 1 !important; visibility: visible !important; filter: none !important; transform: none !important;
}
/* Reserva a composição das frases antes dos scripts para evitar salto de layout. */
@media (prefers-reduced-motion:no-preference) {
  .w-mod-js .bm-three-step-sequence { height: 380vh !important; height: 380svh !important; }
  .w-mod-js .bm-three-step-sequence .text-sequence-sticky { position: sticky !important; top: 0; height: 100svh; overflow: hidden; }
  .w-mod-js .bm-three-step-sequence .text-line { position: absolute; inset: 0; display: grid; place-items: center; width: 100%; max-width: none; padding: clamp(1.5rem,5vw,4rem); transform: none !important; }
  .w-mod-js .bm-three-step-sequence .text-sequence-stop { grid-area: 1/1; width: 100%; max-width: 38ch; margin: 0; }
  .w-mod-js .bm-three-step-sequence .final-sequence { position: absolute; inset: 0; width: 100%; height: 100%; }
  .w-mod-js .bm-three-step-sequence:not(.is-enhanced) .text-sequence-stop:not(:first-child),
  .w-mod-js .bm-three-step-sequence:not(.is-enhanced) .final-sequence { opacity: 0 !important; pointer-events: none; }
}

/* As decorações não aumentam a largura real da página no celular. */
.section_cta { overflow: clip; isolation: isolate; }
.section_cta .blob_wrap { overflow: clip; max-width: 100%; }
.section_cta .cta_wrap, .section_cta .cta_dashed { min-width: 0; max-width: 100%; box-sizing: border-box; }
.nav_component { left: 0; right: 0; width: 100% !important; opacity: 1 !important; }
@media(max-width:991px) {
 .nav_component .nav_container { position: relative; justify-content: space-between; }
 .nav_component .menu_button { position: relative; z-index: 5; flex: 0 0 44px; min-width: 44px; min-height: 44px; margin-left: auto; pointer-events: auto; }
 .nav_component .nav_brand { flex: none; }
 .nav_component .nav_menu { max-height: calc(100dvh - 72px); overflow-y: auto; }
}
@media(max-width:767px) {
 .section_cta .heading-style-h1 { font-size: clamp(1.8rem,7.5vw,2.75rem) !important; line-height: 1.15 !important; }
 .section_cta .cta_dashed { padding: 1rem; }
 .section_footer .footer-wrap { min-width: 0; }
 .section_footer .footer_mobile-link { overflow-wrap: anywhere; }
}
@media(hover:none) {
 .bm-case-loop-viewport:hover .bm-case-loop { animation-play-state: running; }
}
@media(max-height:500px) and (orientation:landscape) {
 .bm-three-step-sequence.is-enhanced .final-sequence { padding: 4.5rem 1.25rem 1rem; overflow-y: auto; justify-content: flex-start; }
 .bm-three-step-sequence .final-sequence .text-size-xlarge { font-size: 1rem; line-height: 1.35; }
 .bm-three-step-sequence .final-sequence-sub { gap: .5rem; }
 .bm-three-step-sequence .final-sequence h2 { font-size: 1.6rem; }
}
.section_cta .blob_wrap { left: 0 !important; right: 0 !important; width: 100% !important; max-width: none; overflow: visible; }
/* A entrada animada dos cards do processo não pode alargar a página no celular deitado. */
.section_process .process_cards-wrap { overflow-x: clip; }
/* Texto de apoio da sequência final centralizado sob o título. */
.bm-three-step-sequence .final-sequence-sub { margin-inline: auto; align-items: center; text-align: center; }

/* Fotos do time mantêm a proporção do arquivo; os atributos width/height só reservam o espaço. */
.founder_img img { height: auto; }

/* Serviços: frentes de atuação antes do método. */
.bm-offer { width: 100%; max-width: 1120px; margin: clamp(2.5rem, 6vw, 4rem) auto 0; text-align: center; }
.bm-offer-title { margin: 0 0 1.75rem; font-size: clamp(1.75rem, 3.5vw, 2.5rem); font-weight: 400; line-height: 1.15; }
.bm-offer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; text-align: left; }
.bm-offer-card { padding: clamp(1.25rem, 2.5vw, 1.75rem); border: 1px solid rgba(255,139,72,.2); border-radius: 16px; background: rgba(255,255,255,.025); }
.bm-offer-name { margin: 0 0 .75rem; color: var(--bm-orange); font-size: 1.2rem; font-weight: 500; line-height: 1.3; }
.bm-offer-card p { margin: 0; color: #aab6c4; line-height: 1.6; }
.bm-offer-method { margin: clamp(2rem, 5vw, 3rem) 0 0; color: var(--bm-muted); }
@media (max-width: 767px) { .bm-offer-grid { grid-template-columns: minmax(0, 1fr); } }

/* 29/10/2026 — título das empresas no hero: sem o losango laranja e em uma linha no celular. */
.hero_logos .eyebrow-text { gap: 0; margin-bottom: 1.25rem; }
.hero_logos .eyebrow-text::before { content: none; display: none; }
@media (max-width: 767px) {
  .hero_logos .eyebrow-text {
    white-space: nowrap;
    letter-spacing: .06em;
    font-size: clamp(.5625rem, 2.7vw, .72rem) !important;
    margin-bottom: 1.5rem;
  }
}

/* 29/10/2026 — selo Meta Tech Provider no rodapé (logo oficial da Meta, sem moldura). */
.bm-footer-credentials { display: flex; justify-content: center; margin-bottom: 2.5rem; }
.bm-footer-credentials__mark { display: inline-flex; align-items: center; gap: .75rem; }
.bm-footer-credentials__mark img { display: block; width: auto; height: 22px; }
.bm-footer-credentials__caption {
  padding-left: .75rem; border-left: 1px solid rgba(170, 182, 196, .35);
  color: #aab6c4; font-size: .72rem; line-height: 1.2; letter-spacing: .14em; text-transform: uppercase;
}
.footer_bottom .bm-footer-credentials--barra { margin: 0 2rem; flex: none; }
@media screen and (max-width: 991px) { .footer_bottom .bm-footer-credentials--barra { margin: 0; justify-content: flex-start; } }

/* Selo Meta Tech Provider em fileira abaixo das logos do hero (home) */
.bm-partner-row { display: flex; justify-content: center; align-items: center; width: 100%; margin-top: 2rem; }
.bm-partner-row__mark { display: inline-flex; align-items: center; gap: .75rem; }
.bm-partner-row__mark img { display: block; width: auto; height: 26px; }
.bm-partner-row__caption { padding-left: .75rem; border-left: 1px solid rgba(170, 182, 196, .35); color: #aab6c4; font-size: .72rem; line-height: 1.2; letter-spacing: .14em; text-transform: uppercase; }
@media screen and (max-width: 767px) { .bm-partner-row__mark img { height: 22px; } }

/* 03/11/2026 — selos de parceiros: logo em cima, legenda menor embaixo, centralizados, na escala das logos dos cases. */
.bm-partner-row, .bm-footer-credentials { --col-w: 200px; --logo-w: 165px; --logo-box: 54px; --aws-h: 46px; display: grid; grid-template-columns: repeat(4, var(--col-w)); justify-content: center; justify-items: center; align-items: start; gap: 1.5rem; width: 100%; margin-left: auto; margin-right: auto; }
.footer_bottom .bm-footer-credentials--barra { --col-w: 118px; --logo-w: 92px; --logo-box: 30px; --aws-h: 26px; gap: .5rem; width: auto; margin-left: 0; margin-right: 0; }
.bm-partner-row__mark, .bm-footer-credentials__mark { width: var(--col-w); display: grid; grid-template-rows: var(--logo-box) auto; justify-items: center; align-items: center; row-gap: .55rem; text-align: center; }
.bm-partner-row__mark img, .bm-footer-credentials__mark img { display: block; width: var(--logo-w); height: auto; max-width: none; }
.bm-partner-row__mark--aws img, .bm-footer-credentials__mark--aws img { width: auto; height: var(--aws-h); }
.bm-partner-row__caption, .bm-footer-credentials__caption { display: block; padding: 0; border: 0; white-space: nowrap; color: #aab6c4; font-size: .7rem; line-height: 1.2; letter-spacing: .16em; text-transform: uppercase; }
.footer_bottom .bm-footer-credentials--barra .bm-footer-credentials__caption { font-size: .5rem; letter-spacing: .1em; }
@media screen and (max-width: 767px) {
  .bm-partner-row, .bm-footer-credentials { --col-w: 100%; --logo-w: 118px; --logo-box: 40px; --aws-h: 34px; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; gap: 1.6rem 1rem; }
  .bm-partner-row__caption, .bm-footer-credentials__caption { font-size: .6rem; letter-spacing: .12em; }
  .footer_bottom .bm-footer-credentials--barra { --col-w: 100%; --logo-w: 92px; --logo-box: 30px; --aws-h: 26px; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; max-width: 280px; gap: 1rem .5rem; }
  .footer_bottom .bm-footer-credentials--barra .bm-footer-credentials__caption { font-size: .5rem; letter-spacing: .1em; }
}

/* 03/11/2026 — título acima dos selos de parceiros. */
.bm-partner-label { width: 100%; align-self: center; margin: 2rem 0 0; text-align: center; color: #aab6c4; font-size: .72rem; line-height: 1.2; letter-spacing: .18em; text-transform: uppercase; }
.bm-partner-label + .bm-partner-row { margin-top: -1rem; }
.bm-partner-label--rodape { margin: 0 0 1.1rem; }
@media screen and (max-width: 767px) { .bm-partner-label { font-size: .64rem; letter-spacing: .14em; } .bm-partner-label + .bm-partner-row { margin-top: -.3rem; } }

/* 06/11/2026 — selo OpenAI: só a palavra OpenAI em cima e "Partner Network" embaixo, como o Google Cloud; altura própria para pesar igual aos outros logos. */
.bm-partner-row, .bm-footer-credentials { --openai-h: 36px; }
.footer_bottom .bm-footer-credentials--barra { --openai-h: 21px; }
@media screen and (max-width: 767px) { .bm-partner-row, .bm-footer-credentials { --openai-h: 28px; } .footer_bottom .bm-footer-credentials--barra { --openai-h: 21px; } }
.bm-partner-row__mark--openai img, .bm-footer-credentials__mark--openai img { width: auto; height: var(--openai-h); }
