/* _brand.css — Editorial Quiet
 * Editar aqui para personalizar cores, fontes e tokens do projeto.
 * Esta é a única fonte de verdade de tokens do workspace.
 * O _build.html nunca remove o bloco :root deste arquivo.
 * Gerado em: 2026-05-19
 */

/* — Global Resets & Fixes — */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  overflow-x: hidden;
  max-width: 100%;
}

:root {
  /* — Cores (Manual da Marca V2 + design aprovado) — */
  --t-bg: #EEEDEB;
  /* Off-white (fundo de página) */
  --t-surface: #ffffff;
  /* Branco (cartões) */
  --t-surface-2: #f4f3f1;
  /* Superfície clara (seções/cards alternados) */
  --t-fg: #042441;
  /* Azul Marinho (texto/figura) */
  --t-fg-deep: #041C2C;
  /* Azul quase-preto (seções escuras) */
  --t-navy-2: #0d3858;
  /* Navy claro (gradientes/realces) */
  --t-accent: #D39F56;
  --t-btn-solid-fg: var(--t-fg);
  /* Dourado */
  --t-accent-deep: #AB6A0F;
  /* Bronze (hover/estados do dourado) */
  --t-accent-light: #E6B76B;
  /* Dourado claro */
  --t-muted: #5a6772;
  /* Texto secundário */
  --t-muted-2: #9aa3ab;
  /* Texto terciário/legendas */
  --t-muted-3: #c8ccd0;
  /* Texto fraco/ícones */
  /* — Semânticos — */
  --t-success: #1f8a5b;
  --t-danger: #c0392b;
  --t-whatsapp: #25d366;

  /* — Tipografia —
   * Trocar fonte: edite a linha abaixo e atualize o <link> Google Fonts no HTML.
   */
  --t-f-display: 'Bebas Neue', Impact, sans-serif;
  --t-f-serif: 'Fraunces', Georgia, serif;
  --t-f-sans: 'Outfit', Helvetica, sans-serif;
  --t-f-body: 'Outfit', Helvetica, sans-serif;
  --t-f-mono: 'Geist Mono', monospace;

  /* — Radii — */
  --t-radii-sm: 4px;
  --t-radii-md: 8px;
  --t-radii-lg: 12px;
  --t-radii-xl: 16px;
  --t-radii-pill: 9999px;

  /* — Heading & eyebrow — */
  --t-h1-weight: 400;
  --t-h1-case: none;
  --t-h1-tracking: -0.025em;
  --t-eyebrow-tracking: 3em;

  /* — Spacing — */
  --t-spacing-xs: 0.25rem;
  --t-spacing-sm: 0.5rem;
  --t-spacing-md: 1rem;
  --t-spacing-lg: 1.5rem;
  --t-spacing-xl: 2.5rem;
  --t-spacing-2xl: 4rem;
  --t-spacing-3xl: 5rem;

  /* — Container — */
  --t-display-scale: 1;
  --t-container-max: 1440px;

  /* — Atoms (identidade do tema) — */
  --t-btn-weight: 400;
  --t-btn-radius: 0;
  --t-card-radius: var(--t-radii-sm);
  --t-body-leading: 1.75;
  --t-btn-height-md: 2.75rem;
  --t-btn-border-width: 1px;
  --t-input-border-width: 1px;
  --t-card-border-width: 1px;
  /* Borda sutil dos cards (w10-card--bordered) — navy 8%, como o handoff.
     Sem isto, o DS cai no fallback --t-muted (cinza pesado, destoante). */
  --t-card-border: color-mix(in srgb, var(--t-fg) 8%, transparent);

  /* — Customizações de átomo — */
  --t-btn-radius: 0px;
  --t-btn-tracking: 0.04em;
  --t-card-radius: var(--t-radii-xl);

  /* — Elevação (sombras) — fonte única; usadas via var(--t-shadow-*). */
  --t-shadow-hero: 0 32px 64px rgba(0, 0, 0, 0.28), 0 16px 32px rgba(0, 0, 0, 0.16);
  --t-shadow-float: 0 18px 40px rgba(0, 0, 0, 0.25);
  --t-shadow-media: 0 24px 70px color-mix(in srgb, var(--t-fg-deep) 14%, transparent);

  /* — Superfície glass do header (navy translúcido sobre o hero) — */
  --t-nav-glass-bg: rgba(19, 55, 84, 0.9);
}

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Garante que [hidden] nunca seja sobrescrito por display de componentes (ex.: flex) */
[hidden] { display: none !important; }

/* Base tipográfica do tema: o W10 DS aplica font-family apenas nos componentes
   (.w10-*), não no <body> — sem isto o texto corrido herda o serif padrão do
   navegador. Define Outfit (--t-f-body) e as cores base, espelhando o wrapper do
   design aprovado. Os títulos/realces seguem com sua própria família (display/
   serif). 100% tokens (RNF-08/09). */
body {
  font-family: var(--t-f-body);
  color: var(--t-fg);
  background-color: var(--t-bg);
  /* Altura aproximada do header fixo (logo 1.5rem + padding glass 1.25rem*2),
     usada para deslocar o conteúdo que fica sob o header (MU header fixo). */
  --mu-header-h: 4.75rem;
  /* Espaçamento vertical superior de seção — fonte única do ritmo entre blocos.
     Consumido por .mu-section (padding-top) e pela margin-top do footer. */
  --mu-section-pt: clamp(2rem, 8vw, 6rem);
}

/* — Murano Custom Utilities — */
.murano-glass {
  background: color-mix(in srgb, var(--t-bg) 85%, transparent);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid color-mix(in srgb, var(--t-fg) 8%, transparent);
}

.murano-glass-dark {
  background: color-mix(in srgb, var(--t-fg) 80%, transparent);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  color: var(--t-bg);
  border: 1px solid color-mix(in srgb, var(--t-bg) 15%, transparent);
}

/* — Fritz Hansen Clone Utilities (V5) — */
.mu-carousel {
  display: flex;
  overflow-x: auto;
  gap: 2px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  /* Firefox */
}

.mu-carousel::-webkit-scrollbar {
  display: none;
  /* Safari/Chrome */
}

.mu-carousel-item {
  scroll-snap-align: start;
  flex: 0 0 70vw;
  position: relative;
}

@media (min-width: 768px) {
  .mu-carousel-item {
    flex: 0 0 45vw;
  }
}

@media (min-width: 1200px) {
  .mu-carousel-item {
    flex: 0 0 33.333vw;
  }
}

.mu-product-card {
  display: flex;
  flex-direction: column;
  background: var(--t-surface);
  transition: opacity 0.3s;
}

.mu-product-card:hover {
  opacity: 0.9;
}

.mu-product-card img {
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
}

/* A recoloração da nav no scroll (MU-62 / .mu-nav-scrolled) foi removida: o
   header agora mantém o fundo glass escuro em qualquer posição (requisito do
   header fixo). O script mu-nav-scrolled.js deixou de ser enfileirado. */

/* — Classes Residuais (DRY) para a V6 — */
.mu-theme {
  margin: 0;
  font-family: var(--t-f-sans);
  background-color: var(--t-surface);
  color: var(--t-fg);
}

.mu-bg-muted {
  background-color: color-mix(in srgb, var(--t-muted) 10%, var(--t-bg));
}

.mu-bg-white {
  background-color: #fff;
}

.mu-img-cover {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mu-filter-dark {
  filter: brightness(0.65);
}

.mu-bg-dark {
  background-color: var(--t-fg);
  color: var(--t-bg);
}

.mu-text-muted-light {
  color: color-mix(in srgb, var(--t-bg) 60%, transparent);
}

.mu-text-muted-lighter {
  color: color-mix(in srgb, var(--t-bg) 40%, transparent);
}

.mu-border-top-light {
  border-top: 1px solid color-mix(in srgb, var(--t-bg) 15%, transparent);
}

/* — Utilitários de Texto e Elementos Residuais (DRY) — */
.mu-text-white {
  color: #fff !important;
}

.mu-text-muted {
  color: var(--t-muted);
}

.mu-tracking-widest {
  letter-spacing: 0.2em;
}

.mu-tracking-wider {
  letter-spacing: 0.05em;
}

.mu-uppercase {
  text-transform: uppercase;
}

.mu-shadow-hero {
  box-shadow: var(--t-shadow-hero);
}

.mu-btn-inverted {
  background-color: #fff;
  color: #000;
  border-color: #fff;
}

.mu-btn-inverted:hover {
  background-color: #f1f1f1;
}

.mu-border-white {
  border-color: #fff;
}

.mu-pad-editorial {
  padding: 10vw 8vw;
}

.mu-grid-split {
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
}

.mu-logo-img {
  height: 28px;
  width: auto;
  display: block;
}

.mu-flex-1 {
  flex: 1;
}

.mu-min-h-60vh {
  min-height: 60vh;
}

.mu-aspect-tall {
  padding-bottom: 120%;
}

.mu-absolute-caption {
  bottom: 40px;
  left: 40px;
}

.mu-absolute-caption-sm {
  bottom: 32px;
  left: 32px;
}

.mu-border-top-darker {
  border-top: 1px solid color-mix(in srgb, var(--t-muted) 20%, transparent);
}

.mu-logo-footer {
  height: 24px;
  filter: brightness(0) invert(1);
}

.mu-grid-rows-2 {
  grid-template-rows: 1fr 1fr;
}

.mu-grid-footer {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.mu-text-bg {
  color: var(--t-bg);
}

.mu-text-inherit {
  color: inherit;
}

.mu-no-underline {
  text-decoration: none;
}

/* — Hero Dark (V8) — */
.mu-hero-dark {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 88% 5%, color-mix(in srgb, var(--t-fg) 95%, #0b4265), transparent 34%),
    linear-gradient(135deg, var(--t-fg), color-mix(in srgb, var(--t-fg) 100%, #000 20%));
}

.mu-hero-dark::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.18;
  background-image: radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--t-accent) 60%, transparent) 1px, transparent 0);
  background-size: 22px 22px;
  mask-image: linear-gradient(90deg, #000, transparent 42%);
  pointer-events: none;
}

.mu-hero-media {
  position: relative;
  min-height: 430px;
}

/* .mu-hero-media::before {
  content: "";
  position: absolute;
  inset: -10px;
  border: 1px solid color-mix(in srgb, var(--t-accent) 92%, transparent);
  border-radius: 34px;
  clip-path: polygon(10% 0, 100% 0, 100% 88%, 88% 100%, 0 100%, 0 12%);
  pointer-events: none;
} */

.mu-hero-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--t-radii-lg);
  box-shadow: var(--t-shadow-media);
}

/* Slider de imagens do hero */
.mu-hero-slider {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--t-radii-lg);
  box-shadow: var(--t-shadow-media);
  overflow: hidden;
}

.mu-hero-slider .w10-mol-slider__track {
  scroll-marker-group: none;
}

.mu-hero-slide {
  position: relative;
  aspect-ratio: 4 / 3;
}

.mu-hero-slide__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Dots em overlay (bottom center, brancos sobre a imagem) */
.mu-hero-slider .w10-mol-slider__controls {
  position: absolute;
  bottom: var(--t-spacing-md);
  left: 50%;
  transform: translateX(-50%);
  padding: 0;
  z-index: 2;
}

.mu-hero-slider .w10-mol-slider__dot {
  background: color-mix(in srgb, var(--t-surface) 55%, transparent);
}

.mu-hero-slider .w10-mol-slider__dot[data-active] {
  background: var(--t-surface);
}

.mu-image-badge,
.mu-floating-card {
  position: absolute;
  border: 1px solid color-mix(in srgb, var(--t-surface) 12%, transparent);
  background: color-mix(in srgb, var(--t-fg) 92%, transparent);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: var(--t-shadow-float);
}

.mu-image-badge {
  top: 14px;
  right: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 16px;
  font-size: 0.78rem;
  font-family: var(--t-f-sans);
  color: #fff;
}

.mu-image-badge svg {
  color: var(--t-accent);
}

.mu-floating-card {
  left: 16px;
  right: 16px;
  bottom: 16px;
  padding: 18px;
  border-radius: 24px;
  color: #fff;
}

@media (max-width: 767px) {
  .mu-floating-card {
    left: 0;
    right: 0;
    width: 100%;
  }
}

.mu-floating-feature {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  font-family: var(--t-f-sans);
}


.mu-floating-feature svg {
  color: var(--t-accent);
}

.mu-floating-feature strong {
  display: block;
  font-size: 0.86rem;
  color: #fff;
}

.mu-floating-feature p {
  margin: 3px 0 0;
  color: color-mix(in srgb, var(--t-surface) 68%, transparent);
  font-size: 0.76rem;
  line-height: 1.5;
}

/* — Hero Proof (V8) — */
.mu-hero-proof {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--t-surface) 14%, transparent);
  border-radius: var(--t-radii-md);
  background: color-mix(in srgb, var(--t-surface) 4.5%, transparent);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.mu-hero-stars {
  display: flex;
  gap: 2px;
  color: var(--t-accent);
  font-size: 0.86rem;
}

.mu-proof-item strong {
  display: block;
  font-size: 1.65rem;
  line-height: 1;
  color: #fff;
  font-family: var(--t-f-display);
}

.mu-proof-item span,
.mu-proof-item p {
  margin: 6px 0 0;
  color: color-mix(in srgb, var(--t-surface) 62%, transparent);
  font-size: 0.78rem;
  font-family: var(--t-f-sans);
}

/* — Hero Section Label (V8) — */
.mu-section-label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 14px;
  color: var(--t-accent);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-family: var(--t-f-sans);
}

.mu-section-label::before {
  content: "";
  width: 34px;
  height: 1px;
  background: currentColor;
  flex: 0 0 auto;
}

/* — Testimonial Dark Card (V8) — */
.mu-card-dark {
  background: var(--t-fg);
  color: #fff;
}

.mu-card-dark .w10-org-quote__text {
  color: color-mix(in srgb, var(--t-surface) 9%, transparent);
}

.mu-card-dark .w10-org-quote__text::before,
.mu-card-dark .w10-org-quote__text::after {
  color: var(--t-accent);
}

.mu-card-dark .w10-org-quote__author {
  color: #fff;
}

.mu-card-dark .w10-org-quote__role {
  color: color-mix(in srgb, var(--t-surface) 62%, transparent);
}

/* — CTA Section (V8) — */
.mu-cta-accent {
  background: linear-gradient(135deg, var(--t-accent), color-mix(in srgb, var(--t-accent) 85%, #f2b64a));
  color: var(--t-fg);
  position: relative;
  overflow: hidden;
}

.mu-cta-accent::after {
  content: "";
  position: absolute;
  inset: auto -80px -160px auto;
  width: 320px;
  height: 320px;
  border: 1px solid color-mix(in srgb, var(--t-fg) 15%, transparent);
  border-radius: 999px;
}

/* — Trust Strip (V8) — */
.mu-trust-strip {
  position: relative;
  z-index: 6;
  margin-top: -42px;
}

@media (min-width: 768px) {
  .mu-hero-proof {
    grid-template-columns: repeat(3, 1fr);
  }

  .mu-proof-item+.mu-proof-item {
    border-left: 1px solid color-mix(in srgb, var(--t-surface) 1%, transparent);
    padding-left: 18px;
  }
}

.mu-hero-dark .w10-display {
  font-size: clamp(3.5rem, 5cqw, 5rem);
  font-weight: 400;
}

.w10-mol-nav--glass {
  background-color: var(--t-nav-glass-bg);
  border: none;
  padding-left: 0;
  padding-right: 0;
}

.mu-hero-dark .w10-mol-slider--minimal-dots .w10-mol-slider__dot[data-active] {
  background: var(--t-accent);
}

/* ───────────────────────────────────────────────────────────
   Extensão MU-64: footer Murano — variante de `w10-mol-footer`.
   Camada de tema; NÃO edita o core de w10ds/ (ADR-0003). Reaproveita
   os elementos BEM do DS (`__grid`, `__col-title`, `__col-links`,
   `__legal`). Fundo escuro (--t-fg-deep), títulos em --t-accent, texto
   off-white (--t-bg) — mesmo padrão de contraste de .mu-card-dark
   (AA, RNF-03). 100% tokens (RNF-08/09). Mobile-first; colunas colapsam
   (RNF-01). Markup de referência em docs/ui/w10ds-extensions.md.
   ─────────────────────────────────────────────────────────── */
.w10-mol-footer--murano {
  background: var(--t-fg-deep);
  color: var(--t-bg);
  font-family: var(--t-f-sans);
  /* Espaço acima do footer = mesmo ritmo do topo de seção (--mu-section-pt). */
  margin-top: var(--mu-section-pt);
}

.w10-mol-footer--murano .w10-mol-footer__grid {
  max-width: var(--t-container-max);
  margin: 0 auto;
  padding: var(--t-spacing-2xl) var(--t-spacing-lg) 0;
  grid-template-columns: 1fr;
  /* mobile: empilhado */
  gap: var(--t-spacing-xl);
}

/* Coluna da marca */
.w10-mol-footer__brand-logo {
  display: flex;
  align-items: center;
  gap: var(--t-spacing-sm);
  margin-bottom: var(--t-spacing-md);
}

.w10-mol-footer__brand-mark {
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border: 1.5px solid var(--t-accent);
  color: var(--t-accent);
  font-family: var(--t-f-display);
  font-size: 1.125rem;
}

.w10-mol-footer__brand-name {
  font-family: var(--t-f-display);
  font-size: 1.375rem;
  letter-spacing: 0.18em;
}

.w10-mol-footer__about {
  margin: 0;
  max-width: 250px;
  color: color-mix(in srgb, var(--t-bg) 60%, transparent);
  font-size: 0.85rem;
  line-height: 1.7;
}

.w10-mol-footer__social {
  display: flex;
  gap: var(--t-spacing-sm);
  margin-top: var(--t-spacing-lg);
}

.w10-mol-footer__social a {
  display: flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border-radius: var(--t-radii-pill);
  border: 1px solid color-mix(in srgb, var(--t-bg) 20%, transparent);
  color: color-mix(in srgb, var(--t-bg) 70%, transparent);
  font-size: 0.8rem;
  text-decoration: none;
  transition: color var(--mol-t-fast), border-color var(--mol-t-fast);
}

.w10-mol-footer__social a:hover,
.w10-mol-footer__social a:focus-visible {
  color: var(--t-bg);
  border-color: var(--t-accent);
}

/* Colunas de links (reaproveita __col-title / __col-links do DS) */
.w10-mol-footer--murano .w10-mol-footer__col-title {
  margin: 0 0 var(--t-spacing-md);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t-accent);
}

.w10-mol-footer--murano .w10-mol-footer__col-links {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.w10-mol-footer--murano .w10-mol-footer__col-links a {
  color: color-mix(in srgb, var(--t-bg) 72%, transparent);
  text-decoration: none;
  font-size: 0.85rem;
  transition: color var(--mol-t-fast);
}

.w10-mol-footer--murano .w10-mol-footer__col-links a:hover,
.w10-mol-footer--murano .w10-mol-footer__col-links a:focus-visible {
  color: var(--t-bg);
}

/* Coluna de contato */
.w10-mol-footer__contact {
  display: flex;
  flex-direction: column;
  gap: var(--t-spacing-sm);
  color: color-mix(in srgb, var(--t-bg) 72%, transparent);
  font-size: 0.85rem;
  line-height: 1.5;
  font-style: normal;
}

.w10-mol-footer__contact a {
  color: inherit;
  text-decoration: none;
  transition: color var(--mol-t-fast);
}

.w10-mol-footer__contact a:hover,
.w10-mol-footer__contact a:focus-visible {
  color: var(--t-bg);
}

/* Barra legal (sobrepõe o flex base do DS para centralizar) */
.w10-mol-footer--murano .w10-mol-footer__legal {
  max-width: var(--t-container-max);
  margin: var(--t-spacing-xl) auto 0;
  padding: var(--t-spacing-lg);
  border-top: 1px solid color-mix(in srgb, var(--t-bg) 10%, transparent);
  justify-content: center;
  text-align: center;
  color: color-mix(in srgb, var(--t-bg) 55%, transparent);
  /* 5.27:1 sobre --t-fg-deep — AA (RNF-03) */
  font-size: 0.78rem;
}

/* Tablet: 3 colunas; a marca ocupa a linha inteira */
@media (min-width: 768px) {
  .w10-mol-footer--murano .w10-mol-footer__grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .w10-mol-footer__brand {
    grid-column: 1 / -1;
  }
}

/* Desktop: layout de 5 colunas do design aprovado */
@media (min-width: 1024px) {
  .w10-mol-footer--murano .w10-mol-footer__grid {
    grid-template-columns: 1.4fr repeat(3, 1fr) 1.2fr;
    gap: 2.25rem;
  }

  .w10-mol-footer__brand {
    grid-column: auto;
  }
}

/* ═══════════════════════════════════════════════════════════
   Componentes globais (F5 / MU-31): header, menu mobile,
   WhatsApp flutuante. Camada de tema, 100% tokens (RNF-08/09).
   ═══════════════════════════════════════════════════════════ */

/* Acessibilidade: conteúdo só para leitores de tela + skip-link visível ao foco */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  position: absolute !important;
  white-space: nowrap;
  word-wrap: normal;
}

.screen-reader-text:focus {
  clip: auto;
  clip-path: none;
  width: auto;
  height: auto;
  margin: 0;
  padding: var(--t-spacing-sm) var(--t-spacing-md);
  position: fixed !important;
  top: var(--t-spacing-sm);
  left: var(--t-spacing-sm);
  z-index: var(--mol-z-modal);
  background: var(--t-surface);
  color: var(--t-fg);
  text-decoration: none;
}

/* — Marca (wordmark) do header — herda a cor da nav (MU-62) — */
.mu-brand {
  display: inline-flex;
  align-items: center;
  gap: var(--t-spacing-sm);
  text-decoration: none;
  color: inherit;
  flex-shrink: 0;
}

.mu-brand__mark {
  display: inline-flex;
  width: 1.75rem;
  height: 1.75rem;
  align-items: center;
  justify-content: center;
  border: 1.5px solid currentColor;
  font-family: var(--t-f-display);
  font-size: 1.125rem;
  line-height: 1;
}

.mu-brand__name {
  font-family: var(--t-f-display);
  font-size: 1.375rem;
  letter-spacing: 0.18em;
}

/* Header fixo no topo (sobrepõe o conteúdo, sempre visível). Sobrepõe o
   `position: sticky` do W10 DS. O fundo glass escuro é mantido em qualquer
   posição (sem recoloração no scroll). */
.mu-site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

/* Gatilho do menu (hambúrguer) sempre branco — o header tem fundo escuro fixo. */
.mu-site-header .w10-mol-nav__trigger {
  color: var(--t-surface);
}

/* Offset do conteúdo sob o header fixo.
   Todo <main> cujo primeiro bloco já controla o próprio espaçamento inicial
   — seja via .mu-page-hero__inner (intro clara) ou via .mu-hero-dark (hero escuro)
   — deve receber .mu-has-hero para evitar duplo padding-top. Páginas sem esse
   bloco (404, resultados de busca, etc.) recebem o offset automaticamente.
   Ver documentação: docs/ui/layout-conventions.md */
.mu-home .mu-hero__inner {
  padding-top: calc(var(--mu-header-h) + var(--t-spacing-xs));
}

@media (min-width: 768px) {
  .mu-home .mu-hero__inner {
    padding-top: calc(var(--mu-header-h) + var(--t-spacing-2xl));
  }
}

.site-main:not(.mu-has-hero) {
  padding-top: var(--mu-header-h);
}

/* MU-68 — alinha o conteúdo do header ao mesmo eixo das seções: o fundo da nav
   é full-bleed (a extensão --glass zera o padding horizontal), mas o conteúdo
   vive num `.w10-container` (mesma max-width e padding das seções). Aqui só a
   distribuição flex da linha; a largura/padding vêm do `.w10-container`. */
.mu-site-header__inner {
  display: flex;
  align-items: center;
  gap: var(--t-spacing-lg);
}

/* Logotipo oficial (MU-67) — wordmark dourado horizontal (~8:1). Altura fixa de
   24px e largura proporcional em todos os breakpoints. Dispensa inversão de cor
   (gradiente legível em fundo claro e escuro). */
.mu-brand__logo {
  display: block;
  height: 1.5rem;
  width: auto;
}

.mu-footer__logo {
  display: block;
  height: 1.625rem;
  width: auto;
}

/* Mobile: oculta o CTA do header — a conversão fica no drawer
   (mu-mobile-drawer__cta) e no WhatsApp flutuante, com o header reduzido a logo
   + gatilho do menu (RF-10 mantido, RNF-01). */
@media (max-width: 767px) {
  .mu-site-header__cta {
    display: none;
  }
}

/* — Menu mobile (drawer) — */
.mu-mobile-drawer {
  display: flex;
  flex-direction: column;
  gap: var(--t-spacing-lg);
  color: var(--t-bg);
}

.mu-mobile-drawer__close {
  align-self: flex-end;
  background: none;
  border: none;
  cursor: pointer;
  color: inherit;
  padding: var(--t-spacing-xs);
  line-height: 1;
}

.mu-mobile-drawer__cta {
  margin-top: var(--t-spacing-sm);
}

.mu-mobile-drawer__whatsapp {
  color: inherit;
  text-align: center;
  font-size: 0.9rem;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

/* — Botão flutuante de WhatsApp + atalho "Falar com especialista" (RF-12) — */
.mu-whatsapp-float {
  position: fixed;
  right: var(--t-spacing-lg);
  bottom: var(--t-spacing-lg);
  z-index: calc(var(--mol-z-backdrop) - 10);
  /* sob o backdrop/drawer (200/100) */
  display: inline-flex;
  align-items: center;
  gap: var(--t-spacing-sm);
  text-decoration: none;
}

.mu-whatsapp-float__label {
  background: var(--t-fg-deep);
  color: var(--t-bg);
  padding: var(--t-spacing-xs) var(--t-spacing-md);
  border-radius: var(--t-radii-pill);
  font-family: var(--t-f-sans);
  font-size: 0.85rem;
  box-shadow: 0 6px 18px color-mix(in srgb, var(--t-fg-deep) 30%, transparent);
}

.mu-fab--whatsapp {
  background: var(--t-whatsapp);
  color: var(--t-surface);
  /* Ícone branco sobre o verde por fidelidade à marca WhatsApp (MU-93).
     EXCEÇÃO de a11y aceita: ~1,99:1, abaixo do mínimo 3:1 do WCAG 1.4.11
     (era 8.77:1 AA com --t-fg-deep). Ver MU-93 / RNF-03. Para reconformar
     sem perder o branco, escurecer o fundo via color-mix(--t-whatsapp, --t-fg-deep). */
}

/* Espaço entre o texto e o CTA do rodapé */
.mu-site-footer__cta {
  margin-top: var(--t-spacing-lg);
}

/* No mobile o rótulo do WhatsApp recolhe; o aria-label do link mantém a a11y */
@media (max-width: 767px) {
  .mu-whatsapp-float__label {
    position: absolute;
    width: 1px;
    height: 1px;
    clip-path: inset(50%);
    overflow: hidden;
    white-space: nowrap;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   MU-34 — Página Home (rolagem única). Fase F7, AI-01, RF-01..RF-09.
   Camada de tema: estende os átomos do W10 DS (w10-card, w10-badge, w10-btn) e
   reutiliza os utilitários .mu-* do hero/CTA. 100% tokens (RNF-08/09),
   mobile-first (RNF-01). NÃO edita o core de w10ds/ (ADR-0003).
   Fidelidade ao handoff: design-handoff/Home Murano v2.dc.html.
   ═══════════════════════════════════════════════════════════════════════════ */

/* — Ritmo vertical das seções e cabeçalhos — */
.mu-section {
  padding-top: var(--mu-section-pt);
}

.mu-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--t-spacing-md);
  margin-bottom: var(--t-spacing-xl);
}

.mu-section-head--center {
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* Título de seção: sans com palavra-destaque em serifa itálica (handoff) */
.mu-h2 {
  margin: 0;
  font-family: var(--t-f-sans);
  font-weight: 400;
  font-size: clamp(1.9rem, 3.4vw, 2.6rem);
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: var(--t-fg);
}

.mu-h2 em,
.mu-accent {
  font-family: var(--t-f-serif);
  font-style: italic;
  font-weight: 600;
  color: var(--t-accent-deep);
}

/* Parágrafo de apoio sob os títulos de seção */
.mu-lead {
  margin: var(--t-spacing-lg) 0 0;
  max-width: 480px;
  color: var(--t-muted);
  font-size: 1rem;
  line-height: 1.75;
}

/* Eyebrow bronze para seções claras (a base .mu-section-label é dourada/escuras) */
.mu-section-label--bronze {
  color: var(--t-accent-deep);
}

.mu-section-label--center {
  justify-content: center;
}

.mu-section-label--center::after {
  content: "";
  width: 34px;
  height: 1px;
  background: currentColor;
  flex: 0 0 auto;
}

/* Link de texto com seta (“Ver todas as soluções →”) */
.mu-textlink {
  display: inline-flex;
  align-items: center;
  gap: var(--t-spacing-sm);
  color: var(--t-fg);
  text-decoration: none;
  font-family: var(--t-f-sans);
  font-size: 0.9rem;
  font-weight: 600;
  transition: color var(--mol-t-fast, 0.15s);
}

.mu-textlink__arrow {
  color: var(--t-accent-deep);
}

.mu-textlink:hover,
.mu-textlink:focus-visible {
  color: var(--t-accent-deep);
}

.mu-textlink--underline {
  border-bottom: 1px solid var(--t-accent);
  padding-bottom: var(--t-spacing-xs);
}

/* Placeholder de mídia (enquanto não há imagem cadastrada) — espelha o handoff */
.mu-media-ph {
  display: flex;
  align-items: center;
  justify-content: center;
  background: repeating-linear-gradient(45deg,
      var(--t-navy-2),
      var(--t-navy-2) 13px,
      color-mix(in srgb, var(--t-navy-2) 78%, var(--t-fg-deep)) 13px,
      color-mix(in srgb, var(--t-navy-2) 78%, var(--t-fg-deep)) 26px);
  color: color-mix(in srgb, var(--t-bg) 50%, transparent);
  font-family: var(--t-f-mono);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.mu-media-ph--light {
  background: repeating-linear-gradient(45deg,
      color-mix(in srgb, var(--t-muted-3) 45%, var(--t-bg)),
      color-mix(in srgb, var(--t-muted-3) 45%, var(--t-bg)) 12px,
      color-mix(in srgb, var(--t-muted-3) 25%, var(--t-bg)) 12px,
      color-mix(in srgb, var(--t-muted-3) 25%, var(--t-bg)) 24px);
  color: var(--t-muted-2);
}

/* — Variantes de botão p/ contraste sobre o CTA dourado (handoff) — */
.mu-btn--navy {
  background: var(--t-fg);
  color: var(--t-surface);
}

.mu-btn--navy:hover {
  background: var(--t-fg-deep);
}

.mu-btn--navy-outline {
  background: transparent;
  color: var(--t-fg);
  border: var(--t-btn-border-width, 1px) solid var(--t-fg);
}

.mu-btn--navy-outline:hover {
  background: color-mix(in srgb, var(--t-fg) 8%, transparent);
}

/* Botão fantasma claro (hero secundário sobre fundo escuro) */
.mu-btn--light-outline {
  background: transparent;
  color: var(--t-surface);
  border: var(--t-btn-border-width, 1px) solid color-mix(in srgb, var(--t-bg) 32%, transparent);
}

.mu-btn--light-outline:hover {
  border-color: var(--t-surface);
  background: color-mix(in srgb, var(--t-bg) 8%, transparent);
}

/* ── HERO (RF-01) ── */
.mu-hero__inner {
  position: relative;
  display: grid;
  gap: var(--t-spacing-xl);
  align-items: center;
  padding-top: var(--t-spacing-2xl);
  padding-bottom: calc(var(--t-spacing-3xl) + var(--t-spacing-lg));
}

@media (min-width: 900px) {
  .mu-hero__inner {
    grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    gap: calc(var(--t-spacing-xl) + var(--t-spacing-md));
  }
}

.mu-hero__title {
  margin: 0;
  font-family: var(--t-f-sans);
  font-weight: 400;
  font-size: clamp(2.6rem, 5.2vw, 4.4rem);
  line-height: 1.02;
  letter-spacing: -0.025em;
  color: var(--t-surface);
}

.mu-hero__title .mu-accent {
  color: var(--t-accent);
}

.mu-hero__lead {
  margin: var(--t-spacing-lg) 0 0;
  max-width: 460px;
  color: color-mix(in srgb, var(--t-bg) 72%, transparent);
  font-size: 1.03rem;
  line-height: 1.7;
}

.mu-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--t-spacing-sm);
  margin-top: var(--t-spacing-xl);
}

.mu-hero .mu-section-label {
  color: var(--t-accent);
}

/* Dots do card flutuante do hero */
.mu-hero__dots {
  display: flex;
  gap: 7px;
  margin-top: var(--t-spacing-md);
}

.mu-hero__dot {
  width: 8px;
  height: 8px;
  border: none;
  padding: 0;
  border-radius: var(--t-radii-pill);
  background: color-mix(in srgb, var(--t-bg) 30%, transparent);
  cursor: pointer;
  transition: width 0.3s ease, background 0.3s ease;
}

.mu-hero__dot[aria-current="true"] {
  width: 22px;
  background: var(--t-accent);
}

/* O `display:grid` da feature vence o `[hidden]` do UA; reforça a ocultação dos
   destaques inativos do slider (apenas o atual fica visível). */
.mu-floating-feature[hidden] {
  display: none;
}

/* ── TRUST STRIP ── */
.mu-trust-strip__box {
  background: var(--t-surface);
  border-radius: var(--t-radii-lg);
  box-shadow: 0 18px 50px color-mix(in srgb, var(--t-fg-deep) 10%, transparent);
  padding: var(--t-spacing-lg) clamp(var(--t-spacing-lg), 4vw, var(--t-spacing-xl));
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--t-spacing-lg);
}

.mu-trust-strip__label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--t-fg);
  line-height: 1.4;
  max-width: 90px;
}

.mu-trust-strip__logos {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: var(--t-spacing-lg);
}

.mu-trust-strip__logo {
  font-family: var(--t-f-display);
  font-size: 1.375rem;
  letter-spacing: 0.06em;
  color: var(--t-muted-2);
}

/* ── Marquee de logos na trust strip (MU-94) ──
   A listagem .mu-trust-strip__logos vira um slide lateral contínuo quando há
   logos cadastrados: o track tem 2 cópias e desliza -50% (menos meia-lacuna,
   para emendar exato com o gap). Pausa no hover/foco; respeita
   prefers-reduced-motion. Blocos uniformes; imagem em object-fit: contain. */
.mu-trust-strip__logos--marquee {
  --mu-trust-item-w: 8.5rem;
  /* largura uniforme do bloco */
  --mu-trust-item-h: 4.3rem;
  /* altura uniforme do bloco  */
  --mu-trust-gap: var(--t-spacing-lg);
  flex: 1;
  min-width: 0;
  display: block;
  overflow: hidden;
  /* Esmaece as bordas laterais (só o alfa do gradiente importa na máscara). */
  -webkit-mask-image: linear-gradient(90deg, transparent, var(--t-fg) 6%, var(--t-fg) 94%, transparent);
  mask-image: linear-gradient(90deg, transparent, var(--t-fg) 6%, var(--t-fg) 94%, transparent);
}

.mu-trust-strip__track {
  display: flex;
  align-items: center;
  gap: var(--mu-trust-gap);
  width: max-content;
  /* Duração definida inline (proporcional à quantidade de logos); 40s é só o
     fallback de segurança caso a custom property não chegue. */
  animation: mu-trust-scroll var(--mu-trust-speed, 40s) linear infinite;
}

.mu-trust-strip__logos--marquee:hover .mu-trust-strip__track,
.mu-trust-strip__logos--marquee:focus-within .mu-trust-strip__track {
  animation-play-state: paused;
}

.mu-trust-strip__logo-box {
  flex: 0 0 var(--mu-trust-item-w);
  width: var(--mu-trust-item-w);
  height: var(--mu-trust-item-h);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* A imagem cabe perfeitamente na caixa, sem distorção nem corte. */
.mu-trust-strip__logo-img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

@keyframes mu-trust-scroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(calc(-50% - (var(--mu-trust-gap) / 2)));
  }
}

@media (prefers-reduced-motion: reduce) {
  .mu-trust-strip__track {
    animation: none;
    width: auto;
    flex-wrap: wrap;
    justify-content: center;
  }

  /* Sem animação, a cópia decorativa não faz sentido — esconde. */
  .mu-trust-strip__logo-box[aria-hidden='true'] {
    display: none;
  }
}

/* ── Split genérico (Quem somos / Diferenciais) ── */
.mu-split {
  display: grid;
  gap: var(--t-spacing-xl);
  align-items: center;
}

@media (min-width: 768px) {
  .mu-split {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }
}

/* ── Stats (Quem somos) ── */
.mu-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--t-spacing-md);
}

.mu-stat {
  padding: var(--t-spacing-lg);
}

.mu-stat__num {
  font-family: var(--t-f-display);
  font-size: 2.5rem;
  line-height: 1;
  color: var(--t-fg);
}

.mu-stat__label {
  margin-top: var(--t-spacing-sm);
  color: var(--t-muted);
  font-size: 0.84rem;
}

/* Variante escura do stat (cards alternados do handoff) */
.mu-stat--dark {
  background: var(--t-fg);
  color: var(--t-bg);
  border-color: transparent;
}

.mu-stat--dark .mu-stat__num {
  color: var(--t-accent);
}

.mu-stat--dark .mu-stat__label {
  color: color-mix(in srgb, var(--t-bg) 66%, transparent);
}

/* ── Cards de solução (RF-03) — estende w10-card ── */
.mu-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: var(--t-spacing-md);
}

.mu-solucao-card {
  border-color: color-mix(in srgb, var(--t-fg) 8%, transparent);
  transition: border-color 0.15s, box-shadow 0.15s;
}

.mu-solucao-card:hover,
.mu-solucao-card:focus-visible {
  border-color: var(--t-accent);
  box-shadow: 0 12px 30px color-mix(in srgb, var(--t-fg-deep) 8%, transparent);
  transform: none;
}

.mu-solucao-card__icon {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--t-accent) 50%, transparent);
  border-radius: var(--t-radii-md);
  color: var(--t-accent-deep);
  font-size: 1.25rem;
  margin-bottom: var(--t-spacing-md);
}

.mu-solucao-card__icon img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.mu-solucao-card__title {
  margin: 0 0 var(--t-spacing-sm);
  font-size: 1.06rem;
  font-weight: 600;
}

.mu-solucao-card__text {
  margin: 0;
  color: var(--t-muted);
  font-size: 0.84rem;
  line-height: 1.6;
}

/* Card de solução em destaque (escuro) */
.mu-solucao-card--featured {
  background: var(--t-fg);
  color: var(--t-bg);
  border-color: transparent;
}

.mu-solucao-card--featured:hover,
.mu-solucao-card--featured:focus-visible {
  background: var(--t-fg-deep);
  border-color: transparent;
}

.mu-solucao-card--featured .mu-solucao-card__icon {
  color: var(--t-accent);
}

.mu-solucao-card--featured .mu-solucao-card__title {
  color: var(--t-surface);
}

.mu-solucao-card--featured .mu-solucao-card__text {
  color: color-mix(in srgb, var(--t-bg) 66%, transparent);
}

/* ── Processo (RF-04) — 7 etapas em linha conectada ── */
.mu-process {
  position: relative;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.mu-process::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 6%;
  right: 6%;
  height: 1px;
  z-index: 0;
  background: linear-gradient(90deg,
      transparent,
      color-mix(in srgb, var(--t-fg) 18%, transparent) 8%,
      color-mix(in srgb, var(--t-fg) 18%, transparent) 92%,
      transparent);
}

.mu-process__step {
  position: relative;
  z-index: 1;
  padding: 0 var(--t-spacing-md) var(--t-spacing-lg);
}

.mu-process__icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--t-radii-pill);
  background: var(--t-surface);
  border: 1px solid color-mix(in srgb, var(--t-fg) 14%, transparent);
  color: var(--t-accent-deep);
  font-size: 1.25rem;
  margin-bottom: var(--t-spacing-md);
}

.mu-process__num {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--t-accent);
}

.mu-process__title {
  margin: var(--t-spacing-xs) 0 var(--t-spacing-sm);
  font-size: 0.97rem;
  font-weight: 600;
}

.mu-process__text {
  margin: 0;
  color: var(--t-muted);
  font-size: 0.78rem;
  line-height: 1.55;
}

.mu-process__step--last .mu-process__icon {
  background: var(--t-fg);
  border-color: var(--t-fg);
  color: var(--t-accent);
}

/* ── Diferenciais (RF-05) — seção escura, 5 pilares ── */
.mu-pillars-section {
  margin-top: clamp(var(--t-spacing-2xl), 8vw, calc(var(--t-spacing-3xl) + var(--t-spacing-md)));
  background: var(--t-fg);
  color: var(--t-bg);
}

.mu-pillars-section__inner {
  padding-top: var(--t-spacing-3xl);
  padding-bottom: var(--t-spacing-3xl);
}

.mu-pillars-section .mu-h2 {
  color: var(--t-surface);
}

.mu-pillars-section .mu-h2 em {
  color: var(--t-accent);
}

.mu-pillars-section .mu-section-label {
  color: var(--t-accent);
}

.mu-pillars__lead {
  margin: var(--t-spacing-lg) 0 0;
  max-width: 380px;
  color: color-mix(in srgb, var(--t-bg) 70%, transparent);
  font-size: 0.97rem;
  line-height: 1.75;
}

.mu-pillars__cta {
  margin-top: var(--t-spacing-xl);
}

.mu-pillars {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: color-mix(in srgb, var(--t-bg) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--t-bg) 10%, transparent);
}

.mu-pillar {
  background: var(--t-fg);
  padding: var(--t-spacing-lg);
}

.mu-pillar__icon {
  color: var(--t-accent);
  font-size: 1.375rem;
  margin-bottom: var(--t-spacing-md);
}

.mu-pillar__title {
  margin: 0 0 var(--t-spacing-xs);
  font-size: 1rem;
  font-weight: 600;
  color: var(--t-surface);
}

.mu-pillar__text {
  margin: 0;
  color: color-mix(in srgb, var(--t-bg) 62%, transparent);
  font-size: 0.81rem;
  line-height: 1.6;
}

.mu-pillar--wide {
  grid-column: 1 / -1;
  display: flex;
  gap: var(--t-spacing-md);
  align-items: center;
}

.mu-pillar--wide .mu-pillar__icon {
  margin-bottom: 0;
}

/* ── Segmentos (RF-06) — 15 pills ── */
.mu-segments {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--t-spacing-sm);
}

.mu-segment {
  padding: 0.7rem 1.25rem;
  background: var(--t-surface);
  border: 1px solid color-mix(in srgb, var(--t-fg) 10%, transparent);
  border-radius: var(--t-radii-pill);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--t-fg);
}

/* ── Cases (RF-07) — destaque + linha de dois ── */
.mu-case {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: var(--t-radii-xl);
  color: var(--t-surface);
  text-decoration: none;
  min-height: 340px;
}

.mu-case--feature {
  min-height: 460px;
}

.mu-case__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
      transparent 32%,
      color-mix(in srgb, var(--t-fg-deep) 92%, transparent) 100%);
}

.mu-case__body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: var(--t-spacing-lg);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--t-spacing-md);
}

.mu-case--feature .mu-case__body {
  padding: clamp(var(--t-spacing-lg), 4vw, var(--t-spacing-xl));
}

.mu-case__tag {
  margin-bottom: var(--t-spacing-md);
  background: color-mix(in srgb, var(--t-accent) 18%, transparent);
  border-color: color-mix(in srgb, var(--t-accent) 55%, transparent);
  color: var(--t-accent);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.mu-case__title {
  margin: 0;
  font-size: 1.19rem;
  font-weight: 600;
  line-height: 1.2;
}

.mu-case--feature .mu-case__title {
  font-family: var(--t-f-sans);
  font-weight: 400;
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  letter-spacing: -0.02em;
  line-height: 1.08;
}

.mu-case--feature .mu-case__title .mu-accent {
  color: var(--t-accent);
}

.mu-case__meta {
  margin: var(--t-spacing-sm) 0 0;
  color: color-mix(in srgb, var(--t-bg) 70%, transparent);
  font-size: 0.84rem;
  line-height: 1.6;
}

.mu-case__ph {
  position: absolute;
  inset: 0;
}

.mu-case__pill {
  display: inline-flex;
  align-items: center;
  gap: var(--t-spacing-sm);
  padding: 0.8rem 1.4rem;
  background: var(--t-surface);
  color: var(--t-fg);
  font-size: 0.875rem;
  font-weight: 600;
  border-radius: var(--t-radii-pill);
  white-space: nowrap;
}

/* Hover: zoom suave na foto — mesmo padrão da galeria (.mu-lightbox) */
.mu-case .mu-img-cover {
  transition: transform 0.32s ease;
}

.mu-case:hover .mu-img-cover,
.mu-case:focus-visible .mu-img-cover {
  transform: scale(1.1);
}

.mu-case-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--t-spacing-lg);
  margin-top: var(--t-spacing-lg);
}

/* ── Depoimentos (RF-08) ── */
.mu-testimonials {
  display: grid;
  gap: var(--t-spacing-lg);
  align-items: center;
}

@media (min-width: 768px) {
  .mu-testimonials {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: var(--t-spacing-xl);
  }
}

.mu-quote {
  padding: var(--t-spacing-xl);
}

.mu-quote__mark {
  color: var(--t-accent);
  font-family: var(--t-f-serif);
  font-size: 3.5rem;
  line-height: 0.6;
  height: 28px;
}

.mu-quote__text {
  margin: 0 0 var(--t-spacing-lg);
  font-family: var(--t-f-serif);
  font-style: italic;
  font-size: 1.16rem;
  line-height: 1.6;
  color: color-mix(in srgb, var(--t-fg) 88%, var(--t-muted));
}

.mu-quote__author {
  display: flex;
  align-items: center;
  gap: var(--t-spacing-md);
}

.mu-quote__avatar {
  width: 46px;
  height: 46px;
  border-radius: var(--t-radii-pill);
  flex: 0 0 auto;
  background: repeating-linear-gradient(45deg,
      color-mix(in srgb, var(--t-muted-3) 55%, var(--t-bg)),
      color-mix(in srgb, var(--t-muted-3) 55%, var(--t-bg)) 6px,
      color-mix(in srgb, var(--t-muted-3) 30%, var(--t-bg)) 6px,
      color-mix(in srgb, var(--t-muted-3) 30%, var(--t-bg)) 12px);
}

.mu-quote__name {
  display: block;
  font-size: 0.9rem;
  font-weight: 600;
}

.mu-quote__role {
  color: var(--t-muted);
  font-size: 0.81rem;
}

/* Stats em coluna ao lado do depoimento */
.mu-stats-inline {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--t-spacing-lg);
}

.mu-stats-inline .mu-stat__num {
  font-size: 2.875rem;
  line-height: 0.9;
}

.mu-stats-inline__item--divided {
  border-bottom: 1px solid color-mix(in srgb, var(--t-fg) 12%, transparent);
  padding-bottom: var(--t-spacing-md);
}

/* ── CTA final (RF-09) — reutiliza .mu-cta-accent ── */
.mu-cta {
  position: relative;
  overflow: hidden;
  border-radius: var(--t-radii-xl);
  padding: clamp(var(--t-spacing-xl), 5vw, 3.25rem) clamp(var(--t-spacing-lg), 5vw, var(--t-spacing-2xl));
  display: grid;
  gap: var(--t-spacing-lg);
  align-items: center;
}

@media (min-width: 768px) {
  .mu-cta {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  }
}

.mu-cta__title {
  margin: 0;
  font-family: var(--t-f-sans);
  font-weight: 400;
  font-size: clamp(1.7rem, 3vw, 2.3rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--t-fg);
}

.mu-cta__text {
  margin: var(--t-spacing-md) 0 0;
  max-width: 420px;
  font-size: 1rem;
  line-height: 1.6;
  color: color-mix(in srgb, var(--t-fg) 78%, transparent);
}

.mu-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--t-spacing-sm);
}

/* ── Blog (Do blog — 3 posts) ── */
.mu-posts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: var(--t-spacing-xl) var(--t-spacing-lg);
}

.mu-post-card {
  display: block;
  transition: opacity 0.15s;
}

.mu-post-card:hover {
  opacity: 0.92;
  transform: none;
  box-shadow: none;
}

.mu-post-card__media {
  aspect-ratio: 3 / 2;
  border-radius: var(--t-radii-xl);
  overflow: hidden;
  margin-bottom: var(--t-spacing-md);
}

.mu-post-card__meta {
  display: flex;
  align-items: center;
  gap: var(--t-spacing-sm);
  margin-bottom: 0.7rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--t-accent-deep);
}

.mu-post-card__date {
  color: var(--t-muted-2);
  letter-spacing: 0.04em;
  text-transform: none;
  font-weight: 500;
}

.mu-post-card__title {
  margin: 0 0 var(--t-spacing-sm);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--t-fg);
}

.mu-post-card:hover .mu-post-card__title {
  text-decoration: underline;
  text-decoration-color: var(--t-accent);
  text-underline-offset: 3px;
}

.mu-post-card__excerpt {
  margin: 0;
  color: var(--t-muted);
  font-size: 0.9rem;
  line-height: 1.7;
}

/* Empilhamento mobile: stats e pilares colapsam para 1 coluna */
@media (max-width: 560px) {

  .mu-stats,
  .mu-pillars {
    grid-template-columns: 1fr;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   MU-35 — Página Institucional (AI-02, RF-13). Hero interno + breadcrumb,
   história/timeline, missão-visão-valores, equipe. Diferenciais e CTA são
   componentes compartilhados. 100% tokens (RNF-08/09), mobile-first (RNF-01).
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Intro/hero de páginas internas ──
   .mu-page-hero__inner: offset do header + padding para o bloco de intro.
   Usado em dois modos:
   a) dentro de .mu-hero-dark → fundo navy escuro (Institucional, single Soluções);
   b) standalone com modificador de cor → fundo claro (Soluções archive, Cases archive).
   Em ambos os casos o <main> recebe .mu-has-hero. ── */
.mu-page-hero__inner {
  position: relative;
  padding-top: calc(var(--mu-header-h) + var(--t-spacing-xs));
}

@media (min-width: 768px) {
  .mu-page-hero__inner {
    padding-top: calc(var(--mu-header-h) + var(--t-spacing-lg));
  }
}

.mu-page-hero__grid {
  display: grid;
  gap: var(--t-spacing-xl);
  align-items: end;
}

@media (min-width: 768px) {
  .mu-page-hero__grid {
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  }
}

.mu-page-hero__title {
  margin: 0;
  font-family: var(--t-f-sans);
  font-weight: 400;
  font-size: clamp(2.4rem, 4.6vw, 3.8rem);
  line-height: 1.04;
  letter-spacing: -0.025em;
  color: var(--t-surface);
}

.mu-page-hero__title .mu-accent {
  color: var(--t-accent);
}

.mu-page-hero__lead {
  margin: 0;
  max-width: 460px;
  color: color-mix(in srgb, var(--t-bg) 74%, transparent);
  font-size: 1.03rem;
  line-height: 1.75;
}

/* ── Breadcrumb (RF-21) ── */
.mu-breadcrumb {
  margin-bottom: var(--t-spacing-2xl);
}

.mu-breadcrumb__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--t-spacing-sm);
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.82rem;
}

.mu-breadcrumb__item {
  display: inline-flex;
  align-items: center;
  gap: var(--t-spacing-sm);
}

.mu-breadcrumb__link {
  color: var(--t-muted);
  text-decoration: none;
  transition: color var(--mol-t-fast, 0.15s);
}

.mu-breadcrumb__link:hover,
.mu-breadcrumb__link:focus-visible {
  color: var(--t-accent-deep);
}

.mu-breadcrumb__sep {
  color: var(--t-muted-3);
}

.mu-breadcrumb__current {
  color: var(--t-accent-deep);
}

/* Variante sobre o hero escuro */
.mu-breadcrumb--dark .mu-breadcrumb__link {
  color: color-mix(in srgb, var(--t-bg) 70%, transparent);
}

.mu-breadcrumb--dark .mu-breadcrumb__link:hover,
.mu-breadcrumb--dark .mu-breadcrumb__link:focus-visible {
  color: var(--t-bg);
}

.mu-breadcrumb--dark .mu-breadcrumb__sep {
  color: color-mix(in srgb, var(--t-bg) 35%, transparent);
}

.mu-breadcrumb--dark .mu-breadcrumb__current {
  color: var(--t-accent);
}

/* ── Hero Institucional: padding-bottom exclusivo (outras páginas não têm) ── */
.mu-page-hero--institucional .mu-page-hero__inner {
  padding-bottom: var(--t-spacing-2xl);
}

/* ── História + timeline ── */
.mu-historia {
  align-items: start;
}

.mu-historia__stats {
  display: flex;
  flex-wrap: wrap;
  gap: var(--t-spacing-md);
  margin-top: var(--t-spacing-lg);
}

.mu-historia__stats .mu-stat {
  flex: 1;
  min-width: 130px;
}

.mu-timeline {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0 0 0 28px;
}

.mu-timeline::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 8px;
  bottom: 8px;
  width: 1px;
  background: color-mix(in srgb, var(--t-fg) 15%, transparent);
}

.mu-timeline__item {
  position: relative;
  padding-bottom: var(--t-spacing-xl);
}

.mu-timeline__item:last-child {
  padding-bottom: 0;
}

.mu-timeline__dot {
  position: absolute;
  left: -28px;
  top: 4px;
  width: 11px;
  height: 11px;
  border-radius: var(--t-radii-pill);
  background: var(--t-accent);
  box-shadow: 0 0 0 4px var(--t-bg);
}

.mu-timeline__item--current .mu-timeline__dot {
  background: var(--t-fg);
}

.mu-timeline__year {
  font-family: var(--t-f-display);
  font-size: 1.5rem;
  line-height: 1;
  color: var(--t-accent-deep);
}

.mu-timeline__item--current .mu-timeline__year {
  color: var(--t-fg);
}

.mu-timeline__title {
  margin: var(--t-spacing-xs) 0 0.25rem;
  font-size: 1rem;
  font-weight: 600;
}

.mu-timeline__text {
  margin: 0;
  color: var(--t-muted);
  font-size: 0.875rem;
  line-height: 1.6;
}

/* ── Missão, visão e valores ── */
.mu-mvv {
  display: grid;
  gap: var(--t-spacing-md);
}

@media (min-width: 768px) {
  .mu-mvv {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }
}

.mu-mvv__icon {
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--t-accent) 50%, transparent);
  border-radius: var(--t-radii-md);
  color: var(--t-accent-deep);
  font-size: 1.375rem;
  margin-bottom: var(--t-spacing-lg);
}

.mu-mvv__title {
  margin: 0 0 var(--t-spacing-sm);
  font-size: 1.19rem;
  font-weight: 600;
}

.mu-mvv__text {
  margin: 0;
  color: var(--t-muted);
  font-size: 0.94rem;
  line-height: 1.75;
}

.mu-mvv__card--dark {
  background: var(--t-fg);
  color: var(--t-bg);
}

.mu-mvv__card--dark .mu-mvv__icon {
  color: var(--t-accent);
}

.mu-mvv__card--dark .mu-mvv__title {
  color: var(--t-surface);
}

.mu-mvv__values {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

.mu-mvv__value {
  display: flex;
  align-items: center;
  gap: var(--t-spacing-sm);
  color: color-mix(in srgb, var(--t-bg) 82%, transparent);
  font-size: 0.9rem;
}

.mu-mvv__dash {
  color: var(--t-accent);
}

/* ── Equipe ── */
.mu-equipe__lead {
  margin: 0;
  max-width: 380px;
  color: var(--t-muted);
  font-size: 0.94rem;
  line-height: 1.7;
}

.mu-equipe__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: var(--t-spacing-md);
}

.mu-equipe__card {
  padding: 0;
}

.mu-equipe__photo {
  aspect-ratio: 1 / 1;
}

.mu-equipe__body {
  padding: var(--t-spacing-md);
}

.mu-equipe__name {
  margin: 0 0 0.25rem;
  font-size: 1rem;
  font-weight: 600;
}

.mu-equipe__role {
  margin: 0;
  color: var(--t-accent-deep);
  font-size: 0.82rem;
}

/* ============================================================
   MU-36: SOLUÇÕES (F7)
   ============================================================ */

/* ── Intro ── */
.mu-sol-intro .mu-page-hero__title {
  color: var(--t-fg);
}

.mu-sol-intro .mu-page-hero__title .mu-accent {
  color: var(--t-accent-deep);
}

.mu-sol-intro .mu-page-hero__lead {
  color: var(--t-muted);
}

.mu-sol-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: var(--t-spacing-2xl);
  padding-top: var(--t-spacing-lg);
  border-top: 1px solid color-mix(in srgb, var(--t-fg-deep) 10%, transparent);
}

.mu-sol-chip {
  padding: 9px 18px;
  background: var(--t-surface);
  color: var(--t-fg-deep);
  border: 1px solid color-mix(in srgb, var(--t-fg-deep) 12%, transparent);
  border-radius: var(--t-radii-pill);
  font-size: 0.84rem;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.15s, border-color 0.15s;
}

.mu-sol-chip:hover {
  border-color: var(--t-accent);
  color: var(--t-accent-deep);
}

.mu-sol-chip--dark {
  background: var(--t-fg-deep);
  color: var(--t-surface);
  border-color: var(--t-fg-deep);
}

.mu-sol-chip--dark:hover {
  background: color-mix(in srgb, var(--t-fg-deep) 85%, transparent);
  color: var(--t-surface);
  border-color: transparent;
}


/* ── Feature (Soluções Destaque) ── */
.mu-sol-feature {
  padding-top: var(--t-spacing-3xl);
  display: grid;
  gap: var(--t-spacing-2xl);
  align-items: center;
  scroll-margin-top: 100px;
}

@media (min-width: 768px) {
  .mu-sol-feature {
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  }
}

.mu-sol-feature__media {
  min-width: 0;
}

/* ── Slideshow de destaque via w10-mol-slider (MU-78) ── */
.mu-sol-feature__slider {
  overflow: hidden;
  /* clipa slides fora de foco (horizontal) */
}

/* Desabilita scroll-marker nativo: o DS renderiza os dots via ::scroll-marker
   como overlay dentro da área de scroll — sobre a imagem. Usamos apenas os
   botões [data-mol-dot] do w10-mol-slider__controls. */
.mu-sol-feature__slider .w10-mol-slider__track {
  scroll-marker-group: none;
}

/* Slide mantém proporção 4:3; imagem preenche o div inteiro */
.mu-sol-feature__slider .w10-mol-slider__slide {
  aspect-ratio: 4 / 3;
}

/* border-radius na imagem (não no container) para cantos arredondados visíveis */
.mu-sol-slide__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: var(--t-radii-lg);
}

/* Mobile: dots em overlay sobre a imagem (bottom center) */
@media (max-width: 767px) {
  .mu-sol-feature__slider .w10-mol-slider__controls {
    position: absolute;
    bottom: var(--t-spacing-md);
    left: 50%;
    transform: translateX(-50%);
    padding: 0;
    z-index: 2;
  }

  .mu-sol-feature__slider .w10-mol-slider__dot {
    background: color-mix(in srgb, var(--t-surface) 55%, transparent);
  }

  .mu-sol-feature__slider .w10-mol-slider__dot[data-active] {
    background: var(--t-surface);
  }
}


.mu-sol-feature__img-wrap {
  border-radius: var(--t-radii-lg);
  background: repeating-linear-gradient(45deg,
      var(--t-navy-2),
      var(--t-navy-2) 14px,
      color-mix(in srgb, var(--t-navy-2) 78%, var(--t-fg-deep)) 14px,
      color-mix(in srgb, var(--t-navy-2) 78%, var(--t-fg-deep)) 28px);
  display: flex;
  align-items: center;
  justify-content: center;
}

.mu-sol-feature__mockup {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--t-f-mono);
  font-size: 0.75rem;
  color: color-mix(in srgb, var(--t-surface) 42%, transparent);
  letter-spacing: 0.08em;
  z-index: 10;
}

.mu-sol-feature__body {
  min-width: 0;
}

.mu-sol-feature--reverse .mu-sol-feature__body {
  order: -1;
}

@media (max-width: 767px) {
  .mu-sol-feature--reverse .mu-sol-feature__body {
    order: unset;
  }
}

.mu-sol-feature__head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: var(--t-spacing-md);
}

.mu-sol-feature__num {
  font-family: var(--t-f-display);
  font-size: 1.875rem;
  color: color-mix(in srgb, var(--t-fg-deep) 18%, transparent);
  line-height: 1;
}

.mu-sol-feature__icon {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--t-accent) 50%, transparent);
  border-radius: var(--t-radii-md);
  color: var(--t-accent-deep);
  font-size: 1.25rem;
}

.mu-sol-feature__icon img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.mu-sol-feature__title {
  margin: 0 0 14px;
  font-size: clamp(1.6rem, 2.8vw, 2.1rem);
  font-weight: 400;
  letter-spacing: -0.02em;
}

.mu-sol-feature__text {
  margin: 0 0 20px;
  color: var(--t-muted);
  font-size: 1rem;
  line-height: 1.75;
}

.mu-sol-feature__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.mu-sol-feature__tag {
  padding: 6px 13px;
  background: var(--t-surface);
  border: 1px solid color-mix(in srgb, var(--t-fg-deep) 10%, transparent);
  border-radius: var(--t-radii-pill);
  font-size: 0.78rem;
  color: var(--t-fg-deep);
}

/* ── Grid de Soluções Estáticas ── */
.mu-sol-grid-section {
  padding-top: var(--t-spacing-3xl);
}

.mu-solucao-card--static {
  scroll-margin-top: 100px;
}

.mu-solucao-card--static:hover {
  transform: none;
  border-color: color-mix(in srgb, var(--t-fg) 8%, transparent);
  box-shadow: none;
  cursor: default;
}

.mu-solucao-card__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: var(--t-spacing-md);
}

.mu-solucao-card__head .mu-solucao-card__icon {
  margin-bottom: 0;
}

.mu-solucao-card__num {
  font-family: var(--t-f-display);
  font-size: 1.625rem;
  color: color-mix(in srgb, var(--t-fg-deep) 16%, transparent);
  line-height: 1;
}

/* ── Consultoria (Navy) ── */
.mu-sol-consultoria-section {
  margin-top: var(--t-spacing-3xl);
  scroll-margin-top: 100px;
}

.mu-sol-consultoria {
  background: var(--t-fg-deep);
  border-radius: var(--t-radii-lg);
  padding: var(--t-spacing-2xl) clamp(var(--t-spacing-xl), 5vw, 48px);
  color: var(--t-surface);
  display: grid;
  gap: var(--t-spacing-2xl);
  align-items: center;
}

@media (min-width: 768px) {
  .mu-sol-consultoria {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  }
}

.mu-sol-consultoria__main {
  min-width: 0;
}

.mu-sol-consultoria__head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}

.mu-sol-consultoria__icon {
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--t-accent) 50%, transparent);
  border-radius: var(--t-radii-md);
  color: var(--t-accent);
  font-size: 1.375rem;
}

.mu-sol-consultoria__num {
  font-family: var(--t-f-display);
  font-size: 1.875rem;
  color: color-mix(in srgb, var(--t-surface) 50%, transparent);
  line-height: 1;
}

.mu-sol-consultoria__title {
  margin: 0 0 14px;
  font-size: clamp(1.7rem, 3vw, 2.3rem);
  font-weight: 400;
  letter-spacing: -0.02em;
}

.mu-sol-consultoria__title i {
  font-family: var(--t-f-serif);
  font-style: italic;
  font-weight: 600;
  color: var(--t-accent);
}

.mu-sol-consultoria__text {
  margin: 0;
  color: color-mix(in srgb, var(--t-surface) 74%, transparent);
  font-size: 1rem;
  line-height: 1.75;
}

.mu-sol-consultoria__cta {
  margin-top: var(--t-spacing-lg);
}

.mu-sol-consultoria__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}

.mu-sol-consultoria__item {
  display: flex;
  align-items: center;
  gap: 12px;
  color: color-mix(in srgb, var(--t-surface) 84%, transparent);
  font-size: 0.9rem;
}

.mu-sol-consultoria__item span {
  color: var(--t-accent);
}

/* ── Processo (Soluções) ── */
.mu-process-section {
  margin-top: 96px;
  background: var(--t-fg-deep);
  color: var(--t-surface);
  padding: var(--t-spacing-3xl) 0;
}

.mu-process-section__head {
  display: grid;
  gap: var(--t-spacing-2xl);
  align-items: end;
  margin-bottom: var(--t-spacing-2xl);
}

@media (min-width: 768px) {
  .mu-process-section__head {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }
}

.mu-process-section__title-wrap {
  min-width: 0;
}

.mu-process-section__title {
  margin: 0;
  font-size: clamp(1.9rem, 3.6vw, 2.7rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--t-surface);
}

.mu-process-section__title-plain {
  color: var(--t-surface);
}

.mu-process-section__title i {
  font-family: var(--t-f-serif);
  font-style: italic;
  font-weight: 600;
  color: var(--t-accent);
}

.mu-process-section__text {
  margin: 0;
  color: color-mix(in srgb, var(--t-surface) 72%, transparent);
  font-size: 1rem;
  line-height: 1.75;
  max-width: 460px;
  min-width: 0;
}

/* Grid de cards de processo */
.mu-process-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 1px;
  background: color-mix(in srgb, var(--t-surface) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--t-surface) 10%, transparent);
  border-radius: var(--t-radii-lg);
  overflow: hidden;
}

@media (min-width: 900px) {
  .mu-process-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.mu-process-card {
  background: var(--t-fg-deep);
  padding: 30px;
}

.mu-process-card--highlight {
  background: linear-gradient(135deg, color-mix(in srgb, var(--t-accent) 16%, transparent), color-mix(in srgb, var(--t-accent) 6%, transparent));
}

.mu-process-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
}

.mu-process-card__icon {
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--t-radii-md);
  background: color-mix(in srgb, var(--t-accent) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--t-accent) 40%, transparent);
  color: var(--t-accent);
  font-size: 1.25rem;
}

.mu-process-card--highlight .mu-process-card__icon {
  background: var(--t-accent);
  color: var(--t-fg-deep);
  border-color: transparent;
}

.mu-process-card__num {
  font-family: var(--t-f-display);
  font-size: 2.125rem;
  color: color-mix(in srgb, var(--t-surface) 16%, transparent);
  line-height: 1;
}

.mu-process-card--highlight .mu-process-card__num {
  color: color-mix(in srgb, var(--t-accent) 50%, transparent);
}

.mu-process-card__title {
  margin: 0 0 8px;
  font-size: 1.06rem;
  font-weight: 600;
  color: var(--t-surface);
}

.mu-process-card__desc {
  margin: 0 0 16px;
  color: color-mix(in srgb, var(--t-surface) 64%, transparent);
  font-size: 0.84rem;
  line-height: 1.6;
}

.mu-process-card--highlight .mu-process-card__desc {
  color: color-mix(in srgb, var(--t-surface) 72%, transparent);
}

.mu-process-card__delivery {
  padding-top: 14px;
  border-top: 1px solid color-mix(in srgb, var(--t-surface) 10%, transparent);
}

.mu-process-card--highlight .mu-process-card__delivery {
  border-top-color: color-mix(in srgb, var(--t-surface) 16%, transparent);
}

.mu-process-card__delivery-label {
  display: block;
  font-size: 0.65rem;
  color: var(--t-accent);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 5px;
}

.mu-process-card__delivery-text {
  font-size: 0.81rem;
  color: color-mix(in srgb, var(--t-surface) 85%, transparent);
}

.mu-process-card--highlight .mu-process-card__delivery-text {
  color: var(--t-surface);
}

.mu-process-trust {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  margin-top: 40px;
}

.mu-process-trust__item {
  display: flex;
  align-items: center;
  gap: 14px;
}

.mu-process-trust__icon {
  color: var(--t-accent);
  font-size: 1.375rem;
}

.mu-process-trust__title {
  display: block;
  font-size: 0.9rem;
  color: var(--t-surface);
}

.mu-process-trust__sub {
  color: color-mix(in srgb, var(--t-surface) 60%, transparent);
  font-size: 0.81rem;
}

/* ── Detalhe da solução (single) — conteúdo editável (prosa) ── */
.mu-solucao-content {
  max-width: 760px;
}

.mu-prose {
  color: var(--t-muted);
  font-size: 1rem;
  line-height: 1.8;
}

.mu-prose>*+* {
  margin-top: var(--t-spacing-md);
}

.mu-prose h2,
.mu-prose h3 {
  color: var(--t-fg);
  font-weight: 600;
  line-height: 1.2;
  margin-top: var(--t-spacing-xl);
}

.mu-prose h2 {
  font-size: 1.5rem;
}

.mu-prose h3 {
  font-size: 1.19rem;
}

.mu-prose a {
  color: var(--t-accent-deep);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.mu-prose ul,
.mu-prose ol {
  padding-left: var(--t-spacing-lg);
}

.mu-prose li+li {
  margin-top: var(--t-spacing-xs);
}

.mu-prose img {
  max-width: 100%;
  height: auto;
  border-radius: var(--t-radii-lg);
}

/* ═══════════════════════════════════════════════════════════════════════════
   MU-37 — Página Cases (F7 · AI-04 · RF-15).
   Galeria filtrável + detalhe. 100% tokens (RNF-08/09), mobile-first (RNF-01).
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Intro da galeria — usa mu-page-hero__inner como base (mesmo padrão de
   Soluções/Institucional); mu-cases-intro só sobrescreve cores para o fundo claro. ── */
.mu-cases-intro .mu-page-hero__title {
  color: var(--t-fg);
}

.mu-cases-intro .mu-page-hero__title .mu-accent {
  color: var(--t-accent-deep);
}

.mu-cases-intro .mu-page-hero__lead {
  color: var(--t-muted);
}

/* Barra de métricas */
.mu-cases-metrics {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--t-spacing-2xl);
  margin-top: var(--t-spacing-2xl);
  padding: 1.625rem 0;
  border-top: 1px solid color-mix(in srgb, var(--t-fg) 10%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--t-fg) 10%, transparent);
}

.mu-cases-metric {
  display: flex;
  align-items: baseline;
  gap: var(--t-spacing-sm);
}

.mu-cases-metric__num {
  font-family: var(--t-f-display);
  font-size: 2.125rem;
  line-height: 1;
}

.mu-cases-metric__label {
  color: var(--t-muted);
  font-size: 0.82rem;
}

.mu-cases-metric-sep {
  width: 1px;
  height: 28px;
  background: color-mix(in srgb, var(--t-fg) 12%, transparent);
  flex: 0 0 auto;
}

/* Layout sidebar: filtro (2 cols) + listagem (10 cols) */
.mu-cases-layout {
  display: grid;
  gap: var(--t-spacing-xl);
  align-items: start;
}

@media (min-width: 768px) {
  .mu-cases-layout {
    grid-template-columns: 2fr 10fr;
    gap: var(--t-spacing-2xl);
  }
}

/* Sidebar sticky quando o conteúdo rola */
@media (min-width: 768px) {
  .mu-cases-sidebar {
    position: sticky;
    top: calc(var(--mu-header-h) + var(--t-spacing-lg));
  }
}

/* Filtro por segmento */
.mu-cases-filter {
  display: flex;
  flex-wrap: wrap;
  gap: var(--t-spacing-sm);
  margin-top: var(--t-spacing-xl);
}

/* Chips empilhados na sidebar (tablet+) */
@media (min-width: 768px) {
  .mu-cases-sidebar .mu-cases-filter {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: var(--t-spacing-xs);
    margin-top: 0;
  }

  .mu-cases-sidebar .mu-cases-filter__btn {
    text-align: left;
    border-radius: var(--t-radii-md);
    width: 100%;
  }
}

.mu-cases-filter__btn {
  padding: 0.5625rem 1.125rem;
  background: var(--t-surface);
  color: var(--t-fg);
  border: 1px solid color-mix(in srgb, var(--t-fg) 12%, transparent);
  border-radius: var(--t-radii-pill);
  font-family: var(--t-f-sans);
  font-size: 0.84rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  appearance: none;
  -webkit-appearance: none;
}

.mu-cases-filter__btn:hover {
  border-color: var(--t-accent);
  color: var(--t-accent-deep);
}

.mu-cases-filter__btn[aria-pressed="true"] {
  background: var(--t-fg);
  color: var(--t-surface);
  border-color: var(--t-fg);
}

/* Grid da galeria */
.mu-cases-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--t-spacing-md);
  margin-top: var(--t-spacing-md);
}

@media (min-width: 768px) {
  .mu-cases-grid {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 0;
  }
}

/* Wrapper de item (para o JS filtrar por data-segmento). No grid os itens usam
   display:contents para que o <a> .mu-case seja filho direto do grid. */
.mu-cases-grid .mu-case-item {
  display: contents;
}

/* O [hidden] do UA (display:none !important) sobrepõe display:contents — o
   item some tanto do flow quanto do grid quando oculto pelo JS. */

/* Estado "nenhum resultado" (CT-05) */
.mu-cases-empty {
  display: none;
  padding: var(--t-spacing-3xl) 0;
  text-align: center;
  color: var(--t-muted);
}

.mu-cases-empty.is-visible {
  display: block;
}

.mu-cases-empty__title {
  margin: 0 0 var(--t-spacing-sm);
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--t-fg);
}

/* ── Case detalhe (single-case.php) ── */
/* ── Wrapper: breadcrumb claro + card hero ── */
.mu-case-hero-wrap {
  padding-top: calc(var(--mu-header-h) + var(--t-spacing-xs));
}

@media (min-width: 768px) {
  .mu-case-hero-wrap {
    padding-top: calc(var(--mu-header-h) + var(--t-spacing-lg));
  }
}


/* Card hero — proporção 16:9 fixa + overlay + conteúdo na base */
.mu-case-hero {
  position: relative;
  border-radius: var(--t-radii-xl);
  overflow: hidden;
  aspect-ratio: 3 / 4;
}

@media screen and (min-width:768px) {
  .mu-case-hero {
    aspect-ratio: 16 / 6;
  }
}

/* Overlay exclusivo do hero de detalhe — independente dos cards do arquivo */
.mu-case-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
      transparent 15%,
      rgba(4, 28, 44, 0.25) 42%,
      rgba(4, 28, 44, 0.72) 65%,
      rgba(4, 28, 44, 0.96) 100%);
}

.mu-case-hero__content {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  color: #fff;
  padding: 20px;
}

@media (min-width: 768px) {
  .mu-case-hero__content {
    gap: var(--t-spacing-lg);
    padding: 32px;
  }
}

@media (min-width: 1024px) {
  .mu-case-hero__content {
    gap: var(--t-spacing-xl);
    padding: 48px;
  }
}

.mu-case-hero__left {
  max-width: 640px;
}

.mu-case-hero__title {
  margin: 0;
  font-family: var(--t-f-serif);
  font-style: italic;
  font-weight: 600;
  font-size: clamp(2.2rem, 4.4vw, 3.4rem);
  line-height: 1.1;
  letter-spacing: 0;
  color: var(--t-accent);
}

.mu-case-hero__lead {
  margin: var(--t-spacing-md) 0 0;
  color: rgba(255, 255, 255, 0.8);
  font-size: 1rem;
  line-height: 1.65;
  max-width: 540px;
}

/* Mini ficha técnica no canto inferior direito do hero */
.mu-case-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px var(--t-spacing-xl);
  margin: 0;
  padding: 0;
  flex-shrink: 0;
  align-self: flex-end;
}

.mu-case-hero__meta-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.mu-case-hero__meta-item dt {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.5);
}

.mu-case-hero__meta-item dd {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: #fff;
  line-height: 1.2;
}

/* Grid "O projeto" + ficha técnica */
.mu-case-overview {
  display: grid;
  gap: var(--t-spacing-2xl);
  align-items: start;
}

@media (min-width: 768px) {
  .mu-case-overview {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }
}

.mu-case-overview__title {
  margin: var(--t-spacing-md) 0 var(--t-spacing-lg);
  font-size: clamp(1.8rem, 3.2vw, 2.4rem);
  font-weight: 400;
  line-height: 1.14;
  letter-spacing: -0.02em;
  color: var(--t-fg);
}

/* Ficha técnica */
.mu-case-ficha {
  background: var(--t-surface);
  border: 1px solid color-mix(in srgb, var(--t-fg) 8%, transparent);
  border-radius: var(--t-radii-xl);
  padding: clamp(var(--t-spacing-lg), 4vw, var(--t-spacing-xl));
}

.mu-case-ficha__title {
  margin: 0 0 var(--t-spacing-lg);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t-accent-deep);
}

.mu-case-ficha__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--t-spacing-md);
  padding: 0.875rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--t-fg) 8%, transparent);
}

.mu-case-ficha__row:last-of-type {
  border-bottom: none;
}

.mu-case-ficha__key {
  color: var(--t-muted-2);
  font-size: 0.84rem;
  flex-shrink: 0;
}

.mu-case-ficha__val {
  font-size: 0.88rem;
  font-weight: 600;
  text-align: right;
}

.mu-case-ficha__chips {
  margin-top: var(--t-spacing-lg);
  padding-top: var(--t-spacing-lg);
  border-top: 1px solid color-mix(in srgb, var(--t-fg) 8%, transparent);
}

.mu-case-ficha__chips-label {
  font-size: 0.72rem;
  color: var(--t-muted-2);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: var(--t-spacing-sm);
}

.mu-case-ficha__chips-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--t-spacing-sm);
}

.mu-case-ficha__chip {
  padding: 0.375rem 0.8125rem;
  background: var(--t-bg);
  border-radius: var(--t-radii-pill);
  font-size: 0.78rem;
  color: var(--t-fg);
}

/* Resultados (métricas do case) */
.mu-results-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: var(--t-spacing-md);
}

.mu-result {
  padding: clamp(var(--t-spacing-md), 4vw, var(--t-spacing-xl));
  border-radius: var(--t-radii-xl);
  border: 1px solid color-mix(in srgb, var(--t-fg) 8%, transparent);
  background: var(--t-surface);
}

.mu-result--dark {
  background: var(--t-fg);
  border-color: transparent;
}

.mu-result__num {
  font-family: var(--t-f-display);
  font-size: 2.875rem;
  line-height: 0.9;
  color: var(--t-fg);
}

.mu-result--dark .mu-result__num {
  color: var(--t-accent);
}

.mu-result__label {
  margin-top: var(--t-spacing-sm);
  color: var(--t-muted);
  font-size: 0.875rem;
}

.mu-result--dark .mu-result__label {
  color: color-mix(in srgb, var(--t-bg) 66%, transparent);
}

/* Depoimento pull quote */
.mu-pull-quote {
  text-align: center;
  max-width: 920px;
  margin: 0 auto;
}

.mu-pull-quote__mark {
  color: var(--t-accent);
  font-family: var(--t-f-serif);
  font-size: 3.75rem;
  line-height: 0.5;
  height: 32px;
  display: block;
  margin-bottom: var(--t-spacing-lg);
}

.mu-pull-quote__text {
  margin: 0 0 26px;
  font-family: var(--t-f-serif);
  font-style: italic;
  font-weight: 500;
  font-size: clamp(1.4rem, 2.6vw, 2rem);
  line-height: 1.5;
  color: var(--t-fg-deep);
}

.mu-pull-quote__author {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}

.mu-pull-quote__avatar {
  width: 46px;
  height: 46px;
  border-radius: var(--t-radii-pill);
  flex: 0 0 auto;
  overflow: hidden;
  background: color-mix(in srgb, var(--t-muted-3) 40%, var(--t-bg));
}

.mu-pull-quote__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mu-pull-quote__name {
  display: block;
  font-size: 0.906rem;
  font-weight: 600;
  text-align: left;
}

.mu-pull-quote__role {
  display: block;
  color: var(--t-muted);
  font-size: 0.8125rem;
  text-align: left;
}

/* ── Galeria de fotos — single case ── */
.mu-case-gallery__main {
  border-radius: var(--t-radii-xl);
  overflow: hidden;
  aspect-ratio: 16 / 8;
  background: var(--t-fg);
}

/* O <a> do lightbox deve preencher o container como se fosse o img */
.mu-case-gallery__main .mu-lightbox {
  display: block;
  width: 100%;
  height: 100%;
}

.mu-case-gallery__main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Affordance visual: cursor zoom-in + leve dimming no hover */
.mu-lightbox {
  display: block;
  cursor: zoom-in;
  color: inherit;
  text-decoration: none;
}

.mu-lightbox img {
  transition: opacity 0.22s ease, transform 0.32s ease;
}

.mu-lightbox:hover img,
.mu-lightbox:focus-visible img {
  opacity: 0.9;
  transform: scale(1.1);
}


/* Grid masonry — todas as fotos do case */
.mu-case-gallery-grid {
  columns: 1;
  column-gap: var(--t-spacing-md);
  margin-top: var(--t-spacing-lg);
}

@media (min-width: 768px) {
  .mu-case-gallery-grid {
    columns: 2;
  }
}

@media (min-width: 1024px) {
  .mu-case-gallery-grid {
    columns: 3;
  }

  /* 4 itens em 3 colunas → distribuição 2+1+1 (desequilibrada).
     O modificador força 2 colunas para resultado 2+2. */
  .mu-case-gallery-grid--2col {
    columns: 2;
  }
}

.mu-case-gallery-grid__item {
  break-inside: avoid;
  page-break-inside: avoid;
  margin-bottom: var(--t-spacing-md);
  border-radius: var(--t-radii-lg);
  overflow: hidden;
}

.mu-case-gallery-grid__item img {
  width: 100%;
  height: auto;
  display: block;
}

/* ── Desafio → Solução ── */
.mu-challenge-grid {
  display: grid;
  gap: var(--t-spacing-lg);
}

@media (min-width: 680px) {
  .mu-challenge-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.mu-challenge-card {
  background: var(--t-surface);
  border: 1px solid rgba(4, 36, 65, 0.08);
  border-radius: var(--t-radii-lg);
  padding: clamp(var(--t-spacing-lg), 5vw, var(--t-spacing-2xl));
}

.mu-challenge-card--dark {
  background: var(--t-fg);
  color: var(--t-surface);
  border-color: transparent;
}

.mu-challenge-card__icon {
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(211, 159, 86, 0.5);
  border-radius: 10px;
  color: var(--t-accent-deep);
  font-size: 1.4rem;
  margin-bottom: var(--t-spacing-lg);
  flex-shrink: 0;
}

.mu-challenge-card--dark .mu-challenge-card__icon {
  color: var(--t-accent);
}

.mu-challenge-card__title {
  margin: 0 0 var(--t-spacing-sm);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--t-fg);
}

.mu-challenge-card--dark .mu-challenge-card__title {
  color: var(--t-surface);
}

.mu-challenge-card__text {
  margin: 0;
  font-size: 0.97rem;
  line-height: 1.75;
  color: var(--t-muted);
}

.mu-challenge-card--dark .mu-challenge-card__text {
  color: rgba(255, 255, 255, 0.74);
}

/* ── Móveis e produtos especificados ── */
.mu-moveis-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--t-spacing-md);
  margin-bottom: var(--t-spacing-2xl);
}

.mu-moveis-header__lead {
  margin: 0;
  color: var(--t-muted);
  font-size: 0.91rem;
  line-height: 1.6;
  max-width: 360px;
}

.mu-moveis-grid {
  display: grid;
  gap: var(--t-spacing-lg);
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.mu-movel {
  background: var(--t-surface);
  border: 1px solid rgba(4, 36, 65, 0.08);
  border-radius: var(--t-radii-lg);
  overflow: hidden;
}

.mu-movel__img {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--t-bg);
}

.mu-movel__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.mu-movel__img-ph {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--t-muted);
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  text-align: center;
}

.mu-movel__body {
  padding: var(--t-spacing-xl);
}

.mu-movel__categoria {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--t-accent-deep);
  margin-bottom: var(--t-spacing-xs);
}

.mu-movel__nome {
  margin: 0 0 var(--t-spacing-md);
  font-size: 1.06rem;
  font-weight: 600;
  color: var(--t-fg);
}

.mu-movel__row {
  display: flex;
  justify-content: space-between;
  gap: var(--t-spacing-md);
  padding: var(--t-spacing-xs) 0;
  border-top: 1px solid rgba(4, 36, 65, 0.08);
  font-size: 0.81rem;
}

.mu-movel__key {
  color: var(--t-muted);
  flex-shrink: 0;
}

.mu-movel__val {
  font-weight: 600;
  text-align: right;
  color: var(--t-fg);
}

/* ── Contato (MU-39) ──────────────────────────────────────────────── */

/* Intro */
.mu-contato-hero {
  padding-top: calc(var(--mu-header-h) + var(--t-spacing-xs));
  padding-bottom: 0;
}

@media (min-width: 768px) {
  .mu-contato-hero {
    padding-top: calc(var(--mu-header-h) + var(--t-spacing-lg));
  }
}

.mu-contato-hero__content {
  max-width: 680px;
  margin-top: var(--t-spacing-xl);
}

.mu-contato-hero__title {
  margin: 0;
  font-size: clamp(2.2rem, 4.2vw, 3.4rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.025em;
}

.mu-contato-hero__lead {
  margin: var(--t-spacing-lg) 0 0;
  color: var(--t-muted);
  font-size: 1.06rem;
  line-height: 1.75;
  max-width: 520px;
}

/* Seção form + canais */
.mu-contato-section {
  padding-top: var(--t-spacing-3xl);
  padding-bottom: var(--t-spacing-3xl);
}

.mu-contato-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--t-spacing-lg);
  align-items: start;
}

@media (min-width: 768px) {
  .mu-contato-grid {
    grid-template-columns: 1fr 1fr;
    gap: 28px;
  }
}

@media (min-width: 1024px) {
  .mu-contato-grid {
    grid-template-columns: 1.1fr 0.9fr;
  }
}

/* Cartão do formulário */
.mu-form-card {
  background: var(--t-surface);
  border: 1px solid var(--t-card-border);
  border-radius: var(--t-radii-xl);
  padding: var(--t-spacing-lg);
}

@media (min-width: 768px) {
  .mu-form-card {
    padding: var(--t-spacing-xl);
  }
}

@media (min-width: 1024px) {
  .mu-form-card {
    padding: var(--t-spacing-2xl);
  }
}

.mu-form-card__title {
  margin: 0 0 6px;
  font-size: 1.35rem;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.mu-form-card__hint {
  margin: 0 0 var(--t-spacing-xl);
  color: var(--t-muted);
  font-size: 0.875rem;
}

.mu-form-required-mark {
  color: var(--t-accent-deep);
}

/* Estados de feedback do formulário: usa .w10-alert do DS (atoms.css) */
#mu-form-success,
#mu-form-alert {
  margin-bottom: var(--t-spacing-xl);
}

/* Campos do formulário */
.mu-form {
  display: flex;
  flex-direction: column;
  gap: var(--t-spacing-lg);
}

.mu-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--t-spacing-md);
}

@media (max-width: 480px) {
  .mu-form-row {
    grid-template-columns: 1fr;
  }
}

.mu-form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.mu-form-label {
  font-size: 0.81rem;
  font-weight: 600;
}

.mu-form-input {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--t-fg) 16%, transparent);
  border-radius: var(--t-radii-lg);
  background: var(--t-surface-2);
  font-family: var(--t-f-body);
  font-size: 0.94rem;
  color: var(--t-fg);
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.mu-form-input::placeholder {
  color: var(--t-muted-2);
}

.mu-form-input:focus {
  border-color: var(--t-fg);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--t-fg) 12%, transparent);
}

.mu-form-input--error {
  border-color: var(--t-danger);
  background: #fdf3f2;
}

.mu-form-input--error:focus {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--t-danger) 15%, transparent);
}

.mu-form-input--textarea {
  resize: vertical;
  min-height: 110px;
}

.mu-form-error {
  color: var(--t-danger);
  font-size: 0.78rem;
}

.mu-form-submit {
  margin-top: var(--t-spacing-sm);
}

.mu-form-submit:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.mu-form-lgpd {
  margin: 0;
  color: var(--t-muted-2);
  font-size: 0.75rem;
  line-height: 1.6;
}

/* Honeypot */
.mu-form-hp {
  position: absolute;
  left: -9999px;
  top: -9999px;
  opacity: 0;
  pointer-events: none;
}

/* Canais de contato */
.mu-contact-channels {
  display: flex;
  flex-direction: column;
  gap: var(--t-spacing-md);
}

.mu-channel-card {
  display: flex;
  align-items: center;
  gap: var(--t-spacing-md);
  padding: var(--t-spacing-lg);
  background: var(--t-surface);
  border: 1px solid var(--t-card-border);
  border-radius: var(--t-radii-xl);
  text-decoration: none;
  color: var(--t-fg);
  transition: background 0.15s;
}

.mu-channel-card--wa {
  background: var(--t-fg);
  color: var(--t-surface);
  border-color: transparent;
}

.mu-channel-card--wa:hover,
.mu-channel-card--wa:focus-visible {
  background: var(--t-fg-deep);
}

.mu-channel-card--address {
  flex-direction: column;
  align-items: flex-start;
}

.mu-channel-card__icon {
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  border-radius: var(--t-radii-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
}

.mu-channel-card__icon--wa {
  background: var(--t-whatsapp);
  color: var(--t-surface);
}

.mu-channel-card__icon--accent {
  border: 1px solid color-mix(in srgb, var(--t-accent) 50%, transparent);
  color: var(--t-accent-deep);
}

.mu-channel-card__label {
  font-size: 0.69rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
}

.mu-channel-card__label--accent {
  color: var(--t-accent-deep);
}

.mu-channel-card__title {
  display: block;
  font-size: 1rem;
  font-weight: 600;
}

.mu-channel-card--wa .mu-channel-card__title {
  color: var(--t-surface);
}

.mu-channel-card__value {
  font-size: 0.84rem;
  color: var(--t-muted);
}

.mu-channel-card--wa .mu-channel-card__value {
  color: rgba(255,255,255,0.7);
}

.mu-channel-card__address {
  margin: var(--t-spacing-sm) 0 0;
  font-size: 0.9rem;
  color: var(--t-fg);
  line-height: 1.6;
}

/* Social links dentro do cartão de endereço */
.mu-social-links {
  display: flex;
  gap: var(--t-spacing-sm);
  list-style: none;
  margin: var(--t-spacing-md) 0 0;
  padding: 0;
}

.mu-social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--t-card-border);
  color: var(--t-muted);
  font-size: 0.75rem;
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
  transition: border-color 0.15s, color 0.15s;
}

.mu-social-link:hover,
.mu-social-link:focus-visible {
  border-color: var(--t-accent-deep);
  color: var(--t-accent-deep);
}

/* Mapa */
.mu-contato-map {
  padding-top: 0;
  padding-bottom: var(--t-spacing-3xl);
}

.mu-contato-map__wrap {
  aspect-ratio: 16 / 6;
  border-radius: var(--t-radii-xl);
  overflow: hidden;
}

.mu-contato-map__wrap iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

/* ── 404 (MU-74) ──────────────────────────────────────────────────── */

.mu-404-section {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--t-spacing-3xl);
  padding-top: var(--t-spacing-2xl);
  padding-bottom: var(--t-spacing-3xl);
}

@media (min-width: 900px) {
  .mu-404-section {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }
}

.mu-404-code {
  display: block;
  font-family: var(--t-f-display);
  font-size: clamp(7rem, 18vw, 14rem);
  line-height: 0.85;
  letter-spacing: -0.02em;
  color: color-mix(in srgb, var(--t-accent) 25%, var(--t-bg));
  user-select: none;
  margin-bottom: var(--t-spacing-lg);
}

.mu-404-title {
  margin: 0 0 var(--t-spacing-md);
  font-size: clamp(1.9rem, 3.5vw, 2.6rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.025em;
}

.mu-404-lead {
  margin: 0 0 var(--t-spacing-xl);
  color: var(--t-muted);
  font-size: 1.06rem;
  line-height: 1.75;
  max-width: 460px;
}

.mu-404-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--t-spacing-md);
}

.mu-404-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--t-spacing-sm);
}

.mu-404-link {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: var(--t-spacing-md);
  row-gap: 2px;
  padding: var(--t-spacing-lg);
  background: var(--t-surface);
  border: 1px solid var(--t-card-border);
  border-radius: var(--t-radii-xl);
  text-decoration: none;
  color: var(--t-fg);
  transition: border-color 0.15s, box-shadow 0.15s;
}

.mu-404-link:hover,
.mu-404-link:focus-visible {
  border-color: color-mix(in srgb, var(--t-accent) 60%, transparent);
  box-shadow: 0 4px 16px color-mix(in srgb, var(--t-fg) 6%, transparent);
}

.mu-404-link__glyph {
  grid-row: 1 / 3;
  align-self: center;
  font-size: 1.5rem;
  color: var(--t-accent-deep);
  line-height: 1;
}

.mu-404-link__label {
  font-size: 1rem;
  font-weight: 600;
  align-self: end;
}

.mu-404-link__desc {
  font-size: 0.81rem;
  color: var(--t-muted);
  align-self: start;
}

/* ── Páginas legais — Termos de Uso e Política de Privacidade (MU-58/MU-89) ── */
.mu-legal-hero {
  padding-top: calc(var(--mu-header-h) + var(--t-spacing-xs));
  padding-bottom: 0;
}

@media (min-width: 768px) {
  .mu-legal-hero {
    padding-top: calc(var(--mu-header-h) + var(--t-spacing-lg));
  }
}

.mu-legal-hero__content {
  max-width: 880px;
  margin-top: var(--t-spacing-lg);
}

.mu-legal-hero__title {
  margin: 0;
  font-family: var(--t-f-sans);
  font-size: clamp(2.2rem, 4.4vw, 3.2rem);
  font-weight: 400;
  line-height: 1.06;
  letter-spacing: -0.025em;
  color: var(--t-fg);
}

.mu-legal-content {
  padding-top: var(--t-spacing-2xl);
  padding-bottom: var(--t-spacing-3xl);
}

.mu-legal-content__body {
  max-width: 720px;
}

.mu-legal-content__body h2 {
  margin: var(--t-spacing-xl) 0 var(--t-spacing-sm);
  font-family: var(--t-f-sans);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--t-fg);
}

.mu-legal-content__body p,
.mu-legal-content__body li {
  margin-bottom: var(--t-spacing-sm);
  color: var(--t-muted);
  font-size: 0.97rem;
  line-height: 1.8;
}

.mu-legal-content__body ul {
  padding-left: var(--t-spacing-lg);
  margin-bottom: var(--t-spacing-md);
}

.mu-legal-content__body strong {
  color: var(--t-fg);
  font-weight: 600;
}

.mu-legal-content__body em {
  color: var(--t-muted);
  font-size: 0.88rem;
}

/* ── Banner de consentimento de cookies — LGPD (MU-45) ── */
.mu-cookie {
  position: fixed;
  left: var(--t-spacing-lg);
  right: var(--t-spacing-lg);
  bottom: var(--t-spacing-lg);
  z-index: 100;
}

.mu-cookie[hidden] {
  display: none;
}

.mu-cookie__box {
  max-width: var(--t-container-max);
  margin: 0 auto;
  background: var(--t-surface);
  color: var(--t-fg);
  border: 1px solid color-mix(in srgb, var(--t-fg) 8%, transparent);
  border-radius: var(--t-radii-lg);
  box-shadow: 0 18px 50px color-mix(in srgb, var(--t-fg-deep) 18%, transparent);
  padding: var(--t-spacing-lg);
  display: flex;
  flex-direction: column;
  gap: var(--t-spacing-md);
}

@media (min-width: 768px) {
  .mu-cookie__box {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: var(--t-spacing-xl);
  }
}

.mu-cookie__title {
  margin: 0 0 var(--t-spacing-xs);
  font-weight: 700;
}

.mu-cookie__desc {
  margin: 0;
  max-width: 60ch;
  font-size: 0.9rem;
  color: var(--t-muted);
}

.mu-cookie__link {
  color: var(--t-accent);
  text-decoration: underline;
}

.mu-cookie__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--t-spacing-sm);
  flex-shrink: 0;
}

/* Gatilho "Preferências de cookies" no rodapé (reabre o banner via JS). */
.mu-cookie-prefs {
  display: inline;
  margin-left: var(--t-spacing-sm);
  padding: 0;
  background: none;
  border: 0;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}

