/* Tema default — Lumina (institucional teal) */
:root {
  --blue-900: #0f172a;
  --blue-800: #1e293b;
  --blue-600: #0891b2;
  --blue-500: #06b6d4;
  --blue-100: #cffafe;
  --blue-50: #ecfeff;

  --red-600: #c62828;
  --red-500: #e53935;
  --red-50: #fef2f2;

  --bg: #f8fafc;
  --bg-pattern: #eef2f6;
  --surface: #ffffff;
  --surface-2: #f1f5f9;
  --border: #e2e8f0;
  --text: #0f172a;
  --muted: #64748b;
  --accent-blue: #0e7490;
  --accent-red: var(--red-600);
  --focus: #22d3ee;
  --radius: 12px;
  --radius-sm: 8px;
  --shadow: 0 2px 10px rgba(15, 23, 42, 0.06), 0 12px 36px rgba(15, 23, 42, 0.07);
  --shadow-lg: 0 8px 40px rgba(15, 23, 42, 0.1);

  --font-sans: "Albert Sans", system-ui, -apple-system, sans-serif;
  --font-display: "Bricolage Grotesque", "Albert Sans", system-ui, sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  /* Evita scroll horizontal: full-bleed em 100vw + scrollbar vertical (Windows) */
  scrollbar-gutter: stable;
  overflow-x: clip;
  overflow-x: hidden;
}

/* Shell flexível: com pouco conteúdo o rodapé permanece na base da janela; com muito conteúdo segue o fluxo normal */
.theme-site {
  margin: 0;
  font-family: var(--font-sans);
  background: var(--bg);
  color: var(--text);
  font-size: 1.0625rem;
  line-height: 1.65;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  max-width: 100%;
  overflow-x: clip;
  overflow-x: hidden;
}

h1,
h2,
h3,
.hero-caption h1,
.features h2,
.page-head h1 {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: -0.02em;
  text-transform: none;
}

a {
  color: var(--accent-blue);
  text-underline-offset: 3px;
}

a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
}

.skip-link {
  position: absolute;
  left: -999px;
  top: 0;
  background: var(--accent-red);
  color: #fff;
  padding: 8px 16px;
  z-index: 1000;
  font-weight: 600;
}

.skip-link:focus {
  left: 16px;
}

.wrap {
  width: min(1140px, 100% - 32px);
  margin-inline: auto;
}

/* Seções que usam .wrap diretamente mas precisam ser full-width */
section.features.wrap {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

/* Macros galeria / vídeos / slides: presets de largura (data-embed-layout) */
.site-embed-wrap {
  width: 100%;
  margin-block: 1.25rem;
  box-sizing: border-box;
}

.site-embed-wrap--contain {
  max-width: none;
}

.site-embed-wrap--narrow {
  max-width: 42rem;
  margin-inline: auto;
}

.site-embed-wrap--full {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  margin-block: 1.5rem;
}

.site-embed-wrap--boxed {
  max-width: min(960px, 100%);
  margin-inline: auto;
  padding: 1rem 1.1rem;
  border-radius: var(--radius);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 900;
  background: rgba(248, 250, 252, 0.92);
  backdrop-filter: saturate(140%) blur(12px);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 2px 14px rgba(15, 23, 42, 0.05);
  flex-shrink: 0;
}

body.site-layout--header-static .site-header {
  position: relative;
  top: auto;
}

.header-inner {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-height: clamp(76px, 11vw, 96px);
  flex-wrap: wrap;
}

.header-stack {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.header-tier-rule {
  display: none;
}

/* ≥1200px: barra em linha única; nav não “quebra” para baixo do logo. Drawer + rail até 1199px (ver JS HEADER_NAV_DESKTOP_MIN). */
@media (min-width: 1200px) {
  .header-inner {
    flex-wrap: nowrap;
    row-gap: 0;
  }
  .brand {
    flex-shrink: 0;
  }
  .header-contact {
    flex-shrink: 0;
    flex-wrap: nowrap;
  }
  /* min-width:0 evita células de grid (Aurora etc.) impedirem encolher e empurrarem o menu para baixo */
  .site-header .nav-main {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
  }
  .nav-list {
    flex-wrap: nowrap;
  }
  .nav-list > li {
    flex-shrink: 0;
  }
  .nav-list > li > a {
    white-space: nowrap;
  }

  /* ── Segunda linha do header (layout “menu embaixo”, ver admin Layout por tema) ── */
  .site-header--menu-below .header-tier-rule {
    display: block;
    height: 1px;
    background: var(--border);
    opacity: 0.92;
    width: 100%;
    flex-shrink: 0;
  }

  .site-header--menu-below .header-tier-nav-inner {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 48px;
    padding-block: 6px;
    box-sizing: border-box;
    width: 100%;
  }

  .site-header--menu-below .header-tier-nav-inner .nav-main {
    width: 100%;
  }

  .site-header--menu-below .header-tier-nav-inner--full {
    max-width: none;
    width: 100%;
    margin-inline: 0;
    padding-inline: clamp(16px, 3vw, 40px);
  }

  .theme-site--aurora .site-header--menu-below .header-tier-rule {
    background: linear-gradient(
      90deg,
      transparent,
      rgba(6, 182, 212, 0.32),
      transparent
    );
  }

  /* Variantes da 2ª linha — admin Layout por tema (Estilo da 2ª linha do menu) */
  body.site-layout--navtier-muted .site-header--menu-below .header-tier-nav {
    background: var(--surface-2);
  }

  body.site-layout--navtier-accent .site-header--menu-below .header-tier-nav {
    background: linear-gradient(
      180deg,
      rgba(21, 101, 192, 0.13),
      rgba(245, 249, 255, 0.35)
    );
  }

  body.site-layout--navtier-divider .site-header--menu-below .header-tier-rule {
    height: 0;
    margin: 0;
    opacity: 0;
    visibility: hidden;
  }

  body.site-layout--navtier-divider .site-header--menu-below .header-tier-nav {
    border-top: 3px solid var(--accent-blue, var(--blue-600));
  }
}

.brand {
  display: inline-flex;
  align-items: center;
}

.brand img {
  display: block;
  height: auto;
  width: auto;
  max-height: clamp(52px, 10vw, 76px);
  max-width: min(360px, 70vw);
  object-fit: contain;
}

/* Sem imagem enviada (logo_path vazio): marca só pelo nome em Configurações. */
.brand.brand--text-logo {
  gap: 0;
  max-width: min(420px, 88vw);
  text-decoration: none;
}
.brand.brand--text-logo .brand-copy--primary {
  margin: 0;
}
.brand.brand--text-logo .brand-copy--primary strong {
  display: block;
  font-size: clamp(1.06rem, 2.6vw, 1.42rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.18;
}
.brand.brand--text-logo .brand-copy--primary small {
  display: block;
  margin-top: 0.2rem;
}

/* Altura definida em Admin → Logotipo (--logo-header-max no body). */
.site-header .brand img.brand__logo--custom-size {
  max-height: min(var(--logo-header-max), 90vw) !important;
  max-width: min(420px, 92vw) !important;
}
.site-header--mesites-brand .brand img.brand__logo--mesites.brand__logo--custom-size {
  max-height: min(var(--logo-header-max), 86vw) !important;
}

/* mesites: wordmark no header — barra baixa, sem min-height exagerado; logo maior (é o nome). */
.site-header--mesites-brand .header-inner {
  min-height: 0 !important;
  padding-block: clamp(2px, 0.6vw, 5px);
}
.site-header--mesites-brand .brand {
  line-height: 0;
  gap: 0;
  align-items: center;
  background: transparent !important;
  box-shadow: none;
}
/* Não repetir nome ao lado do PNG: o logotipo já é “mesites”. */
.site-header--mesites-brand .brand-copy {
  display: none !important;
}
.brand__logo--mesites {
  max-height: clamp(40px, 9.5vw, 68px) !important;
  max-width: min(360px, 86vw) !important;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: middle;
  width: auto;
  height: auto;
}

/*
 * PNG com chapado branco: em header quase #fff o multiply não some o quadro.
 * Temas claros: darken → branco assume o tom do fundo; cores do logo preservam melhor que multiply no slate.
 * Temas escuros: multiply funde branco ao fundo escuro.
 */
.theme-site--default .site-header.site-header--mesites-brand,
.theme-site--ocean .site-header.site-header--mesites-brand,
.theme-site--fluxlane .site-header.site-header--mesites-brand,
.theme-site--sunset .site-header.site-header--mesites-brand,
.theme-site--forest .site-header.site-header--mesites-brand {
  background: rgba(237, 242, 247, 0.96);
  backdrop-filter: saturate(140%) blur(14px);
}

.theme-site--logistico .site-header.site-header--mesites-brand {
  background: linear-gradient(180deg, #0a1628 0%, #071222 52%, #050e18 100%);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 1px solid rgba(234, 88, 12, 0.22);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}

.theme-site--default .site-header--mesites-brand .brand__logo--mesites,
.theme-site--ocean .site-header--mesites-brand .brand__logo--mesites,
.theme-site--fluxlane .site-header--mesites-brand .brand__logo--mesites,
.theme-site--sunset .site-header--mesites-brand .brand__logo--mesites,
.theme-site--forest .site-header--mesites-brand .brand__logo--mesites {
  mix-blend-mode: darken;
}

/* Logo Mesites sobre fundo escuro: não usar darken */
.theme-site--logistico .site-header--mesites-brand .brand__logo--mesites {
  mix-blend-mode: normal;
}

.theme-site--aurora .site-header--mesites-brand .brand__logo--mesites,
.theme-site--noir .site-header--mesites-brand .brand__logo--mesites,
.theme-site--technology .site-header--mesites-brand .brand__logo--mesites {
  mix-blend-mode: multiply;
}

@media (min-width: 1200px) {
  .site-header--mesites-brand.site-header--split-neon .header-inner {
    min-height: 0;
  }
}

.nav-main ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-list {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.25rem;
  align-items: center;
}

/* Com menu dividido: no drawer/mobile só a lista “mobile”; “desktop” fica oculta. */
.nav-list.nav-list--desktop-only {
  display: none !important;
}

.nav-list > li {
  position: relative;
}

.nav-list > li > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 0.85rem;
  color: var(--blue-800);
  text-decoration: none;
  font-weight: 500;
  border-radius: 8px;
  transition: color 0.2s, background 0.2s;
}

.nav-list > li.has-submenu > a::after {
  content: "▾";
  margin-left: 0.35rem;
  opacity: 0.55;
  font-size: 0.72em;
  color: var(--accent-blue);
}

.submenu {
  display: none;
  position: absolute;
  left: 0;
  top: calc(100% - 4px);
  min-width: 232px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 0.5rem;
  box-shadow: var(--shadow-lg);
}

@media (min-width: 1200px) {
  .nav-list > li:hover > .submenu,
  .nav-list > li:focus-within > .submenu {
    display: block;
  }

  /* Itens dentro do dropdown “Mais” que também têm submenu */
  .nav-more .submenu > li.has-submenu:hover > .submenu,
  .nav-more .submenu > li.has-submenu:focus-within > .submenu {
    display: block;
  }

  /* Mobile: lista completa no drawer. Desktop largo: barra truncada + “Mais”. */
  .nav-list.nav-list--desktop-only {
    display: flex !important;
  }
  .nav-list.nav-list--mobile-only {
    display: none !important;
  }

  .nav-list > li.nav-more {
    position: relative;
    flex-shrink: 0;
  }

  .nav-more > .submenu,
  .nav-more > .submenu.nav-more-panel {
    left: auto;
    right: 0;
    min-width: min(16rem, calc(100vw - 48px));
    max-width: min(19rem, calc(100vw - 24px));
  }

  .nav-more .submenu > li.has-submenu {
    position: relative;
  }

  /* Flyout dentro de «Mais»: abre para a esquerda (evita cortar à direita da janela) */
  .nav-more .submenu > li.has-submenu > .submenu {
    position: absolute;
    top: -6px;
    left: auto;
    right: 100%;
    margin-left: 0;
    margin-right: 10px;
    min-width: min(22rem, calc(100vw - 96px));
    max-width: min(34rem, calc(100vw - 36px));
    max-height: min(72vh, 540px);
    overflow-x: visible;
    overflow-y: auto;
    z-index: 920;
  }

  /* Listas largas na barra (ex.: Serviços com vários links) — rótulos longos PT-BR */
  .nav-list > li:not(.nav-more).has-submenu > .submenu.submenu--wide {
    min-width: max(268px, 17.5rem);
    max-width: min(34rem, calc(100vw - 40px));
    padding: 0.62rem;
  }

  .submenu.submenu--wide li a {
    align-items: flex-start;
    white-space: normal;
    text-align: left;
    line-height: 1.38;
    padding: 11px 12px;
  }

  /* Alinhamento horizontal do menu (Layout por tema — body.site-layout--nav-align-*) */
  body.site-layout--nav-align-center .site-header .nav-main .nav-list--desktop-only,
  body.site-layout--nav-align-center .site-header .nav-main > .nav-list:not(.nav-list--mobile-only):not(.nav-list--desktop-only) {
    justify-content: center;
  }

  body.site-layout--nav-align-end .site-header .nav-main .nav-list--desktop-only,
  body.site-layout--nav-align-end .site-header .nav-main > .nav-list:not(.nav-list--mobile-only):not(.nav-list--desktop-only) {
    justify-content: flex-end;
  }

  body.site-layout--nav-align-center .site-header--menu-below .header-tier-nav-inner {
    justify-content: center;
  }

  body.site-layout--nav-align-end .site-header--menu-below .header-tier-nav-inner {
    justify-content: flex-end;
  }

  /* “Mais” como ícone + (Layout por tema) */
  .nav-more-trigger.nav-more-trigger--plus {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0 0.5rem;
    font-size: 1.45rem;
    font-weight: 300;
    line-height: 1;
    letter-spacing: 0;
    border-radius: 10px;
  }

  .nav-more-trigger__icon {
    display: block;
    transform: translateY(-1px);
  }

  .nav-list > li.nav-more > .nav-more-trigger--plus::after {
    content: none !important;
  }

  /* Ocean: layout “menu embaixo” forçava centro no bloco do nav — respeita opção do usuário */
  body.site-layout--nav-align-start .theme-site--ocean .site-header--glassbar.site-header--menu-below .header-tier-nav-inner .nav-main {
    justify-self: start;
  }

  body.site-layout--nav-align-end .theme-site--ocean .site-header--glassbar.site-header--menu-below .header-tier-nav-inner .nav-main {
    justify-self: end;
  }

  /* Efeitos de cor/foco nos links (Admin → Layout por tema · header_nav_effect) — refino em 2026 */
  /* Base comum aos efeitos com pseudo-elements */
  body[class*="site-layout--nav-effect-"]:not(.site-layout--nav-effect-default).theme-site
    .site-header
    .nav-list
    > li
    > a:not(.nav-more-trigger) {
    position: relative;
    overflow: visible;
    z-index: 0;
    transition:
      transform 0.22s cubic-bezier(0.23, 1, 0.32, 1),
      box-shadow 0.26s cubic-bezier(0.23, 1, 0.32, 1),
      color 0.2s ease,
      background-color 0.22s ease;
  }

  /* Linha sóbria — underbar em escala (sem exagero) */
  body.site-layout--nav-effect-underline.theme-site .site-header .nav-list > li > a:not(.nav-more-trigger)::before {
    content: "";
    position: absolute;
    inset-inline: 12%;
    bottom: 6px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(
      90deg,
      transparent 0%,
      color-mix(in srgb, var(--accent-blue, var(--blue-600)) 92%, transparent),
      transparent 100%
    );
    opacity: 0;
    transform: scaleX(0.38);
    transform-origin: center bottom;
    transition:
      opacity 0.26s cubic-bezier(0.23, 1, 0.32, 1),
      transform 0.36s cubic-bezier(0.19, 1, 0.22, 1);
    pointer-events: none;
    z-index: 2;
  }

  body.site-layout--nav-effect-underline.theme-site .site-header .nav-list > li > a:not(.nav-more-trigger):hover::before,
  body.site-layout--nav-effect-underline.theme-site
    .site-header
    .nav-list
    > li
    > a:not(.nav-more-trigger):focus-visible::before {
    opacity: 1;
    transform: scaleX(1);
  }

  /* Trilho luminoso — underline com glow suave (--accent) */
  body.site-layout--nav-effect-sweep.theme-site .site-header .nav-list > li > a:not(.nav-more-trigger)::before {
    content: "";
    position: absolute;
    inset-inline: 8%;
    bottom: 5px;
    height: 3px;
    border-radius: 99px;
    background: linear-gradient(
      94deg,
      transparent,
      rgba(147, 197, 253, 0.55),
      color-mix(in srgb, var(--accent-blue, var(--blue-600)) 88%, white),
      rgba(147, 197, 253, 0.58),
      transparent
    );
    background-size: 200% 100%;
    box-shadow: 0 0 16px color-mix(in srgb, var(--accent-blue, var(--blue-600)) 28%, transparent);
    opacity: 0;
    transform: scaleX(0.52);
    transform-origin: center bottom;
    transition:
      opacity 0.28s cubic-bezier(0.23, 1, 0.32, 1),
      transform 0.36s cubic-bezier(0.19, 1, 0.22, 1),
      background-position 0.45s ease-out;
    background-position: 0% 50%;
    pointer-events: none;
    z-index: 2;
  }

  body.site-layout--nav-effect-sweep.theme-site .site-header .nav-list > li > a:not(.nav-more-trigger):hover::before,
  body.site-layout--nav-effect-sweep.theme-site
    .site-header
    .nav-list
    > li
    > a:not(.nav-more-trigger):focus-visible::before {
    opacity: 1;
    transform: scaleX(1);
    background-position: 100% 50%;
  }

  /* Cápsula — preenchimento rounded + brilho discreto */
  body.site-layout--nav-effect-capsule.theme-site .site-header .nav-list > li > a:not(.nav-more-trigger) {
    border-radius: 999px;
    padding-inline: 1.08rem;
  }

  body.site-layout--nav-effect-capsule.theme-site .site-header .nav-list > li > a:not(.nav-more-trigger):hover,
  body.site-layout--nav-effect-capsule.theme-site .site-header .nav-list > li > a:not(.nav-more-trigger):focus-visible {
    color: var(--blue-900);
    background:
      radial-gradient(ellipse 120% 80% at 30% 12%, rgba(255, 255, 255, 0.52), transparent 55%),
      linear-gradient(152deg, rgba(255, 255, 255, 0.32) 0%, color-mix(in srgb, var(--accent-blue, var(--blue-600)) 16%, transparent) 100%);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.45),
      0 8px 26px rgba(15, 23, 42, 0.1);
    backdrop-filter: blur(7px) saturate(112%);
  }

  /* Fosco vidro — leve elevação sem “pop” exagerado */
  body.site-layout--nav-effect-frost.theme-site .site-header .nav-list > li > a:not(.nav-more-trigger) {
    border-radius: 12px;
  }

  body.site-layout--nav-effect-frost.theme-site .site-header .nav-list > li > a:not(.nav-more-trigger):hover,
  body.site-layout--nav-effect-frost.theme-site .site-header .nav-list > li > a:not(.nav-more-trigger):focus-visible {
    transform: translateY(-1px);
    color: var(--blue-900);
    border: 1px solid rgba(255, 255, 255, 0.32);
    background: linear-gradient(
      188deg,
      rgba(255, 255, 255, 0.55) 0%,
      rgba(255, 255, 255, 0.12) 62%,
      color-mix(in srgb, var(--accent-blue, var(--blue-600)) 9%, rgba(255, 255, 255, 0.06)) 100%
    );
    box-shadow:
      0 12px 34px rgba(15, 23, 42, 0.09),
      inset 0 1px rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(10px) saturate(118%);
    outline: none;
  }

  /* Moldura — borda + halo contido (sem pulso infinito) */
  body.site-layout--nav-effect-frame.theme-site .site-header .nav-list > li > a:not(.nav-more-trigger) {
    border-radius: 12px;
  }

  body.site-layout--nav-effect-frame.theme-site .site-header .nav-list > li > a:not(.nav-more-trigger):hover,
  body.site-layout--nav-effect-frame.theme-site .site-header .nav-list > li > a:not(.nav-more-trigger):focus-visible {
    color: var(--blue-900);
    outline: none;
    box-shadow:
      0 0 0 1px color-mix(in srgb, var(--accent-blue, var(--blue-600)) 45%, rgba(255, 255, 255, 0.4)),
      0 0 0 2px rgba(255, 255, 255, 0.2),
      0 14px 38px color-mix(in srgb, var(--accent-blue, var(--blue-600)) 16%, rgba(15, 23, 42, 0.12));
    background:
      radial-gradient(ellipse 80% 140% at 50% -35%, rgba(255, 255, 255, 0.52), transparent 58%),
      rgba(255, 255, 255, 0.1);
  }

  /* Iris leve — véu em gradiente diagonal, estático (sem animação em loop) */
  body.site-layout--nav-effect-prism.theme-site .site-header .nav-list > li > a:not(.nav-more-trigger)::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 13px;
    background: linear-gradient(
      124deg,
      color-mix(in srgb, rgba(251, 191, 36, 0.35) 50%, transparent) 0%,
      color-mix(in srgb, rgba(56, 189, 248, 0.42) 50%, transparent) 38%,
      color-mix(in srgb, rgba(167, 139, 250, 0.4) 50%, transparent) 72%,
      color-mix(in srgb, rgba(251, 191, 36, 0.22) 50%, transparent) 100%
    );
    opacity: 0;
    mix-blend-mode: soft-light;
    transition: opacity 0.34s cubic-bezier(0.23, 1, 0.32, 1);
    z-index: -1;
    pointer-events: none;
  }

  body.site-layout--nav-effect-prism.theme-site .site-header .nav-list > li > a:not(.nav-more-trigger):hover::before,
  body.site-layout--nav-effect-prism.theme-site
    .site-header
    .nav-list
    > li
    > a:not(.nav-more-trigger):focus-visible::before {
    opacity: 0.72;
  }

  body.site-layout--nav-effect-prism.theme-site .site-header .nav-list > li > a:not(.nav-more-trigger):hover,
  body.site-layout--nav-effect-prism.theme-site .site-header .nav-list > li > a:not(.nav-more-trigger):focus-visible {
    color: var(--blue-900);
  }

  /*
   Fundo da faixa do menu — header_nav_band_bg (uma linha: .nav-main; menu embaixo: .header-tier-nav)
   Sobrescreve apenas após outros estilos do layout (navtier-accent etc.) por ordem mais abaixo no mesmo breakpoint.
 */
  body[class*="site-layout--nav-band-bg-"].theme-site .site-header:not(.site-header--menu-below) .nav-main {
    border-radius: 15px;
    padding-inline: 8px;
  }

  body.site-layout--nav-band-bg-pearl.theme-site .site-header:not(.site-header--menu-below) .nav-main {
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.55),
      0 1px rgba(148, 163, 184, 0.12);
    background-image: linear-gradient(130deg, #f9fafc 0%, #edf2fb 54%, #e2ecf8 100%);
  }

  body.site-layout--nav-band-bg-slate-teal.theme-site .site-header:not(.site-header--menu-below) .nav-main {
    background-image:
      radial-gradient(circle at 12% -12%, rgba(255, 255, 255, 0.4), transparent 48%),
      linear-gradient(
        148deg,
        #0f172a 6%,
        #1e293b 48%,
        #115e59 100%
      );
  }

  body.site-layout--nav-band-bg-dusk-plum.theme-site .site-header:not(.site-header--menu-below) .nav-main {
    background-image: linear-gradient(
      120deg,
      #2b0828 10%,
      #4f1946 54%,
      #7f1d74 94%
    );
  }

  body.site-layout--nav-band-bg-frost-ice.theme-site .site-header:not(.site-header--menu-below) .nav-main {
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.55),
      0 16px 32px rgba(59, 130, 246, 0.1);
    background-image: linear-gradient(130deg, #ffffff 0%, #eaf2fb 72%, #dbebf8 100%);
  }

  body.site-layout--nav-band-bg-forest-canopy.theme-site .site-header:not(.site-header--menu-below) .nav-main {
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.12),
      0 1px rgba(21, 128, 61, 0.18);
    background-image:
      radial-gradient(circle at 80% -20%, rgba(187, 247, 208, 0.4), transparent 55%),
      linear-gradient(170deg, #022c22 0%, #14532d 46%, #4d7c0f 112%);
  }

  body.site-layout--nav-band-bg-sunset-ember.theme-site .site-header:not(.site-header--menu-below) .nav-main {
    background-image: linear-gradient(130deg, #451a03 0%, #9a3412 48%, #f97316 92%);
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.15);
  }

  body.site-layout--nav-band-bg-ocean-deep.theme-site .site-header:not(.site-header--menu-below) .nav-main {
    background-image:
      radial-gradient(circle at 15% -8%, rgba(191, 219, 254, 0.4), transparent 48%),
      linear-gradient(
        154deg,
        #0c2548 14%,
        #1d4ed8 58%,
        #0f172a 100%
      );
  }

  body.site-layout--nav-band-bg-midnight-noir.theme-site .site-header:not(.site-header--menu-below) .nav-main {
    background-image: linear-gradient(125deg, #020617 0%, #0f172a 44%, #1e293b 100%);
    box-shadow: inset 0 1px rgba(248, 250, 252, 0.08);
  }

  body.site-layout--nav-band-bg-lavender-mist.theme-site .site-header:not(.site-header--menu-below) .nav-main {
    background-image: linear-gradient(140deg, #fae8ff 0%, #e9d5ff 62%, #c4b5fd 118%);
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.35);
  }

  body.site-layout--nav-band-bg-sand-dune.theme-site .site-header:not(.site-header--menu-below) .nav-main {
    background-image: linear-gradient(
      154deg,
      #fffbeb 14%,
      #fde68a 45%,
      #fbbf24 100%
    );
  }

  body.site-layout--nav-band-bg-rose-blush.theme-site .site-header:not(.site-header--menu-below) .nav-main {
    background-image: linear-gradient(170deg, #fff1f2 22%, #fda4af 68%, #e11d48 104%);
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.28);
  }

  body.site-layout--nav-band-bg-carbon-mesh.theme-site .site-header:not(.site-header--menu-below) .nav-main {
    background-image:
      linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(148, 163, 184, 0.2) 12%, transparent 62%),
      repeating-linear-gradient(96deg, #0f172a 0%, #030712 4%, #0f172a 11%, #1e293b 18%);
  }

  body.site-layout--nav-band-bg-aurora-shift.theme-site .site-header:not(.site-header--menu-below) .nav-main {
    background-image: linear-gradient(
      148deg,
      #022c43 22%,
      #1d4ed8 45%,
      #a855f7 68%,
      #065f46 96%
    );
    box-shadow:
      inset 0 2px rgba(248, 250, 252, 0.12),
      0 0 40px rgba(56, 189, 248, 0.2);
  }

  body[class*="site-layout--nav-band-bg-"].theme-site .site-header--menu-below .header-tier-nav-inner {
    border-radius: 0;
  }

  body.site-layout--nav-band-bg-pearl.theme-site .site-header--menu-below .header-tier-nav {
    background-image:
      radial-gradient(circle at 18% -8%, rgba(255, 255, 255, 0.6), transparent 48%),
      linear-gradient(
        154deg,
        #f9fafc 0%,
        #edf3fc 74%,
        #e9eef6 118%
      );
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.35);
    border-block: 1px solid rgba(148, 163, 184, 0.08);
  }

  body.site-layout--nav-band-bg-slate-teal.theme-site .site-header--menu-below .header-tier-nav {
    background-image:
      radial-gradient(circle at 90% -9%, rgba(255, 255, 255, 0.1), transparent 44%),
      linear-gradient(
        128deg,
        #0f172a 28%,
        #1e293b 58%,
        #115e59 100%
      );
  }

  body.site-layout--nav-band-bg-dusk-plum.theme-site .site-header--menu-below .header-tier-nav {
    background-image: linear-gradient(
      115deg,
      #2f042b 36%,
      #6f1c60 94%
    );
  }

  body.site-layout--nav-band-bg-frost-ice.theme-site .site-header--menu-below .header-tier-nav {
    background-image: linear-gradient(170deg, #ffffff 34%, #e2eaf6 118%);
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.45);
    border-block: 1px solid rgba(148, 163, 184, 0.1);
  }

  body.site-layout--nav-band-bg-forest-canopy.theme-site .site-header--menu-below .header-tier-nav {
    background-image:
      radial-gradient(circle at 74% -6%, rgba(187, 247, 208, 0.3), transparent 44%),
      linear-gradient(
        174deg,
        #022818 56%,
        #166534 100%
      );
  }

  body.site-layout--nav-band-bg-sunset-ember.theme-site .site-header--menu-below .header-tier-nav {
    background-image: linear-gradient(
      122deg,
      #431407 52%,
      #ea580c 102%
    );
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.12);
  }

  body.site-layout--nav-band-bg-ocean-deep.theme-site .site-header--menu-below .header-tier-nav {
    background-image:
      radial-gradient(circle at 12% -4%, rgba(191, 219, 254, 0.4), transparent 44%),
      linear-gradient(
        152deg,
        #0f172a 28%,
        #1e40af 58%,
        #0ea5e9 102%
      );
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.08);
  }

  body.site-layout--nav-band-bg-midnight-noir.theme-site .site-header--menu-below .header-tier-nav {
    background-image: linear-gradient(
      174deg,
      #020617 28%,
      #1e293b 84%
    );
    box-shadow:
      inset 0 2px rgba(148, 163, 184, 0.1),
      0 -1px rgba(248, 250, 252, 0.05);
    border-block: 1px solid rgba(15, 118, 110, 0.15);
  }

  body.site-layout--nav-band-bg-lavender-mist.theme-site .site-header--menu-below .header-tier-nav {
    background-image: linear-gradient(
      174deg,
      #faf5ff 28%,
      #d8b4fe 118%
    );
  }

  body.site-layout--nav-band-bg-sand-dune.theme-site .site-header--menu-below .header-tier-nav {
    background-image: linear-gradient(
      174deg,
      #fffbeb 28%,
      #fb923c 112%
    );
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.22);
    border-block: 1px solid rgba(234, 88, 12, 0.1);
  }

  body.site-layout--nav-band-bg-rose-blush.theme-site .site-header--menu-below .header-tier-nav {
    background-image: linear-gradient(
      174deg,
      #fff1f2 52%,
      #fb7185 132%
    );
  }

  body.site-layout--nav-band-bg-carbon-mesh.theme-site .site-header--menu-below .header-tier-nav {
    background-image:
      linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0.08) 0%,
        rgba(255, 255, 255, 0)
      ),
      repeating-linear-gradient(96deg, #010409 12%, #0f172a 24%, #1e293b 36%);
  }

  body.site-layout--nav-band-bg-aurora-shift.theme-site .site-header--menu-below .header-tier-nav {
    background-image:
      radial-gradient(circle at 22% -8%, rgba(56, 189, 248, 0.28), transparent 44%),
      linear-gradient(
        174deg,
        #1e293b 22%,
        #7c3aed 58%,
        #047857 128%
      );
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.1);
    border-block: 1px solid rgba(99, 102, 241, 0.2);
  }

  /* Contraste de texto nas faixas com fundo escuro/brilhante (band_bg) */
  body.theme-site:is(
      .site-layout--nav-band-bg-slate-teal,
      .site-layout--nav-band-bg-dusk-plum,
      .site-layout--nav-band-bg-forest-canopy,
      .site-layout--nav-band-bg-ocean-deep,
      .site-layout--nav-band-bg-midnight-noir,
      .site-layout--nav-band-bg-carbon-mesh,
      .site-layout--nav-band-bg-aurora-shift
    )
    .site-header
    .nav-list
    > li
    > a:not(.nav-more-trigger),
  body.theme-site:is(
      .site-layout--nav-band-bg-slate-teal,
      .site-layout--nav-band-bg-dusk-plum,
      .site-layout--nav-band-bg-forest-canopy,
      .site-layout--nav-band-bg-ocean-deep,
      .site-layout--nav-band-bg-midnight-noir,
      .site-layout--nav-band-bg-carbon-mesh,
      .site-layout--nav-band-bg-aurora-shift
    )
    .site-header
    .nav-more-trigger {
    color: #f8fafc;
    text-shadow: 0 1px 3px rgba(2, 6, 23, 0.35);
  }

  body.theme-site:is(
      .site-layout--nav-band-bg-slate-teal,
      .site-layout--nav-band-bg-dusk-plum,
      .site-layout--nav-band-bg-forest-canopy,
      .site-layout--nav-band-bg-ocean-deep,
      .site-layout--nav-band-bg-midnight-noir,
      .site-layout--nav-band-bg-carbon-mesh,
      .site-layout--nav-band-bg-aurora-shift
    )
    .site-header
    .nav-list
    > li.has-submenu
    > a::after {
    color: rgba(226, 232, 240, 0.78);
    text-shadow: none;
  }

  body.theme-site:is(.site-layout--nav-band-bg-sunset-ember, .site-layout--nav-band-bg-rose-blush)
    .site-header
    .nav-list
    > li
    > a:not(.nav-more-trigger),
  body.theme-site:is(.site-layout--nav-band-bg-sunset-ember, .site-layout--nav-band-bg-rose-blush)
    .site-header
    .nav-more-trigger {
    color: #fffefb;
    text-shadow: 0 1px 3px rgba(15, 23, 42, 0.26);
  }

  body.theme-site:is(.site-layout--nav-band-bg-sunset-ember, .site-layout--nav-band-bg-rose-blush)
    .site-header
    .nav-list
    > li.has-submenu
    > a::after {
    color: rgba(254, 242, 242, 0.85);
    text-shadow: none;
  }

  body.theme-site.site-layout--nav-band-bg-sand-dune .site-header .nav-list > li > a:not(.nav-more-trigger),
  body.theme-site.site-layout--nav-band-bg-sand-dune .site-header .nav-more-trigger {
    color: #1e293b;
    text-shadow: 0 1px rgba(255, 255, 255, 0.28);
  }
}

@media (max-width: 1199px) {
  .submenu {
    display: block;
    position: static;
    margin-top: 8px;
    border: none;
    box-shadow: none;
    padding-left: 12px;
    background: var(--surface-2);
    border-radius: var(--radius-sm);
  }

  .submenu li a {
    padding-left: 8px;
  }
}

.submenu li a {
  display: flex;
  min-height: 44px;
  align-items: center;
  padding: 8px 10px;
  color: var(--text);
  text-decoration: none;
  border-radius: 8px;
  font-weight: 500;
}

.submenu li a:hover {
  background: var(--blue-50);
}

.header-contact {
  margin-left: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.header-contact .btn-primary {
  background: #1e293b;
  box-shadow: none;
}

.header-contact .btn-primary:hover {
  background: #0f172a;
  box-shadow: none;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  font-family: var(--font-display);
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid transparent;
  transition: transform 0.15s ease, box-shadow 0.2s, background 0.2s, border-color 0.2s;
}

.btn:active {
  transform: scale(0.98);
}

.btn-primary {
  background: linear-gradient(135deg, var(--red-600) 0%, #b71c1c 100%);
  color: #fff;
  box-shadow: 0 4px 14px rgba(198, 40, 40, 0.35);
}

.btn-primary:hover {
  background: linear-gradient(135deg, var(--red-500) 0%, var(--red-600) 100%);
  color: #fff;
  box-shadow: 0 6px 20px rgba(198, 40, 40, 0.4);
}

.btn-outline {
  border-color: var(--border);
  color: var(--blue-800);
  background: var(--surface);
}

.btn-outline:hover {
  border-color: var(--accent-blue);
  color: var(--accent-blue);
  background: var(--blue-50);
}

.header-wa-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(145deg, #25d366 0%, #128c7e 100%);
  color: #fff;
  text-decoration: none;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(18, 140, 126, 0.35);
  transition: transform 0.15s ease, box-shadow 0.2s;
}

.header-wa-icon:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(18, 140, 126, 0.45);
  color: #fff;
}

.header-wa-icon:active {
  transform: scale(0.98);
}

.btn-light {
  background: rgba(255, 255, 255, 0.98);
  color: var(--blue-900) !important;
  border: 1px solid rgba(255, 255, 255, 0.55);
}

.btn-lg {
  min-height: 48px;
  padding: 0 24px;
}

/* ── Toggle button ──────────────────────────────────── */
.menu-toggle {
  display: none;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  order: 99;
  background: #1e293b;
  border: none;
  border-radius: 12px;
  padding: 0 16px;
  height: 48px;
  min-width: 48px;
  cursor: pointer;
  color: #fff;
  font-family: var(--font-sans);
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  transition: background 0.2s, transform 0.15s;
  position: relative;
  z-index: 1001;
  -webkit-tap-highlight-color: transparent;
}
.menu-toggle:active { transform: scale(0.96); }

/* Ícone hamburger / X */
.menu-toggle .tog-icon {
  width: 22px;
  height: 18px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-shrink: 0;
}
.menu-toggle .tog-icon span {
  display: block;
  height: 2.5px;
  background: #fff;
  border-radius: 2px;
  transform-origin: center;
  transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1),
              opacity   0.2s,
              width     0.25s;
}
/* Estado aberto — vira X */
.menu-toggle[aria-expanded="true"] { background: #0f172a; }
.menu-toggle[aria-expanded="true"] .tog-icon span:nth-child(1) {
  transform: translateY(7.75px) rotate(45deg);
}
.menu-toggle[aria-expanded="true"] .tog-icon span:nth-child(2) {
  opacity: 0;
  width: 0;
}
.menu-toggle[aria-expanded="true"] .tog-icon span:nth-child(3) {
  transform: translateY(-7.75px) rotate(-45deg);
}
.menu-toggle[aria-expanded="true"] .tog-label::before {
  content: "";
}
.menu-toggle .tog-label { font: inherit; color: inherit; pointer-events: none; }
.menu-toggle .tog-label::before { content: ""; }

.sr-only {
  position: absolute;
  clip: rect(0 0 0 0);
  width: 1px;
  height: 1px;
}

/* CTA mobile: oculto por padrão, exibido apenas no drawer mobile */
.nav-mobile-cta { display: none; }

/* ── Overlay escuro ──────────────────────────────────── */
.nav-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(10, 20, 40, 0.55);
  z-index: 899;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  animation: overlayIn 0.22s ease;
}
@keyframes overlayIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
.nav-overlay.active { display: block; }

/* ── Media queries mobile / tablet ──────────────────── */
@media (max-width: 1199px) {
  /* Barra superior fixa no telefone/tablet — logo + toggle permanecem ao rolar; drawer usa a mesma --site-header-mobile-h. */
  .site-header {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    overflow-x: hidden;
  }

  body.site-layout--header-static .site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
  }

  main#conteudo.site-main {
    padding-top: var(--site-header-mobile-h, 76px);
    scroll-margin-top: var(--site-header-mobile-h, 76px);
  }

  /*
   * Drawer aberto: blur só cobre o conteúdo (não o logo/tecla X); evita “cabeça” parecer fundo.
   * backdrop-filter no .site-header em alguns mobile quebra o containing block de position:fixed do .nav-main.
   */
  body.site-nav-drawer-open .site-header {
    z-index: 1100;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  body.site-nav-drawer-open .nav-overlay.active {
    top: var(--site-header-mobile-h, 76px);
    right: 0;
    bottom: 0;
    left: 0;
  }

  html.site-nav-drawer-open,
  body.site-nav-drawer-open {
    overflow: hidden !important;
    overscroll-behavior: none;
  }

  body.site-nav-drawer-open .nav-main.open {
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
  }

  body.site-nav-drawer-open .site-header .brand,
  body.site-nav-drawer-open .site-header .menu-toggle {
    position: relative;
    z-index: 1002;
  }

  .menu-toggle { display: flex; }
  .brand {
    order: 1;
    flex: 1 1 auto;
    min-width: 0;
    max-width: calc(100% - 56px);
  }
  .header-contact { display: none; }
  .header-inner,
  .header-inner.wrap,
  .site-header--menu-below .header-tier-top.header-inner {
    row-gap: 0;
    flex-wrap: nowrap;
    align-items: center;
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
    overflow-x: hidden;
  }
  .menu-toggle {
    flex: 0 0 auto;
    margin-left: auto;
  }

  .site-header--menu-below .header-tier-rule {
    display: none !important;
  }

  /* Drawer fica position:fixed; faixa desktop não ocupa altura nem empurra layout */
  .site-header--menu-below .header-tier-nav {
    height: 0;
    min-height: 0;
    overflow: visible;
    padding: 0;
    margin: 0;
    border: none;
    background: transparent !important;
  }

  .site-header--menu-below .header-tier-nav-inner,
  .site-header--menu-below .header-tier-nav-inner--full {
    min-height: 0;
    padding-block: 0;
    padding-inline: 0;
  }

  /* Drawer — desliza para baixo (--site-header-mobile-h no :root + .site-header, via JS) */
  .nav-main {
    position: fixed;
    top: var(--site-header-mobile-h, 76px);
    left: 0; right: 0;
    z-index: 900;
    background: #fff;
    border-bottom: 3px solid var(--blue-600);
    box-shadow: 0 16px 48px rgba(13, 33, 55, 0.18);
    max-height: calc(100dvh - var(--site-header-mobile-h, 76px));
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 8px 0 24px;

    /* Animação de entrada */
    transform: translateY(-12px);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.28s cubic-bezier(0.23, 1, 0.32, 1),
                opacity   0.22s ease;
  }
  .nav-main.open {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }

  /* Lista principal */
  .nav-list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 0 12px;
  }

  /* Item pai */
  .nav-list > li > a {
    display: flex;
    align-items: center;
    min-height: 56px;
    padding: 0 16px;
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 600;
    color: var(--blue-900);
    text-decoration: none;
    border-bottom: 1px solid #f0f4f8;
    transition: background 0.15s;
  }
  .nav-list > li:last-child > a { border-bottom: none; }
  .nav-list > li > a:hover,
  .nav-list > li > a:focus-visible {
    background: var(--blue-50);
    color: var(--blue-600);
  }
  /* header_nav_effect (drawer ☰ — mesmos slugs que desktop: underline / sweep / capsule / frost / frame / prism) */
  body.site-layout--nav-effect-underline.theme-site .site-header .nav-main.open .nav-list > li > a:not(.nav-more-trigger),
  body.site-layout--nav-effect-sweep.theme-site .site-header .nav-main.open .nav-list > li > a:not(.nav-more-trigger),
  body.site-layout--nav-effect-prism.theme-site .site-header .nav-main.open .nav-list > li > a:not(.nav-more-trigger) {
    position: relative;
    overflow: visible;
    z-index: 0;
    border-radius: 14px;
    transition:
      transform 0.22s cubic-bezier(0.23, 1, 0.32, 1),
      box-shadow 0.26s cubic-bezier(0.23, 1, 0.32, 1),
      color 0.2s ease,
      background 0.24s ease;
  }

  body.site-layout--nav-effect-underline.theme-site .site-header .nav-main.open .nav-list > li > a:not(.nav-more-trigger)::before {
    content: "";
    position: absolute;
    inset-inline: 10%;
    bottom: 8px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(
      90deg,
      transparent 0%,
      color-mix(in srgb, var(--accent-blue, var(--blue-600)) 92%, transparent),
      transparent 100%
    );
    opacity: 0;
    transform: scaleX(0.38);
    transform-origin: center bottom;
    transition:
      opacity 0.26s cubic-bezier(0.23, 1, 0.32, 1),
      transform 0.36s cubic-bezier(0.19, 1, 0.22, 1);
    pointer-events: none;
    z-index: 2;
  }

  body.site-layout--nav-effect-underline.theme-site .site-header .nav-main.open .nav-list > li > a:not(.nav-more-trigger):hover::before,
  body.site-layout--nav-effect-underline.theme-site
    .site-header
    .nav-main.open
    .nav-list
    > li
    > a:not(.nav-more-trigger):focus-visible::before {
    opacity: 1;
    transform: scaleX(1);
  }

  body.site-layout--nav-effect-underline.theme-site .site-header .nav-main.open .nav-list > li > a:not(.nav-more-trigger):hover,
  body.site-layout--nav-effect-underline.theme-site
    .site-header
    .nav-main.open
    .nav-list
    > li
    > a:not(.nav-more-trigger):focus-visible {
    color: var(--blue-900);
    background: rgba(239, 246, 255, 0.55);
    outline: none;
  }

  body.site-layout--nav-effect-sweep.theme-site .site-header .nav-main.open .nav-list > li > a:not(.nav-more-trigger)::before {
    content: "";
    position: absolute;
    inset-inline: 8%;
    bottom: 7px;
    height: 3px;
    border-radius: 99px;
    background: linear-gradient(
      94deg,
      transparent,
      rgba(147, 197, 253, 0.55),
      color-mix(in srgb, var(--accent-blue, var(--blue-600)) 88%, white),
      rgba(147, 197, 253, 0.58),
      transparent
    );
    background-size: 200% 100%;
    background-position: 0% 50%;
    box-shadow: 0 0 16px color-mix(in srgb, var(--accent-blue, var(--blue-600)) 28%, transparent);
    opacity: 0;
    transform: scaleX(0.52);
    transform-origin: center bottom;
    transition:
      opacity 0.28s cubic-bezier(0.23, 1, 0.32, 1),
      transform 0.36s cubic-bezier(0.19, 1, 0.22, 1),
      background-position 0.45s ease-out;
    pointer-events: none;
    z-index: 2;
  }

  body.site-layout--nav-effect-sweep.theme-site .site-header .nav-main.open .nav-list > li > a:not(.nav-more-trigger):hover::before,
  body.site-layout--nav-effect-sweep.theme-site
    .site-header
    .nav-main.open
    .nav-list
    > li
    > a:not(.nav-more-trigger):focus-visible::before {
    opacity: 1;
    transform: scaleX(1);
    background-position: 100% 50%;
  }

  body.site-layout--nav-effect-sweep.theme-site .site-header .nav-main.open .nav-list > li > a:not(.nav-more-trigger):hover,
  body.site-layout--nav-effect-sweep.theme-site
    .site-header
    .nav-main.open
    .nav-list
    > li
    > a:not(.nav-more-trigger):focus-visible {
    color: var(--blue-900);
    background: rgba(219, 234, 254, 0.35);
    outline: none;
  }

  body.site-layout--nav-effect-capsule.theme-site .site-header .nav-main.open .nav-list > li > a:not(.nav-more-trigger),
  body.site-layout--nav-effect-frost.theme-site .site-header .nav-main.open .nav-list > li > a:not(.nav-more-trigger),
  body.site-layout--nav-effect-frame.theme-site .site-header .nav-main.open .nav-list > li > a:not(.nav-more-trigger) {
    position: relative;
    z-index: 0;
    border-radius: 999px;
    padding-inline: 1.08rem;
    transition:
      transform 0.22s cubic-bezier(0.23, 1, 0.32, 1),
      box-shadow 0.26s cubic-bezier(0.23, 1, 0.32, 1),
      color 0.2s ease,
      background 0.22s ease,
      border-color 0.22s ease;
    outline: none;
  }

  body.site-layout--nav-effect-frost.theme-site .site-header .nav-main.open .nav-list > li > a:not(.nav-more-trigger),
  body.site-layout--nav-effect-frame.theme-site .site-header .nav-main.open .nav-list > li > a:not(.nav-more-trigger) {
    border-radius: 14px;
  }

  body.site-layout--nav-effect-capsule.theme-site .site-header .nav-main.open .nav-list > li > a:not(.nav-more-trigger):hover,
  body.site-layout--nav-effect-capsule.theme-site
    .site-header
    .nav-main.open
    .nav-list
    > li
    > a:not(.nav-more-trigger):focus-visible {
    color: var(--blue-900);
    background:
      radial-gradient(ellipse 120% 80% at 30% 12%, rgba(255, 255, 255, 0.52), transparent 55%),
      linear-gradient(152deg, rgba(255, 255, 255, 0.32) 0%, color-mix(in srgb, var(--accent-blue, var(--blue-600)) 16%, transparent) 100%);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.45),
      0 8px 26px rgba(15, 23, 42, 0.1);
    backdrop-filter: blur(7px) saturate(112%);
  }

  body.site-layout--nav-effect-frost.theme-site .site-header .nav-main.open .nav-list > li > a:not(.nav-more-trigger):hover,
  body.site-layout--nav-effect-frost.theme-site
    .site-header
    .nav-main.open
    .nav-list
    > li
    > a:not(.nav-more-trigger):focus-visible {
    transform: translateY(-1px);
    color: var(--blue-900);
    border: 1px solid rgba(255, 255, 255, 0.32);
    background: linear-gradient(
      188deg,
      rgba(255, 255, 255, 0.55) 0%,
      rgba(255, 255, 255, 0.12) 62%,
      color-mix(in srgb, var(--accent-blue, var(--blue-600)) 9%, rgba(255, 255, 255, 0.06)) 100%
    );
    box-shadow:
      0 12px 34px rgba(15, 23, 42, 0.09),
      inset 0 1px rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(10px) saturate(118%);
    outline: none;
  }

  body.site-layout--nav-effect-frame.theme-site .site-header .nav-main.open .nav-list > li > a:not(.nav-more-trigger):hover,
  body.site-layout--nav-effect-frame.theme-site
    .site-header
    .nav-main.open
    .nav-list
    > li
    > a:not(.nav-more-trigger):focus-visible {
    color: var(--blue-900);
    outline: none;
    box-shadow:
      0 0 0 1px color-mix(in srgb, var(--accent-blue, var(--blue-600)) 45%, rgba(255, 255, 255, 0.4)),
      0 0 0 2px rgba(255, 255, 255, 0.2),
      0 14px 38px color-mix(in srgb, var(--accent-blue, var(--blue-600)) 16%, rgba(15, 23, 42, 0.12));
    background:
      radial-gradient(ellipse 80% 140% at 50% -35%, rgba(255, 255, 255, 0.52), transparent 58%),
      rgba(255, 255, 255, 0.1);
  }

  body.site-layout--nav-effect-prism.theme-site .site-header .nav-main.open .nav-list > li > a:not(.nav-more-trigger)::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 13px;
    background: linear-gradient(
      124deg,
      color-mix(in srgb, rgba(251, 191, 36, 0.35) 50%, transparent) 0%,
      color-mix(in srgb, rgba(56, 189, 248, 0.42) 50%, transparent) 38%,
      color-mix(in srgb, rgba(167, 139, 250, 0.4) 50%, transparent) 72%,
      color-mix(in srgb, rgba(251, 191, 36, 0.22) 50%, transparent) 100%
    );
    opacity: 0;
    mix-blend-mode: soft-light;
    transition: opacity 0.34s cubic-bezier(0.23, 1, 0.32, 1);
    z-index: -1;
    pointer-events: none;
  }

  body.site-layout--nav-effect-prism.theme-site .site-header .nav-main.open .nav-list > li > a:not(.nav-more-trigger):hover::before,
  body.site-layout--nav-effect-prism.theme-site
    .site-header
    .nav-main.open
    .nav-list
    > li
    > a:not(.nav-more-trigger):focus-visible::before {
    opacity: 0.72;
  }

  body.site-layout--nav-effect-prism.theme-site .site-header .nav-main.open .nav-list > li > a:not(.nav-more-trigger):hover,
  body.site-layout--nav-effect-prism.theme-site
    .site-header
    .nav-main.open
    .nav-list
    > li
    > a:not(.nav-more-trigger):focus-visible {
    color: var(--blue-900);
    background: rgba(255, 255, 255, 0.12);
    outline: none;
  }

  /*
   Band_bg no drawer ☰ — mesmos gradientes (por slug) atrás da lista inteira quando aberto
*/
  body.site-layout--nav-band-bg-pearl.theme-site .nav-main.open {
    background-image: linear-gradient(170deg, #fdfefe 52%, #e9eefb 138%);
    border-bottom-color: rgba(148, 163, 184, 0.45);
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.16), inset 0 1px rgba(255, 255, 255, 0.45);
    border-inline: none;
  }

  body.site-layout--nav-band-bg-pearl.theme-site .nav-main.open .nav-list > li > a:not(.nav-more-trigger) {
    border-block-color: rgba(148, 163, 184, 0.12);
  }

  body.site-layout--nav-band-bg-slate-teal.theme-site .nav-main.open {
    background-image:
      radial-gradient(circle at 8% -4%, rgba(255, 255, 255, 0.2), transparent 44%),
      linear-gradient(176deg, #0f172a 62%, #115e59 116%);
    border-bottom-color: rgba(45, 212, 191, 0.4);
    box-shadow: 0 20px 50px rgba(2, 6, 23, 0.5);
    color-scheme: dark;
  }

  body.theme-site:is(
      .site-layout--nav-band-bg-slate-teal,
      .site-layout--nav-band-bg-dusk-plum,
      .site-layout--nav-band-bg-forest-canopy,
      .site-layout--nav-band-bg-ocean-deep,
      .site-layout--nav-band-bg-midnight-noir,
      .site-layout--nav-band-bg-carbon-mesh,
      .site-layout--nav-band-bg-aurora-shift,
      .site-layout--nav-band-bg-sunset-ember,
      .site-layout--nav-band-bg-rose-blush
    )
    .nav-main.open
    .nav-list
    > li
    > a:not(.nav-more-trigger) {
    color: #f8fafc;
    border-block-color: rgba(248, 250, 252, 0.12);
    text-shadow: 0 1px 4px rgba(2, 6, 23, 0.45);
  }

  body.site-layout--nav-band-bg-dusk-plum.theme-site .nav-main.open {
    background-image: linear-gradient(176deg, #281028 72%, #6d1f64 138%);
    border-bottom-color: rgba(251, 191, 36, 0.22);
    box-shadow: 0 20px 50px rgba(15, 6, 20, 0.55);
  }

  body.site-layout--nav-band-bg-frost-ice.theme-site .nav-main.open {
    background-image: linear-gradient(
      174deg,
      #ffffff 32%,
      #dbeefc 138%
    );
    border-bottom-color: rgba(37, 99, 235, 0.28);
    box-shadow: 0 20px 50px rgba(30, 64, 175, 0.12);
  }

  body.site-layout--nav-band-bg-forest-canopy.theme-site .nav-main.open {
    background-image:
      radial-gradient(circle at 90% -2%, rgba(187, 247, 208, 0.3), transparent 44%),
      linear-gradient(176deg, #022817 74%, #14532d 122%);
    border-bottom-color: rgba(34, 197, 94, 0.35);
  }

  body.site-layout--nav-band-bg-sunset-ember.theme-site .nav-main.open {
    background-image: linear-gradient(176deg, #431407 64%, #f97316 122%);
    border-bottom-color: rgba(254, 215, 170, 0.45);
    box-shadow: 0 20px 54px rgba(124, 45, 18, 0.35);
  }

  body.site-layout--nav-band-bg-ocean-deep.theme-site .nav-main.open {
    background-image:
      radial-gradient(circle at 6% -2%, rgba(191, 219, 254, 0.45), transparent 44%),
      linear-gradient(
        174deg,
        #0f172a 42%,
        #1e40af 84%,
        #0ea5e9 128%
      );
    border-bottom-color: rgba(56, 189, 248, 0.4);
    box-shadow: 0 20px 54px rgba(10, 30, 64, 0.45);
  }

  body.site-layout--nav-band-bg-midnight-noir.theme-site .nav-main.open {
    background-image: linear-gradient(176deg, #020617 58%, #1e293b 124%);
    border-bottom-color: rgba(148, 163, 184, 0.28);
    box-shadow: 0 20px 54px rgba(3, 7, 18, 0.55);
  }

  body.site-layout--nav-band-bg-lavender-mist.theme-site .nav-main.open {
    background-image: linear-gradient(176deg, #fdf4ff 36%, #c4b5fd 138%);
    border-bottom-color: rgba(139, 92, 246, 0.28);
    box-shadow: 0 20px 54px rgba(91, 33, 182, 0.12);
  }

  body.site-layout--nav-band-bg-sand-dune.theme-site .nav-main.open {
    background-image: linear-gradient(176deg, #fffbeb 62%, #fbbf24 128%);
    border-bottom-color: rgba(245, 158, 11, 0.4);
    box-shadow: 0 20px 54px rgba(253, 186, 116, 0.18);
    color-scheme: light;
  }

  body.theme-site.site-layout--nav-band-bg-sand-dune .nav-main.open .nav-list > li > a:not(.nav-more-trigger) {
    color: #1e293b;
    text-shadow: 0 1px rgba(255, 255, 255, 0.28);
    border-block-color: rgba(120, 53, 15, 0.1);
  }

  body.site-layout--nav-band-bg-pearl.theme-site .nav-main.open .nav-list > li > a:not(.nav-more-trigger),
  body.site-layout--nav-band-bg-frost-ice.theme-site .nav-main.open .nav-list > li > a:not(.nav-more-trigger),
  body.site-layout--nav-band-bg-lavender-mist.theme-site .nav-main.open .nav-list > li > a:not(.nav-more-trigger) {
    color: #0f172a;
    text-shadow: 0 1px rgba(255, 255, 255, 0.28);
    border-block-color: rgba(100, 116, 139, 0.12);
  }

  body.site-layout--nav-band-bg-rose-blush.theme-site .nav-main.open {
    background-image: linear-gradient(
      174deg,
      #fff1f2 72%,
      #fb7185 132%
    );
    border-bottom-color: rgba(244, 63, 94, 0.4);
    box-shadow: 0 22px 58px rgba(190, 18, 60, 0.24);
    color-scheme: light;
  }

  body.site-layout--nav-band-bg-carbon-mesh.theme-site .nav-main.open {
    background-image:
      linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0.1) 4%,
        rgba(148, 163, 184, 0)
      ),
      repeating-linear-gradient(106deg, #010307 36%, #0f172a 56%, #1e293b 72%);
    border-bottom-color: rgba(226, 232, 240, 0.2);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
  }

  body.site-layout--nav-band-bg-aurora-shift.theme-site .nav-main.open {
    background-image:
      radial-gradient(circle at 20% -2%, rgba(56, 189, 248, 0.28), transparent 44%),
      linear-gradient(
        174deg,
        #0f172a 48%,
        #6366f1 68%,
        #047857 122%
      );
    border-bottom-color: rgba(52, 211, 153, 0.4);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.1),
      0 20px 60px rgba(30, 27, 75, 0.45);
  }
  /* Seta no item com submenu */
  .nav-list > li.has-submenu > a::after {
    content: "›";
    margin-left: auto;
    font-size: 1.3rem;
    opacity: 0.4;
    transition: transform 0.2s;
  }
  .nav-list > li.has-submenu.sub-open > a::after {
    transform: rotate(90deg);
    opacity: 0.7;
  }

  /* Submenu */
  .submenu {
    display: none;
    position: static;
    padding: 4px 0 8px 16px;
    border: none;
    box-shadow: none;
    background: transparent;
    border-radius: 0;
    margin: 0;
  }
  .nav-list > li.sub-open .submenu { display: block; }
  .submenu li a {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 0 14px;
    border-radius: 10px;
    font-size: 0.92rem;
    color: var(--muted);
    font-weight: 500;
  }
  .submenu li a::before {
    content: "–";
    margin-right: 8px;
    opacity: 0.4;
    font-size: 0.85rem;
  }
  .submenu li a:hover { background: var(--blue-50); color: var(--blue-600); }

  /* CTA dentro do drawer — só mobile */
  .nav-mobile-cta {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 16px 20px 0;
    margin-top: 8px;
    border-top: 1px solid var(--border);
  }
  .nav-mobile-cta a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 52px;
    border-radius: 14px;
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.15s, box-shadow 0.15s;
  }
  .nav-mobile-cta a:active { transform: scale(0.97); }
  .nav-mobile-cta .cta-wa {
    background: linear-gradient(135deg, #25d366 0%, #128c7e 100%);
    color: #fff;
    box-shadow: 0 4px 14px rgba(18, 140, 126, 0.3);
  }
  .nav-mobile-cta .cta-orcamento {
    background: #1e293b;
    color: #fff;
    box-shadow: none;
  }
  .nav-mobile-cta .cta-orcamento--soft {
    background: transparent;
    color: var(--text, #1a2332);
    border: 2px solid var(--border, #cbd5e1);
    box-shadow: none;
  }
}

.site-main {
  flex: 1 0 auto;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: clip;
  overflow-x: hidden;
  padding-bottom: 0;
}

/*
 * Modificadores “Layout por tema” (classes no body: site-layout--*)
 * Alteram rodapé, ritmo de seções, hero, botões e cards sem trocar o template.
 */
.site-layout--sections-airy .features {
  padding-block: 96px !important;
}

.site-layout--sections-airy .stats-section {
  padding-block: 104px !important;
}

.site-layout--sections-airy .whyus-section {
  padding-block: 104px !important;
}

.site-layout--sections-compact .features {
  padding-block: 52px !important;
}

.site-layout--sections-compact .stats-section {
  padding-block: 48px !important;
}

.site-layout--sections-compact .whyus-section {
  padding-block: 52px !important;
}

@media (max-width: 640px) {
  body.site-layout--hero-tall .hero-carousel {
    height: calc(var(--hero-h-mobile, 480px) + 56px);
  }
}

@media (min-width: 641px) and (max-width: 1023px) {
  body.site-layout--hero-tall .hero-carousel {
    height: calc(var(--hero-h-tablet, 520px) + 56px);
  }
}

@media (min-width: 1024px) and (max-width: 1439px) {
  body.site-layout--hero-tall .hero-carousel {
    height: calc(var(--hero-h-notebook, 560px) + 64px);
  }
}

@media (min-width: 1440px) and (max-width: 1919px) {
  body.site-layout--hero-tall .hero-carousel {
    height: calc(var(--hero-h-desktop, 620px) + 72px);
  }
}

@media (min-width: 1920px) {
  body.site-layout--hero-tall .hero-carousel {
    height: calc(var(--hero-h-tv, 720px) + 80px);
  }
}

.site-layout--footer-centered .grid-footer {
  grid-template-columns: 1fr;
  justify-items: center;
  text-align: center;
  gap: 32px;
}

.site-layout--footer-centered .footer-logo-wrap {
  justify-content: center;
}

.site-layout--footer-centered .footer-slogan {
  margin-inline: auto;
  max-width: 42ch;
}

.site-layout--footer-centered .footer-contact-list li {
  justify-content: center;
}

.site-layout--footer-centered .footer-links-list {
  align-items: center;
}

.site-layout--footer-centered .footer-social {
  justify-content: center;
}

.site-layout--footer-centered .footer-bar {
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
}

.site-layout--footer-compact .site-footer {
  padding-top: 40px;
  font-size: 0.865rem;
}

.site-layout--footer-compact .grid-footer {
  gap: 26px 32px;
  padding-bottom: 36px;
}

.site-layout--btn-pill .btn {
  border-radius: 999px;
}

.site-layout--btn-square .btn {
  border-radius: 4px;
}

.site-layout--cards-subtle .site-main .card {
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease !important;
}

.site-layout--cards-subtle .site-main .card:hover {
  transform: none !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.07) !important;
}

.site-layout--cards-rich .site-main .card {
  box-shadow: 0 10px 32px rgba(15, 23, 42, 0.1);
}

/* Largura da faixa .wrap (páginas internas, home, rodapé) — exceto destaques full-bleed */
body.site-layout--content-wide .wrap {
  width: min(1320px, 100% - 32px);
}

body.site-layout--content-narrow .wrap {
  width: min(960px, 100% - 32px);
}

body.site-layout--content-wide .site-main section.features.wrap,
body.site-layout--content-narrow .site-main section.features.wrap {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

/* Tipografia em páginas e blocos .prose */
body.site-layout--type-comfortable .prose .html-content {
  font-size: 1.06rem;
  line-height: 1.72;
}

body.site-layout--type-compact .prose .html-content {
  font-size: 0.94rem;
  line-height: 1.55;
}

body.site-layout--type-comfortable .page-head h1 {
  font-size: clamp(1.75rem, 4vw, 2.15rem);
}

/* Formulário de contato */
body.site-layout--form-minimal .contact-form-card {
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset;
  border-radius: 14px;
  padding: 1.75rem 1.6rem;
}

body.site-layout--form-minimal .fld input,
body.site-layout--form-minimal .fld textarea,
body.site-layout--form-minimal .fld select {
  border-width: 1px;
  border-radius: 8px;
  box-shadow: none;
}

body.site-layout--form-minimal .fld input:focus,
body.site-layout--form-minimal .fld textarea:focus,
body.site-layout--form-minimal .fld select:focus {
  box-shadow: 0 0 0 2px rgba(29, 78, 219, 0.2);
}

body.site-layout--form-emphasis .contact-form-card {
  box-shadow:
    0 12px 40px rgba(15, 23, 42, 0.12),
    0 1px 0 rgba(255, 255, 255, 0.95) inset;
  border-color: rgba(29, 78, 219, 0.12);
}

body.site-layout--form-emphasis .fld input:focus,
body.site-layout--form-emphasis .fld textarea:focus,
body.site-layout--form-emphasis .fld select:focus {
  box-shadow: 0 0 0 5px rgba(29, 78, 219, 0.16);
  border-color: #1d4ed8;
}

/* Galeria / thumbs / imagens em conteúdo */
body.site-layout--img-soft .gal-item,
body.site-layout--img-soft .service-img {
  border-radius: 20px;
}

body.site-layout--img-soft .gallery-grid {
  gap: 1.15rem;
}

body.site-layout--img-sharp .gal-item {
  border-radius: 4px;
}

body.site-layout--img-sharp .service-img,
body.site-layout--img-sharp .gal-item img {
  border-radius: 4px;
}

/* Transições mais discretas (não substitui prefers-reduced-motion do SO) */
body.site-layout--motion-subtle .hero-slide {
  transition: opacity 0.45s ease;
}

body.site-layout--motion-subtle .site-main .btn,
body.site-layout--motion-subtle .site-main .card,
body.site-layout--motion-subtle .gal-item {
  transition-duration: 0.16s;
}

body.site-layout--motion-subtle .menu-toggle .tog-icon span {
  transition-duration: 0.15s;
}

/* Barra superior mais baixa (layout por tema) */
body.site-layout--header-compact .header-inner {
  min-height: clamp(62px, 9vw, 78px);
}

body.site-layout--header-compact .site-header--menu-below .header-tier-nav-inner {
  min-height: 0;
  padding-block: 6px;
}

/* Título principal em páginas internas */
body.site-layout--pagehead-center .page-head {
  text-align: center;
}

body.site-layout--pagehead-center .page-head h1::after {
  margin-left: auto;
  margin-right: auto;
}

/* Títulos de seção na home */
body.site-layout--home-titles-center .features {
  text-align: center;
}

body.site-layout--home-titles-center .features .feature-grid {
  text-align: left;
}

body.site-layout--home-titles-center .features > h2::after {
  margin-left: auto;
  margin-right: auto;
}

body.site-layout--home-titles-center .stats-section .stats-grid {
  text-align: center;
}

body.site-layout--home-titles-center .stats-section .stat-item {
  text-align: center;
}

body.site-layout--home-titles-center .whyus-inner {
  text-align: center;
}

body.site-layout--home-titles-center .whyus-text {
  text-align: center;
}

body.site-layout--home-titles-center .whyus-text h2::after {
  margin-left: auto;
  margin-right: auto;
}

body.site-layout--home-titles-center .whyus-list {
  text-align: left;
  margin-inline: auto;
  max-width: 52ch;
}

body.site-layout--home-titles-center .testi-header {
  text-align: center;
}

body.site-layout--home-titles-center .testi-header h2::after {
  margin-left: auto;
  margin-right: auto;
}

body.site-layout--home-titles-center .faq-section > h2,
body.site-layout--home-titles-center .faq-section > .section-intro {
  text-align: center;
}

body.site-layout--home-titles-center .faq-section > h2::after {
  margin-left: auto;
  margin-right: auto;
}

/* Grades: galeria, vídeo, catálogo */
body.site-layout--listings-tight .gallery-grid {
  gap: 0.65rem;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

body.site-layout--listings-tight .video-grid {
  gap: 1rem;
  margin-top: 1.25rem;
}

body.site-layout--listings-tight .site-produtos-grid,
body.site-layout--listings-tight .site-produtos-grid--com-preamble .site-produtos-loc-card-grid {
  gap: 0.6rem 0.75rem;
}

body.site-layout--listings-tight .produtos-strip-grid {
  gap: 0.6rem 0.75rem !important;
}

body.site-layout--listings-relaxed .gallery-grid {
  gap: 1.5rem;
}

body.site-layout--listings-relaxed .video-grid {
  gap: 2.25rem;
  margin-top: 2rem;
}

body.site-layout--listings-relaxed .site-produtos-grid,
body.site-layout--listings-relaxed .site-produtos-grid--com-preamble .site-produtos-loc-card-grid {
  gap: 1.4rem 1.5rem;
}

body.site-layout--listings-relaxed .produtos-strip-grid {
  gap: 1.4rem 1.5rem !important;
}

/* Links no texto das páginas (prose) */
body.site-layout--links-underline .prose .html-content a:not(.btn) {
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

body.site-layout--links-subtle .prose .html-content a:not(.btn) {
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 0.15em;
  transition: text-decoration-color 0.15s ease;
}

body.site-layout--links-subtle .prose .html-content a:not(.btn):hover {
  text-decoration-color: currentColor;
}

/* ── Layout extra: vinheta carrossel, ambiente, citacoes, trust bar, faixas home, foco ── */




body.theme-site.site-layout--ambience-calm {
  background: linear-gradient(185deg, #f9fafb 0%, #eef2f6 48%, #f5f7fa 100%);
}

body.theme-site.site-layout--ambience-crisp {
  background: #fafcfd;
}

body.site-layout--quote-ribbon .prose .html-content blockquote {
  margin: 1.35rem 0;
  padding: 0.4rem 0 0.4rem 1.15rem;
  border-left: 4px solid var(--accent-blue, #1565c0);
  background: transparent;
  font-style: italic;
  color: var(--blue-800, #143a5c);
}

body.site-layout--quote-card .prose .html-content blockquote {
  margin: 1.35rem 0;
  padding: 1.1rem 1.25rem;
  border-radius: var(--radius, 14px);
  border: 1px solid var(--border, #d6e0ea);
  background: var(--surface, #fff);
  box-shadow: var(--shadow, 0 4px 24px rgba(13, 33, 55, 0.08));
  font-style: normal;
  color: var(--text, #1a2332);
}

body.site-layout--trust-minimal .trust-bar {
  padding: 6px 0;
  border-bottom-color: rgba(255, 255, 255, 0.04);
}

body.site-layout--trust-minimal .trust-bar span {
  font-size: 0.74rem;
  opacity: 0.88;
}

body.site-layout--trust-spotlight .trust-bar {
  background: linear-gradient(95deg, #0b1220 0%, #152035 42%, #0b1220 100%);
  border-bottom: 1px solid rgba(100, 160, 255, 0.12);
  box-shadow: 0 6px 22px rgba(2, 6, 23, 0.35);
}

body.site-layout--trust-spotlight .trust-bar span {
  color: #dbe4f0;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);
}

body.site-layout--home-banded .stats-section {
  background: rgba(248, 250, 252, 0.92);
}

body.site-layout--home-banded .features {
  background: #fff;
}

body.site-layout--home-banded .whyus-section {
  background: rgba(241, 245, 249, 0.55);
}

body.theme-site.site-layout--focus-enhanced a:focus-visible,
body.theme-site.site-layout--focus-enhanced button:focus-visible,
body.theme-site.site-layout--focus-enhanced .btn:focus-visible,
body.theme-site.site-layout--focus-enhanced .faq-btn:focus-visible,
body.theme-site.site-layout--focus-enhanced input:focus-visible,
body.theme-site.site-layout--focus-enhanced textarea:focus-visible,
body.theme-site.site-layout--focus-enhanced select:focus-visible {
  outline: 3px solid var(--focus, #1976d2);
  outline-offset: 4px;
}

/* ── Hero Carousel ─────────────────────────────────── */
.hero-carousel {
  position: relative;
  height: var(--hero-h-notebook, 560px); /* notebook/laptop: 1024–1439px */
  overflow: hidden;
  max-width: 100%;
  isolation: isolate;
}
/* Alturas configuradas no editor de slides – por breakpoint de dispositivo */
@media (max-width: 640px) {
  .hero-carousel {
    height: var(--hero-h-mobile,  480px);
    overflow-x: clip;
    overflow-x: hidden;
  }

  .hero-bg-globe,
  .hero-slide--builder .hero-visual-fx.hero-visual-fx--globe-anchor[data-visual-fx="poligonal-live"] {
    overflow: hidden;
  }
}
@media (min-width: 641px) and (max-width: 1023px) {
  .hero-carousel { height: var(--hero-h-tablet,  520px); }
}
@media (min-width: 1440px) and (max-width: 1919px) {
  .hero-carousel { height: var(--hero-h-desktop, 620px); }
}
@media (min-width: 1920px) {
  .hero-carousel { height: var(--hero-h-tv,      720px); }
}

.hero-slide {
  position: absolute;
  inset: 0;
  height: 100%;
  opacity: 0;
  transition: opacity 0.9s ease;
  display: grid;
  grid-template-rows: 1fr;
  grid-template-columns: 1fr;
}

.hero-slide.active {
  opacity: 1;
  z-index: 1;
}

.hero-carousel--builder {
  background: #0f172a;
}

.hero-carousel--builder::after {
  content: none;
}

/* Altura do carrossel em páginas (traits do page builder) */
.hero-carousel.hero-carousel--embed-fullscreen {
  height: 100vh !important;
  min-height: 100vh !important;
}
@media (max-width: 640px) {
  .hero-carousel.hero-carousel--embed-fullscreen {
    height: 100dvh !important;
    min-height: 100dvh !important;
  }
}
.hero-carousel.hero-carousel--embed-fixed-h {
  height: var(--hero-embed-fixed, 560px) !important;
  min-height: var(--hero-embed-fixed, 560px) !important;
}

.hero-slide--builder {
  display: block;
  overflow: hidden;
  --hero-title-size: var(--hero-title-fs-notebook, 52);
  --hero-subtitle-size: var(--hero-subtitle-fs-notebook, 20);
  --hero-title-family: var(--hero-title-family-notebook, var(--font-display));
  --hero-subtitle-family: var(--hero-subtitle-family-notebook, var(--font-body));
  --hero-title-x: var(--hero-title-x-notebook, 50%);
  --hero-title-y: var(--hero-title-y-notebook, 30%);
  --hero-title-w: var(--hero-title-w-notebook, 76%);
  --hero-subtitle-x: var(--hero-subtitle-x-notebook, 50%);
  --hero-subtitle-y: var(--hero-subtitle-y-notebook, 55%);
  --hero-subtitle-w: var(--hero-subtitle-w-notebook, 68%);
  --hero-buttons-x: var(--hero-buttons-x-notebook, 50%);
  --hero-buttons-y: var(--hero-buttons-y-notebook, 75%);
  --hero-buttons-w: var(--hero-buttons-w-notebook, 72%);
  --hero-bg-x: var(--hero-bg-x-notebook, 50%);
  --hero-bg-y: var(--hero-bg-y-notebook, 36%);
  --hero-globe-x: var(--hero-globe-x-notebook, 20%);
  --hero-globe-y: var(--hero-globe-y-notebook, 53%);
  --hero-globe-s: var(--hero-globe-s-notebook, 100);
  --hero-text-align: var(--hero-text-align-notebook, center);
  --hero-buttons-justify: var(--hero-buttons-justify-notebook, center);
}

@media (max-width: 640px) {
  .hero-slide--builder {
    --hero-title-size: var(--hero-title-fs-mobile, 30);
    --hero-subtitle-size: var(--hero-subtitle-fs-mobile, 15);
    --hero-title-family: var(--hero-title-family-mobile, var(--font-display));
    --hero-subtitle-family: var(--hero-subtitle-family-mobile, var(--font-body));
    --hero-title-x: var(--hero-title-x-mobile, 50%);
    --hero-title-y: var(--hero-title-y-mobile, 30%);
    --hero-title-w: var(--hero-title-w-mobile, 76%);
    --hero-subtitle-x: var(--hero-subtitle-x-mobile, 50%);
    --hero-subtitle-y: var(--hero-subtitle-y-mobile, 55%);
    --hero-subtitle-w: var(--hero-subtitle-w-mobile, 68%);
    --hero-buttons-x: var(--hero-buttons-x-mobile, 50%);
    --hero-buttons-y: var(--hero-buttons-y-mobile, 75%);
    --hero-buttons-w: var(--hero-buttons-w-mobile, 72%);
    --hero-bg-x: var(--hero-bg-x-mobile, 50%);
    --hero-bg-y: var(--hero-bg-y-mobile, 36%);
    --hero-globe-x: var(--hero-globe-x-mobile, 20%);
    --hero-globe-y: var(--hero-globe-y-mobile, 53%);
    --hero-globe-s: var(--hero-globe-s-mobile, 100);
    --hero-text-align: var(--hero-text-align-mobile, center);
    --hero-buttons-justify: var(--hero-buttons-justify-mobile, center);
  }
}

@media (min-width: 641px) and (max-width: 1023px) {
  .hero-slide--builder {
    --hero-title-size: var(--hero-title-fs-tablet, 44);
    --hero-subtitle-size: var(--hero-subtitle-fs-tablet, 18);
    --hero-title-family: var(--hero-title-family-tablet, var(--font-display));
    --hero-subtitle-family: var(--hero-subtitle-family-tablet, var(--font-body));
    --hero-title-x: var(--hero-title-x-tablet, 50%);
    --hero-title-y: var(--hero-title-y-tablet, 30%);
    --hero-title-w: var(--hero-title-w-tablet, 76%);
    --hero-subtitle-x: var(--hero-subtitle-x-tablet, 50%);
    --hero-subtitle-y: var(--hero-subtitle-y-tablet, 55%);
    --hero-subtitle-w: var(--hero-subtitle-w-tablet, 68%);
    --hero-buttons-x: var(--hero-buttons-x-tablet, 50%);
    --hero-buttons-y: var(--hero-buttons-y-tablet, 75%);
    --hero-buttons-w: var(--hero-buttons-w-tablet, 72%);
    --hero-bg-x: var(--hero-bg-x-tablet, 50%);
    --hero-bg-y: var(--hero-bg-y-tablet, 36%);
    --hero-globe-x: var(--hero-globe-x-tablet, 22%);
    --hero-globe-y: var(--hero-globe-y-tablet, 54%);
    --hero-globe-s: var(--hero-globe-s-tablet, 100);
    --hero-text-align: var(--hero-text-align-tablet, center);
    --hero-buttons-justify: var(--hero-buttons-justify-tablet, center);
  }
}

@media (min-width: 1440px) and (max-width: 1919px) {
  .hero-slide--builder {
    --hero-title-size: var(--hero-title-fs-desktop, 52);
    --hero-subtitle-size: var(--hero-subtitle-fs-desktop, 20);
    --hero-title-family: var(--hero-title-family-desktop, var(--font-display));
    --hero-subtitle-family: var(--hero-subtitle-family-desktop, var(--font-body));
    --hero-title-x: var(--hero-title-x-desktop, 50%);
    --hero-title-y: var(--hero-title-y-desktop, 30%);
    --hero-title-w: var(--hero-title-w-desktop, 76%);
    --hero-subtitle-x: var(--hero-subtitle-x-desktop, 50%);
    --hero-subtitle-y: var(--hero-subtitle-y-desktop, 55%);
    --hero-subtitle-w: var(--hero-subtitle-w-desktop, 68%);
    --hero-buttons-x: var(--hero-buttons-x-desktop, 50%);
    --hero-buttons-y: var(--hero-buttons-y-desktop, 75%);
    --hero-buttons-w: var(--hero-buttons-w-desktop, 72%);
    --hero-bg-x: var(--hero-bg-x-desktop, 50%);
    --hero-bg-y: var(--hero-bg-y-desktop, 36%);
    --hero-globe-x: var(--hero-globe-x-desktop, 20%);
    --hero-globe-y: var(--hero-globe-y-desktop, 53%);
    --hero-globe-s: var(--hero-globe-s-desktop, 100);
    --hero-text-align: var(--hero-text-align-desktop, center);
    --hero-buttons-justify: var(--hero-buttons-justify-desktop, center);
  }
}

@media (min-width: 1920px) {
  .hero-slide--builder {
    --hero-title-size: var(--hero-title-fs-tv, 68);
    --hero-subtitle-size: var(--hero-subtitle-fs-tv, 28);
    --hero-title-family: var(--hero-title-family-tv, var(--font-display));
    --hero-subtitle-family: var(--hero-subtitle-family-tv, var(--font-body));
    --hero-title-x: var(--hero-title-x-tv, 50%);
    --hero-title-y: var(--hero-title-y-tv, 30%);
    --hero-title-w: var(--hero-title-w-tv, 76%);
    --hero-subtitle-x: var(--hero-subtitle-x-tv, 50%);
    --hero-subtitle-y: var(--hero-subtitle-y-tv, 55%);
    --hero-subtitle-w: var(--hero-subtitle-w-tv, 68%);
    --hero-buttons-x: var(--hero-buttons-x-tv, 50%);
    --hero-buttons-y: var(--hero-buttons-y-tv, 75%);
    --hero-buttons-w: var(--hero-buttons-w-tv, 72%);
    --hero-bg-x: var(--hero-bg-x-tv, 50%);
    --hero-bg-y: var(--hero-bg-y-tv, 36%);
    --hero-globe-x: var(--hero-globe-x-tv, 18%);
    --hero-globe-y: var(--hero-globe-y-tv, 52%);
    --hero-globe-s: var(--hero-globe-s-tv, 100);
    --hero-text-align: var(--hero-text-align-tv, center);
    --hero-buttons-justify: var(--hero-buttons-justify-tv, center);
  }
}

.hero-stage,
.hero-overlay {
  position: absolute;
  inset: 0;
}

.hero-stage {
  z-index: 0;
  transition: transform 7s ease, filter 0.7s ease;
}

/* Máscara fundida ao .hero-stage (background-image); div mantida só para estrutura de camadas legacy. */
.hero-overlay {
  z-index: 1;
  pointer-events: none;
}

.hero-visual-fx {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  overflow: hidden;
}

/* Globo 3D (slide: logistics-globe-wire — markup em globe-wire-graphic.php + css/globe-wire-3d.css) */
.hero-bg-globe {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  overflow: visible;
}

@media (prefers-reduced-motion: no-preference) {
  .hero-bg-globe {
    animation: heroGlobeAmbientGlow 6s ease-in-out infinite alternate;
  }
}

@keyframes heroGlobeAmbientGlow {
  from {
    opacity: 0.92;
  }

  to {
    opacity: 1;
  }
}

.hero-bg-globe .globe-wire-3d {
  display: block;
  position: absolute;
  left: max(-17%, -104px);
  top: 53%;
  /* Um único tamanho para largura/altura — evita achatamento quando max-height cortava só a altura (hero baixo / TV wide). */
  --hero-globe-wire-size: min(118vmin, 760px, 92vh);
  width: calc(var(--hero-globe-wire-size) * var(--hero-globe-s, 100) / 100);
  height: calc(var(--hero-globe-wire-size) * var(--hero-globe-s, 100) / 100);
  max-height: none;
  aspect-ratio: 1 / 1;
  transform: translateY(-50%);
  opacity: var(--hero-globe-opacity, 0.48);
  filter:
    drop-shadow(0 0 16px rgba(190, 196, 208, 0.22))
    drop-shadow(0 0 38px rgba(32, 36, 44, 0.2));
}

/* Via Láctea some em ≤1024px só no carrossel legado (sem builder): no builder mantém igual ao notebook. */
@media (max-width: 1024px) {
  .hero-carousel:not(.hero-carousel--builder) .hero-bg-globe .globe-wire-3d,
  .canvas-globe-wire .globe-wire-3d {
    mix-blend-mode: soft-light;
    -webkit-mask-image: radial-gradient(ellipse 104% 103% at 50% 52%, #000 54%, transparent 100%);
    mask-image: radial-gradient(ellipse 104% 103% at 50% 52%, #000 54%, transparent 100%);
    mask-mode: alpha;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
  }
}

/* Carousel builder (ds_layout_pos): ancora centro do globo em % hero */
.hero-slide--builder .hero-bg-globe .globe-wire-3d {
  left: var(--hero-globe-x, 20%);
  top: var(--hero-globe-y, 53%);
  right: auto;
  bottom: auto;
  transform: translate(-50%, -50%);
}

/* Poligonal vivo 4D: mesmos % do layout (globo/polígono compartilham ds_layout_pos.globo) */
.hero-slide--builder .hero-visual-fx.hero-visual-fx--globe-anchor[data-visual-fx="poligonal-live"] {
  inset: auto;
  left: var(--hero-globe-x, 20%);
  top: var(--hero-globe-y, 53%);
  right: auto;
  bottom: auto;
  overflow: visible;
  transform: translate(-50%, -50%);
  --hero-globe-wire-size: min(118vmin, 760px, 92vh);
  width: calc(var(--hero-globe-wire-size) * var(--hero-globe-s, 100) / 100);
  height: calc(var(--hero-globe-wire-size) * var(--hero-globe-s, 100) / 100);
  max-height: none;
  aspect-ratio: 1 / 1;
}

@media (prefers-reduced-motion: reduce) {
  .hero-bg-globe {
    animation: none;
  }
}

@media (max-width: 640px) {
  /* Só carrossel legado (sem page builder): malha menor, canto direito inferior. Builder usa mesmo tamanho/âncoras do ds_layout_pos. */
  .hero-carousel:not(.hero-carousel--builder) .hero-bg-globe .globe-wire-3d {
    left: auto;
    right: max(-18%, -56px);
    top: auto;
    bottom: max(-22%, -68px);
    --hero-globe-wire-size: min(96vmin, 420px, 80vh);
    width: calc(var(--hero-globe-wire-size) * var(--hero-globe-s, 100) / 100);
    height: calc(var(--hero-globe-wire-size) * var(--hero-globe-s, 100) / 100);
    max-height: none;
    aspect-ratio: 1 / 1;
    transform: none;
    opacity: calc(var(--hero-globe-opacity, 0.48) * 0.86);
    filter:
      drop-shadow(0 0 18px rgba(20, 26, 38, 0.42))
      drop-shadow(0 0 42px rgba(12, 16, 26, 0.32));
  }
}

.hero-el {
  position: absolute;
  z-index: 4;
  max-width: 96%;
  transform: translate(-50%, -50%);
}

.hero-el--subtitle {
  z-index: 5;
}

.hero-el--title {
  z-index: 7;
}

.hero-el--buttons {
  z-index: 8;
}

.hero-visual-fx .slide-vfx-canvas {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hero-title {
  margin: 0;
  max-width: none;
  font-family: var(--hero-title-family, var(--font-display));
  font-size: calc(var(--hero-title-size, 52) * 100vw / 1366);
  line-height: 1.15;
  letter-spacing: -0.02em;
  word-break: break-word;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-pack: start;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}

.hero-subtitle {
  margin: 0;
  max-width: none;
  font-family: var(--hero-subtitle-family, var(--font-body));
  font-size: calc(var(--hero-subtitle-size, 20) * 100vw / 1366);
  line-height: 1.4;
  word-break: break-word;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-pack: start;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}

/* Título/subtítulo: notebook + desktop + TV = 2 linhas; tablet 641–1023px = 3; smartphone ≤640px até 5 */
@media (min-width: 641px) and (max-width: 1023px) {
  .hero-title,
  .hero-subtitle {
    -webkit-line-clamp: 3;
    line-clamp: 3;
  }
}
@media (max-width: 640px) {
  .hero-title,
  .hero-subtitle {
    -webkit-line-clamp: 5;
    line-clamp: 5;
  }
}

@media (max-width: 640px) {
  .hero-carousel--builder .hero-title {
    font-size: max(1.375rem, calc(var(--hero-title-size, 52) * 100vw / 1366));
  }
  .hero-carousel--builder .hero-subtitle {
    font-size: max(1rem, calc(var(--hero-subtitle-size, 20) * 100vw / 1366));
  }
}
@media (min-width: 641px) and (max-width: 1023px) {
  .hero-carousel--builder .hero-title {
    font-size: max(1.625rem, calc(var(--hero-title-size, 52) * 100vw / 1366));
  }
  .hero-carousel--builder .hero-subtitle {
    font-size: max(1.0625rem, calc(var(--hero-subtitle-size, 20) * 100vw / 1366));
  }
}

.hero-buttons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

.hero-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 24px;
  border-radius: 8px;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: none;
  transition: none;
}

.hero-button:hover,
.hero-button:focus {
  text-decoration: none;
  box-shadow: none;
  transform: none;
}

.hero-slide--builder .hero-el {
  opacity: 0;
  will-change: transform, opacity, filter, clip-path;
}

.hero-slide--builder.active.hero-info-anim--fade .hero-el {
  animation: heroInfoFade var(--hero-effect-duration, 0.72s) cubic-bezier(.2,.8,.2,1) var(--hero-effect-delay, 0s) both;
}

.hero-slide--builder.active.hero-info-anim--rise .hero-el,
.hero-slide--builder.active.hero-info-anim--cinematic .hero-el {
  animation: heroInfoRise var(--hero-effect-duration, 0.82s) cubic-bezier(.16,1,.3,1) var(--hero-effect-delay, 0s) both;
}

.hero-slide--builder.active.hero-info-anim--slide .hero-el {
  animation: heroInfoSlide var(--hero-effect-duration, 0.78s) cubic-bezier(.16,1,.3,1) var(--hero-effect-delay, 0s) both;
}

.hero-slide--builder.active.hero-info-anim--zoom .hero-el {
  animation: heroInfoZoom var(--hero-effect-duration, 0.74s) cubic-bezier(.2,.9,.2,1) var(--hero-effect-delay, 0s) both;
}

.hero-slide--builder.active.hero-info-anim--reveal .hero-el {
  animation: heroInfoReveal var(--hero-effect-duration, 0.86s) cubic-bezier(.16,1,.3,1) var(--hero-effect-delay, 0s) both;
}

.hero-slide--builder.active.hero-info-anim--cinematic .hero-stage,
.hero-slide--builder.active.hero-info-anim--zoom .hero-stage {
  transform: scale(1.035);
}

.hero-slide--builder.active .hero-el.hero-effect--none {
  animation: none !important;
  opacity: 1;
  filter: none;
}

.hero-slide--builder.active .hero-el.hero-effect--fade {
  animation: heroInfoFade var(--hero-effect-duration, 0.72s) cubic-bezier(.2,.8,.2,1) var(--hero-effect-delay, 0s) both;
}

.hero-slide--builder.active .hero-el.hero-effect--rise {
  animation: heroInfoRise var(--hero-effect-duration, 0.82s) cubic-bezier(.16,1,.3,1) var(--hero-effect-delay, 0s) both;
}

.hero-slide--builder.active .hero-el.hero-effect--slide-left {
  animation: heroInfoSlide var(--hero-effect-duration, 0.78s) cubic-bezier(.16,1,.3,1) var(--hero-effect-delay, 0s) both;
}

.hero-slide--builder.active .hero-el.hero-effect--slide-right {
  animation: heroInfoSlideRight var(--hero-effect-duration, 0.78s) cubic-bezier(.16,1,.3,1) var(--hero-effect-delay, 0s) both;
}

.hero-slide--builder.active .hero-el.hero-effect--zoom {
  animation: heroInfoZoom var(--hero-effect-duration, 0.74s) cubic-bezier(.2,.9,.2,1) var(--hero-effect-delay, 0s) both;
}

.hero-slide--builder.active .hero-el.hero-effect--reveal {
  animation: heroInfoReveal var(--hero-effect-duration, 0.86s) cubic-bezier(.16,1,.3,1) var(--hero-effect-delay, 0s) both;
}

.hero-slide--builder.active .hero-el.hero-effect--bounce {
  animation: heroInfoBounce var(--hero-effect-duration, 0.92s) cubic-bezier(.34,1.56,.64,1) var(--hero-effect-delay, 0s) both;
}

@keyframes heroInfoFade {
  from { opacity: 0; transform: translate(-50%, -50%); filter: blur(8px); }
  to { opacity: 1; transform: translate(-50%, -50%); filter: blur(0); }
}

@keyframes heroInfoRise {
  from { opacity: 0; transform: translate(-50%, calc(-50% + 28px)); filter: blur(10px); }
  to { opacity: 1; transform: translate(-50%, -50%); filter: blur(0); }
}

@keyframes heroInfoSlide {
  from { opacity: 0; transform: translate(calc(-50% - 42px), -50%); filter: blur(8px); }
  to { opacity: 1; transform: translate(-50%, -50%); filter: blur(0); }
}

@keyframes heroInfoSlideRight {
  from { opacity: 0; transform: translate(calc(-50% + 42px), -50%); filter: blur(8px); }
  to { opacity: 1; transform: translate(-50%, -50%); filter: blur(0); }
}

@keyframes heroInfoZoom {
  from { opacity: 0; transform: translate(-50%, -50%) scale(.92); filter: blur(8px); }
  to { opacity: 1; transform: translate(-50%, -50%) scale(1); filter: blur(0); }
}

@keyframes heroInfoReveal {
  from { opacity: 0; transform: translate(-50%, calc(-50% + 16px)); clip-path: inset(0 0 100% 0); filter: blur(5px); }
  to { opacity: 1; transform: translate(-50%, -50%); clip-path: inset(0 0 0 0); filter: blur(0); }
}

@keyframes heroInfoBounce {
  from { opacity: 0; transform: translate(-50%, calc(-50% + 34px)) scale(.96); filter: blur(8px); }
  70% { opacity: 1; transform: translate(-50%, calc(-50% - 5px)) scale(1.015); filter: blur(0); }
  to { opacity: 1; transform: translate(-50%, -50%) scale(1); filter: blur(0); }
}

@media (prefers-reduced-motion: reduce) {
  .hero-slide--builder.active .hero-el {
    animation: none !important;
    opacity: 1;
  }
  .hero-stage {
    transition: none;
  }
}

/* Ken Burns – zoom suave na foto ativa */
.hero-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  grid-area: 1 / 1 / -1 / -1;
  filter: saturate(1.18) brightness(0.88);
  transform: scale(1.06);
  transition: transform 7s ease;
}

.hero-slide.active .hero-photo {
  transform: scale(1);
}

/* Scrim — cobre uniformemente do topo ao fundo para texto legível em qualquer posição */
.hero-scrim {
  grid-area: 1 / 1 / -1 / -1;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(
      to bottom,
      rgba(10, 15, 40, 0.30) 0%,
      rgba(10, 15, 40, 0.50) 35%,
      rgba(10, 15, 40, 0.55) 60%,
      rgba(10, 15, 40, 0.75) 100%
    ),
    linear-gradient(
      to right,
      rgba(10, 15, 40, 0.70) 0%,
      rgba(10, 15, 40, 0.30) 55%,
      rgba(10, 15, 40, 0.00) 100%
    );
}

/* Caption no terço central do slide (não grudada no rodapé) */
.hero-caption {
  position: relative;
  z-index: 2;
  grid-area: 1 / 1 / -1 / -1;
  align-self: center;
  padding: 0 0 80px;   /* espaço só embaixo para afastar dos dots */
  margin-top: -60px;   /* sobe do centro geométrico para área com mais contraste */
}

.hero-caption h1 {
  font-size: clamp(1.75rem, 4.2vw, 2.9rem);
  line-height: 1.18;
  margin: 0 0 0.65rem;
  max-width: 24ch;
  color: #ffffff;
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.55);
  font-weight: 800;
}

/* Badge decorativo acima do título */
.hero-caption h1::before {
  content: "✦  Especialistas em automação";
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #f4c842;
  margin-bottom: 0.5rem;
  text-shadow: none;
}

.lead {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.88);
  max-width: 52ch;
  margin-bottom: 1.25rem;
  font-weight: 400;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.4);
}

/* Dots modernos — barras em vez de círculos */
.hero-dots {
  position: absolute;
  bottom: 28px;
  left: 0;
  right: 0;
  z-index: 24;
  display: flex;
  gap: 8px;
  justify-content: center;
}

.hero-dots button {
  width: 28px;
  height: 4px;
  border-radius: 4px;
  border: none;
  background: rgba(255, 255, 255, 0.38);
  cursor: pointer;
  padding: 0;
  min-height: 4px;
  transition: width 0.3s ease, background 0.3s ease;
}

.hero-dots button.active {
  width: 52px;
  background: #C0392B;
  transform: none;
}

/* Mobile */
@media (max-width: 640px) {
  .hero-caption {
    align-self: center;
    padding: 0 0 60px;
    margin-top: -40px;
  }
  .hero-caption h1 {
    font-size: clamp(1.45rem, 6.5vw, 2rem);
  }
  .hero-caption h1::before {
    font-size: 0.65rem;
  }
  .lead {
    font-size: 0.9rem;
    margin-bottom: 1rem;
  }
}

.features {
  background: #f4f7fb;
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding: 72px max(calc((100% - 1140px) / 2 + 16px), 20px);
  border-top: 1px solid #e8eef5;
}

.features h2 {
  margin-bottom: 0;
  font-size: clamp(1.5rem, 3vw, 2rem);
  color: var(--blue-900);
}

.feature-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.4rem;
  transition: border-color 0.2s, box-shadow 0.2s;
  position: relative;
  overflow: hidden;
}

.card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--blue-600), var(--red-600));
  opacity: 0;
  transition: opacity 0.2s;
}

.card:hover {
  box-shadow: var(--shadow-lg);
}

.card:hover::before {
  opacity: 1;
}

.card.accent::before {
  opacity: 1;
}

.card.accent {
  border-color: rgba(198, 40, 40, 0.28);
  background: linear-gradient(180deg, #fff 0%, var(--red-50) 100%);
}

.card h3 {
  margin-top: 0;
  color: var(--blue-800);
}

.lnk {
  font-family: var(--font-display);
  font-weight: 600;
  text-decoration: none;
  color: var(--accent-blue);
}

.lnk:hover {
  color: var(--red-600);
}

.cta-band {
  background: #1565c0;
  color: #fff;
  position: relative;
  overflow: hidden;
}

.cta-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 24px 24px;
  pointer-events: none;
}

.cta-band .muted {
  color: rgba(255, 255, 255, 0.85);
}

.cta-band strong {
  font-family: var(--font-display);
  letter-spacing: -0.02em;
}

.cta-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 2.75rem 0;
}

.muted {
  color: var(--muted);
}

.page-content {
  padding: 2.25rem 0 3rem;
}

.page-head h1 {
  margin-top: 0;
  color: var(--blue-900);
}

.prose .html-content {
  max-width: 75ch;
}

.html-content h2,
.html-content h3 {
  margin-top: 1.65rem;
  color: var(--blue-800);
}

.html-content ul {
  padding-left: 1.25rem;
}

.prose .html-content:has(.video-grid),
.prose .html-content:has(.hero-carousel),
.prose .html-content:has(.site-embed-wrap),
.prose .html-content:has(.site-embed-slides),
.prose .html-content:has(.site-embed-galeria),
.prose .html-content:has(.service-layout),
.prose .html-content:has(.dicas-list),
.prose .html-content:has(.maxtrans-servico-hero),
.prose .html-content:has(.maxtrans-diagrama) {
  max-width: none;
}

/* Layout de página de serviço: texto + imagem lado a lado */
.service-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: center;
}

@media (min-width: 720px) {
  .service-layout {
    grid-template-columns: 1fr 1fr;
  }
}

.service-img {
  width: 100%;
  height: auto;
  border-radius: var(--radius);
  box-shadow: 0 4px 24px rgba(0,0,0,.12);
  display: block;
}

/* Grid de "Sobre nós" — 3 colunas de destaques */
.about-highlights {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-top: 2.5rem;
}

@media (min-width: 600px) {
  .about-highlights {
    grid-template-columns: repeat(3, 1fr);
  }
}

.about-highlights article {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 1.75rem 1.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 12px;
  position: relative;
  overflow: hidden;
  transition: border-color 0.28s, transform 0.28s, box-shadow 0.28s;
  box-shadow: 0 2px 12px rgba(15,23,42,0.07);
}
.about-highlights article::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(26,86,219,0.04) 0%, transparent 55%);
  pointer-events: none;
  border-radius: inherit;
  z-index: 0;
}
/* canvas de dots - atras de todo conteudo */
.about-highlights article > canvas.hl-dots,
.feature-grid .card > canvas.hl-dots {
  position: absolute !important;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0 !important;
  pointer-events: none;
  opacity: .45;
}
/* icone decorativo canto superior direito */
.hl-deco-icon {
  position: absolute !important;
  top: 12px;
  right: 14px;
  z-index: 2 !important;
  opacity: .13;
  pointer-events: none;
  transition: opacity .28s;
}
.about-highlights article:hover .hl-deco-icon {
  opacity: .22;
}
.hl-deco-icon svg {
  width: 44px;
  height: 44px;
  display: block;
}
.about-highlights article:hover {
  border-color: #93c5fd;
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(26,86,219,0.12);
}
/* Empilha todo conteudo acima do canvas de dots */
.about-highlights article > * {
  position: relative;
  z-index: 1;
}

/* Ícone dos cards about-highlights */
.hl-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-bottom: 4px;
}
.hl-icon svg {
  width: 24px;
  height: 24px;
  display: block;
}
.hl-icon-blue {
  background: linear-gradient(135deg, rgba(26,86,219,0.12) 0%, rgba(26,86,219,0.05) 100%);
  border: 1px solid rgba(26,86,219,0.2);
  color: #1d4ed8;
}
.hl-icon-red {
  background: linear-gradient(135deg, rgba(220,38,38,0.12) 0%, rgba(220,38,38,0.05) 100%);
  border: 1px solid rgba(220,38,38,0.2);
  color: #dc2626;
}
.hl-icon-green {
  background: linear-gradient(135deg, rgba(22,163,74,0.12) 0%, rgba(22,163,74,0.05) 100%);
  border: 1px solid rgba(22,163,74,0.2);
  color: #16a34a;
}

.about-highlights article h3 {
  font-size: 1rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0;
  line-height: 1.3;
}
.about-highlights article p {
  font-size: 0.9rem;
  color: #475569;
  line-height: 1.65;
  margin: 0;
}

/* Lista de dicas */
.dicas-list {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  list-style: none;
  padding: 0;
  margin: 1.25rem 0 2rem;
}

.dicas-list li {
  background: var(--surface-2);
  border-left: 3px solid var(--red-600);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  padding: .75rem 1rem;
  line-height: 1.5;
}

.video-grid {
  display: grid;
  gap: 1.75rem;
  grid-template-columns: 1fr;
  margin: 1.75rem 0 0;
}

@media (min-width: 720px) {
  .video-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.video-wrap {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: #0a0f14;
}

.video-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.video-grid h3 {
  font-size: 1.05rem;
  font-weight: 600;
  margin: 0.65rem 0 0;
  color: var(--blue-800);
  font-family: var(--font-display);
}

.site-embed-videos__desc {
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--text-muted, #64748b);
  margin: 0.35rem 0 0;
}

/* Carrossel simples dos slides institucionais (macros / Page Builder) */
.site-embed-slides {
  margin: 1.75rem 0 2rem;
  outline: none;
}

.site-embed-slides__track {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding: 0 4%;
  padding-bottom: 0.5rem;
  -webkit-overflow-scrolling: touch;
}

.site-embed-slides__slide {
  flex: 0 0 min(92%, 720px);
  scroll-snap-align: center;
}

.site-embed-slides__card {
  position: relative;
  min-height: 260px;
  border-radius: var(--radius, 12px);
  background-size: cover;
  background-position: center;
  overflow: hidden;
  border: 1px solid var(--border, rgba(15, 23, 42, 0.12));
}

.site-embed-slides__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.15) 0%, rgba(15, 23, 42, 0.72) 100%);
  pointer-events: none;
}

.site-embed-slides__inner {
  position: relative;
  z-index: 1;
  padding: 1.75rem 1.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  align-items: flex-start;
  justify-content: flex-end;
  min-height: 260px;
  box-sizing: border-box;
}

.site-embed-slides__title {
  margin: 0;
  font-size: clamp(1.15rem, 2.6vw, 1.45rem);
  font-weight: 700;
  color: #f8fafc;
  font-family: var(--font-display);
  line-height: 1.2;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
}

.site-embed-slides__sub {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.45;
  color: rgba(248, 250, 252, 0.88);
  max-width: 42ch;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.4);
}

.site-embed-slides__btn {
  margin-top: 0.25rem;
}

.site-embed-slides__hint {
  margin: 0.5rem 0 0;
  font-size: 0.8rem;
  text-align: center;
  color: var(--text-muted, #64748b);
}

@media (min-width: 900px) {
  .site-embed-slides__slide {
    flex-basis: min(80%, 820px);
  }

  .site-embed-slides__card,
  .site-embed-slides__inner {
    min-height: 320px;
  }
}

.grid-contact {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
}

.contact-col-main {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.contact-numbers h2 {
  font-size: 1.15rem;
  margin: 0 0 0.85rem;
  color: var(--blue-800);
  font-family: var(--font-display);
}

.contact-numbers-line {
  margin: 0 0 1rem;
  line-height: 1.5;
}

.contact-numbers .small {
  display: block;
  margin-top: 0.35rem;
}

.contact-numbers-actions {
  margin: 0;
}

.contact-wa-link {
  border-color: rgba(37, 211, 102, 0.45);
  color: #117a65;
  background: rgba(37, 211, 102, 0.08);
}

.contact-wa-link:hover {
  border-color: #25d366;
  color: #0d5c4d;
  background: rgba(37, 211, 102, 0.16);
}

@media (min-width: 900px) {
  .grid-contact {
    grid-template-columns: 1fr 1fr;
  }
}

.contact-card {
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.contact-card .frm label {
  display: block;
  margin-bottom: 1rem;
  font-weight: 500;
  color: var(--blue-800);
}

.contact-card input,
.contact-card textarea {
  width: 100%;
  margin-top: 8px;
  padding: 12px 14px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text);
  font: inherit;
  min-height: 44px;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.contact-card input:focus,
.contact-card textarea:focus {
  border-color: var(--accent-blue);
  outline: none;
  box-shadow: 0 0 0 3px rgba(21, 101, 192, 0.15);
}

.contact-card textarea {
  min-height: 150px;
  resize: vertical;
}

.ok-msg {
  color: #2e7d32;
}

.err-msg {
  color: var(--red-600);
}

.gallery-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  margin-top: 2rem;
}

.gal-item {
  margin: 0;
  background: var(--surface);
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
}

.gal-item img {
  width: 100%;
  display: block;
  height: auto;
  cursor: zoom-in;
}

.gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(5, 10, 20, 0.92);
}

.gallery-lightbox.is-open {
  display: flex;
}

.gallery-lightbox-dialog {
  position: relative;
  width: min(96vw, 1200px);
  max-width: 100%;
}

.gallery-lightbox-image {
  display: block;
  max-width: 100%;
  max-height: 90vh;
  width: auto;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  border-radius: 10px;
}

.gallery-lightbox-caption {
  margin-top: 10px;
  text-align: center;
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.95rem;
  line-height: 1.5;
}

.gallery-lightbox-close {
  position: absolute;
  top: -16px;
  right: -16px;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 50%;
  background: rgba(15, 23, 42, 0.8);
  color: #fff;
  cursor: pointer;
  font-size: 1.35rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s, border-color 0.2s, transform 0.2s;
}

.gallery-lightbox-close:hover {
  background: rgba(220, 38, 38, 0.9);
  border-color: rgba(255, 255, 255, 0.6);
  transform: scale(1.05);
}

body.gallery-lightbox-open {
  overflow: hidden;
}

/* Oculta lightbox legado caso exista na página (conteúdo antigo). */
body.gallery-lightbox-open #baguetteBox-overlay,
body.gallery-lightbox-open #lightboxOverlay,
body.gallery-lightbox-open #lightbox,
body.gallery-lightbox-open .lb-outerContainer,
body.gallery-lightbox-open .fancybox-container,
body.gallery-lightbox-open .mfp-bg,
body.gallery-lightbox-open .mfp-wrap,
body.gallery-lightbox-open .pswp,
body.gallery-lightbox-open .glightbox-container {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

@media (max-width: 640px) {
  .gallery-lightbox {
    padding: 14px;
  }

  .gallery-lightbox-close {
    top: -10px;
    right: -6px;
    width: 36px;
    height: 36px;
  }

  .gallery-lightbox-caption {
    margin-top: 8px;
    font-size: 0.88rem;
    padding: 0 6px;
  }
}

.gal-item figcaption {
  padding: 14px;
  font-family: var(--font-display);
  font-weight: 600;
  color: var(--blue-800);
}

.gal-item small {
  display: block;
  color: var(--muted);
  margin-top: 4px;
  font-weight: 400;
}

/* ═══════════════════════════════════════════════════════
   RODAPÉ — dark moderno
═══════════════════════════════════════════════════════ */
.site-footer {
  flex-shrink: 0;
  background: #0d1117;
  color: rgba(255,255,255,0.72);
  padding: 56px 0 0;
  margin-top: 0;
  font-size: 0.9rem;
  line-height: 1.7;
}

.grid-footer {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  gap: 40px 48px;
  padding-bottom: 48px;
}

/* Faixa opcional · widgets configuráveis (zona footer) */
.footer-widgets-wrap {
  padding: 0 0 28px;
  margin-top: -8px;
}
.footer-widgets-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  justify-content: flex-start;
}
.footer-widgets-inner .footer-widget.btn {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 0 18px;
  font-size: 0.875rem;
  text-decoration: none;
  border-radius: 10px;
}
.footer-widgets-inner .footer-widget--wa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  min-height: 48px;
  border-radius: 12px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  color: #86efac;
  text-decoration: none;
  transition: background .18s, color .18s, border-color .18s;
}
.footer-widgets-inner .footer-widget--wa:hover {
  background: #22c55e;
  border-color: #22c55e;
  color: #052e16;
}
.footer-widgets-inner .footer-widget--wa svg {
  display: block;
}
@media (max-width: 600px) {
  .footer-widgets-inner { justify-content: center; }
}

/* Faixas de widgets dentro do corpo (home, páginas) — mesmo padrão do rodapé */
.site-widgets-zone {
  padding: clamp(16px, 2.8vw, 26px) 0;
  margin: 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}
.site-widgets-zone--home-banner {
  border-top: 1px solid rgba(148, 163, 184, 0.12);
}
.site-widgets-zone--paginas .footer-widgets-inner {
  justify-content: center;
}
@media (max-width: 600px) {
  .site-widgets-zone--paginas .footer-widgets-inner {
    flex-direction: column;
    align-items: stretch;
  }
  .site-widgets-zone--paginas .footer-widgets-inner .footer-widget.btn {
    justify-content: center;
  }
}

/* Coluna 1 — marca */
.footer-brand-col {}
.footer-logo-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  text-decoration: none;
}
.footer-logo-wrap img.footer-logo-img {
  height: auto;
  max-height: var(--logo-footer-max, 52px);
  width: auto;
  max-width: min(260px, 55vw);
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: .9;
}
.footer-logo-wrap.footer-logo-wrap--text-only .footer-brand-name {
  font-size: 1.12rem;
  line-height: 1.22;
}
.footer-brand-name {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.05rem;
  color: #fff;
  line-height: 1.2;
}
.footer-brand-sub {
  font-size: 0.72rem;
  color: rgba(255,255,255,0.4);
  text-transform: uppercase;
  letter-spacing: 0.07em;
}
.footer-slogan {
  color: rgba(255,255,255,0.55);
  font-size: 0.85rem;
  margin-bottom: 20px;
  max-width: 280px;
}
.footer-social {
  display: flex;
  gap: 10px;
}
.footer-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px; height: 36px;
  border-radius: 9px;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.65);
  text-decoration: none;
  transition: background 0.18s, color 0.18s, border-color 0.18s, transform 0.15s;
}
.footer-social a:hover {
  background: var(--blue-600);
  border-color: var(--blue-600);
  color: #fff;
  transform: translateY(-2px);
}
.footer-social a svg { width: 16px; height: 16px; }

/* Colunas 2 e 3 — título de seção */
.footer-col-title {
  font-family: var(--font-display);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.35);
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}

/* Itens de contato */
.footer-contact-list {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.footer-contact-list li {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: rgba(255,255,255,0.62);
  font-size: 0.85rem;
}
.footer-contact-list li svg {
  width: 15px; height: 15px;
  flex-shrink: 0;
  margin-top: 3px;
  opacity: 0.5;
}
.footer-contact-list a {
  color: rgba(255,255,255,0.85);
  text-decoration: none;
  transition: color 0.15s;
}
.footer-contact-list a:hover { color: #fff; }
.footer-contact-list .wa-link {
  color: #4ade80;
}
.footer-contact-list .wa-link:hover { color: #86efac; }
.footer-contact-list .tag-fixo {
  font-size: 0.7rem;
  background: rgba(255,255,255,0.1);
  border-radius: 4px;
  padding: 1px 6px;
  color: rgba(255,255,255,0.4);
  margin-left: 4px;
  white-space: nowrap;
}

/* Links do rodapé */
.footer-links-list {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.footer-links-list a {
  color: rgba(255,255,255,0.55);
  text-decoration: none;
  font-size: 0.87rem;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: color 0.15s, gap 0.15s;
}
.footer-links-list a::before {
  content: "→";
  font-size: 0.7rem;
  opacity: 0;
  transition: opacity 0.15s;
}
.footer-links-list a:hover {
  color: #fff;
  gap: 9px;
}
.footer-links-list a:hover::before { opacity: 0.5; }

/* Barra inferior */
.footer-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 0 calc(20px + 72px);
  border-top: 1px solid rgba(255,255,255,0.07);
  margin-top: 0;
}
.footer-bar small {
  color: rgba(255,255,255,0.28);
  font-size: 0.78rem;
}
.footer-bar-links {
  display: flex;
  gap: 16px;
}
.footer-bar-links a {
  color: rgba(255,255,255,0.28);
  font-size: 0.78rem;
  text-decoration: none;
  transition: color 0.15s;
}
.footer-bar-links a:hover { color: rgba(255,255,255,0.6); }

@media (max-width: 959px) {
  .grid-footer {
    grid-template-columns: 1fr 1fr;
    gap: 32px 24px;
  }
  .footer-brand-col { grid-column: 1 / -1; }
  .footer-slogan { max-width: 100%; }
}
@media (max-width: 600px) {
  .grid-footer { grid-template-columns: 1fr; }
  .footer-bar { flex-direction: column; align-items: flex-start; gap: 6px; }
}

/*
 * FAB WhatsApp: reserva faixa onde o cabeçalho cobre no topo e o rodapé no fundo —
 * atualizado por JS (--wa-safe-top / --wa-safe-bottom).
 */
:root {
  --wa-safe-top: 84px;
  --wa-safe-bottom: 112px;
  --wa-fab-size: 56px;
}

/*
 * Drawer mobile aberto (.site-nav-drawer-open no body): esconde o FAB WhatsApp —
 * antes z-index 9999 ficava acima do menu (nav z-index 900) e cobria links.
 */
@media (max-width: 1199px) {
  body.site-nav-drawer-open .wa-fab {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition:
      opacity 0.22s ease,
      visibility 0.22s ease;
  }
}

.wa-fab {
  position: fixed;
  z-index: 9999;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  left: auto;
  top: auto;
  right: auto;
  bottom: auto;
}

.wa-fab--br {
  right: 20px;
  bottom: max(16px, var(--wa-safe-bottom));
}

.wa-fab--bl {
  left: 20px;
  bottom: max(16px, var(--wa-safe-bottom));
}

.wa-fab--bc {
  left: 50%;
  bottom: max(16px, var(--wa-safe-bottom));
  transform: translateX(-50%);
}

.wa-fab--bf {
  right: 20px;
  bottom: calc(max(16px, var(--wa-safe-bottom)) + 72px);
}

.wa-fab--tr {
  top: max(12px, var(--wa-safe-top));
  right: 20px;
}

.wa-fab--tl {
  top: max(12px, var(--wa-safe-top));
  left: 20px;
}

/* Centro vertical apenas na área útil entre header e footer (≈corpo à vista) */
.wa-fab--mr {
  top: calc(
    var(--wa-safe-top) +
    (
      100vh - var(--wa-safe-top) - var(--wa-safe-bottom) - var(--wa-fab-size)
    ) / 2
  );
  right: 20px;
  transform: none;
}

.wa-fab--ml {
  top: calc(
    var(--wa-safe-top) +
    (
      100vh - var(--wa-safe-top) - var(--wa-safe-bottom) - var(--wa-fab-size)
    ) / 2
  );
  left: 20px;
  transform: none;
}

.wa-fab--br:hover,
.wa-fab--bl:hover,
.wa-fab--bf:hover,
.wa-fab--tr:hover,
.wa-fab--tl:hover {
  transform: scale(1.06);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.4);
}

.wa-fab--bc:hover {
  transform: translateX(-50%) scale(1.06);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.4);
}

.wa-fab--mr:hover,
.wa-fab--ml:hover {
  transform: translateY(-50%) scale(1.06);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.4);
}

.wa-fab::after {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 2px solid #25d366;
  opacity: 0.6;
  animation: wa-fab-ring 2s ease-out infinite;
  pointer-events: none;
}

@keyframes wa-fab-ring {
  0% {
    transform: scale(1);
    opacity: 0.6;
  }
  100% {
    transform: scale(1.35);
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wa-fab::after {
    animation: none;
    opacity: 0;
  }

  .wa-fab--br:hover,
  .wa-fab--bl:hover,
  .wa-fab--bf:hover,
  .wa-fab--tr:hover,
  .wa-fab--tl:hover {
    transform: none;
  }

  .wa-fab--bc:hover {
    transform: translateX(-50%);
  }

  .wa-fab--mr:hover,
  .wa-fab--ml:hover {
    transform: none;
  }
}

.social a {
  color: var(--accent-blue);
}


@media (min-width: 1200px) {
  .nav-list > li > a:hover {
    color: var(--accent-blue);
    background: var(--blue-50);
  }
}

/* ═══════════════════════════════════════════════════
   CONTATO — NOVO FORMULÁRIO
═══════════════════════════════════════════════════ */

.contact-section {
  padding: 4rem 0 5rem;
  background: var(--bg);
}

.contact-wrap {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 2.5rem;
  align-items: start;
}

/* — Painel de informações (esquerdo) — */
.contact-info-panel {
  background: linear-gradient(160deg, #0d1b3e 0%, #1a3560 60%, #0d1b3e 100%);
  border-radius: 18px;
  padding: 2.5rem 2rem;
  color: #fff;
  position: relative;
  overflow: hidden;
  min-height: 520px;
  display: flex;
  flex-direction: column;
}

.contact-badge {
  display: inline-block;
  background: rgba(192,57,43,.18);
  border: 1px solid rgba(192,57,43,.45);
  color: #f87171;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 1.2rem;
}

.contact-info-panel h1 {
  font-size: clamp(1.4rem, 2.5vw, 1.85rem);
  color: #fff;
  margin: 0 0 .85rem;
  line-height: 1.25;
}

.contact-intro {
  color: rgba(255,255,255,.72);
  font-size: .95rem;
  line-height: 1.65;
  margin-bottom: 2rem;
}

.contact-details-list {
  list-style: none;
  margin: 0 0 2rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}

.contact-details-list li {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
}

.cdi-icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #93c5fd;
  margin-top: 2px;
}

.contact-details-list strong {
  display: block;
  font-size: .8rem;
  font-weight: 600;
  color: rgba(255,255,255,.55);
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: 2px;
}

.contact-details-list a,
.contact-details-list span {
  color: #fff;
  text-decoration: none;
  font-size: .93rem;
}

.contact-details-list a:hover { color: #93c5fd; }

.contact-wa-btn {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  background: #25d366;
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 13px 22px;
  font-weight: 700;
  font-size: .92rem;
  text-decoration: none;
  transition: background .2s, box-shadow .2s, transform .2s;
  margin-top: auto;
  align-self: flex-start;
}

.contact-wa-btn:hover {
  background: #1ebe5a;
  box-shadow: 0 0 20px rgba(37,211,102,.45);
  transform: translateY(-2px);
  color: #fff;
}

/* Decoração tech no painel esquerdo */
.contact-deco {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  border-radius: 18px;
}

.deco-grid {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 28px 28px;
}

.deco-circle {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.07);
}

.deco-circle.c1 { width: 260px; height: 260px; right: -80px; bottom: -80px; }
.deco-circle.c2 { width: 160px; height: 160px; right: -30px; bottom: -30px; border-color: rgba(192,57,43,.15); }
.deco-circle.c3 { width:  80px; height:  80px; right:  20px; bottom:  20px; background: rgba(192,57,43,.06); }

/* — Painel do formulário (direito) — */
.contact-form-panel {
  position: sticky;
  top: 90px;
}

.contact-form-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 2.2rem 2rem;
  box-shadow: 0 4px 32px rgba(0,0,0,.06), 0 1px 0 rgba(255,255,255,.9) inset;
}

.contact-form-header h2 {
  font-size: 1.35rem;
  margin: 0 0 .3rem;
  color: var(--blue-900);
}

.contact-form-sub {
  color: var(--muted);
  font-size: .875rem;
  margin: 0 0 1.75rem;
}

/* Formulário contato — modo logística (assunto dinâmico) */
.frm-modern--logistica .contato-logistica-hint {
  font-size: 0.8125rem;
  margin: -0.25rem 0 1rem;
  line-height: 1.45;
  color: var(--muted);
}
.contato-log-legenda {
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--muted);
  margin: 0 0 0.85rem;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid var(--border);
}
.contato-log-grupo {
  margin-bottom: 0.15rem;
}
.frm-modern--logistica .fld--file {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.frm-modern--logistica .fld--file input[type="file"] {
  width: 100%;
  border: 2px dashed var(--border);
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 0.88rem;
  background: rgba(248, 250, 252, 0.6);
  cursor: pointer;
  font-family: inherit;
}
.frm-modern--logistica .fld--file label {
  position: static;
  transform: none;
  left: auto;
  top: auto;
  pointer-events: auto;
  margin: 0 0 0.15rem 2px;
  font-size: 0.88rem;
  color: var(--muted);
  white-space: normal;
}

/* — Campos com label flutuante — */
.fld {
  position: relative;
  margin-bottom: 1.15rem;
}

.fld-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.fld input,
.fld textarea,
.fld select {
  width: 100%;
  border: 2px solid var(--border);
  border-radius: 10px;
  padding: 22px 14px 8px 42px;
  font-size: .95rem;
  background: #fff;
  color: var(--text);
  transition: border-color .2s, box-shadow .2s;
  font-family: inherit;
  appearance: none;
}

.fld input:focus,
.fld textarea:focus,
.fld select:focus {
  outline: none;
  border-color: #1d4ed8;
  box-shadow: 0 0 0 4px rgba(29,78,219,.10);
}

.fld label {
  position: absolute;
  left: 42px;
  top: 50%;
  transform: translateY(-50%);
  color: #94a3b8;
  font-size: .92rem;
  pointer-events: none;
  transition: top .18s ease, transform .18s ease, font-size .18s ease, color .18s ease;
  white-space: nowrap;
}

.fld--textarea label {
  top: 22px;
  transform: none;
}

/* Label sobe quando preenchido/focado */
.fld input:not(:placeholder-shown) ~ label,
.fld input:focus ~ label {
  top: 9px;
  transform: translateY(0);
  font-size: .68rem;
  color: #1d4ed8;
  font-weight: 700;
  letter-spacing: .06em;
}

.fld textarea:not(:placeholder-shown) ~ label,
.fld textarea:focus ~ label {
  top: 9px;
  font-size: .68rem;
  color: #1d4ed8;
  font-weight: 700;
  letter-spacing: .06em;
}

.fld select:not([value=""]) ~ label,
.fld select:focus ~ label {
  top: 9px;
  transform: translateY(0);
  font-size: .68rem;
  color: #1d4ed8;
  font-weight: 700;
  letter-spacing: .06em;
}

/* Ícone do campo */
.fld-icon {
  position: absolute;
  left: 13px;
  top: 50%;
  transform: translateY(-50%);
  color: #94a3b8;
  display: flex;
  align-items: center;
  pointer-events: none;
  transition: color .2s;
}

.fld--textarea .fld-icon,
.fld-icon--top {
  top: 22px;
  transform: none;
}

.fld input:focus ~ .fld-icon,
.fld textarea:focus ~ .fld-icon,
.fld select:focus ~ .fld-icon {
  color: #1d4ed8;
}

/* Select chevron */
.select-chevron {
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #94a3b8;
}

/* Textarea */
.fld--textarea textarea {
  resize: vertical;
  min-height: 130px;
}

.char-count {
  position: absolute;
  bottom: 8px;
  right: 12px;
  font-size: .7rem;
  color: #cbd5e1;
}

/* Campo obrigatório asterisco */
.req { color: #C0392B; }

/* — Rodapé do form — */
.frm-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.35rem;
  flex-wrap: wrap;
}

.frm-req-note {
  font-size: .78rem;
  color: #94a3b8;
  margin: 0;
}

.btn-send {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  min-width: 196px;
  justify-content: center;
  font-size: .95rem;
  padding: 14px 28px;
}

.bs-spinner {
  display: inline-flex;
  animation: spin 0.8s linear infinite;
}

@keyframes spin { to { transform: rotate(360deg); } }

/* — Barra de erro — */
.frm-error-bar {
  display: flex;
  align-items: center;
  gap: .6rem;
  background: #fef2f2;
  border: 1px solid #fca5a5;
  border-radius: 8px;
  padding: 10px 14px;
  color: #991b1b;
  font-size: .875rem;
  margin-bottom: 1.2rem;
}

@keyframes frmShake {
  0%,100% { transform: translateX(0); }
  20%,60%  { transform: translateX(-6px); }
  40%,80%  { transform: translateX(6px); }
}

.frm-shake { animation: frmShake .42s ease; }

/* — Estado de sucesso — */
.contact-success-state {
  text-align: center;
  padding: 2rem 1.5rem;
}

.success-ring {
  width: 88px;
  height: 88px;
  margin: 0 auto 1.5rem;
}

.success-ring svg { width: 88px; height: 88px; }

.success-ring-bg {
  fill: #1d4ed8;
  opacity: .12;
}

.success-ring-track {
  fill: none;
  stroke: #1d4ed8;
  stroke-width: 3;
  stroke-dasharray: 226;
  stroke-dashoffset: 226;
  animation: ringDraw .7s .1s ease forwards;
  transform-origin: center;
  transform: rotate(-90deg);
}

.success-check {
  stroke-dasharray: 50;
  stroke-dashoffset: 50;
  animation: checkDraw .45s .75s ease forwards;
}

@keyframes ringDraw {
  to { stroke-dashoffset: 0; }
}

@keyframes checkDraw {
  to { stroke-dashoffset: 0; }
}

.success-title {
  font-size: 1.5rem;
  color: var(--blue-900);
  margin: 0 0 .5rem;
}

.success-body {
  color: var(--muted);
  margin-bottom: 1.2rem;
}

.success-chips {
  display: flex;
  gap: .6rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
}

.success-chips span {
  background: #f0fdf4;
  border: 1px solid #86efac;
  color: #166534;
  font-size: .78rem;
  font-weight: 600;
  border-radius: 20px;
  padding: 4px 12px;
}

/* — Responsivo — */
@media (max-width: 900px) {
  .contact-wrap {
    grid-template-columns: 1fr;
  }
  .contact-info-panel {
    min-height: auto;
  }
  .contact-form-panel {
    position: static;
  }
  .fld-row {
    grid-template-columns: 1fr;
  }
}

/* ═══════════════════════════════════════════════════
   TECH EFFECTS
═══════════════════════════════════════════════════ */

/* — Keyframes — */
@keyframes gradShift {
  0%,100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}

@keyframes heroUp {
  from { opacity: 0; transform: translateY(28px); filter: blur(4px); }
  to   { opacity: 1; transform: translateY(0);    filter: blur(0);   }
}

@keyframes shimmer {
  0%   { background-position: -250% center; }
  100% { background-position:  250% center; }
}

@keyframes waPulse {
  0%,100% { box-shadow: 0 0 0 0   rgba(37, 211, 102, 0.45); }
  50%      { box-shadow: 0 0 0 10px rgba(37, 211, 102, 0);   }
}

@keyframes scanline {
  0%   { transform: translateY(-100%); }
  100% { transform: translateY(200vh); }
}

/* — Hero dot-grid overlay — */
.hero-scrim {
  position: relative;
}
.hero-scrim::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255,255,255,0.055) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
}

/* — Hero scanline (sutil, tech feel) — */
.hero-carousel::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    transparent 50%,
    rgba(0,0,0,0.015) 50%
  );
  background-size: 100% 4px;
}

/* — Hero progress bar — */
.hero-progress {
  position: absolute;
  top: 0;
  left: 0;
  height: 3px;
  width: 0%;
  background: linear-gradient(90deg, #C0392B, #e74c3c, #f39c12);
  box-shadow: 0 0 10px rgba(192,57,43,0.8), 0 0 20px rgba(192,57,43,0.4);
  z-index: 10;
  border-radius: 0 2px 2px 0;
}

/* — Hero nav arrows — */
.hero-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.22);
  color: #fff;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  transition: background 0.25s, transform 0.25s, box-shadow 0.25s;
  backdrop-filter: blur(8px);
  line-height: 1;
}
.hero-arrow:hover {
  background: rgba(192,57,43,0.72);
  box-shadow: 0 0 18px rgba(192,57,43,0.5);
  transform: translateY(-50%) scale(1.1);
}
.hero-arrow.prev { left: 20px; }
.hero-arrow.next { right: 20px; }

@media (max-width: 640px) {
  .hero-arrow { display: none; }
}

/* — Hero text animations — */
.hero-slide .hero-caption h1,
.hero-slide .lead,
.hero-slide .btn {
  opacity: 0;
}
.hero-slide.active .hero-caption h1 {
  animation: heroUp 0.8s 0.08s ease forwards;
}
.hero-slide.active .lead {
  animation: heroUp 0.8s 0.28s ease forwards;
}
.hero-slide.active .btn {
  animation: heroUp 0.8s 0.48s ease forwards;
}

/* — Shimmer no botão primário — */
.btn-primary {
  background: linear-gradient(90deg,
    #1a56db 0%, #1a56db 30%,
    #5a8bf0 50%,
    #1a56db 70%, #1a56db 100%);
  background-size: 300% 100%;
  animation: shimmer 5s linear infinite;
}
.btn-primary:hover {
  animation-duration: 1.6s;
  box-shadow: 0 0 22px rgba(26,86,219,0.5), 0 4px 16px rgba(26,86,219,0.3);
}

/* — Card glow hover — */
.card {
  transition: border-color 0.25s, box-shadow 0.25s, transform 0.25s;
}
.card:hover {
  border-color: rgba(26,86,219,0.38);
  box-shadow: 0 0 0 1px rgba(26,86,219,0.18),
              0 8px 32px rgba(26,86,219,0.14);
  transform: translateY(-3px);
}
.card:hover::before {
  opacity: 1;
}

/* — Scroll reveal — */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}
.feature-grid .card:nth-child(1) { transition-delay: 0.05s; }
.feature-grid .card:nth-child(2) { transition-delay: 0.15s; }
.feature-grid .card:nth-child(3) { transition-delay: 0.25s; }
.feature-grid .card:nth-child(4) { transition-delay: 0.35s; }

/* — WhatsApp header pulse — */
.header-wa-icon {
  border-radius: 50%;
  animation: waPulse 2.6s ease infinite;
}

/* — Linha decorativa sob títulos de seção — */
.features > h2::after,
.page-head h1::after {
  content: "";
  display: block;
  width: 44px;
  height: 3px;
  margin-top: 10px;
  border-radius: 3px;
  background: linear-gradient(90deg, #C0392B 0%, #1a56db 100%);
}

/* ══════════════════════════════════════════════════════
   TRUST BAR
══════════════════════════════════════════════════════ */
.trust-bar {
  background: #0d1117;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  padding: 10px 0;
  max-width: 100%;
  overflow-x: clip;
  overflow-x: hidden;
}
.trust-bar-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 32px;
  justify-content: center;
  align-items: center;
}
.trust-bar span {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 0.82rem;
  color: #b0b8c8;
  white-space: nowrap;
}
.trust-bar svg { flex-shrink: 0; color: #e84040; }
@media (max-width: 640px) {
  .trust-bar-inner { gap: 10px 20px; }
  .trust-bar span {
    font-size: 0.77rem;
    white-space: normal;
    text-align: center;
  }
}

/* ══════════════════════════════════════════════════════
   STATS SECTION
══════════════════════════════════════════════════════ */
.stats-section {
  background: #0d1117;
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
  padding: 56px max(calc((100% - 1140px) / 2 + 16px), 20px);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  box-sizing: border-box;
  overflow-x: clip;
  overflow-x: hidden;
}
.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  text-align: center;
}
.stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.stat-num-wrap {
  display: flex;
  align-items: baseline;
  gap: 2px;
  line-height: 1;
}
.stat-num {
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.stat-num.stat-text {
  color: #e84040;
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
}
.stat-suffix {
  font-size: clamp(1.2rem, 2vw, 1.8rem);
  font-weight: 700;
  color: #e84040;
}
.stat-label {
  font-size: 0.88rem;
  color: #8892a4;
  line-height: 1.5;
  margin: 0;
}
.stat-label small {
  font-size: 0.77rem;
  opacity: 0.75;
}

/* Stats como cartões com símbolo temático de fundo */
.stats-section.stats-section--showcase .stats-grid {
  gap: clamp(18px, 2.5vw, 28px);
  align-items: stretch;
}
.stats-section.stats-section--showcase .stat-item--showcase {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  padding: clamp(22px, 3.2vw, 32px) clamp(16px, 2.2vw, 22px);
  min-height: 11.5rem;
  text-align: center;
  justify-content: flex-start;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 14px 42px rgba(0, 0, 0, 0.35);
}
.stats-section.stats-section--showcase .stat-item__deco {
  position: absolute;
  right: -18%;
  bottom: -22%;
  width: clamp(7.5rem, 58%, 11rem);
  height: auto;
  pointer-events: none;
  color: rgba(232, 64, 64, 0.22);
  z-index: 0;
  transform: rotate(-6deg);
}
.stats-section.stats-section--showcase .stat-item__deco svg {
  display: block;
  width: 100%;
  height: auto;
}
.stats-section.stats-section--showcase .stat-item__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.stats-section.stats-section--showcase .stat-label {
  max-width: 19rem;
}
.stats-section.stats-section--showcase .stat-label:first-line {
  font-weight: 700;
}
@media (max-width: 768px) {
  .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 28px 20px; }
}
@media (max-width: 420px) {
  .stats-grid { grid-template-columns: 1fr 1fr; gap: 20px 12px; }
}

/* ══════════════════════════════════════════════════════
   CARD ICON
══════════════════════════════════════════════════════ */
.card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: #eff6ff;
  color: #1d4ed8;
  margin-bottom: 14px;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}
.card-icon svg {
  width: 26px;
  height: 26px;
  display: block;
}
.card.accent .card-icon {
  background: #fef2f2;
  color: #dc2626;
}
/* Garante conteudo dos cards acima do canvas de dots */
.feature-grid .card > * {
  position: relative;
  z-index: 1;
}

/* ══════════════════════════════════════════════════════
   SECTION BADGE
══════════════════════════════════════════════════════ */
.section-badge {
  display: inline-block;
  background: rgba(232,64,64,0.12);
  color: #e84040;
  border: 1px solid rgba(232,64,64,0.25);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 14px;
  border-radius: 100px;
  margin-bottom: 12px;
}

/* ══════════════════════════════════════════════════════
   WHY US SECTION
══════════════════════════════════════════════════════ */
.whyus-section {
  background: #0d1117;
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding: 80px max(calc((100% - 1140px) / 2 + 16px), 20px);
  border-top: 1px solid rgba(255,255,255,0.05);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.whyus-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.whyus-inner--text-only {
  grid-template-columns: 1fr;
  max-width: 760px;
}
.whyus-text h2 {
  font-size: clamp(1.5rem, 2.5vw, 2.1rem);
  font-weight: 800;
  color: #fff;
  line-height: 1.25;
  margin-bottom: 16px;
}
.whyus-text > p {
  color: #8892a4;
  margin-bottom: 28px;
  line-height: 1.7;
}
.whyus-list {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.whyus-list li {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.wyl-icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  background: rgba(26,86,219,0.15);
  border: 1px solid rgba(26,86,219,0.35);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  color: #4d8ef0;
  margin-top: 2px;
}
.whyus-list li div {
  color: #c0c8d8;
  line-height: 1.6;
  font-size: 0.95rem;
}
.whyus-list li strong { color: #fff; }
/* ══ PLAYLIST DE VÍDEOS DO CANAL ════════════════════════════════════════════ */
.yt-playlist {
  margin-top: 14px;
  max-height: 260px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,0.15) transparent;
}
.yt-playlist::-webkit-scrollbar { width: 4px; }
.yt-playlist::-webkit-scrollbar-track { background: transparent; }
.yt-playlist::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.15); border-radius: 4px; }

.yt-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px;
  padding: 7px 10px;
  cursor: pointer;
  text-align: left;
  transition: background 0.18s, border-color 0.18s;
  color: #cbd5e1;
}
.yt-item:hover {
  background: rgba(255,255,255,0.09);
  border-color: rgba(255,255,255,0.18);
  color: #fff;
}
.yt-item.yt-active {
  background: rgba(255,60,60,0.12);
  border-color: rgba(255,60,60,0.35);
  color: #fff;
}
.yt-item.yt-active .yt-play-icon { color: #ff6b6b; }

.yt-thumb {
  width: 72px;
  height: 42px;
  object-fit: cover;
  border-radius: 5px;
  flex-shrink: 0;
  background: #1a2030;
}
.yt-item-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.yt-item-title {
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.yt-item-date {
  font-size: 0.68rem;
  color: #6b7585;
}
.yt-play-icon {
  flex-shrink: 0;
  color: rgba(255,255,255,0.3);
  transition: color 0.18s;
}
.yt-playlist-loading {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #6b7585;
  font-size: 0.82rem;
  padding: 10px 4px;
}
.yt-spinner {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255,255,255,0.15);
  border-top-color: #ff6b6b;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
.yt-empty { color: #6b7585; font-size: 0.82rem; padding: 8px 0; }

/* — Botão canal YouTube — */
.btn-yt-channel {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  background: rgba(255,0,0,0.1);
  border: 1px solid rgba(255,0,0,0.25);
  color: #ff6b6b;
  font-size: 0.83rem;
  font-weight: 600;
  padding: 8px 18px;
  border-radius: 100px;
  text-decoration: none;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.btn-yt-channel:hover {
  background: rgba(255,0,0,0.18);
  border-color: rgba(255,0,0,0.4);
  color: #ff9090;
}

.video-embed-wrap {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  border-radius: 12px;
  overflow: hidden;
  background: #0d0f14;
  border: 1px solid rgba(255,255,255,0.1);
  box-shadow: 0 24px 64px rgba(0,0,0,0.5);
}
.video-embed-wrap iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  border: 0;
}
.video-caption {
  text-align: center;
  font-size: 0.8rem;
  color: #6b7585;
  margin-top: 12px;
}
@media (max-width: 900px) {
  .whyus-inner { grid-template-columns: 1fr; gap: 40px; }
}

/* ══════════════════════════════════════════════════════
   TESTIMONIALS
══════════════════════════════════════════════════════ */
.testimonials-section {
  background: #ffffff;
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding: 72px max(calc((100% - 1140px) / 2 + 16px), 20px);
  border-top: none;
}

/* Cabeçalho centralizado */
.testi-header {
  text-align: center;
  margin-bottom: 36px;
}
.testi-header h2 {
  font-size: clamp(1.3rem, 2.2vw, 1.8rem);
  font-weight: 800;
  color: #111827;
  margin: 10px 0 14px;
}
.testimonials-section .section-badge {
  color: #1a56db;
  border-color: rgba(26,86,219,0.25);
  background: rgba(26,86,219,0.08);
}
.testi-rating-bar {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1px solid #e0e8f5;
  border-radius: 100px;
  padding: 6px 18px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.testi-stars-lg { color: #f5a623; font-size: 1rem; letter-spacing: 1px; }
.testi-selo-lg { color: #059669; font-size: 1.15rem; font-weight: 800; line-height: 1; }
.testi-rating-bar strong { color: #111827; font-size: 1rem; font-weight: 800; }
.testi-rating-label { color: #6b7280; font-size: 0.8rem; }

/* Grid de cards */
.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.testi-card {
  background: #fff;
  border: 1px solid #e0e8f5;
  border-radius: 16px;
  padding: 20px 22px 18px;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  transition: border-color 0.25s, transform 0.22s, box-shadow 0.22s;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.testi-card:hover {
  border-color: #a5b4fc;
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(26,86,219,0.1);
}
.testi-highlight {
  border-color: #fca5a5;
  background: #fff9f9;
}
.testi-highlight:hover { border-color: #f87171; box-shadow: 0 8px 24px rgba(220,38,38,0.1); }

/* Ícone de aspas */
.testi-quote {
  width: 20px;
  height: 20px;
  color: #c7d7f4;
  flex-shrink: 0;
}
.testi-highlight .testi-quote { color: #fca5a5; }

/* Texto do depoimento */
.testi-card p {
  color: #374151;
  font-size: 0.88rem;
  line-height: 1.65;
  font-style: italic;
  flex: 1;
  margin: 0;
}

/* Rodapé com avatar + nome + estrelas */
.testi-card footer {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 4px;
  border-top: 1px solid #f0f4fb;
  padding-top: 12px;
}
.testi-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #1a56db;
  color: #fff;
  font-size: 0.85rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.testi-card footer > div:nth-child(2) {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.testi-card footer strong {
  color: #111827;
  font-size: 0.82rem;
  font-weight: 700;
}
.testi-card footer span {
  color: #9ca3af;
  font-size: 0.72rem;
}
.testi-stars {
  color: #f5a623;
  font-size: 0.75rem;
  letter-spacing: 1px;
  flex-shrink: 0;
}

@media (max-width: 640px) {
  .testimonials-grid { grid-template-columns: 1fr; }
  .testi-rating-label { display: none; }
}

/* ══════════════════════════════════════════════════════
   CTA ACTIONS
══════════════════════════════════════════════════════ */
.cta-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}
.btn-wa-cta {
  background: #25d366;
  color: #fff;
  border: none;
  display: flex;
  align-items: center;
  gap: 8px;
}
.btn-wa-cta:hover {
  background: #1faf55;
  color: #fff;
}

/* ══════════════════════════════════════════════════════
   FAQ SECTION
══════════════════════════════════════════════════════ */
.faq-section {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding: 80px max(calc((100% - 1140px) / 2 + 16px), 20px);
  background: #f4f7fb;
  border-top: 1px solid #e8eef5;
  border-bottom: 1px solid #e0e5ef;
}
.faq-section .section-badge {
  color: #1a56db;
  border-color: rgba(26,86,219,0.25);
  background: rgba(26,86,219,0.08);
}
.faq-section h2 {
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  font-weight: 800;
  color: #111827;
  margin-bottom: 8px;
}
.faq-section > p,
.faq-section .wrap > p {
  color: #4b5563;
}
.faq-list {
  margin-top: 36px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.faq-item {
  border: 1px solid #d1d9e8;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  transition: border-color 0.22s, box-shadow 0.22s;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.faq-item:hover {
  border-color: rgba(26,86,219,0.35);
  box-shadow: 0 4px 16px rgba(26,86,219,0.1);
}
.faq-item.open {
  border-color: #1a56db;
  box-shadow: 0 4px 20px rgba(26,86,219,0.12);
}
.faq-btn {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 20px 24px;
  color: #111827;
  font-size: 1rem;
  font-weight: 600;
  font-family: inherit;
  line-height: 1.4;
  transition: color 0.2s;
}
.faq-btn:hover { color: #1a56db; }
.faq-item.open .faq-btn { color: #1a56db; }
.faq-chevron {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #eef1f8;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.25s, background 0.22s, color 0.22s;
  color: #6b7280;
}
.faq-item.open .faq-chevron {
  transform: rotate(180deg);
  background: rgba(26,86,219,0.12);
  color: #1a56db;
}
.faq-answer {
  padding: 0 24px 20px;
  padding-top: 0;
  color: #374151;
  line-height: 1.8;
  font-size: 0.95rem;
  border-top: 1px solid #e5e9f2;
  padding-top: 14px;
}
.faq-answer p { margin: 0; }

/* ══════════════════════════════════════════════════════
   CIDADES ATENDIDAS
══════════════════════════════════════════════════════ */
/* ══════════════════════════════════════════════════════
   CIDADES ATENDIDAS — visual tecnológico
══════════════════════════════════════════════════════ */
.cidades-section {
  position: relative;
  overflow: hidden;
  background: #0d1117;
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding: 72px max(calc((100% - 1140px) / 2 + 16px), 20px);
  border-top: 1px solid rgba(255,255,255,0.05);
  text-align: center;
}

/* Grade de pontos decorativa */
.cidades-bg-grid {
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle, rgba(26,86,219,0.18) 1px, transparent 1px);
  background-size: 36px 36px;
  pointer-events: none;
  animation: gridPulse 6s ease-in-out infinite;
}
@keyframes gridPulse {
  0%, 100% { opacity: 0.5; }
  50%       { opacity: 1; }
}

/* Halo de luz azul central */
.cidades-section::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 600px;
  height: 300px;
  background: radial-gradient(ellipse, rgba(26,86,219,0.18) 0%, transparent 70%);
  pointer-events: none;
}

.cidades-inner {
  position: relative;
  z-index: 1;
}
.cidades-inner .section-badge {
  color: #60a5fa;
  border-color: rgba(96,165,250,0.3);
  background: rgba(96,165,250,0.1);
}
.cidades-inner h2 {
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  font-weight: 800;
  color: #fff;
  margin: 12px 0 8px;
}
.cidades-inner > p {
  color: #94a3b8;
  margin-bottom: 36px;
}

.cidades-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
}

.cidade-chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(96,165,250,0.25);
  color: #bfdbfe;
  padding: 10px 22px;
  border-radius: 100px;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: default;
  transition: background 0.25s, border-color 0.25s, color 0.25s,
              transform 0.25s, box-shadow 0.25s;
  backdrop-filter: blur(4px);
  animation: chipFadeIn 0.5s ease both;
}
.cidade-chip:nth-child(1) { animation-delay: 0.05s; }
.cidade-chip:nth-child(2) { animation-delay: 0.10s; }
.cidade-chip:nth-child(3) { animation-delay: 0.15s; }
.cidade-chip:nth-child(4) { animation-delay: 0.20s; }
.cidade-chip:nth-child(5) { animation-delay: 0.25s; }
.cidade-chip:nth-child(6) { animation-delay: 0.30s; }
@keyframes chipFadeIn {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}
.cidade-chip:hover {
  background: rgba(26,86,219,0.25);
  border-color: rgba(96,165,250,0.7);
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 6px 24px rgba(26,86,219,0.35), 0 0 0 1px rgba(96,165,250,0.3);
}

/* Cidade destaque (sede) */
.cidade-destaque {
  background: rgba(26,86,219,0.2);
  border-color: rgba(96,165,250,0.6);
  color: #fff;
  box-shadow: 0 0 20px rgba(26,86,219,0.3);
}
.cidade-destaque:hover {
  box-shadow: 0 8px 32px rgba(26,86,219,0.5), 0 0 0 1px #60a5fa;
}

/* Ícone de pin */
.cidade-pin {
  flex-shrink: 0;
  color: #60a5fa;
  transition: color 0.2s;
}
.cidade-destaque .cidade-pin { color: #93c5fd; }
.cidade-chip:hover .cidade-pin { color: #fff; }

/* Radar pulse na cidade destaque */
.cidade-radar {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  border-radius: 100px;
  border: 2px solid rgba(96,165,250,0.5);
  animation: radarPulse 2s ease-out infinite;
  pointer-events: none;
}
@keyframes radarPulse {
  0%   { transform: translate(-50%,-50%) scale(1);   opacity: 0.7; }
  100% { transform: translate(-50%,-50%) scale(1.5); opacity: 0; }
}

/* CTA inferior */
.cidades-cta {
  margin-top: 36px;
  color: #64748b;
  font-size: 0.9rem;
}
.cidades-cta-link {
  color: #60a5fa;
  font-weight: 700;
  text-decoration: none;
  transition: color 0.2s;
  margin-left: 4px;
}
.cidades-cta-link:hover { color: #93c5fd; }

/* — Reduzir animações para usuários sensíveis — */
@media (prefers-reduced-motion: reduce) {
  .hero-slide .hero-caption h1,
  .hero-slide .lead,
  .hero-slide .btn {
    opacity: 1;
    animation: none;
  }
  .btn-primary,
  .cta-band,
  .header-wa-icon {
    animation: none;
  }
  .card:hover { transform: none; }
  .reveal { opacity: 1; transform: none; transition: none; }
}

/* ── Slide builder support ──────────────────────────── */
.hero-btns {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.5rem;
  align-items: center;
}
.btn-outline-light {
  background: transparent;
  border: 2px solid #fff;
  color: #fff;
  padding: .65rem 1.75rem;
  border-radius: 8px;
  font-weight: 600;
  transition: background .2s, color .2s;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
}
.btn-outline-light:hover {
  background: rgba(255,255,255,.15);
  color: #fff;
}
.hero-caption.text-center { text-align: center; }
.hero-caption.text-center .hero-btns { justify-content: center; }
.hero-caption.text-right  { text-align: right; }
.hero-caption.text-right .hero-btns  { justify-content: flex-end; }

/* ── Free-drag layout (set via slide builder drag) ─────────────── */
.hero-caption--free {
  position: absolute;
  inset: 0;
  padding: 0;
  margin: 0;
  width: 100%;
  max-width: none;
}
.hero-caption.wrap.hero-caption--free {
  width: 100%;
  max-width: none;
}
.hcf-el {
  position: absolute;
  transform: translate(-50%, -50%);
  max-width: 96%;
  z-index: 2;
}
.hcf-el h1 {
  margin: 0;
  max-width: none;
}
.hero-caption--free h1::before {
  content: none;
  display: none;
}
.hero-caption--free h1,
.hero-caption--free .lead,
.hero-caption--free .btn {
  opacity: 1 !important;
  animation: none !important;
  transform: none !important;
  filter: none !important;
}
.hcf-el .lead {
  margin: 0;
  max-width: none;
}
.hcf-el .hero-btns {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
}

@media (min-width: 641px) and (max-width: 1024px) {
  .hero-carousel,
  .hero-slide {
    min-height: var(--hero-h-tablet, min(520px, 78vh));
  }
}

@media (min-width: 1600px) {
  .hero-carousel,
  .hero-slide {
    min-height: var(--hero-h-desktop, min(620px, 84vh));
  }
}

@media (min-width: 1900px) {
  .hero-carousel,
  .hero-slide {
    min-height: var(--hero-h-tv, min(720px, 84vh));
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   Temas visuais (Admin → Templates) — alteram variáveis e alguns componentes.
   Classe no body: theme-site theme-site--{codigo}
   ═══════════════════════════════════════════════════════════════════════════ */

/* Default: variáveis globais em :root — sem override no body. */
.theme-site.theme-site--aurora {
  --blue-900: #1e1b4b;
  --blue-800: #312e81;
  --blue-600: #7c3aed;
  --blue-500: #a78bfa;
  --blue-100: #ede9fe;
  --blue-50: #f5f3ff;
  --red-600: #e11d48;
  --red-500: #fb7185;
  --bg: #0f0a1a;
  --bg-pattern: #1a1230;
  --surface: #1e1533;
  --surface-2: #2d2249;
  --border: rgba(167, 139, 250, 0.28);
  --text: #f5f3ff;
  --muted: #c4b5fd;
  --accent-blue: #c084fc;
  --accent-red: #fb7185;
  --focus: #22d3ee;
  --radius: 18px;
  --radius-sm: 12px;
  --shadow: 0 8px 32px rgba(0, 0, 0, 0.45);
  --shadow-lg: 0 24px 64px rgba(0, 0, 0, 0.55);
  --font-sans: "Inter", system-ui, sans-serif;
  --font-display: "Poppins", var(--font-sans);
  background: radial-gradient(1200px 600px at 10% -10%, rgba(124, 58, 237, 0.35), transparent 55%),
    radial-gradient(900px 500px at 100% 20%, rgba(6, 182, 212, 0.22), transparent 50%), var(--bg);
  color: var(--text);
}

.theme-site.theme-site--aurora .site-header {
  background: rgba(15, 10, 26, 0.88);
  border-bottom-color: var(--border);
  box-shadow: 0 1px 0 rgba(34, 211, 238, 0.12);
}

.theme-site.theme-site--aurora .brand {
  background: none;
}

.theme-site.theme-site--aurora .nav-list > li > a {
  color: #e9d5ff;
}

.theme-site.theme-site--noir {
  --blue-900: #0c0a09;
  --blue-800: #292524;
  --blue-600: #c9a227;
  --blue-500: #d4af37;
  --blue-100: #44403c;
  --blue-50: #1c1917;
  --red-600: #991b1b;
  --red-500: #b91c1c;
  --bg: #0c0a09;
  --bg-pattern: #1c1917;
  --surface: #171717;
  --surface-2: #262626;
  --border: #44403c;
  --text: #fafaf9;
  --muted: #a8a29e;
  --accent-blue: #c9a227;
  --accent-red: #fca5a5;
  --focus: #fbbf24;
  --radius: 6px;
  --radius-sm: 4px;
  --shadow: 0 8px 28px rgba(0, 0, 0, 0.6);
  --shadow-lg: 0 24px 56px rgba(0, 0, 0, 0.65);
  --font-sans: "Inter", system-ui, sans-serif;
  --font-display: "Playfair Display", Georgia, serif;
  background: var(--bg);
}

.theme-site.theme-site--noir .site-header {
  background: rgba(12, 10, 9, 0.94);
  border-bottom: 1px solid #44403c;
  box-shadow: none;
}

.theme-site.theme-site--noir .brand {
  background: none;
  border: none;
}

.theme-site.theme-site--noir .nav-list > li > a {
  color: #e7e5e4;
}

.theme-site.theme-site--forest {
  --blue-900: #1a2e05;
  --blue-800: #365314;
  --blue-600: #4d7c0f;
  --blue-500: #65a30d;
  --blue-100: #d9f99d;
  --blue-50: #f7fee7;
  --red-600: #9f1239;
  --red-500: #be185d;
  --bg: #f7fee7;
  --bg-pattern: #ecfccb;
  --surface: #ffffff;
  --surface-2: #fefce8;
  --border: #d9f99d;
  --text: #1a2e05;
  --muted: #4d7c0f;
  --accent-blue: #3f6212;
  --accent-red: #b45309;
  --focus: #65a30d;
  --radius: 16px;
  --radius-sm: 12px;
  --shadow: 0 4px 24px rgba(54, 83, 20, 0.12);
  --shadow-lg: 0 20px 48px rgba(54, 83, 20, 0.16);
  --font-sans: "Inter", system-ui, sans-serif;
  --font-display: "Roboto Slab", Georgia, serif;
  background: linear-gradient(180deg, #f7fee7 0%, #ecfccb 35%, #f7fee7 100%);
}

.theme-site.theme-site--forest .site-header {
  background: rgba(254, 252, 232, 0.92);
  border-bottom: 1px solid var(--border);
}

.theme-site.theme-site--forest .brand {
  background: none;
}

.theme-site.theme-site--forest .nav-list > li > a {
  color: #365314;
}

.theme-site.theme-site--sunset {
  --blue-900: #7c2d12;
  --blue-800: #9a3412;
  --blue-600: #ea580c;
  --blue-500: #f97316;
  --blue-100: #ffedd5;
  --blue-50: #fff7ed;
  --red-600: #db2777;
  --red-500: #ec4899;
  --bg: #fff7ed;
  --bg-pattern: #ffedd5;
  --surface: #ffffff;
  --surface-2: #fff1f2;
  --border: #fed7aa;
  --text: #431407;
  --muted: #9a3412;
  --accent-blue: #ea580c;
  --accent-red: #db2777;
  --focus: #f97316;
  --radius: 22px;
  --radius-sm: 16px;
  --shadow: 0 6px 28px rgba(234, 88, 12, 0.15);
  --shadow-lg: 0 22px 56px rgba(219, 39, 119, 0.12);
  --font-sans: "Inter", system-ui, sans-serif;
  --font-display: "Montserrat", var(--font-sans);
  background: radial-gradient(800px 400px at 0% 0%, rgba(251, 113, 133, 0.25), transparent 60%),
    radial-gradient(700px 380px at 100% 10%, rgba(251, 191, 36, 0.2), transparent 55%), var(--bg);
}

.theme-site.theme-site--sunset .site-header {
  background: rgba(255, 247, 237, 0.92);
  border-bottom: 1px solid var(--border);
}

.theme-site.theme-site--sunset .brand {
  background: none;
}

.theme-site.theme-site--sunset .nav-list > li > a {
  color: #7c2d12;
}

.theme-site.theme-site--ocean {
  --blue-900: #0c4a6e;
  --blue-800: #164e63;
  --blue-600: #0ea5e9;
  --blue-500: #38bdf8;
  --blue-100: #e0f2fe;
  --blue-50: #f0f9ff;
  --red-600: #0f766e;
  --red-500: #14b8a6;
  --bg: #f0f9ff;
  --bg-pattern: #e0f2fe;
  --surface: #ffffff;
  --surface-2: #ecfeff;
  --border: #bae6fd;
  --text: #0c4a6e;
  --muted: #0369a1;
  --accent-blue: #0284c7;
  --accent-red: #0d9488;
  --focus: #0ea5e9;
  --radius: 12px;
  --radius-sm: 10px;
  --shadow: 0 4px 24px rgba(12, 74, 110, 0.1);
  --shadow-lg: 0 20px 50px rgba(8, 47, 73, 0.14);
  --font-sans: "Inter", system-ui, sans-serif;
  --font-display: "Plus Jakarta Sans", var(--font-sans);
  background: linear-gradient(180deg, #f0f9ff 0%, #e0f2fe 40%, #f0fdff 100%);
}

.theme-site.theme-site--ocean .site-header {
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: saturate(160%) blur(16px);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 4px 24px rgba(12, 74, 110, 0.08);
}

.theme-site.theme-site--ocean .brand {
  background: none;
}

.theme-site.theme-site--ocean .nav-list > li > a {
  color: #0c4a6e;
}

/* ── Flux Lane — logística clara (tokens + topo “corridor”) ─────────── */
.theme-site.theme-site--fluxlane {
  --blue-900: #134e4a;
  --blue-800: #115e59;
  --blue-600: #0d9488;
  --blue-500: #14b8a6;
  --blue-100: #ccfbf1;
  --blue-50: #f0fdfa;
  --red-600: #d97706;
  --red-500: #f59e0b;
  --bg: #f5f7f4;
  --bg-pattern: #e8ede9;
  --surface: #ffffff;
  --surface-2: #fafdf9;
  --border: #d1d9d5;
  --text: #1c1917;
  --muted: #57534e;
  --accent-blue: #0f766e;
  --accent-red: #d97706;
  --focus: #0f766e;
  --radius: 14px;
  --radius-sm: 10px;
  --shadow: 0 4px 24px rgba(19, 78, 74, 0.08);
  --shadow-lg: 0 20px 54px rgba(15, 118, 110, 0.14);
  --font-mono: "IBM Plex Mono", ui-monospace, monospace;
  --font-sans: "Outfit", "Inter", system-ui, sans-serif;
  --font-display: "Outfit", var(--font-sans);
  background-color: var(--bg);
  background-image: repeating-linear-gradient(
      -14deg,
      transparent,
      transparent 47px,
      rgba(13, 148, 136, 0.055) 47px,
      rgba(13, 148, 136, 0.055) 49px
    ),
    radial-gradient(900px 520px at 96% -8%, rgba(245, 158, 11, 0.11), transparent 58%),
    radial-gradient(700px 400px at 0% 100%, rgba(13, 148, 136, 0.08), transparent 52%),
    linear-gradient(185deg, #fafdf9 0%, #f0f7f5 52%, #f6fbf8 100%);
}

.theme-site.theme-site--fluxlane .site-header {
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: saturate(155%) blur(14px);
  -webkit-backdrop-filter: saturate(155%) blur(14px);
  border-bottom: 3px dashed rgba(15, 118, 110, 0.2);
}

.theme-site.theme-site--fluxlane .brand {
  background: none;
}

.theme-site.theme-site--fluxlane .nav-list > li > a {
  color: #134e4a;
}

/* ── Logístico · Corridor Carrier (navy profundo + laranja energia) ─── */
.theme-site.theme-site--logistico {
  --blue-900: #050c16;
  --blue-800: #0c1929;
  --blue-600: #1e3a5f;
  --blue-500: #3b6fa8;
  --blue-100: #e0eaf7;
  --blue-50: #f4f8fc;
  --red-600: #c2410c;
  --red-500: #ea580c;
  --bg: #f4f8fc;
  --bg-pattern: #dbe7f5;
  --surface: #ffffff;
  --surface-2: #e8f0fb;
  --border: rgba(12, 25, 41, 0.12);
  --text: #0b1220;
  --muted: #4a5c72;
  --accent-blue: #ff6b1a;
  --accent-red: var(--red-600);
  --focus: rgba(255, 107, 26, 0.45);
  --radius: 18px;
  --radius-sm: 12px;
  --shadow: 0 10px 34px rgba(8, 34, 71, 0.1);
  --shadow-lg: 0 28px 64px rgba(5, 26, 54, 0.16);
  --font-mono: "IBM Plex Mono", ui-monospace, monospace;
  --font-sans: "Barlow", system-ui, -apple-system, sans-serif;
  --font-display: "Barlow Semi Condensed", "Barlow", system-ui, sans-serif;
  background-color: var(--bg);
  background-image: repeating-linear-gradient(
      -13deg,
      transparent,
      transparent 46px,
      rgba(12, 72, 143, 0.055) 46px,
      rgba(12, 72, 143, 0.055) 48px
    ),
    radial-gradient(960px 560px at 92% -12%, rgba(50, 100, 165, 0.09), transparent 55%),
    radial-gradient(760px 440px at -6% 104%, rgba(17, 54, 105, 0.09), transparent 54%),
    linear-gradient(178deg, #fbfdff 0%, #eef5fc 48%, #f4f8fc 100%);
}

.theme-site.theme-site--logistico .site-header {
  padding-top: 0;
  background: linear-gradient(180deg, #0b182b 0%, #081525 45%, #06121f 100%);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 1px solid rgba(234, 88, 12, 0.24);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.28);
}

.theme-site.theme-site--logistico .site-header::before {
  content: "";
  display: block;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, rgba(234, 88, 12, 0.55) 50%, transparent 100%);
}

.theme-site.theme-site--logistico .site-header .header-inner.wrap {
  width: min(1140px, 100% - clamp(32px, 6vw, 64px));
  padding-block: clamp(12px, 2.2vw, 18px);
  box-sizing: border-box;
}

.theme-site.theme-site--logistico .brand {
  background: none;
}

.theme-site.theme-site--logistico .site-header .brand strong {
  color: #f4f9ff;
}

.theme-site.theme-site--technology {
  --blue-900: #0a1628;
  --blue-800: #1a2744;
  --blue-600: #00c8e8;
  --blue-500: #00f5ff;
  --blue-100: #163054;
  --blue-50: #0c1220;
  --red-600: #ff2bd6;
  --red-500: #ff5ee0;
  --bg: #050811;
  --bg-pattern: #0a1628;
  --surface: #0c1220;
  --surface-2: #121c32;
  --border: rgba(0, 245, 255, 0.22);
  --text: #e8fbff;
  --muted: #7cb8c4;
  --accent-blue: #00f5ff;
  --accent-red: #ff2bd6;
  --tech-lime: #bfff00;
  --focus: #00f5ff;
  --radius: 6px;
  --radius-sm: 4px;
  --shadow: 0 8px 40px rgba(0, 0, 0, 0.55);
  --shadow-lg: 0 24px 72px rgba(0, 245, 255, 0.08);
  --font-sans: "Rajdhani", "Inter", system-ui, sans-serif;
  --font-display: "Orbitron", "Rajdhani", system-ui, sans-serif;
  background: radial-gradient(ellipse 900px 420px at 15% -20%, rgba(255, 43, 214, 0.18), transparent 55%),
    radial-gradient(ellipse 800px 400px at 95% 10%, rgba(0, 245, 255, 0.14), transparent 50%),
    radial-gradient(ellipse 600px 300px at 50% 100%, rgba(191, 255, 0, 0.08), transparent 45%),
    var(--bg);
  color: var(--text);
}

.theme-site.theme-site--technology .site-header {
  background: rgba(5, 8, 17, 0.94);
  border-bottom: 1px solid rgba(0, 245, 255, 0.2);
  box-shadow: 0 0 40px rgba(0, 245, 255, 0.06);
}

.theme-site.theme-site--technology .brand {
  background: none;
}

.theme-site.theme-site--technology .brand-copy strong {
  font-family: var(--font-display);
  letter-spacing: 0.04em;
}

.theme-site.theme-site--technology .nav-list > li > a {
  color: #c5eef5;
}

/* ═══════════════════════════════════════════════════════════════════════════
   Layouts reais de header/menu por template
   O HTML recebe .site-header--{layout} via views/partials/header.php.
   ═══════════════════════════════════════════════════════════════════════════ */

.brand-copy,
.header-theme-bar {
  display: none;
}

.brand-copy {
  flex-direction: column;
  gap: 1px;
  line-height: 1.05;
}

.brand-copy strong {
  font-family: var(--font-display);
  font-size: 0.9rem;
  letter-spacing: -0.02em;
}

.brand-copy small {
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.72;
}

/* Barra superior “command deck” — tema Technology */
.header-theme-bar--command {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  min-height: 34px;
  padding: 6px 16px;
  font-family: var(--font-sans);
  font-size: 0.76rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(200, 240, 248, 0.9);
  background: linear-gradient(90deg, rgba(0, 245, 255, 0.09) 0%, rgba(255, 43, 214, 0.07) 45%, rgba(191, 255, 0, 0.06) 100%);
  border-bottom: 1px solid rgba(0, 245, 255, 0.22);
}

.theme-site--technology .header-theme-bar--command {
  color: #8ad8e8;
}

.header-theme-bar--command .command-led {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #bfff00;
  box-shadow: 0 0 12px rgba(191, 255, 0, 0.9);
  flex-shrink: 0;
}

.header-theme-bar--command .command-k {
  color: #00f5ff;
  text-shadow: 0 0 14px rgba(0, 245, 255, 0.5);
}

.header-theme-bar--command .command-sep {
  opacity: 0.5;
  color: #ff2bd6;
}

.header-theme-bar--command .command-v {
  letter-spacing: 0.07em;
  font-size: 0.7rem;
  opacity: 0.88;
  max-width: 100%;
}

.header-theme-bar--command .command-dots {
  margin-left: auto;
  display: inline-flex;
  gap: 5px;
}

.header-theme-bar--command .command-dots i {
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 1px;
  background: #00f5ff;
  box-shadow: 0 0 8px rgba(0, 245, 255, 0.85);
}

.header-theme-bar--command .command-dots i:nth-child(2) {
  background: #ff2bd6;
  box-shadow: 0 0 8px rgba(255, 43, 214, 0.85);
}

.header-theme-bar--command .command-dots i:nth-child(3) {
  background: #bfff00;
  box-shadow: 0 0 8px rgba(191, 255, 0, 0.85);
}

/* Logístico (Corridor) · barra de status — minimal, sem ruído visual */
.theme-site.theme-site--logistico .site-header--corridor .header-theme-bar--corridor {
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  background: #08182a;
}

.theme-site.theme-site--logistico .corridor-rail {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 1.25rem;
  min-height: 34px;
  padding: 5px 0;
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-transform: none;
  color: rgba(230, 240, 252, 0.95);
}

.theme-site.theme-site--logistico .corridor-chain,
.theme-site.theme-site--logistico .corridor-chain--amber {
  display: none !important;
}

.theme-site.theme-site--logistico .corridor-node--hub {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: unset;
  padding: 3px 9px;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.06);
  box-shadow: none;
  font-size: 0.65rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 700;
}

.theme-site.theme-site--logistico .corridor-node:not(.corridor-node--hub) {
  opacity: 0.88;
}

.theme-site.theme-site--logistico .corridor-clock {
  font-size: 0.76rem;
  color: rgba(170, 200, 230, 0.85);
  font-weight: 500;
}

.theme-site.theme-site--logistico .corridor-gap {
  flex: 1 1 24px;
}

.theme-site.theme-site--logistico .corridor-chip {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 8px;
  background: #ea580c;
  color: #fff !important;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: none;
  transition:
    background 0.18s ease,
    transform 0.15s ease;
}

.theme-site.theme-site--logistico .corridor-chip:hover {
  background: #c2410c;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(234, 88, 12, 0.28);
}

.theme-site.theme-site--logistico .header-contact {
  gap: 12px;
}

.theme-site.theme-site--logistico .header-contact .btn-primary {
  background: #ea580c;
  color: #fff !important;
  font-weight: 600;
  border: none;
  border-radius: 10px;
  box-shadow: 0 1px 4px rgba(234, 88, 12, 0.22);
}

.theme-site.theme-site--logistico .header-contact .btn-primary:hover {
  background: #c2410c;
  color: #fff !important;
  box-shadow: 0 2px 10px rgba(234, 88, 12, 0.3);
}

.theme-site.theme-site--logistico .header-wa-icon {
  box-shadow: 0 1px 4px rgba(18, 100, 80, 0.22);
}

.theme-site.theme-site--logistico .header-wa-icon:hover {
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(18, 100, 80, 0.28);
}

.theme-site.theme-site--logistico .brand-copy small {
  font-weight: 600;
  letter-spacing: 0.05em;
  opacity: 0.78;
  text-decoration: none;
}

@media (min-width: 1200px) {
  /* Aurora: menu dividido, marca central e visual neon */
  .theme-site--aurora .site-header--split-neon .header-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    min-height: 86px;
  }

  .theme-site--aurora .site-header--split-neon .brand {
    grid-column: 2;
    justify-self: center;
    padding: 8px 16px;
  }

  .theme-site--aurora .site-header--split-neon .nav-main {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
  }

  .theme-site--aurora .site-header--split-neon .header-contact {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    margin-left: 0;
  }

  .theme-site--aurora .site-header--split-neon .nav-list > li > a {
    min-height: 38px;
    padding-inline: 0.72rem;
    border: 1px solid transparent;
    border-radius: 999px;
  }

  .theme-site--aurora .site-header--split-neon .nav-list > li > a:hover {
    background: rgba(34, 211, 238, 0.12);
    border-color: rgba(34, 211, 238, 0.25);
  }

  .theme-site--aurora .site-header--split-neon.site-header--menu-below .header-tier-top.header-inner {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    min-height: 86px;
  }

  .theme-site--aurora .site-header--split-neon.site-header--menu-below .header-tier-top.header-inner .menu-toggle {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    align-self: center;
  }

  .theme-site--aurora .site-header--split-neon.site-header--menu-below .header-tier-top.header-inner .brand {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    padding: 8px 16px;
  }

  .theme-site--aurora .site-header--split-neon.site-header--menu-below .header-tier-top.header-inner .header-contact {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    margin-left: 0;
  }

  .theme-site--noir .site-header--editorial.site-header--menu-below .nav-main {
    max-width: 100%;
  }

  .theme-site--ocean .site-header--glassbar.site-header--menu-below .header-tier-nav-inner .nav-main {
    justify-self: center;
    width: 100%;
  }

  /* Noir: editorial, topo com informação e menu em linha de revista */
  .theme-site--noir .site-header--editorial .header-theme-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 34px;
    padding: 0 32px;
    border-bottom: 1px solid rgba(201, 162, 39, 0.25);
    color: #a8a29e;
    font-size: 0.74rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .theme-site--noir .site-header--editorial .header-theme-bar strong {
    color: #fef3c7;
    font-family: var(--font-display);
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.08em;
  }

  .theme-site--noir .site-header--editorial .header-inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    min-height: 88px;
    gap: 28px;
  }

  .theme-site--noir .site-header--editorial .brand {
    gap: 10px;
    padding: 8px 0;
    background: transparent;
    border: 0;
  }

  .theme-site--noir .site-header--editorial .brand-copy {
    display: flex;
  }

  .theme-site--noir .site-header--editorial .nav-list {
    justify-content: center;
    gap: 0;
  }

  .theme-site--noir .site-header--editorial .nav-list > li > a {
    border-radius: 0;
    min-height: 42px;
    padding-inline: 1.05rem;
    font-family: var(--font-display);
    letter-spacing: 0.02em;
    border-left: 1px solid rgba(201, 162, 39, 0.18);
  }

  .theme-site--noir .site-header--editorial .nav-list > li:last-child > a {
    border-right: 1px solid rgba(201, 162, 39, 0.18);
  }

  /* Forest: cabeçalho em duas faixas, menu como trilha orgânica */
  .theme-site--forest .site-header--organic .header-inner {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px 22px;
    padding-block: 12px;
  }

  .theme-site--forest .site-header--organic .brand {
    gap: 10px;
    border-radius: 999px;
    padding: 8px 16px;
  }

  .theme-site--forest .site-header--organic .brand-copy {
    display: flex;
    color: #f7fee7;
  }

  .theme-site--forest .site-header--organic .header-contact {
    grid-column: 2;
    justify-self: end;
    margin-left: 0;
  }

  .theme-site--forest .site-header--organic .nav-main {
    grid-column: 1 / -1;
    background: rgba(63, 98, 18, 0.08);
    border: 1px solid rgba(77, 124, 15, 0.2);
    border-radius: 999px;
    padding: 6px;
  }

  .theme-site--forest .site-header--organic .nav-list {
    justify-content: center;
  }

  .theme-site--forest .site-header--organic .nav-list > li > a {
    min-height: 38px;
    border-radius: 999px;
  }

  .theme-site--forest .site-header--organic .nav-list > li > a:hover {
    background: #3f6212;
    color: #f7fee7;
  }

  /* Sunset: header cápsula flutuante, mais promocional */
  .theme-site--sunset .site-header--capsule {
    padding: 12px 0;
    background: transparent;
    border: 0;
    box-shadow: none;
  }

  .theme-site--sunset .site-header--capsule .header-inner {
    min-height: 70px;
    padding: 8px 10px 8px 14px;
    background: rgba(255, 247, 237, 0.94);
    border: 1px solid rgba(251, 146, 60, 0.45);
    border-radius: 999px;
    box-shadow: 0 18px 50px rgba(219, 39, 119, 0.16);
  }

  .theme-site--sunset .site-header--capsule .brand {
    border-radius: 999px;
    padding-inline: 14px;
  }

  .theme-site--sunset .site-header--capsule .nav-list > li > a {
    min-height: 38px;
    border-radius: 999px;
    font-weight: 800;
  }

  .theme-site--sunset .site-header--capsule .nav-list > li > a:hover {
    background: linear-gradient(135deg, #fed7aa, #fce7f3);
  }

  .theme-site--sunset .site-header--capsule .header-contact .btn-primary {
    background: linear-gradient(135deg, #ea580c, #db2777);
  }

  /* Ocean: barra superior + navegação glass em estilo SaaS/corporativo */
  .theme-site--ocean .site-header--glassbar .header-theme-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    min-height: 32px;
    padding: 0 32px;
    color: #075985;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background: rgba(224, 242, 254, 0.78);
    border-bottom: 1px solid rgba(14, 165, 233, 0.2);
  }

  .theme-site--ocean .site-header--glassbar .header-theme-bar a {
    color: #0f766e;
    text-decoration: none;
  }

  .theme-site--ocean .site-header--glassbar .header-inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 20px;
    min-height: 76px;
  }

  .theme-site--ocean .site-header--glassbar .brand {
    gap: 10px;
    border-radius: 14px;
  }

  .theme-site--ocean .site-header--glassbar .brand-copy {
    display: flex;
    color: #f0f9ff;
  }

  .theme-site--ocean .site-header--glassbar .nav-main {
    justify-self: center;
    padding: 5px;
    background: rgba(255, 255, 255, 0.52);
    border: 1px solid rgba(186, 230, 253, 0.72);
    border-radius: 16px;
  }

  .theme-site--ocean .site-header--glassbar .nav-list > li > a {
    min-height: 36px;
    border-radius: 12px;
  }

  .theme-site--ocean .site-header--glassbar .nav-list > li > a:hover {
    background: #e0f2fe;
  }

  /* Flux Lane: corredor logístico + navegação em “doca” */
  .theme-site--fluxlane .site-header--corridor .header-theme-bar--corridor {
    display: block;
    border-bottom: 1px solid rgba(15, 118, 110, 0.15);
    background: linear-gradient(90deg, #f0fdfa 0%, #fffbeb 100%);
  }

  .theme-site--fluxlane .corridor-rail {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 18px;
    min-height: 38px;
    padding: 6px 0;
    font-family: var(--font-mono);
    font-size: 0.74rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #134e4a;
  }

  .theme-site--fluxlane .corridor-node--hub {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 3.2rem;
    padding: 3px 10px;
    border-radius: 6px;
    border: 1px solid rgba(15, 118, 110, 0.35);
    background: #fff;
    box-shadow: 0 1px 0 rgba(15, 118, 110, 0.12);
  }

  .theme-site--fluxlane .corridor-chain {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    opacity: 0.75;
  }

  .theme-site--fluxlane .corridor-chain i {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #0f766e;
    box-shadow: 0 0 0 2px rgba(15, 118, 110, 0.12);
  }

  .theme-site--fluxlane .corridor-chain--amber i {
    background: #f59e0b;
    box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.2);
  }

  .theme-site--fluxlane .corridor-clock {
    color: #57534e;
    font-weight: 500;
  }

  .theme-site--fluxlane .corridor-gap {
    flex: 1 1 40px;
  }

  .theme-site--fluxlane .corridor-chip {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 16px;
    border-radius: 999px;
    background: #0f766e;
    color: #ecfdf5 !important;
    text-decoration: none;
    font-weight: 700;
    letter-spacing: 0.06em;
    border: 1px solid rgba(15, 118, 110, 0.5);
    box-shadow: 0 6px 18px rgba(15, 118, 110, 0.25);
  }

  .theme-site--fluxlane .corridor-chip:hover {
    background: #115e59;
    color: #fff !important;
  }

  .theme-site--fluxlane .site-header--corridor .header-inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 20px;
    min-height: 78px;
  }

  .theme-site--fluxlane .site-header--corridor .brand-copy {
    display: flex;
    flex-direction: column;
    color: #134e4a;
  }

  .theme-site--fluxlane .site-header--corridor .nav-main {
    justify-self: center;
    padding: 6px 8px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(148, 163, 184, 0.45);
    border-radius: 14px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
  }

  .theme-site--fluxlane .nav-list--flux-corridor > li > a {
    border-radius: 10px;
    font-weight: 650;
    letter-spacing: -0.01em;
  }

  .theme-site--fluxlane .nav-list--flux-corridor > li > a:hover {
    background: rgba(15, 118, 110, 0.1);
    color: #0f766e;
  }

  /* Corridor Carrier · desktop: nav alinhada sem cápsula flutuante */
  .theme-site--logistico .site-header--corridor .header-theme-bar--corridor {
    display: block;
  }

  .theme-site--logistico .site-header--corridor .header-inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(16px, 2.5vw, 28px);
    min-height: clamp(84px, 9.5vw, 96px);
  }

  .theme-site--logistico .site-header--corridor .brand-copy {
    color: rgba(244, 249, 255, 0.96);
  }

  .theme-site--logistico .site-header--corridor .brand-copy small {
    color: rgba(186, 210, 235, 0.88);
    font-weight: 500;
  }

  .theme-site--logistico .site-header--corridor .nav-main {
    justify-self: center;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
  }

  .theme-site--logistico .nav-list--flux-corridor {
    gap: 2px;
  }

  .theme-site--logistico .nav-list--flux-corridor > li > a {
    border-radius: 6px;
    padding: 0.42rem 0.75rem;
    font-weight: 600;
    color: rgba(237, 244, 255, 0.92);
  }

  .theme-site--logistico .nav-list--flux-corridor > li > a:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    box-shadow: none;
  }

  .theme-site--logistico .site-header .nav-main .nav-list > li.has-submenu > a::after {
    color: rgba(251, 146, 60, 0.9);
    opacity: 0.95;
  }

  .theme-site--logistico .site-header .nav-main .submenu {
    background: #0f1f34;
    border: 1px solid rgba(234, 88, 12, 0.22);
    box-shadow: 0 24px 52px rgba(0, 0, 0, 0.4);
  }

  .theme-site--logistico .site-header .nav-main .submenu li a {
    color: rgba(237, 244, 255, 0.92);
    border-radius: 8px;
  }

  .theme-site--logistico .site-header .nav-main .submenu li a:hover {
    background: rgba(234, 88, 12, 0.12);
    color: #ffffff;
  }

  /* Technology: segunda linha = pipeline de navegação em largura total */
  .theme-site--technology .site-header--command-deck .header-inner--command-deck {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
    min-height: 72px;
  }

  .theme-site--technology .site-header--command-deck .brand {
    order: 1;
  }

  .theme-site--technology .site-header--command-deck .menu-toggle {
    order: 2;
    margin-left: auto;
  }

  .theme-site--technology .site-header--command-deck .header-contact {
    order: 3;
    margin-left: 0;
  }

  .theme-site--technology .site-header--command-deck .nav-main--command {
    order: 4;
    flex: 1 1 100%;
    width: 100%;
    margin-top: 4px;
    padding-top: 12px;
    border-top: 1px solid rgba(0, 245, 255, 0.16);
  }

  .theme-site--technology .site-header--command-deck .nav-list--tech-pipeline {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: flex-start;
    gap: 8px;
    width: 100%;
    padding: 4px 0 2px;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 245, 255, 0.35) transparent;
  }

  .theme-site--technology .site-header--command-deck .nav-list--tech-pipeline > li {
    flex: 0 0 auto;
  }

  .theme-site--technology .site-header--command-deck .nav-list--tech-pipeline > li > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 1rem;
    font-family: var(--font-sans);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #dff8ff;
    background: rgba(12, 18, 32, 0.92);
    border-radius: 4px;
    border: 1px solid rgba(0, 245, 255, 0.28);
    box-shadow: 0 0 16px rgba(0, 245, 255, 0.08);
    transition: border-color 0.2s, box-shadow 0.2s, color 0.2s;
  }

  .theme-site--technology .site-header--command-deck .nav-list--tech-pipeline > li:nth-child(3n + 1) > a {
    border-color: rgba(0, 245, 255, 0.45);
    box-shadow: 0 0 18px rgba(0, 245, 255, 0.12);
  }

  .theme-site--technology .site-header--command-deck .nav-list--tech-pipeline > li:nth-child(3n + 2) > a {
    border-color: rgba(255, 43, 214, 0.42);
    box-shadow: 0 0 18px rgba(255, 43, 214, 0.1);
  }

  .theme-site--technology .site-header--command-deck .nav-list--tech-pipeline > li:nth-child(3n + 3) > a {
    border-color: rgba(191, 255, 0, 0.38);
    box-shadow: 0 0 18px rgba(191, 255, 0, 0.08);
  }

  .theme-site--technology .site-header--command-deck .nav-list--tech-pipeline > li > a:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.35);
    box-shadow: 0 0 28px rgba(0, 245, 255, 0.22);
  }

  .theme-site--technology .site-header--command-deck .nav-list--tech-pipeline > li.has-submenu > a::after {
    border-top-color: #00f5ff;
    opacity: 0.85;
  }

  .theme-site--technology .site-header--command-deck .nav-list--tech-pipeline .submenu {
    border: 1px solid rgba(0, 245, 255, 0.35);
    background: rgba(6, 10, 20, 0.97);
    border-radius: 6px;
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 43, 214, 0.15), 0 0 28px rgba(0, 245, 255, 0.12);
    min-width: 200px;
  }

  .theme-site--technology .site-header--command-deck .nav-list--tech-pipeline .submenu li a {
    font-size: 0.84rem;
    letter-spacing: 0.04em;
    border-left: 3px solid transparent;
  }

  .theme-site--technology .site-header--command-deck .nav-list--tech-pipeline .submenu li a:hover {
    background: rgba(0, 245, 255, 0.08);
    border-left-color: #ff2bd6;
    color: #00f5ff;
  }

  .theme-site--technology .site-header--command-deck   .menu-toggle {
    display: none;
  }

  /* ── Technology "MAIS": botão tricolor animado ─────────────────────── */
  .theme-site--technology .nav-list--tech-pipeline > li.nav-more > a,
  .theme-site--technology .nav-list--tech-pipeline > li.nav-more > .nav-more-trigger {
    background: linear-gradient(135deg,
      rgba(0,245,255,.07) 0%,
      rgba(255,43,214,.06) 50%,
      rgba(191,255,0,.05) 100%
    ) !important;
    border: 1px solid transparent !important;
    border-image: linear-gradient(90deg,#00f5ff 0%,#ff2bd6 50%,#bfff00 100%) 1 !important;
    box-shadow:
      0 0 12px rgba(0,245,255,.16),
      0 0 24px rgba(255,43,214,.09),
      inset 0 0 8px rgba(0,245,255,.05) !important;
    transition: box-shadow .25s, opacity .2s !important;
  }

  .theme-site--technology .nav-list--tech-pipeline > li.nav-more:hover > a,
  .theme-site--technology .nav-list--tech-pipeline > li.nav-more > .nav-more-trigger:hover {
    box-shadow:
      0 0 22px rgba(0,245,255,.3),
      0 0 44px rgba(255,43,214,.18),
      0 0 14px rgba(191,255,0,.12),
      inset 0 0 12px rgba(0,245,255,.08) !important;
    color: #fff !important;
  }

  /* ── Panel neon do "MAIS" ───────────────────────────────────────────── */
  .theme-site--technology .nav-list--tech-pipeline > li.nav-more > .submenu {
    background: rgba(4,7,18,.98) !important;
    border: 1px solid rgba(0,245,255,.38) !important;
    border-top: 2px solid #00f5ff !important;
    border-radius: 0 0 10px 10px !important;
    box-shadow:
      0 0 0 1px rgba(255,43,214,.1),
      0 28px 70px rgba(0,0,0,.75),
      0 0 48px rgba(0,245,255,.1),
      0 0 90px rgba(255,43,214,.05) !important;
    min-width: 230px !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 0 10px !important;
  }

  /* Cabeçalho decorativo tipo terminal */
  .theme-site--technology .nav-list--tech-pipeline > li.nav-more > .submenu::before {
    content: '◈  NAVEGAÇÃO';
    display: block;
    padding: 7px 14px 6px;
    font-size: 0.67rem;
    letter-spacing: 0.16em;
    color: rgba(0,245,255,.5);
    border-bottom: 1px solid rgba(0,245,255,.14);
    margin-bottom: 4px;
    font-family: 'Courier New', monospace;
    text-transform: uppercase;
    background: rgba(0,245,255,.03);
    pointer-events: none;
  }

  /* Links neon alternados: cyan · magenta · lime */
  .theme-site--technology .nav-list--tech-pipeline > li.nav-more > .submenu > li:nth-child(3n+1) > a {
    border-left: 3px solid rgba(0,245,255,.7) !important;
    color: #9ae8f8 !important;
    text-shadow: none;
  }
  .theme-site--technology .nav-list--tech-pipeline > li.nav-more > .submenu > li:nth-child(3n+2) > a {
    border-left: 3px solid rgba(255,43,214,.7) !important;
    color: #f0aee6 !important;
  }
  .theme-site--technology .nav-list--tech-pipeline > li.nav-more > .submenu > li:nth-child(3n+3) > a {
    border-left: 3px solid rgba(191,255,0,.65) !important;
    color: #d4f09a !important;
  }

  /* Hover neon intenso por cor */
  .theme-site--technology .nav-list--tech-pipeline > li.nav-more > .submenu > li:nth-child(3n+1) > a:hover {
    background: rgba(0,245,255,.1) !important;
    color: #00f5ff !important;
    text-shadow: 0 0 14px rgba(0,245,255,.75) !important;
    border-left-color: #00f5ff !important;
  }
  .theme-site--technology .nav-list--tech-pipeline > li.nav-more > .submenu > li:nth-child(3n+2) > a:hover {
    background: rgba(255,43,214,.1) !important;
    color: #ff2bd6 !important;
    text-shadow: 0 0 14px rgba(255,43,214,.75) !important;
    border-left-color: #ff2bd6 !important;
  }
  .theme-site--technology .nav-list--tech-pipeline > li.nav-more > .submenu > li:nth-child(3n+3) > a:hover {
    background: rgba(191,255,0,.1) !important;
    color: #bfff00 !important;
    text-shadow: 0 0 14px rgba(191,255,0,.75) !important;
    border-left-color: #bfff00 !important;
  }

  /* Transições suaves nos links */
  .theme-site--technology .nav-list--tech-pipeline > li.nav-more > .submenu > li > a {
    font-size: 0.82rem !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    transition: background .18s, color .18s, text-shadow .18s, border-left-color .18s !important;
    font-weight: 600 !important;
  }
}

@media (max-width: 1199px) {
  .header-theme-bar:not(.header-theme-bar--command):not(.header-theme-bar--corridor) {
    display: none !important;
  }

  .header-theme-bar--corridor {
    max-width: 100%;
    overflow-x: clip;
    overflow-x: hidden;
  }

  .header-theme-bar--corridor .corridor-rail {
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px 10px;
    padding-inline: 12px;
    font-size: 0.72rem;
  }

  .header-theme-bar--corridor .corridor-gap {
    flex: 0 0 8px;
    min-width: 0;
  }

  .brand-copy {
    display: none !important;
  }

  .site-header--capsule {
    padding: 0;
  }

  .theme-site--sunset .site-header--capsule .header-inner,
  .theme-site--forest .site-header--organic .header-inner,
  .theme-site--ocean .site-header--glassbar .header-inner,
  .theme-site--fluxlane .site-header--corridor .header-inner,
  .theme-site--technology .site-header--command-deck .header-inner--command-deck,
  .theme-site--noir .site-header--editorial .header-inner,
  .theme-site--aurora .site-header--split-neon .header-inner {
    display: flex;
    min-height: 76px;
    padding-block: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .theme-site--logistico .site-header--corridor .header-inner {
    display: flex;
    min-height: 80px;
    padding-block: clamp(12px, 3.2vw, 18px);
    border-radius: 0;
    box-shadow: none;
  }

  .site-header--mesites-brand .header-inner {
    min-height: 0 !important;
    padding-block: 4px !important;
  }
}

@media (max-width: 480px) {
  .header-theme-bar--corridor .corridor-clock,
  .header-theme-bar--corridor .corridor-node:not(.corridor-node--hub) {
    display: none;
  }
}

/* Technology — drawer mobile com estética neon */
@media (max-width: 1199px) {
  .theme-site--technology .nav-main {
    background: rgba(5, 8, 17, 0.98);
    border-bottom: 2px solid rgba(0, 245, 255, 0.32);
  }

  .theme-site--technology .nav-list--tech-pipeline > li > a {
    color: #dff8ff;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: 0.88rem;
  }

  .theme-site--technology .nav-list > li > a:hover,
  .theme-site--technology .nav-list > li > a:focus-visible {
    background: rgba(0, 245, 255, 0.1);
    color: #00f5ff;
  }

  .theme-site--technology .header-contact .btn-primary {
    box-shadow: 0 0 18px rgba(0, 245, 255, 0.28);
  }
}

/* Logístico Corridor — drawer mobile alinhado ao header escuro */
@media (max-width: 1199px) {
  .theme-site--logistico .site-header .nav-main {
    background: linear-gradient(180deg, #0a1628 0%, #071525 100%);
    border-bottom: 2px solid rgba(234, 88, 12, 0.28);
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.35);
  }

  .theme-site--logistico .site-header .nav-main .nav-list > li > a {
    color: rgba(237, 244, 255, 0.94);
    font-weight: 600;
    border-bottom-color: rgba(255, 255, 255, 0.07);
  }

  .theme-site--logistico .site-header .nav-main .nav-list > li > a:hover,
  .theme-site--logistico .site-header .nav-main .nav-list > li > a:focus-visible {
    background: rgba(255, 255, 255, 0.07);
    color: #ffffff;
  }

  .theme-site--logistico .site-header .nav-main .submenu {
    background: rgba(8, 18, 32, 0.98);
    border: 1px solid rgba(234, 88, 12, 0.2);
  }

  .theme-site--logistico .site-header .nav-main .submenu li a {
    color: rgba(230, 240, 252, 0.95);
  }

  .theme-site--logistico .site-header .nav-main .submenu li a:hover {
    background: rgba(234, 88, 12, 0.1);
    color: #fff;
  }
}


/* ══════════════════════════════════════════════════════════════
   ①  CYBER — tema escuro único (slot: aurora)
   Fundo: #050810 | Acento: ciano #06b6d4 | Efeitos: scanlines + neon glow
   ══════════════════════════════════════════════════════════════ */

.theme-site--aurora body,.theme-site--aurora .site-main{background:#050810;color:#c0e4f0}

.theme-site--aurora .site-header{background:rgba(5,8,16,.90);border-bottom:1px solid rgba(6,182,212,.18);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.theme-site--aurora .site-header .brand{color:#e0f7ff}
.theme-site--aurora .site-header .nav-link{color:#7ab8c8}
.theme-site--aurora .site-header .nav-link:hover,.theme-site--aurora .site-header .nav-link.active{color:#06b6d4}
.theme-site--aurora .site-header .nav-cta{background:#06b6d4;color:#020c10}
.theme-site--aurora .site-header .nav-cta:hover{background:#0891b2}
.theme-site--aurora .nav-toggle span{background:#06b6d4}

.theme-site--aurora .hero-carousel{overflow:hidden}

/* Features — scanlines */
.theme-site--aurora .features{background:#060a16;background-image:repeating-linear-gradient(0deg,rgba(6,182,212,.025) 0px,rgba(6,182,212,.025) 1px,transparent 1px,transparent 5px);padding-block:88px}

.theme-site--aurora .features h2,.theme-site--aurora .stats-section h2,.theme-site--aurora .whyus-text h2,.theme-site--aurora .testi-header h2,.theme-site--aurora .faq-section h2{color:#e0f7ff;font-weight:800;letter-spacing:-.015em;position:relative;display:inline-block}
.theme-site--aurora .features h2::after,.theme-site--aurora .stats-section h2::after,.theme-site--aurora .whyus-text h2::after,.theme-site--aurora .testi-header h2::after,.theme-site--aurora .faq-section h2::after{content:"";display:block;width:36px;height:2px;background:#06b6d4;box-shadow:0 0 10px rgba(6,182,212,.9);border-radius:2px;margin-top:10px}
.theme-site--aurora .section-intro,.theme-site--aurora .section-intro.muted{color:#4a7e90}
.theme-site--aurora .section-badge{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;background:rgba(6,182,212,.12);color:#06b6d4;border:1px solid rgba(6,182,212,.30);border-radius:999px;padding:3px 14px;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}

.theme-site--aurora .card{background:rgba(6,182,212,.04);border:1px solid rgba(6,182,212,.15)!important;border-radius:12px;transition:border-color .22s ease,box-shadow .22s ease,transform .22s cubic-bezier(.22,.68,0,1.2);will-change:transform}
.theme-site--aurora .card:hover{border-color:rgba(6,182,212,.50)!important;box-shadow:0 0 0 1px rgba(6,182,212,.28),0 8px 36px rgba(6,182,212,.18)!important;transform:translateY(-5px)}
.theme-site--aurora .card.accent{border:1px solid rgba(6,182,212,.45)!important;background:rgba(6,182,212,.08)!important}
.theme-site--aurora .card h3{color:#b0d8e8;font-weight:700}
.theme-site--aurora .card p{color:#4a7e90}
.theme-site--aurora .card .lnk{color:#06b6d4;font-weight:600}
.theme-site--aurora .card-icon{background:rgba(6,182,212,.12)!important;color:#06b6d4!important;border-radius:10px}
.theme-site--aurora .card::after{display:none}

/* Stats — dot grid */
.theme-site--aurora .stats-section{background:#050810;background-image:radial-gradient(rgba(6,182,212,.12) 1px,transparent 1px);background-size:28px 28px;padding-block:80px}
.theme-site--aurora .stat-item{background:rgba(6,182,212,.05)!important;border:1px solid rgba(6,182,212,.15)!important;border-radius:14px;transition:box-shadow .22s,transform .22s}
.theme-site--aurora .stat-item:hover{box-shadow:0 0 24px rgba(6,182,212,.15)!important;transform:translateY(-3px)}
.theme-site--aurora .stat-num{color:#06b6d4;font-size:clamp(2.8rem,6vw,4rem)!important;font-weight:900;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.theme-site--aurora .stat-suffix{color:#06b6d4}
.theme-site--aurora .stat-label{color:#3a6a78}
.theme-site--aurora .stats-section.stats-section--showcase .stat-item__deco{color:rgba(6,182,212,.22)}
.theme-site--aurora .stats-section.stats-section--showcase .stat-item--showcase{border-color:rgba(6,182,212,.2);box-shadow:0 16px 42px rgba(0,0,0,.35),inset 0 1px 0 rgba(6,182,212,.08)}

/* WhyUs */
.theme-site--aurora .whyus-section{background:#060912;border-top:1px solid rgba(6,182,212,.08);border-bottom:1px solid rgba(6,182,212,.08);width:100%;max-width:none;margin-inline:0;padding:80px max(calc((100% - 1140px)/2 + 16px),20px)}
.theme-site--aurora .whyus-inner{background:rgba(6,182,212,.04);border:1px solid rgba(6,182,212,.16);box-shadow:0 4px 48px rgba(0,0,0,.55);padding:48px 52px;border-radius:16px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.theme-site--aurora .whyus-text p{color:#4a7e90}
.theme-site--aurora .wyl-icon{color:#06b6d4!important}
.theme-site--aurora .whyus-list li{color:#4a7e90}

.theme-site--aurora .trust-bar{background:#060912;border-top:1px solid rgba(6,182,212,.10);border-bottom:1px solid rgba(6,182,212,.08)}
.theme-site--aurora .trust-bar-inner{background:transparent!important;border:0!important}
.theme-site--aurora .trust-bar-inner span{color:#3a6a78}
.theme-site--aurora .trust-bar-inner span svg,.theme-site--aurora .trust-bar-inner span i{color:#06b6d4!important}

.theme-site--aurora .testimonials-section{background:#060a16;padding-block:88px}
.theme-site--aurora .testi-card{background:rgba(6,182,212,.04);border:1px solid rgba(6,182,212,.13)!important;border-top:2px solid rgba(6,182,212,.35)!important;border-radius:14px;transition:border-color .22s,box-shadow .22s}
.theme-site--aurora .testi-card:hover{border-color:rgba(6,182,212,.35)!important;box-shadow:0 0 28px rgba(6,182,212,.12)!important}
.theme-site--aurora .testi-avatar{background:linear-gradient(135deg,#06b6d4,#0891b2)!important;color:#fff!important}
.theme-site--aurora .testi-card p{color:#4a7e90;font-style:italic}

.theme-site--aurora .faq-section{background:#050810;padding-block:80px}
.theme-site--aurora .faq-item{background:rgba(6,182,212,.04)!important;border:1px solid rgba(6,182,212,.13)!important;border-radius:10px}
.theme-site--aurora .faq-item summary{color:#b0d8e8;font-weight:600}
.theme-site--aurora .faq-item summary::marker,.theme-site--aurora .faq-item summary::-webkit-details-marker{color:#06b6d4}

.theme-site--aurora .cta-band{background:linear-gradient(120deg,#073a4a 0%,#0e7490 50%,#06b6d4 100%);border:0;box-shadow:0 24px 64px rgba(6,182,212,.30)}
.theme-site--aurora .cta-band strong{color:#fff}
.theme-site--aurora .cta-band .muted{color:rgba(255,255,255,.65)}
.theme-site--aurora .btn-primary{background:#06b6d4;border:0;color:#020c10;font-weight:700;box-shadow:0 4px 16px rgba(6,182,212,.45)}
.theme-site--aurora .btn-primary:hover{background:#0891b2;transform:translateY(-1px)}
.theme-site--aurora .btn-outline{border-color:rgba(6,182,212,.35);color:#06b6d4}
.theme-site--aurora .btn-outline:hover{background:rgba(6,182,212,.08);border-color:#06b6d4}

.theme-site--aurora .site-footer{background:#030608;border-top:1px solid rgba(6,182,212,.12);color:#3a6a78}
.theme-site--aurora .site-footer a{color:#3a6a78}
.theme-site--aurora .site-footer a:hover{color:#06b6d4}

@media(max-width:680px){.theme-site--aurora .whyus-inner{grid-template-columns:1fr;gap:36px;padding:28px 24px}}
@media(min-width:900px){.theme-site--aurora .feature-grid{grid-template-columns:1.3fr 1fr 1fr}.theme-site--aurora .feature-grid .card:first-child{grid-row:span 2;min-height:100%}.theme-site--aurora .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}


/* ══════════════════════════════════════════════════════════════
   ②  IVORY — ultra-minimalista light (slot: noir)
   Fundo: #fafaf8 | Acento: âmbar-escuro #b45309 | Quase-preto #111110
   ══════════════════════════════════════════════════════════════ */

.theme-site--noir body,.theme-site--noir .site-main{background:#fafaf8;color:#2a2a24}

.theme-site--noir .site-header{background:rgba(250,250,248,.96);border-bottom:1px solid rgba(0,0,0,.07);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.theme-site--noir .site-header .brand{color:#111110}
.theme-site--noir .site-header .nav-link{color:#5a5a52}
.theme-site--noir .site-header .nav-link:hover,.theme-site--noir .site-header .nav-link.active{color:#111110}
.theme-site--noir .site-header .nav-cta{background:#111110;color:#fafaf8;border-radius:4px}
.theme-site--noir .site-header .nav-cta:hover{background:#2a2a24}
.theme-site--noir .nav-toggle span{background:#111110}


.theme-site--noir .features{background:#fafaf8;padding-block:88px}

.theme-site--noir .features h2,.theme-site--noir .stats-section h2,.theme-site--noir .whyus-text h2,.theme-site--noir .testi-header h2,.theme-site--noir .faq-section h2{color:#111110;font-weight:900;letter-spacing:-.025em;position:relative;display:inline-block}
.theme-site--noir .features h2::after,.theme-site--noir .stats-section h2::after,.theme-site--noir .whyus-text h2::after,.theme-site--noir .testi-header h2::after,.theme-site--noir .faq-section h2::after{content:"";display:block;width:28px;height:2px;background:#b45309;border-radius:2px;margin-top:10px}
.theme-site--noir .section-intro,.theme-site--noir .section-intro.muted{color:#7a7a6e}
.theme-site--noir .section-badge{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;background:transparent;color:#b45309;border:1px solid rgba(180,83,9,.30);border-radius:4px;padding:3px 12px;font-size:.75rem;font-weight:700;letter-spacing:.10em;text-transform:uppercase}

.theme-site--noir .card{background:#fff;border:1px solid rgba(0,0,0,.07)!important;border-radius:6px;box-shadow:0 2px 12px rgba(0,0,0,.05);transition:box-shadow .22s ease,transform .22s cubic-bezier(.22,.68,0,1.2);will-change:transform}
.theme-site--noir .card:hover{box-shadow:0 12px 40px rgba(0,0,0,.12)!important;transform:translateY(-5px)}
.theme-site--noir .card.accent{border-bottom:3px solid #b45309!important;background:#fffbf5!important}
.theme-site--noir .card h3{color:#111110;font-weight:800;letter-spacing:-.01em}
.theme-site--noir .card p{color:#7a7a6e}
.theme-site--noir .card .lnk{color:#b45309;font-weight:700}
.theme-site--noir .card-icon{background:rgba(180,83,9,.08)!important;color:#b45309!important;border-radius:8px}
.theme-site--noir .card::after{display:none}

.theme-site--noir .stats-section{background:#f5f5f2;background-image:radial-gradient(rgba(0,0,0,.05) 1px,transparent 1px);background-size:24px 24px;padding-block:80px}
.theme-site--noir .stat-item{background:#fff!important;border:1px solid rgba(0,0,0,.07)!important;border-radius:8px;box-shadow:0 2px 16px rgba(0,0,0,.06)!important}
.theme-site--noir .stat-num{color:#111110;font-size:clamp(3rem,7vw,4.5rem)!important;font-weight:900;letter-spacing:-.04em}
.theme-site--noir .stat-suffix{color:#b45309;font-size:.8em}
.theme-site--noir .stat-label{color:#7a7a6e}

.theme-site--noir .stats-section.stats-section--showcase{
  padding-top:clamp(60px,8vw,88px);
  background-color:#f5f5f2;
  background-image:
    linear-gradient(180deg,#121210 0%,rgba(18,18,16,.76) 7%,transparent 36%),
    radial-gradient(rgba(0,0,0,.05) 1px,transparent 1px);
  background-size:auto,24px 24px;
}
.theme-site--noir .stats-section.stats-section--showcase .stat-item--showcase{
  background:linear-gradient(145deg,#fff 0%,#fafaf8 100%);
  border:1px solid rgba(180,83,9,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 14px 40px rgba(0,0,0,.06);
}
.theme-site--noir .stats-section.stats-section--showcase .stat-item__deco{color:rgba(180,83,9,.14)}

.theme-site--noir .whyus-section{background:#f5f5f2;border-top:1px solid rgba(0,0,0,.06);border-bottom:1px solid rgba(0,0,0,.06);width:100%;max-width:none;margin-inline:0;padding:80px max(calc((100% - 1140px)/2 + 16px),20px)}
.theme-site--noir .whyus-inner{background:#fff;border:1px solid rgba(0,0,0,.07);box-shadow:0 4px 32px rgba(0,0,0,.07);padding:48px 52px;border-radius:8px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.theme-site--noir .whyus-text p{color:#7a7a6e}
.theme-site--noir .wyl-icon{color:#b45309!important}
.theme-site--noir .whyus-list li{color:#7a7a6e}

.theme-site--noir .trust-bar{background:#f5f5f2;border-top:1px solid rgba(0,0,0,.06);border-bottom:1px solid rgba(0,0,0,.05)}
.theme-site--noir .trust-bar-inner{background:transparent!important;border:0!important}
.theme-site--noir .trust-bar-inner span{color:#9a9a8e}
.theme-site--noir .trust-bar-inner span svg,.theme-site--noir .trust-bar-inner span i{color:#b45309!important}

.theme-site--noir .testimonials-section{background:#fafaf8;padding-block:88px}
.theme-site--noir .testi-card{background:#fff;border:1px solid rgba(0,0,0,.07)!important;border-left:3px solid rgba(180,83,9,.30)!important;border-radius:6px;box-shadow:0 2px 12px rgba(0,0,0,.05);transition:box-shadow .22s,transform .22s cubic-bezier(.22,.68,0,1.2)}
.theme-site--noir .testi-card:hover{box-shadow:0 12px 36px rgba(0,0,0,.10)!important;transform:translateY(-4px)}
.theme-site--noir .testi-avatar{background:#111110!important;color:#fafaf8!important}
.theme-site--noir .testi-card p{color:#7a7a6e}

.theme-site--noir .faq-section{background:#f5f5f2;padding-block:80px}
.theme-site--noir .faq-item{background:#fff!important;border:1px solid rgba(0,0,0,.07)!important;border-radius:8px;box-shadow:0 1px 6px rgba(0,0,0,.04)}
.theme-site--noir .faq-item summary{color:#111110;font-weight:700}
.theme-site--noir .faq-item summary::marker,.theme-site--noir .faq-item summary::-webkit-details-marker{color:#b45309}

.theme-site--noir .cta-band{background:#111110;border:0;box-shadow:0 24px 64px rgba(0,0,0,.30)}
.theme-site--noir .cta-band strong{color:#fafaf8}
.theme-site--noir .cta-band .muted{color:rgba(250,250,248,.55)}
.theme-site--noir .btn-primary{background:#111110;border:0;color:#fafaf8;font-weight:700}
.theme-site--noir .btn-primary:hover{background:#2a2a24;transform:translateY(-1px)}
.theme-site--noir .btn-outline{border-color:rgba(0,0,0,.20);color:#2a2a24}
.theme-site--noir .btn-outline:hover{background:rgba(0,0,0,.05);border-color:#111110}

.theme-site--noir .site-footer{background:#0f0f0e;color:#6a6a5e;border-top:1px solid rgba(0,0,0,.12)}
.theme-site--noir .site-footer a{color:#6a6a5e}
.theme-site--noir .site-footer a:hover{color:#b45309}

@media(max-width:680px){.theme-site--noir .whyus-inner{grid-template-columns:1fr;gap:36px;padding:28px 24px}}
@media(min-width:900px){.theme-site--noir .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.theme-site--noir .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}


/* ══════════════════════════════════════════════════════════════
   ③  BLOSSOM — rosa vibrante light (slot: forest)
   Fundo: #fff9fb | Acento: rosa-600 #db2777 | Efeito: gradient mesh
   ══════════════════════════════════════════════════════════════ */

.theme-site--forest body,.theme-site--forest .site-main{background:#fff9fb;color:#2a0e18}

.theme-site--forest .site-header{background:rgba(255,249,251,.95);border-bottom:1px solid rgba(219,39,119,.10);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.theme-site--forest .site-header .brand{color:#1a0810}
.theme-site--forest .site-header .nav-link{color:#8a4a62}
.theme-site--forest .site-header .nav-link:hover,.theme-site--forest .site-header .nav-link.active{color:#db2777}
.theme-site--forest .site-header .nav-cta{background:#db2777;color:#fff}
.theme-site--forest .site-header .nav-cta:hover{background:#be185d}
.theme-site--forest .nav-toggle span{background:#db2777}


.theme-site--forest .features{background:#fff9fb;background-image:radial-gradient(ellipse at 15% 50%,rgba(219,39,119,.07) 0%,transparent 55%),radial-gradient(ellipse at 85% 20%,rgba(236,72,153,.05) 0%,transparent 50%);padding-block:88px}

.theme-site--forest .features h2,.theme-site--forest .stats-section h2,.theme-site--forest .whyus-text h2,.theme-site--forest .testi-header h2,.theme-site--forest .faq-section h2{color:#1a0810;font-weight:800;letter-spacing:-.02em;position:relative;display:inline-block}
.theme-site--forest .features h2::after,.theme-site--forest .stats-section h2::after,.theme-site--forest .whyus-text h2::after,.theme-site--forest .testi-header h2::after,.theme-site--forest .faq-section h2::after{content:"";display:block;width:40px;height:3px;background:linear-gradient(90deg,#db2777,#ec4899);border-radius:3px;margin-top:10px}
.theme-site--forest .section-intro,.theme-site--forest .section-intro.muted{color:#8a4a62}
.theme-site--forest .section-badge{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;background:rgba(219,39,119,.10);color:#db2777;border:1px solid rgba(219,39,119,.25);border-radius:999px;padding:3px 14px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}

.theme-site--forest .card{background:#fff;border:1px solid rgba(219,39,119,.10)!important;border-top:2px solid transparent!important;border-radius:16px;box-shadow:0 2px 16px rgba(219,39,119,.05);transition:border-top-color .22s ease,box-shadow .22s ease,transform .22s cubic-bezier(.22,.68,0,1.2);will-change:transform}
.theme-site--forest .card:hover{border-top-color:#db2777!important;box-shadow:0 12px 40px rgba(219,39,119,.14)!important;transform:translateY(-5px)}
.theme-site--forest .card.accent{border-top:2px solid #db2777!important;background:rgba(219,39,119,.03)!important}
.theme-site--forest .card h3{color:#1a0810;font-weight:800}
.theme-site--forest .card p{color:#8a4a62}
.theme-site--forest .card .lnk{color:#db2777;font-weight:700}
.theme-site--forest .card-icon{background:rgba(219,39,119,.10)!important;color:#db2777!important;border-radius:50%}
.theme-site--forest .card::after{display:none}

.theme-site--forest .stats-section{background:#fef0f6;background-image:radial-gradient(rgba(219,39,119,.09) 1px,transparent 1px);background-size:28px 28px;padding-block:80px}
.theme-site--forest .stat-item{background:#fff!important;border:1px solid rgba(219,39,119,.12)!important;border-radius:16px;box-shadow:0 2px 16px rgba(219,39,119,.07)!important;transition:box-shadow .22s,transform .22s}
.theme-site--forest .stat-item:hover{box-shadow:0 8px 32px rgba(219,39,119,.14)!important;transform:translateY(-3px)}
.theme-site--forest .stat-num{color:#db2777;font-size:clamp(2.8rem,6vw,4rem)!important;font-weight:900;letter-spacing:-.03em}
.theme-site--forest .stat-suffix{color:#db2777}
.theme-site--forest .stat-label{color:#8a4a62}
.theme-site--forest .stats-section.stats-section--showcase .stat-item__deco{color:rgba(219,39,119,.14)}

.theme-site--forest .whyus-section{background:#fff9fb;border-top:1px solid rgba(219,39,119,.08);border-bottom:1px solid rgba(219,39,119,.08);width:100%;max-width:none;margin-inline:0;padding:80px max(calc((100% - 1140px)/2 + 16px),20px)}
.theme-site--forest .whyus-inner{background:#fff;border:1px solid rgba(219,39,119,.12);box-shadow:0 4px 32px rgba(219,39,119,.08);padding:48px 52px;border-radius:20px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.theme-site--forest .whyus-text p{color:#8a4a62}
.theme-site--forest .wyl-icon{color:#db2777!important}
.theme-site--forest .whyus-list li{color:#8a4a62}

.theme-site--forest .trust-bar{background:#fef0f6;border-top:1px solid rgba(219,39,119,.10);border-bottom:1px solid rgba(219,39,119,.08)}
.theme-site--forest .trust-bar-inner{background:transparent!important;border:0!important}
.theme-site--forest .trust-bar-inner span{color:#8a4a62}
.theme-site--forest .trust-bar-inner span svg,.theme-site--forest .trust-bar-inner span i{color:#db2777!important}

.theme-site--forest .testimonials-section{background:#fef0f6;background-image:radial-gradient(ellipse at 80% 80%,rgba(219,39,119,.06) 0%,transparent 55%);padding-block:88px}
.theme-site--forest .testi-card{background:#fff;border:1px solid rgba(219,39,119,.10)!important;border-top:2px solid rgba(219,39,119,.28)!important;border-radius:16px;box-shadow:0 2px 16px rgba(219,39,119,.06);transition:box-shadow .22s,transform .22s cubic-bezier(.22,.68,0,1.2)}
.theme-site--forest .testi-card:hover{box-shadow:0 12px 40px rgba(219,39,119,.13)!important;transform:translateY(-4px)}
.theme-site--forest .testi-avatar{background:linear-gradient(135deg,#db2777,#ec4899)!important;color:#fff!important}
.theme-site--forest .testi-card p{color:#8a4a62}

.theme-site--forest .faq-section{background:#fff9fb;padding-block:80px}
.theme-site--forest .faq-item{background:#fff!important;border:1px solid rgba(219,39,119,.10)!important;border-radius:12px}
.theme-site--forest .faq-item summary{color:#1a0810;font-weight:700}
.theme-site--forest .faq-item summary::marker,.theme-site--forest .faq-item summary::-webkit-details-marker{color:#db2777}

.theme-site--forest .cta-band{background:linear-gradient(120deg,#831843 0%,#db2777 50%,#ec4899 100%);border:0;box-shadow:0 24px 64px rgba(219,39,119,.35)}
.theme-site--forest .cta-band strong{color:#fff}
.theme-site--forest .cta-band .muted{color:rgba(255,255,255,.65)}
.theme-site--forest .btn-primary{background:#db2777;border:0;color:#fff;font-weight:700;box-shadow:0 4px 16px rgba(219,39,119,.40)}
.theme-site--forest .btn-primary:hover{background:#be185d;transform:translateY(-1px)}
.theme-site--forest .btn-outline{border-color:rgba(219,39,119,.30);color:#db2777}
.theme-site--forest .btn-outline:hover{background:rgba(219,39,119,.07);border-color:#db2777}

.theme-site--forest .site-footer{background:#1a0810;color:#5a2a3a;border-top:1px solid rgba(219,39,119,.12)}
.theme-site--forest .site-footer a{color:#5a2a3a}
.theme-site--forest .site-footer a:hover{color:#db2777}

@media(max-width:680px){.theme-site--forest .whyus-inner{grid-template-columns:1fr;gap:36px;padding:28px 24px}}
@media(min-width:900px){.theme-site--forest .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.theme-site--forest .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}


/* ══════════════════════════════════════════════════════════════
   ④  RADIANCE — laranja-coral vibrante light (slot: sunset)
   Fundo: #fffaf7 | Acento: #f97316 | Efeito: warm gradient mesh
   ══════════════════════════════════════════════════════════════ */

.theme-site--sunset body,.theme-site--sunset .site-main{background:#fffaf7;color:#1c0a02}

.theme-site--sunset .site-header{background:rgba(255,250,247,.95);border-bottom:1px solid rgba(249,115,22,.12);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.theme-site--sunset .site-header .brand{color:#1c0a02}
.theme-site--sunset .site-header .nav-link{color:#7a4020}
.theme-site--sunset .site-header .nav-link:hover,.theme-site--sunset .site-header .nav-link.active{color:#f97316}
.theme-site--sunset .site-header .nav-cta{background:#f97316;color:#fff}
.theme-site--sunset .site-header .nav-cta:hover{background:#ea580c}
.theme-site--sunset .nav-toggle span{background:#f97316}


.theme-site--sunset .features{background:#fffaf7;background-image:radial-gradient(ellipse at 90% 10%,rgba(249,115,22,.08) 0%,transparent 50%),radial-gradient(ellipse at 10% 90%,rgba(234,88,12,.06) 0%,transparent 50%);padding-block:88px}

.theme-site--sunset .features h2,.theme-site--sunset .stats-section h2,.theme-site--sunset .whyus-text h2,.theme-site--sunset .testi-header h2,.theme-site--sunset .faq-section h2{color:#1c0a02;font-weight:900;letter-spacing:-.03em;position:relative;display:inline-block}
.theme-site--sunset .features h2::after,.theme-site--sunset .stats-section h2::after,.theme-site--sunset .whyus-text h2::after,.theme-site--sunset .testi-header h2::after,.theme-site--sunset .faq-section h2::after{content:"";display:block;width:44px;height:3px;background:linear-gradient(90deg,#f97316,#fb923c);border-radius:3px;margin-top:10px}
.theme-site--sunset .section-intro,.theme-site--sunset .section-intro.muted{color:#7a4020}
.theme-site--sunset .section-badge{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;background:rgba(249,115,22,.10);color:#f97316;border:1px solid rgba(249,115,22,.28);border-radius:999px;padding:3px 14px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}

.theme-site--sunset .card{background:#fff;border:1px solid rgba(249,115,22,.10)!important;border-top:2px solid transparent!important;border-radius:16px;box-shadow:0 2px 16px rgba(249,115,22,.06);transition:border-top-color .22s ease,box-shadow .22s ease,transform .22s cubic-bezier(.22,.68,0,1.2);will-change:transform}
.theme-site--sunset .card:hover{border-top-color:#f97316!important;box-shadow:0 12px 40px rgba(249,115,22,.14)!important;transform:translateY(-5px)}
.theme-site--sunset .card.accent{border-top:2px solid #f97316!important;background:rgba(249,115,22,.03)!important}
.theme-site--sunset .card h3{color:#1c0a02;font-weight:800}
.theme-site--sunset .card p{color:#7a4020}
.theme-site--sunset .card .lnk{color:#f97316;font-weight:700}
.theme-site--sunset .card-icon{background:rgba(249,115,22,.10)!important;color:#f97316!important;border-radius:12px}
.theme-site--sunset .card::after{display:none}

.theme-site--sunset .stats-section{background:#fff4ec;background-image:radial-gradient(rgba(249,115,22,.10) 1px,transparent 1px);background-size:28px 28px;padding-block:80px}
.theme-site--sunset .stat-item{background:#fff!important;border:1px solid rgba(249,115,22,.14)!important;border-radius:16px;box-shadow:0 2px 16px rgba(249,115,22,.07)!important;transition:box-shadow .22s,transform .22s}
.theme-site--sunset .stat-item:hover{box-shadow:0 8px 32px rgba(249,115,22,.14)!important;transform:translateY(-3px)}
.theme-site--sunset .stat-num{color:#f97316;font-size:clamp(2.8rem,6vw,4.2rem)!important;font-weight:900;letter-spacing:-.04em}
.theme-site--sunset .stat-suffix{color:#f97316}
.theme-site--sunset .stat-label{color:#7a4020}

.theme-site--sunset .stats-section.stats-section--showcase{
  padding-top:clamp(72px,11vw,104px);
  padding-bottom:clamp(72px,9vw,96px);
  background-color:#fff4ec;
  background-image:
    linear-gradient(180deg,#1c0a02 0%,rgba(28,10,2,.88) 5%,rgba(28,10,2,.45) 14%,transparent 42%),
    radial-gradient(rgba(249,115,22,.10) 1px,transparent 1px);
  background-size:auto,28px 28px;
  border-bottom:1px solid rgba(249,115,22,.1);
}
.theme-site--sunset .stats-section.stats-section--showcase .stat-item--showcase{
  background:linear-gradient(165deg,#fffefb 0%,#fff 40%,rgba(255,250,247,.98) 100%);
  border:1px solid rgba(249,115,22,.16);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.85),
    0 2px 0 rgba(249,115,22,.08),
    0 22px 50px rgba(28,10,2,.07);
}
.theme-site--sunset .stats-section.stats-section--showcase .stat-item__deco{
  color:rgba(249,115,22,.17);
}

.theme-site--sunset .whyus-section{background:#fffaf7;border-top:1px solid rgba(249,115,22,.08);border-bottom:1px solid rgba(249,115,22,.08);width:100%;max-width:none;margin-inline:0;padding:80px max(calc((100% - 1140px)/2 + 16px),20px)}
.theme-site--sunset .whyus-inner{background:#fff;border:1px solid rgba(249,115,22,.12);box-shadow:0 4px 32px rgba(249,115,22,.08);padding:48px 52px;border-radius:16px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.theme-site--sunset .whyus-text p{color:#7a4020}
.theme-site--sunset .wyl-icon{color:#f97316!important}
.theme-site--sunset .whyus-list li{color:#7a4020}

.theme-site--sunset .trust-bar{background:#fff4ec;border-top:1px solid rgba(249,115,22,.12);border-bottom:1px solid rgba(249,115,22,.08)}
.theme-site--sunset .trust-bar-inner{background:transparent!important;border:0!important}
.theme-site--sunset .trust-bar-inner span{color:#7a4020}
.theme-site--sunset .trust-bar-inner span svg,.theme-site--sunset .trust-bar-inner span i{color:#f97316!important}

.theme-site--sunset .testimonials-section{background:#fff4ec;background-image:radial-gradient(ellipse at 80% 80%,rgba(249,115,22,.07) 0%,transparent 55%);padding-block:88px}
.theme-site--sunset .testi-card{background:#fff;border:1px solid rgba(249,115,22,.10)!important;border-top:2px solid rgba(249,115,22,.28)!important;border-radius:16px;box-shadow:0 2px 16px rgba(249,115,22,.06);transition:box-shadow .22s,transform .22s cubic-bezier(.22,.68,0,1.2)}
.theme-site--sunset .testi-card:hover{box-shadow:0 12px 40px rgba(249,115,22,.14)!important;transform:translateY(-4px)}
.theme-site--sunset .testi-avatar{background:linear-gradient(135deg,#f97316,#fb923c)!important;color:#fff!important}
.theme-site--sunset .testi-card p{color:#7a4020}

.theme-site--sunset .faq-section{background:#fffaf7;padding-block:80px}
.theme-site--sunset .faq-item{background:#fff!important;border:1px solid rgba(249,115,22,.10)!important;border-radius:12px}
.theme-site--sunset .faq-item summary{color:#1c0a02;font-weight:700}
.theme-site--sunset .faq-item summary::marker,.theme-site--sunset .faq-item summary::-webkit-details-marker{color:#f97316}

.theme-site--sunset .cta-band{background:linear-gradient(120deg,#7c2d12 0%,#ea580c 50%,#f97316 100%);border:0;box-shadow:0 24px 64px rgba(249,115,22,.30)}
.theme-site--sunset .cta-band strong{color:#fff}
.theme-site--sunset .cta-band .muted{color:rgba(255,255,255,.65)}
.theme-site--sunset .btn-primary{background:#f97316;border:0;color:#fff;font-weight:700;box-shadow:0 4px 16px rgba(249,115,22,.40)}
.theme-site--sunset .btn-primary:hover{background:#ea580c;transform:translateY(-1px)}
.theme-site--sunset .btn-outline{border-color:rgba(249,115,22,.30);color:#f97316}
.theme-site--sunset .btn-outline:hover{background:rgba(249,115,22,.07);border-color:#f97316}

.theme-site--sunset .site-footer{background:#1c0a02;color:#5a2a10;border-top:1px solid rgba(249,115,22,.12)}
.theme-site--sunset .site-footer a{color:#5a2a10}
.theme-site--sunset .site-footer a:hover{color:#f97316}

@media(max-width:680px){.theme-site--sunset .whyus-inner{grid-template-columns:1fr;gap:36px;padding:28px 24px}}
@media(min-width:900px){.theme-site--sunset .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.theme-site--sunset .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}


/* ══════════════════════════════════════════════════════════════
   ⑤  NORDIC — corporativo azul light (slot: ocean) — aprovado pelo cliente
   Fundo: #f6f9fd | Acento: azul-real #1e40af
   ══════════════════════════════════════════════════════════════ */

.theme-site--ocean body,.theme-site--ocean .site-main{background:#f6f9fd;color:#0a1628}

.theme-site--ocean .site-header{background:rgba(246,249,253,.96);border-bottom:1px solid rgba(30,64,175,.10);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.theme-site--ocean .site-header .brand{color:#0a1628}
.theme-site--ocean .site-header .nav-link{color:#3b5280}
.theme-site--ocean .site-header .nav-link:hover,.theme-site--ocean .site-header .nav-link.active{color:#1e40af}
.theme-site--ocean .site-header .nav-cta{background:#1e40af;color:#fff}
.theme-site--ocean .site-header .nav-cta:hover{background:#1e3a8a}
.theme-site--ocean .nav-toggle span{background:#1e40af}

.theme-site--ocean .hero-carousel{overflow:hidden}

.theme-site--ocean .features{background:#f6f9fd;background-image:radial-gradient(ellipse at 85% 15%,rgba(30,64,175,.06) 0%,transparent 50%);padding-block:88px}

.theme-site--ocean .features h2,.theme-site--ocean .stats-section h2,.theme-site--ocean .whyus-text h2,.theme-site--ocean .testi-header h2,.theme-site--ocean .faq-section h2{color:#0a1628;font-weight:800;letter-spacing:-.02em;position:relative;display:inline-block}
.theme-site--ocean .features h2::after,.theme-site--ocean .stats-section h2::after,.theme-site--ocean .whyus-text h2::after,.theme-site--ocean .testi-header h2::after,.theme-site--ocean .faq-section h2::after{content:"";display:block;width:40px;height:2px;background:#1e40af;border-radius:2px;margin-top:10px;opacity:.6}
.theme-site--ocean .section-intro,.theme-site--ocean .section-intro.muted{color:#3b5280}
.theme-site--ocean .section-badge{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;background:rgba(30,64,175,.08);color:#1e40af;border:1px solid rgba(30,64,175,.22);border-radius:4px;padding:3px 14px;font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}

.theme-site--ocean .card{background:#fff;border:1px solid rgba(30,64,175,.08)!important;border-top:2px solid #e4eaf8!important;border-radius:10px;box-shadow:0 2px 12px rgba(10,22,40,.05);transition:border-top-color .22s ease,box-shadow .22s ease,transform .22s cubic-bezier(.22,.68,0,1.2);will-change:transform}
.theme-site--ocean .card:hover{border-top-color:#1e40af!important;box-shadow:0 10px 36px rgba(30,64,175,.12)!important;transform:translateY(-5px)}
.theme-site--ocean .card.accent{border-top:2px solid #1e40af!important;background:rgba(30,64,175,.03)!important}
.theme-site--ocean .card h3{color:#0a1628;font-weight:700}
.theme-site--ocean .card p{color:#3b5280}
.theme-site--ocean .card .lnk{color:#1e40af;font-weight:600}
.theme-site--ocean .card-icon{background:rgba(30,64,175,.08)!important;color:#1e40af!important;border-radius:8px}
.theme-site--ocean .card::after{display:none}

.theme-site--ocean .stats-section{background:#eef2fc;background-image:radial-gradient(rgba(30,64,175,.08) 1px,transparent 1px);background-size:28px 28px;padding-block:80px}
.theme-site--ocean .stat-item{background:#fff!important;border:1px solid rgba(30,64,175,.12)!important;border-radius:12px;box-shadow:0 2px 12px rgba(10,22,40,.06)!important;transition:box-shadow .22s,transform .22s}
.theme-site--ocean .stat-item:hover{box-shadow:0 8px 32px rgba(30,64,175,.12)!important;transform:translateY(-3px)}
.theme-site--ocean .stat-num{color:#1e40af;font-size:clamp(2.6rem,5.5vw,4rem)!important;font-weight:900;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.theme-site--ocean .stat-suffix{color:#1e40af}
.theme-site--ocean .stat-label{color:#3b5280}
.theme-site--ocean .stats-section.stats-section--showcase .stat-item__deco{color:rgba(30,64,175,.13)}

.theme-site--ocean .whyus-section{background:#f0f4fb;border-top:1px solid rgba(30,64,175,.08);border-bottom:1px solid rgba(30,64,175,.08);width:100%;max-width:none;margin-inline:0;padding:80px max(calc((100% - 1140px)/2 + 16px),20px)}
.theme-site--ocean .whyus-inner{background:#fff;border:1px solid rgba(30,64,175,.10);box-shadow:0 4px 28px rgba(10,22,40,.07);padding:48px 52px;border-radius:12px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.theme-site--ocean .whyus-text p{color:#3b5280}
.theme-site--ocean .wyl-icon{color:#1e40af!important}
.theme-site--ocean .whyus-list li{color:#3b5280}

.theme-site--ocean .trust-bar{background:#eef2fc;border-top:1px solid rgba(30,64,175,.10);border-bottom:1px solid rgba(30,64,175,.08)}
.theme-site--ocean .trust-bar-inner{background:transparent!important;border:0!important}
.theme-site--ocean .trust-bar-inner span{color:#3b5280}
.theme-site--ocean .trust-bar-inner span svg,.theme-site--ocean .trust-bar-inner span i{color:#1e40af!important}

.theme-site--ocean .testimonials-section{background:#eef2fc;background-image:radial-gradient(ellipse at 10% 90%,rgba(30,64,175,.06) 0%,transparent 50%);padding-block:88px}
.theme-site--ocean .testi-card{background:#fff;border:1px solid rgba(30,64,175,.08)!important;border-top:2px solid rgba(30,64,175,.22)!important;border-radius:12px;box-shadow:0 2px 12px rgba(10,22,40,.05);transition:box-shadow .22s,transform .22s cubic-bezier(.22,.68,0,1.2)}
.theme-site--ocean .testi-card:hover{box-shadow:0 12px 36px rgba(30,64,175,.12)!important;transform:translateY(-4px)}
.theme-site--ocean .testi-avatar{background:linear-gradient(135deg,#1e40af,#3b6cd4)!important;color:#fff!important}
.theme-site--ocean .testi-card p{color:#3b5280}

.theme-site--ocean .faq-section{background:#f6f9fd;padding-block:80px}
.theme-site--ocean .faq-item{background:#fff!important;border:1px solid rgba(30,64,175,.09)!important;border-radius:10px;box-shadow:0 1px 6px rgba(10,22,40,.04)}
.theme-site--ocean .faq-item summary{color:#0a1628;font-weight:600}
.theme-site--ocean .faq-item summary::marker,.theme-site--ocean .faq-item summary::-webkit-details-marker{color:#1e40af}

.theme-site--ocean .cta-band{background:linear-gradient(120deg,#0f2460 0%,#1e40af 50%,#3b6cd4 100%);border:0;box-shadow:0 24px 64px rgba(30,64,175,.35)}
.theme-site--ocean .cta-band strong{color:#fff}
.theme-site--ocean .cta-band .muted{color:rgba(255,255,255,.65)}
.theme-site--ocean .btn-primary{background:#1e40af;border:0;color:#fff;font-weight:700;box-shadow:0 4px 16px rgba(30,64,175,.35)}
.theme-site--ocean .btn-primary:hover{background:#1e3a8a;transform:translateY(-1px)}
.theme-site--ocean .btn-outline{border-color:rgba(30,64,175,.32);color:#1e40af}
.theme-site--ocean .btn-outline:hover{background:rgba(30,64,175,.07);border-color:#1e40af}

.theme-site--ocean .site-footer{background:#060e1e;color:#2a3a5a;border-top:1px solid rgba(30,64,175,.14)}
.theme-site--ocean .site-footer a{color:#2a3a5a}
.theme-site--ocean .site-footer a:hover{color:#3b6cd4}

@media(max-width:680px){.theme-site--ocean .whyus-inner{grid-template-columns:1fr;gap:36px;padding:28px 24px}}
@media(min-width:900px){.theme-site--ocean .feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.theme-site--ocean .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ══════════════════════════════════════════════════════════════
   ⑦  FLUX LANE — logística · tema claro · header corridor
   ══════════════════════════════════════════════════════════════ */

.theme-site--fluxlane body,
.theme-site--fluxlane .site-main {
  background: transparent;
  color: #1c1917;
}

.theme-site--fluxlane .site-header .brand strong {
  font-family: var(--font-display);
  letter-spacing: -0.03em;
}

.theme-site--fluxlane .hero-carousel {
  overflow: hidden;
}


.theme-site--fluxlane .features {
  background: rgba(255, 255, 255, 0.55);
  padding-block: 88px;
}

.theme-site--fluxlane .features h2,
.theme-site--fluxlane .stats-section h2,
.theme-site--fluxlane .whyus-text h2,
.theme-site--fluxlane .testi-header h2,
.theme-site--fluxlane .faq-section h2 {
  font-family: var(--font-display);
  color: #134e4a;
  font-weight: 800;
  letter-spacing: -0.04em;
}

.theme-site--fluxlane .features h2::after,
.theme-site--fluxlane .stats-section h2::after,
.theme-site--fluxlane .whyus-text h2::after,
.theme-site--fluxlane .testi-header h2::after,
.theme-site--fluxlane .faq-section h2::after {
  content: "";
  display: block;
  height: 3px;
  width: min(220px, 60%);
  margin-top: 12px;
  border-radius: 3px;
  background: linear-gradient(90deg, #0f766e, #f59e0b);
}

.theme-site--fluxlane .section-intro,
.theme-site--fluxlane .section-intro.muted {
  color: #57534e;
}

.theme-site--fluxlane .section-badge {
  border-radius: 6px;
  border: 1px solid rgba(15, 118, 110, 0.25);
  background: rgba(240, 253, 250, 0.9);
  color: #115e59;
  font-family: var(--font-mono);
  font-size: 0.72rem;
}

.theme-site--fluxlane .card {
  border-radius: 16px !important;
  border: 1px solid rgba(212, 212, 216, 0.7) !important;
  border-left: 5px solid #0f766e !important;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06), inset 1px 0 0 rgba(255, 255, 255, 0.6);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%);
}

.theme-site--fluxlane .card:hover {
  box-shadow: 0 22px 50px rgba(15, 118, 110, 0.12);
  transform: translateY(-3px);
}

.theme-site--fluxlane .card.accent {
  border-left-color: #f59e0b !important;
  background: linear-gradient(132deg, #fffbeb, #ecfdf5) !important;
}

.theme-site--fluxlane .stats-section {
  background: #ecfdf5;
  background-image: linear-gradient(90deg, rgba(17, 94, 89, 0.07) 1px, transparent 1px),
    linear-gradient(rgba(17, 94, 89, 0.07) 1px, transparent 1px);
  background-size: 52px 52px;
  padding-block: 80px;
}

.theme-site--fluxlane .stat-item {
  border-radius: 14px !important;
  border: 1px solid rgba(148, 163, 184, 0.45) !important;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04) !important;
}

.theme-site--fluxlane .stat-num,
.theme-site--fluxlane .stat-suffix {
  font-family: var(--font-mono);
  color: #0f766e;
}

.theme-site--fluxlane .stat-label {
  color: #57534e;
}

.theme-site--fluxlane .whyus-section .whyus-inner {
  border: 2px solid rgba(15, 118, 110, 0.22);
}

.theme-site--fluxlane .trust-bar {
  background: linear-gradient(90deg, #f8fafc, #f0fdfa);
  border-block: 1px solid rgba(15, 118, 110, 0.12);
}

.theme-site--fluxlane .testimonials-section {
  background: #fafafa;
}

.theme-site--fluxlane .testi-card {
  border-radius: 16px !important;
}

.theme-site--fluxlane .faq-item summary {
  font-family: var(--font-display);
}

.theme-site--fluxlane .cta-band {
  background: linear-gradient(105deg, #134e4a 0%, #0f766e 38%, #b45309 100%);
}

.theme-site--fluxlane .cta-band strong {
  color: #ecfdf5;
}

.theme-site--fluxlane .btn-primary {
  background: #f59e0b;
  border: none;
  color: #1c1917;
  font-weight: 700;
}

.theme-site--fluxlane .site-footer {
  background: #0c2724;
  color: #a8c4bf;
}

.theme-site--fluxlane .site-footer a:hover {
  color: #fcd34d;
}

@media (max-width: 680px) {
  .theme-site--fluxlane .whyus-inner {
    grid-template-columns: 1fr;
    gap: 36px;
    padding: 28px 24px;
  }
}

@media (min-width: 900px) {
  .theme-site--fluxlane .feature-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .theme-site--fluxlane .stats-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Corridor Carrier · home / seções · vinheta hero só navy (sem laranja) */
.theme-site--logistico body,
.theme-site--logistico .site-main {
  background: transparent;
  color: #0b1220;
}

.theme-site--logistico .site-header .brand strong {
  font-family: var(--font-display);
  letter-spacing: -0.025em;
  font-weight: 800;
}

.theme-site--logistico .hero-carousel {
  overflow: hidden;
}



.theme-site--logistico .features {
  background: rgba(255, 255, 255, 0.65);
  backdrop-filter: blur(6px);
  padding-block: 96px;
}

.theme-site--logistico .features h2,
.theme-site--logistico .stats-section h2,
.theme-site--logistico .testi-header h2,
.theme-site--logistico .faq-section h2 {
  font-family: var(--font-display);
  color: #071422;
  font-weight: 800;
  letter-spacing: -0.035em;
}

.theme-site--logistico .features h2::after,
.theme-site--logistico .stats-section h2::after,
.theme-site--logistico .testi-header h2::after,
.theme-site--logistico .faq-section h2::after {
  content: "";
  display: block;
  height: 4px;
  width: min(240px, 68%);
  margin-top: 14px;
  border-radius: 4px;
  background: linear-gradient(90deg, #0f2744 0%, #ff6b1a 68%, rgba(234, 88, 12, 0.25) 100%);
}

.theme-site--logistico .section-intro,
.theme-site--logistico .section-intro.muted {
  color: #465a73;
}

.theme-site--logistico .section-badge {
  border-radius: 8px;
  border: 1px solid rgba(234, 88, 12, 0.35);
  background: linear-gradient(145deg, rgba(234, 88, 12, 0.1), rgba(15, 55, 100, 0.08));
  color: #0c2440;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 600;
}

.theme-site--logistico .card {
  border-radius: 20px !important;
  border: 1px solid rgba(21, 64, 120, 0.14) !important;
  border-left: 6px solid #0f2744 !important;
  box-shadow:
    0 16px 44px rgba(8, 40, 90, 0.1),
    inset 1px 0 0 rgba(255, 255, 255, 0.7);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 18px), calc(100% - 22px) 100%, 0 100%);
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease;
}

.theme-site--logistico .card:hover {
  box-shadow:
    0 28px 58px rgba(8, 50, 110, 0.16),
    0 0 0 1px rgba(234, 88, 12, 0.12);
  transform: translateY(-4px);
}

.theme-site--logistico .card.accent {
  border-left-color: #ea580c !important;
  background: linear-gradient(148deg, #fffaf5 0%, #e9f3ff 100%) !important;
}

.theme-site--logistico .stats-section {
  background: linear-gradient(180deg, #e8f1fb 0%, #f4f9ff 55%, #eaf2fb 100%);
  background-image: linear-gradient(90deg, rgba(20, 60, 120, 0.07) 1px, transparent 1px),
    linear-gradient(rgba(20, 60, 120, 0.06) 1px, transparent 1px);
  background-size: 54px 54px;
  padding-block: 88px;
}

.theme-site--logistico .stat-item {
  border-radius: 16px !important;
  border: 1px solid rgba(26, 70, 140, 0.16) !important;
  box-shadow: 0 6px 20px rgba(8, 40, 90, 0.07) !important;
  background: rgba(255, 255, 255, 0.82);
}

.theme-site--logistico .stat-num,
.theme-site--logistico .stat-suffix {
  font-family: var(--font-mono);
  color: #c2410c;
}

.theme-site--logistico .stat-label {
  color: #39506c;
}

.theme-site--logistico .whyus-section {
  background: linear-gradient(180deg, #0a1624 0%, #0d1117 40%, #0a1624 100%);
  padding-block: clamp(72px, 11vw, 104px);
  padding-inline: max(calc((100% - 1140px) / 2 + 24px), 20px);
  border-top: 1px solid rgba(148, 180, 220, 0.08);
  border-bottom: 1px solid rgba(148, 180, 220, 0.06);
}

.theme-site--logistico .whyus-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(36px, 5vw, 64px);
  align-items: center;
  margin: 0;
  padding: clamp(28px, 4.5vw, 52px) clamp(26px, 4vw, 48px);
  border: none;
  border-radius: 20px;
  background: linear-gradient(
    155deg,
    rgba(22, 45, 75, 0.55) 0%,
    rgba(12, 28, 48, 0.72) 100%
  );
  box-shadow:
    0 8px 40px rgba(0, 10, 24, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  outline: 1px solid rgba(148, 180, 220, 0.1);
  outline-offset: 0;
}

.theme-site--logistico .whyus-text h2 {
  font-family: var(--font-display);
  color: #f4f9ff;
  font-weight: 800;
  letter-spacing: -0.035em;
}

.theme-site--logistico .whyus-text h2::after {
  content: "";
  display: block;
  height: 4px;
  width: min(240px, 68%);
  margin-top: 14px;
  border-radius: 4px;
  background: linear-gradient(90deg, #ea580c 0%, rgba(251, 146, 60, 0.45) 100%);
}

.theme-site--logistico .whyus-section .section-intro,
.theme-site--logistico .whyus-section .section-intro.muted {
  color: #8ba3bf;
}

.theme-site--logistico .whyus-section .section-badge {
  border: 1px solid rgba(234, 88, 12, 0.45);
  background: rgba(234, 88, 12, 0.12);
  color: #ffedd5;
}

.theme-site--logistico .whyus-text > p {
  color: #aabdd4;
}

.theme-site--logistico .whyus-list li div {
  color: #c8d6ea;
}

.theme-site--logistico .whyus-list li strong {
  color: #fff;
}

.theme-site--logistico .whyus-section .wyl-icon {
  background: rgba(234, 88, 12, 0.14);
  border: 1px solid rgba(234, 88, 12, 0.42);
  color: #fb923c;
}

.theme-site--logistico .whyus-section .btn-primary {
  box-shadow: 0 2px 14px rgba(234, 88, 12, 0.22);
}

.theme-site--logistico .whyus-section .btn-primary:hover {
  box-shadow: 0 4px 20px rgba(234, 88, 12, 0.3);
}

.theme-site--logistico .trust-bar {
  background: linear-gradient(92deg, #071422 0%, #132f52 52%, #0f2744 100%);
  color: #e8f0fb;
  border-block: 1px solid rgba(234, 88, 12, 0.35);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.theme-site--logistico .trust-bar-inner {
  background: transparent !important;
  border: 0 !important;
}

.theme-site--logistico .trust-bar-inner span {
  color: #c8dbf0;
}

.theme-site--logistico .trust-bar-inner span svg,
.theme-site--logistico .trust-bar-inner span i {
  color: #ff9748 !important;
}

.theme-site--logistico .testimonials-section {
  background: #f6fafe;
}

.theme-site--logistico .testi-card {
  border-radius: 18px !important;
  border: 1px solid rgba(26, 70, 140, 0.1);
}

.theme-site--logistico .faq-item summary {
  font-family: var(--font-display);
}

.theme-site--logistico .cta-band {
  background: linear-gradient(
    168deg,
    #040a14 0%,
    #0a1929 38%,
    #0f2744 68%,
    #123a54 100%
  );
  border: none;
  box-shadow: inset 0 1px 0 rgba(148, 187, 227, 0.08);
}

.theme-site--logistico .cta-band::before {
  background-image: radial-gradient(rgba(148, 190, 235, 0.07) 1px, transparent 1px);
  background-size: 22px 22px;
}

.theme-site--logistico .cta-band strong {
  color: #f1f6fc;
}

.theme-site--logistico .cta-band .muted {
  color: rgba(179, 207, 236, 0.85);
}

.theme-site--logistico .cta-inner {
  padding-block: clamp(2.125rem, 5.5vw, 3.625rem);
  padding-inline: clamp(4px, 1.5vw, 12px);
}

.theme-site--logistico .cta-band .btn-light {
  border: 1px solid rgba(255, 255, 255, 0.25);
}

.theme-site--logistico .cta-band .btn-light:hover {
  background: rgba(255, 255, 255, 0.88);
}

.theme-site--logistico .btn-primary {
  background: linear-gradient(175deg, #ff8228, #ea580c);
  border: none;
  color: #050c14;
  font-weight: 800;
  box-shadow:
    0 10px 28px rgba(234, 88, 12, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.theme-site--logistico .btn-primary:hover {
  filter: brightness(1.06);
}

.theme-site--logistico .site-footer {
  background: linear-gradient(180deg, #040a14 0%, #050e1a 100%);
  color: #b9ccdf;
}

.theme-site--logistico .site-footer a:hover {
  color: #ff9748;
}

@media (max-width: 680px) {
  .theme-site--logistico .whyus-inner {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 28px 22px;
  }
}

@media (min-width: 900px) {
  .theme-site--logistico .feature-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .theme-site--logistico .stats-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* ══════════════════════════════════════════════════════════════
   ⑥  TECHNOLOGY — Neon Lab (ciano · magenta · limão)
   Layout: command deck no header + pipeline de menus · home em grade técnica
   ══════════════════════════════════════════════════════════════ */

.theme-site--technology body,
.theme-site--technology .site-main {
  background: #050811;
  color: #dff8ff;
}

.theme-site--technology .site-header {
  background: rgba(5, 8, 17, 0.94);
  border-bottom: 1px solid rgba(0, 245, 255, 0.2);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.theme-site--technology .site-header .brand {
  color: #e8fbff;
}

.theme-site--technology .hero-carousel {
  overflow: hidden;
}



.theme-site--technology .features {
  background: #070d18;
  background-image: linear-gradient(rgba(0, 245, 255, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 43, 214, 0.03) 1px, transparent 1px);
  background-size: 100% 48px, 64px 100%;
  padding-block: 88px;
}

.theme-site--technology .features h2,
.theme-site--technology .stats-section h2,
.theme-site--technology .whyus-text h2,
.theme-site--technology .testi-header h2,
.theme-site--technology .faq-section h2 {
  color: #f4fcff;
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: clamp(1.15rem, 2.4vw, 1.45rem);
}

.theme-site--technology .features h2::after,
.theme-site--technology .stats-section h2::after,
.theme-site--technology .whyus-text h2::after,
.theme-site--technology .testi-header h2::after,
.theme-site--technology .faq-section h2::after {
  content: "";
  display: block;
  width: 120px;
  height: 3px;
  margin-top: 12px;
  border-radius: 2px;
  background: linear-gradient(90deg, #00f5ff, #ff2bd6 55%, #bfff00);
  box-shadow: 0 0 16px rgba(0, 245, 255, 0.4);
}

.theme-site--technology .section-intro,
.theme-site--technology .section-intro.muted {
  color: #8ad8e8;
}

.theme-site--technology .section-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 12px;
  background: rgba(0, 245, 255, 0.08);
  color: #00f5ff;
  border: 1px solid rgba(0, 245, 255, 0.32);
  border-radius: 4px;
  padding: 4px 14px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-family: var(--font-sans);
}

.theme-site--technology .card {
  background: rgba(12, 18, 32, 0.88) !important;
  border: 1px solid rgba(0, 245, 255, 0.2) !important;
  border-radius: 6px;
  transition: border-color 0.22s, box-shadow 0.22s, transform 0.22s;
}

.theme-site--technology .card:hover {
  border-color: rgba(255, 43, 214, 0.45) !important;
  box-shadow: 0 0 32px rgba(0, 245, 255, 0.12), 0 0 20px rgba(255, 43, 214, 0.08) !important;
  transform: translateY(-4px);
}

.theme-site--technology .card.accent {
  border-color: rgba(191, 255, 0, 0.45) !important;
  background: rgba(16, 28, 48, 0.95) !important;
  box-shadow: inset 0 0 0 1px rgba(191, 255, 0, 0.15);
}

.theme-site--technology .card h3 {
  color: #c8f6ff;
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: 0.02em;
}

.theme-site--technology .card p {
  color: #7eb8c8;
}

.theme-site--technology .card .lnk {
  color: #ff2bd6;
  font-weight: 700;
}

.theme-site--technology .card-icon {
  background: rgba(0, 245, 255, 0.12) !important;
  color: #00f5ff !important;
  border-radius: 6px;
}

.theme-site--technology .card::after {
  display: none;
}

.theme-site--technology .stats-section {
  background: #060912;
  background-image: radial-gradient(circle at 1px 1px, rgba(0, 245, 255, 0.11) 1px, transparent 0);
  background-size: 22px 22px;
  padding-block: 84px;
}

.theme-site--technology .stat-item {
  background: rgba(12, 18, 32, 0.9) !important;
  border: 1px solid rgba(255, 43, 214, 0.18) !important;
  border-radius: 8px;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%);
  transition: box-shadow 0.22s, transform 0.22s;
}

.theme-site--technology .stat-item:hover {
  box-shadow: 0 0 28px rgba(0, 245, 255, 0.15) !important;
  transform: translateY(-3px);
}

.theme-site--technology .stat-num {
  color: #00f5ff;
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 5.5vw, 3.8rem) !important;
  font-weight: 800;
  text-shadow: 0 0 24px rgba(0, 245, 255, 0.35);
}

.theme-site--technology .stat-suffix {
  color: #bfff00;
}

.theme-site--technology .stat-label {
  color: #9ee8f0;
}

.theme-site--technology .whyus-section {
  background: #080f1c;
  border-top: 1px solid rgba(0, 245, 255, 0.1);
  border-bottom: 1px solid rgba(255, 43, 214, 0.1);
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding: 80px max(calc((100% - 1140px) / 2 + 16px), 20px);
}

.theme-site--technology .whyus-inner {
  background: rgba(10, 16, 28, 0.95);
  border: 1px solid rgba(0, 245, 255, 0.2);
  box-shadow: 0 8px 48px rgba(0, 0, 0, 0.45), 0 0 40px rgba(255, 43, 214, 0.06);
  padding: 48px 52px;
  border-radius: 8px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}

.theme-site--technology .whyus-text p {
  color: #8ad8e8;
}

.theme-site--technology .wyl-icon {
  color: #bfff00 !important;
}

.theme-site--technology .whyus-list li {
  color: #8ad8e8;
}

.theme-site--technology .trust-bar {
  background: #070d18;
  border-top: 1px solid rgba(0, 245, 255, 0.12);
  border-bottom: 1px solid rgba(191, 255, 0, 0.1);
}

.theme-site--technology .trust-bar-inner {
  background: transparent !important;
  border: 0 !important;
}

.theme-site--technology .trust-bar-inner span {
  color: #7eb8c8;
}

.theme-site--technology .trust-bar-inner span svg,
.theme-site--technology .trust-bar-inner span i {
  color: #00f5ff !important;
}

.theme-site--technology .testimonials-section {
  background: #060912;
  padding-block: 88px;
}

.theme-site--technology .testi-card {
  background: rgba(12, 18, 32, 0.92) !important;
  border: 1px solid rgba(0, 245, 255, 0.15) !important;
  border-top: 2px solid #ff2bd6 !important;
  border-radius: 8px;
  transition: box-shadow 0.22s, transform 0.22s;
}

.theme-site--technology .testi-card:hover {
  box-shadow: 0 0 32px rgba(255, 43, 214, 0.15) !important;
  transform: translateY(-3px);
}

.theme-site--technology .testi-avatar {
  background: linear-gradient(135deg, #00f5ff, #ff2bd6) !important;
  color: #050811 !important;
}

.theme-site--technology .testi-card p {
  color: #8ad8e8;
  font-style: italic;
}

.theme-site--technology .faq-section {
  background: #050811;
  padding-block: 80px;
}

.theme-site--technology .faq-item {
  background: rgba(12, 18, 32, 0.85) !important;
  border: 1px solid rgba(191, 255, 0, 0.2) !important;
  border-radius: 6px;
}

.theme-site--technology .faq-item summary {
  color: #c8f6ff;
  font-weight: 700;
  font-family: var(--font-sans);
}

.theme-site--technology .faq-item summary::marker,
.theme-site--technology .faq-item summary::-webkit-details-marker {
  color: #bfff00;
}

.theme-site--technology .cta-band {
  background: linear-gradient(120deg, #1a0f3d 0%, #0d3d4d 40%, #162006 100%);
  border: 0;
  box-shadow: 0 24px 64px rgba(0, 245, 255, 0.15), 0 0 40px rgba(255, 43, 214, 0.12);
}

.theme-site--technology .cta-band strong {
  color: #fff;
  font-family: var(--font-display);
}

.theme-site--technology .cta-band .muted {
  color: rgba(255, 255, 255, 0.7);
}

.theme-site--technology .btn-primary {
  background: #00f5ff;
  border: 0;
  color: #050811;
  font-weight: 800;
  font-family: var(--font-sans);
  letter-spacing: 0.04em;
  box-shadow: 0 4px 24px rgba(0, 245, 255, 0.45);
}

.theme-site--technology .btn-primary:hover {
  background: #5ff4ff;
  transform: translateY(-1px);
}

.theme-site--technology .btn-outline {
  border-color: rgba(255, 43, 214, 0.45);
  color: #ffb8ff;
}

.theme-site--technology .btn-outline:hover {
  background: rgba(255, 43, 214, 0.12);
  border-color: #ff2bd6;
}

.theme-site--technology .site-footer {
  background: #02040a;
  color: #5a8a9a;
  border-top: 1px solid rgba(0, 245, 255, 0.15);
}

.theme-site--technology .site-footer a {
  color: #5a8a9a;
}

.theme-site--technology .site-footer a:hover {
  color: #00f5ff;
}

@media (max-width: 680px) {
  .theme-site--technology .whyus-inner {
    grid-template-columns: 1fr;
    gap: 36px;
    padding: 28px 24px;
  }
}

@media (min-width: 900px) {
  .theme-site--technology .feature-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .theme-site--technology .feature-grid .card:first-child {
    grid-row: span 2;
    min-height: 100%;
  }

  .theme-site--technology .stats-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}


/* ═══════════════════════════════════════════════════════════════════════════
   Modal de vídeo (#video-modal)
   ═══════════════════════════════════════════════════════════════════════════ */
.video-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0,0,0,.82);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
.video-modal-overlay[aria-hidden="false"] {
  opacity: 1;
  pointer-events: auto;
}
.video-modal-box {
  background: #0d0d14;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  width: 100%;
  max-width: 900px;
  max-height: 92vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
  box-shadow: 0 40px 100px rgba(0,0,0,.8);
  transform: scale(.94) translateY(12px);
  transition: transform .28s cubic-bezier(.22,.68,0,1.2);
}
.video-modal-overlay[aria-hidden="false"] .video-modal-box {
  transform: scale(1) translateY(0);
}
.video-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 10;
  background: rgba(255,255,255,.10);
  border: 0;
  color: #fff;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .18s;
}
.video-modal-close:hover { background: rgba(255,255,255,.22); }

.video-modal-player { padding: 16px 16px 0; }
.video-modal-player .video-embed-wrap {
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}
.video-modal-player .video-embed-wrap iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.video-modal-caption {
  color: #aab0c0;
  font-size: .84rem;
  margin: 8px 0 0;
  padding: 0 2px;
  min-height: 20px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.video-modal-playlist {
  overflow-y: auto;
  max-height: 220px;
  padding: 8px 16px 4px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.12) transparent;
}
.video-modal-playlist .yt-playlist-loading { color: #6a7a8a; padding: 12px 4px; font-size: .84rem; }
.video-modal-playlist .yt-spinner { display: inline-block; width: 14px; height: 14px; border: 2px solid rgba(255,255,255,.15); border-top-color: #06b6d4; border-radius: 50%; animation: spin .7s linear infinite; vertical-align: middle; margin-right: 6px; }
@keyframes spin { to { transform: rotate(360deg); } }
.video-modal-playlist .yt-empty { color: #6a7a8a; font-size: .84rem; padding: 8px 4px; }
.video-modal-playlist .yt-item {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 8px;
  border-radius: 8px;
  cursor: pointer;
  border: 0;
  background: transparent;
  width: 100%;
  text-align: left;
  transition: background .18s;
  color: #ddd;
}
.video-modal-playlist .yt-item:hover { background: rgba(255,255,255,.06); }
.video-modal-playlist .yt-item.yt-active { background: rgba(255,255,255,.10); }
.video-modal-playlist .yt-thumb {
  width: 80px;
  height: 45px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
}
.video-modal-playlist .yt-item-info { flex: 1; min-width: 0; }
.video-modal-playlist .yt-item-title {
  color: #d0d8e8;
  font-size: .82rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.35;
}
.video-modal-playlist .yt-item-date { color: #6a7a8a; font-size: .75rem; display: block; margin-top: 3px; }
.video-modal-playlist .yt-play-icon { color: #5a7a88; flex-shrink: 0; }
.video-modal-playlist .yt-item.yt-active .yt-play-icon { color: #06b6d4; }

.video-modal-footer {
  padding: 10px 16px 14px;
  border-top: 1px solid rgba(255,255,255,.06);
  display: flex;
  justify-content: flex-end;
}

@media (max-width: 600px) {
  .video-modal-box { border-radius: 12px; max-height: 96vh; }
  .video-modal-player { padding: 12px 12px 0; }
  .video-modal-playlist { max-height: 160px; padding: 6px 12px 4px; }
  .video-modal-footer { padding: 8px 12px 12px; }
  .video-modal-playlist .yt-thumb { width: 64px; height: 36px; }
}

/* Catálogo de produtos (institucional / e-commerce) */
.site-produtos-grid {
  display: grid;
  gap: 1rem 1.1rem;
  grid-template-columns: repeat(var(--ec-cols-desktop, 3), minmax(0, 1fr));
  margin: 0 auto;
  max-width: 1200px;
  padding: 0 clamp(14px, 3vw, 20px);
}
.site-produtos-grid--com-preamble {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
}
.site-produtos-grid--com-preamble .site-produtos-loc-card-grid {
  display: grid;
  gap: 1rem 1.1rem;
  grid-template-columns: repeat(var(--ec-cols-desktop, 3), minmax(0, 1fr));
  padding: 0;
  margin: 0;
  max-width: none;
}
/* Só o quadro comparativo (sem grid de cards) */
.site-produtos-grid--quadro-loc-inst {
  display: block;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.mesites-loc-quadro.mesites-loc-preamble {
  max-width: none;
  margin: 0;
  width: 100%;
}
.mesites-loc-th-muted {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  color: #94a3b8;
  line-height: 1.35;
}
.mesites-loc-table--quadro .mesites-loc-td-art {
  padding: 8px 10px;
}
.mesites-loc-table--quadro .mesites-loc-td-art img {
  max-height: 52px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  vertical-align: middle;
}
.mesites-loc-table--quadro .mesites-loc-td-art--icon svg {
  width: 52px;
  height: 52px;
  color: #0d9488;
  filter: drop-shadow(0 8px 14px rgba(15, 23, 42, 0.14));
}
.mesites-loc-table--quadro .mesites-loc-td-art--empty {
  color: #94a3b8;
  font-weight: 600;
}
.mesites-loc-table--quadro .mesites-loc-preco {
  font-size: 1.05em;
  font-weight: 800;
  color: #0f172a;
}
.mesites-loc-table--quadro .mesites-loc-preco-suf {
  display: inline;
  font-size: 0.78em;
  font-weight: 600;
  color: #64748b;
  margin-left: 0.15em;
}
.mesites-loc-sku-code {
  font-size: 0.78em;
  font-family: ui-monospace, monospace;
  background: #f1f5f9;
  padding: 0.2em 0.45em;
  border-radius: 6px;
  color: #334155;
}
.mesites-loc-td-indicado {
  text-align: left !important;
  font-size: 0.88em;
  line-height: 1.45;
  max-width: 14rem;
}
.mesites-loc-tr-cta td {
  background: #f0fdf4 !important;
  border-top: 2px solid #bbf7d0;
}
.mesites-loc-cta-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.55em 1rem;
  background: linear-gradient(135deg, #16a34a, #15803d);
  color: #fff !important;
  font-weight: 700;
  font-size: 0.86rem;
  text-decoration: none !important;
  border-radius: 999px;
  white-space: nowrap;
}
.mesites-loc-cta-link:focus-visible {
  outline: 2px solid #22c55e;
  outline-offset: 2px;
}
@media (max-width: 720px) {
  .mesites-loc-table--quadro tbody th[scope="row"] {
    position: sticky;
    left: 0;
    z-index: 2;
    box-shadow: 4px 0 8px -4px rgba(15, 23, 42, 0.12);
  }
}
/* Bloco comum + comparativo (acima dos 3 cards) */
.mesites-loc-preamble {
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 16px;
  padding: clamp(14px, 2.8vw, 22px) clamp(14px, 2.5vw, 20px);
  color: #334155;
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
  box-shadow: var(--shadow, 0 4px 24px rgba(13, 33, 55, 0.06));
}
.mesites-loc-h3 {
  margin: 0 0 0.5rem;
  font-size: clamp(1.02rem, 2.2vw, 1.15rem);
  font-weight: 800;
  color: #0f172a;
  font-family: var(--font-display, inherit);
}
.mesites-loc-h3-note {
  font-weight: 600;
  font-size: 0.88em;
  color: #64748b;
}
.mesites-loc-h3--table {
  margin-top: 1rem;
  margin-bottom: 0.35rem;
}
.mesites-loc-lead {
  margin: 0 0 0.85rem;
  font-size: 0.94rem;
  line-height: 1.58;
  color: #475569;
}
.mesites-loc-lista-base {
  margin: 0;
  padding-left: 1.2em;
  line-height: 1.65;
  font-size: 0.9rem;
}
.mesites-loc-lista-base li {
  margin-bottom: 0.35rem;
}
.mesites-loc-table-wrap {
  overflow-x: auto;
  margin: 0;
  -webkit-overflow-scrolling: touch;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
}
.mesites-loc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
  line-height: 1.45;
}
.mesites-loc-table thead th {
  background: #1e293b;
  color: #f8fafc;
  padding: 12px 10px;
  text-align: center;
  font-weight: 800;
  border-bottom: 1px solid #334155;
}
.mesites-loc-th-resource {
  text-align: left !important;
  min-width: 10rem;
}
.mesites-loc-th-plan {
  font-size: 0.78rem;
  line-height: 1.25;
}
.mesites-loc-th--start {
  background: #78350f !important;
  color: #fef3c7 !important;
  border-bottom-color: #92400e !important;
}
.mesites-loc-th--pro {
  background: #475569 !important;
  color: #f1f5f9 !important;
}
.mesites-loc-th--max {
  background: #854d0e !important;
  color: #fef9c3 !important;
}
.mesites-loc-table tbody th[scope="row"] {
  text-align: left;
  padding: 11px 12px;
  font-weight: 600;
  color: #1e293b;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
  vertical-align: top;
}
.mesites-loc-table tbody td {
  padding: 11px 10px;
  text-align: center;
  border-bottom: 1px solid #e2e8f0;
  vertical-align: middle;
  background: #fff;
  color: #334155;
}
.mesites-loc-table tbody tr:nth-child(even) td {
  background: #fafafa;
}
.mesites-loc-table tbody tr:nth-child(even) th[scope="row"] {
  background: #f1f5f9;
}
.mesites-loc-row-all {
  text-align: center !important;
  font-weight: 600;
}
.mesites-loc-cell-hint {
  display: block;
  font-size: 0.78em;
  font-weight: 500;
  color: #64748b;
  margin-top: 0.2rem;
}
.mesites-loc-cell-warn {
  color: #b45309 !important;
  font-weight: 700;
}
.mesites-plan-check {
  display: inline-block;
  color: #16a34a;
  font-weight: 800;
  font-size: 1.15em;
  line-height: 1;
  margin-right: 0.15rem;
  vertical-align: -0.05em;
}
.mesites-plan-no {
  color: #dc2626;
  font-weight: 700;
  font-size: 0.9em;
}

.mesites-loc-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Vitrine moderna dos planos mesites (site por assinatura) */
/* ─── Planos mesites — pricing cards ─────────────────────── */
.mesites-plans-modern {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: clamp(32px, 5vw, 56px) clamp(20px, 4vw, 48px);
  border-radius: 32px;
  background: #07111f;
  color: #f1f5f9;
}
.mesites-plans-modern::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(148, 163, 184, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 163, 184, 0.05) 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, black 40%, transparent 100%);
  mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, black 40%, transparent 100%);
}
.mesites-plans-modern__hero,
.mesites-plans-modern__cards,
.mesites-plans-modern__note {
  position: relative;
  z-index: 1;
}
.mesites-plans-modern__hero {
  max-width: 820px;
  margin: 0 auto clamp(28px, 4vw, 40px);
  text-align: center;
}
.mesites-plans-modern__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 0 14px;
  border: 1px solid rgba(45, 212, 191, 0.3);
  border-radius: 999px;
  background: rgba(13, 148, 136, 0.12);
  color: #5eead4;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.mesites-plans-modern__hero h3 {
  margin: 16px 0 14px;
  color: #fff;
  font-size: clamp(1.6rem, 4vw, 2.6rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.03em;
}
.mesites-plans-modern__hero p {
  max-width: 700px;
  margin: 0 auto;
  color: #94a3b8;
  font-size: clamp(0.95rem, 1.6vw, 1.05rem);
  line-height: 1.75;
}
.mesites-plans-modern__chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 22px;
}
.mesites-plans-modern__chips span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 13px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 999px;
  color: #94a3b8;
  font-size: 0.8rem;
  font-weight: 600;
}
/* grade de cards */
.mesites-plans-modern__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 2vw, 20px);
  align-items: start;
}
/* card base */
.mesites-plan-card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid rgba(226, 232, 240, 0.1);
  background: #0f172a;
  color: #e2e8f0;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.04) inset;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.mesites-plan-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255,255,255,0.06) inset;
}
/* barra colorida no topo */
.mesites-plan-card__accent {
  height: 3px;
  background: #334155;
}
.mesites-plan-card--start .mesites-plan-card__accent {
  background: linear-gradient(90deg, #3b82f6, #60a5fa);
}
.mesites-plan-card--pro .mesites-plan-card__accent {
  background: linear-gradient(90deg, #0d9488, #2dd4bf);
}
.mesites-plan-card--max .mesites-plan-card__accent {
  background: linear-gradient(90deg, #f97316, #fb923c);
}
/* card destacado (Pro) */
.mesites-plan-card--featured {
  border-color: rgba(45, 212, 191, 0.3);
  background: #0d1e2e;
}
/* conteúdo interno */
.mesites-plan-card__inner {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: clamp(20px, 2.5vw, 28px);
  gap: 0;
}
/* cabeçalho: badge + nome + pitch */
.mesites-plan-card__head {
  margin-bottom: 22px;
}
.mesites-plan-card__badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 10px;
  margin-bottom: 12px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: rgba(148, 163, 184, 0.14);
  color: #94a3b8;
}
.mesites-plan-card--start .mesites-plan-card__badge {
  background: rgba(59, 130, 246, 0.16);
  color: #93c5fd;
}
.mesites-plan-card--pro .mesites-plan-card__badge {
  background: rgba(20, 184, 166, 0.18);
  color: #5eead4;
}
.mesites-plan-card--max .mesites-plan-card__badge {
  background: rgba(249, 115, 22, 0.16);
  color: #fdba74;
}
.mesites-plan-card__head h4 {
  margin: 0 0 8px;
  color: #fff;
  font-size: clamp(1.15rem, 1.8vw, 1.35rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
}
.mesites-plan-card__pitch {
  margin: 0;
  color: #64748b;
  font-size: 0.88rem;
  line-height: 1.6;
}
/* preço */
.mesites-plan-card__price {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-bottom: 22px;
  color: #fff;
  font-size: clamp(2rem, 3.6vw, 2.8rem);
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 1;
}
.mesites-plan-card__price sup {
  font-size: 1rem;
  font-weight: 600;
  color: #64748b;
  letter-spacing: 0;
  line-height: 1;
  margin-top: 0.3em;
}
.mesites-plan-card__price small {
  font-size: 0.85rem;
  font-weight: 500;
  color: #475569;
  letter-spacing: 0;
  align-self: flex-end;
  padding-bottom: 0.15em;
}
/* divisor */
.mesites-plan-card__features {
  display: grid;
  gap: 10px;
  margin: 0 0 24px;
  padding: 20px 0;
  border-top: 1px solid rgba(148, 163, 184, 0.1);
  list-style: none;
  color: #94a3b8;
  font-size: 0.88rem;
  line-height: 1.4;
}
.mesites-plan-card__features li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.mesites-plan-card__features li > svg {
  flex: 0 0 16px;
  margin-top: 1px;
  color: #334155;
}
.mesites-plan-card--start .mesites-plan-card__features li > svg {
  color: #3b82f6;
}
.mesites-plan-card--pro .mesites-plan-card__features li > svg {
  color: #14b8a6;
}
.mesites-plan-card--max .mesites-plan-card__features li > svg {
  color: #f97316;
}
.mesites-plan-card__features span strong {
  color: #e2e8f0;
  font-weight: 600;
}
/* CTA */
.mesites-plan-card__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  margin-top: auto;
  padding: 0 20px;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  background: rgba(255, 255, 255, 0.06);
  color: #e2e8f0 !important;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none !important;
  letter-spacing: -0.01em;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.mesites-plan-card__cta:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(148, 163, 184, 0.35);
  color: #fff !important;
}
.mesites-plan-card--start .mesites-plan-card__cta {
  border-color: rgba(59, 130, 246, 0.4);
  background: rgba(59, 130, 246, 0.1);
  color: #93c5fd !important;
}
.mesites-plan-card--start .mesites-plan-card__cta:hover {
  background: rgba(59, 130, 246, 0.18);
  color: #bfdbfe !important;
}
.mesites-plan-card--pro .mesites-plan-card__cta {
  border-color: rgba(20, 184, 166, 0.5);
  background: rgba(20, 184, 166, 0.12);
  color: #5eead4 !important;
}
.mesites-plan-card--pro .mesites-plan-card__cta:hover {
  background: rgba(20, 184, 166, 0.22);
  color: #99f6e4 !important;
}
.mesites-plan-card--max .mesites-plan-card__cta {
  border-color: rgba(249, 115, 22, 0.45);
  background: rgba(249, 115, 22, 0.1);
  color: #fdba74 !important;
}
.mesites-plan-card--max .mesites-plan-card__cta:hover {
  background: rgba(249, 115, 22, 0.2);
  color: #fed7aa !important;
}
.mesites-plan-card__cta:focus-visible {
  outline: 2px solid rgba(148, 163, 184, 0.6);
  outline-offset: 3px;
}
/* nota rodapé do plano */
.mesites-plan-card__sub {
  margin: 12px 0 0;
  color: #334155;
  font-size: 0.78rem;
  line-height: 1.55;
}
/* nota geral */
.mesites-plans-modern__note {
  margin: clamp(18px, 3vw, 28px) auto 0;
  max-width: 720px;
  color: #475569;
  font-size: 0.88rem;
  line-height: 1.7;
  text-align: center;
}
.mesites-plans-modern__note strong {
  color: #5eead4;
  font-weight: 600;
}
/* responsive */
@media (min-width: 1500px) {
  .mesites-plans-modern { max-width: 1320px; }
}
@media (max-width: 980px) {
  .mesites-plans-modern__cards {
    grid-template-columns: 1fr;
    max-width: 520px;
    margin: 0 auto;
  }
}
@media (max-width: 520px) {
  .mesites-plans-modern {
    padding: 24px 16px;
    border-radius: 20px;
  }
  .mesites-plans-modern__hero { text-align: left; }
  .mesites-plans-modern__chips { justify-content: flex-start; }
}

/* ─── Dashboard Pro page ─────────────────────────────────────────── */
/* Variáveis de cor do tema escuro */
.dbpro-page {
  --dbpro-bg:      #060c17;
  --dbpro-surface: #0d1829;
  --dbpro-border:  rgba(148,163,184,0.1);
  --dbpro-text:    #e2e8f0;
  --dbpro-muted:   #64748b;
  --dbpro-teal:    #14b8a6;
  --dbpro-blue:    #3b82f6;
  --dbpro-purple:  #8b5cf6;
  --dbpro-green:   #22c55e;
  --dbpro-orange:  #f97316;
  --dbpro-red:     #ef4444;
  background: var(--dbpro-bg);
  color: var(--dbpro-text);
  font-family: inherit;
}
.dbpro-container {
  width: min(1200px, 100% - 40px);
  margin-inline: auto;
}
/* eyebrow */
.dbpro-eyebrow {
  display: inline-block;
  padding: 4px 14px;
  border-radius: 999px;
  border: 1px solid rgba(20,184,166,.3);
  background: rgba(20,184,166,.08);
  color: var(--dbpro-teal);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
/* section header */
.dbpro-section-header {
  max-width: 760px;
  margin: 0 auto clamp(32px,4vw,48px);
  text-align: center;
}
.dbpro-section-header .dbpro-eyebrow { margin-bottom: 14px; }
.dbpro-section-header h2 {
  margin: 0 0 14px;
  color: #fff;
  font-size: clamp(1.55rem,3.5vw,2.35rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.03em;
}
.dbpro-section-header p {
  color: var(--dbpro-muted);
  font-size: 1rem;
  line-height: 1.75;
}
/* buttons */
.dbpro-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 24px;
  border-radius: 12px;
  font-size: 0.96rem;
  font-weight: 600;
  text-decoration: none !important;
  transition: all 0.15s ease;
  cursor: pointer;
}
.dbpro-btn--primary {
  background: var(--dbpro-teal);
  color: #022c22 !important;
  box-shadow: 0 0 0 0 rgba(20,184,166,0);
}
.dbpro-btn--primary:hover {
  background: #0d9488;
  color: #fff !important;
  box-shadow: 0 8px 24px rgba(20,184,166,.3);
}
.dbpro-btn--ghost {
  border: 1px solid var(--dbpro-border);
  background: transparent;
  color: var(--dbpro-text) !important;
}
.dbpro-btn--ghost:hover {
  border-color: rgba(148,163,184,.3);
  background: rgba(255,255,255,.05);
  color: #fff !important;
}
.dbpro-btn--lg { min-height: 54px; padding: 0 32px; font-size: 1rem; }
/* ── HERO ── */
.dbpro-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(60px,9vw,110px) 0 clamp(50px,7vw,80px);
}
.dbpro-hero__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.dbpro-hero__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
}
.dbpro-hero__orb--1 {
  width: 600px; height: 600px;
  top: -200px; left: -100px;
  background: rgba(20,184,166,.12);
}
.dbpro-hero__orb--2 {
  width: 500px; height: 500px;
  top: -100px; right: -80px;
  background: rgba(59,130,246,.1);
}
.dbpro-hero__orb--3 {
  width: 300px; height: 300px;
  bottom: -80px; left: 40%;
  background: rgba(139,92,246,.08);
}
.dbpro-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: clamp(32px,5vw,64px);
  align-items: center;
}
.dbpro-hero__content { max-width: 560px; }
.dbpro-hero__content .dbpro-eyebrow { margin-bottom: 20px; }
.dbpro-hero__title {
  margin: 0 0 18px;
  color: #fff;
  font-size: clamp(1.8rem,4.5vw,3rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.04em;
}
.dbpro-hero__title--accent {
  background: linear-gradient(90deg, var(--dbpro-teal), var(--dbpro-blue));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.dbpro-hero__desc {
  margin: 0 0 28px;
  color: #94a3b8;
  font-size: 1.05rem;
  line-height: 1.75;
}
.dbpro-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 36px;
}
.dbpro-hero__stats {
  display: flex;
  gap: 28px;
  padding-top: 28px;
  border-top: 1px solid var(--dbpro-border);
}
.dbpro-hero__stat { display: flex; flex-direction: column; gap: 3px; }
.dbpro-hero__stat strong {
  color: var(--dbpro-teal);
  font-size: 1.4rem;
  font-weight: 800;
  letter-spacing: -0.03em;
}
.dbpro-hero__stat span { color: var(--dbpro-muted); font-size: 0.82rem; }
/* media / screenshot */
.dbpro-hero__media { position: relative; }
.dbpro-hero__img-frame {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 40px 100px rgba(0,0,0,.5);
}
.dbpro-hero__img { width: 100%; display: block; }
.dbpro-hero__img-badge {
  position: absolute;
  bottom: 14px;
  left: 14px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(6,12,23,.82);
  border: 1px solid rgba(20,184,166,.35);
  color: var(--dbpro-teal);
  font-size: 0.78rem;
  font-weight: 600;
  backdrop-filter: blur(8px);
}
.dbpro-live-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--dbpro-teal);
  box-shadow: 0 0 6px var(--dbpro-teal);
  animation: dbpro-pulse 2s ease-in-out infinite;
}
@keyframes dbpro-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}
/* ── COMPARE ── */
.dbpro-compare {
  padding: clamp(48px,7vw,80px) 0;
  background: var(--dbpro-surface);
}
.dbpro-compare__grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 24px;
  align-items: center;
  max-width: 900px;
  margin: 0 auto;
}
.dbpro-compare__card {
  padding: 28px;
  border-radius: 18px;
  border: 1px solid var(--dbpro-border);
}
.dbpro-compare__card--bad {
  background: rgba(239,68,68,.05);
  border-color: rgba(239,68,68,.2);
}
.dbpro-compare__card--good {
  background: rgba(20,184,166,.05);
  border-color: rgba(20,184,166,.25);
}
.dbpro-compare__label {
  margin-bottom: 18px;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.dbpro-compare__card--bad .dbpro-compare__label { color: #f87171; }
.dbpro-compare__card--good .dbpro-compare__label { color: var(--dbpro-teal); }
.dbpro-compare__list {
  margin: 0; padding: 0; list-style: none;
  display: grid; gap: 10px;
  font-size: 0.9rem; line-height: 1.5;
}
.dbpro-compare__item--bad,
.dbpro-compare__item--good {
  display: flex; align-items: baseline; gap: 8px;
}
.dbpro-compare__item--bad::before {
  content: "✗";
  color: #f87171;
  font-weight: 700;
  flex-shrink: 0;
}
.dbpro-compare__item--good::before {
  content: "✓";
  color: var(--dbpro-teal);
  font-weight: 700;
  flex-shrink: 0;
}
.dbpro-compare__vs {
  color: var(--dbpro-muted);
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-align: center;
}
/* ── FEATURES ── */
.dbpro-features {
  padding: clamp(48px,7vw,80px) 0;
}
.dbpro-features__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.dbpro-feat-card {
  padding: 24px;
  border-radius: 16px;
  border: 1px solid var(--dbpro-border);
  background: var(--dbpro-surface);
  transition: border-color .15s ease, transform .15s ease;
}
.dbpro-feat-card:hover {
  border-color: rgba(148,163,184,.22);
  transform: translateY(-3px);
}
.dbpro-feat-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px; height: 44px;
  border-radius: 12px;
  margin-bottom: 14px;
  background: rgba(20,184,166,.12);
  color: var(--dbpro-teal);
}
.dbpro-feat-card__icon svg { width: 22px; height: 22px; }
.dbpro-feat-card__icon--blue   { background: rgba(59,130,246,.12);  color: var(--dbpro-blue); }
.dbpro-feat-card__icon--purple { background: rgba(139,92,246,.12);  color: var(--dbpro-purple); }
.dbpro-feat-card__icon--green  { background: rgba(34,197,94,.12);   color: var(--dbpro-green); }
.dbpro-feat-card__icon--orange { background: rgba(249,115,22,.12);  color: var(--dbpro-orange); }
.dbpro-feat-card__icon--red    { background: rgba(239,68,68,.12);   color: var(--dbpro-red); }
.dbpro-feat-card h3 {
  margin: 0 0 8px;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
}
.dbpro-feat-card p {
  margin: 0;
  color: var(--dbpro-muted);
  font-size: 0.88rem;
  line-height: 1.65;
}
/* ── ACCESS (imagem + texto) ── */
.dbpro-access {
  padding: clamp(48px,7vw,80px) 0;
  background: var(--dbpro-surface);
}
.dbpro-access__inner {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: clamp(32px,5vw,64px);
  align-items: center;
}
.dbpro-access__content .dbpro-eyebrow { margin-bottom: 14px; }
.dbpro-access__content h2 {
  margin: 0 0 14px;
  color: #fff;
  font-size: clamp(1.45rem,3vw,2.1rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.03em;
}
.dbpro-access__content > p {
  color: var(--dbpro-muted);
  font-size: 0.96rem;
  line-height: 1.75;
  margin: 0 0 22px;
}
.dbpro-access__list {
  margin: 0; padding: 0; list-style: none;
  display: grid; gap: 12px;
}
.dbpro-access__list li {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 0.92rem; color: #94a3b8; line-height: 1.5;
}
.dbpro-access__list li svg { flex-shrink: 0; margin-top: 2px; }
.dbpro-access__img {
  width: 100%; border-radius: 14px;
  border: 1px solid rgba(255,255,255,.07);
  box-shadow: 0 30px 70px rgba(0,0,0,.45);
}
/* ── REPORT (imagem esquerda) ── */
.dbpro-report {
  padding: clamp(48px,7vw,80px) 0;
}
.dbpro-report__inner {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(32px,5vw,64px);
  align-items: center;
}
.dbpro-report__img {
  width: 100%; border-radius: 14px;
  border: 1px solid rgba(255,255,255,.07);
  box-shadow: 0 30px 70px rgba(0,0,0,.45);
}
.dbpro-report__content .dbpro-eyebrow { margin-bottom: 14px; }
.dbpro-report__content h2 {
  margin: 0 0 14px;
  color: #fff;
  font-size: clamp(1.45rem,3vw,2.1rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.03em;
}
.dbpro-report__content > p {
  color: var(--dbpro-muted);
  font-size: 0.96rem;
  line-height: 1.75;
  margin: 0 0 18px;
}
.dbpro-report__tags {
  display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px;
}
.dbpro-report__tags span {
  padding: 4px 12px;
  border-radius: 999px;
  background: rgba(59,130,246,.1);
  border: 1px solid rgba(59,130,246,.25);
  color: #93c5fd;
  font-size: 0.78rem;
  font-weight: 500;
}
.dbpro-report__note {
  margin: 0;
  padding: 14px 16px;
  border-radius: 12px;
  background: rgba(34,197,94,.07);
  border: 1px solid rgba(34,197,94,.2);
  color: #86efac;
  font-size: 0.88rem;
  line-height: 1.6;
}
.dbpro-report__note strong { color: #4ade80; }
/* ── HOW IT WORKS ── */
.dbpro-how {
  padding: clamp(48px,7vw,80px) 0;
  background: var(--dbpro-surface);
}
.dbpro-steps {
  max-width: 860px;
  margin: 0 auto;
  display: grid;
  gap: 0;
}
.dbpro-step {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 20px;
  padding: 28px 0;
  border-bottom: 1px solid var(--dbpro-border);
}
.dbpro-step:last-child { border-bottom: none; }
.dbpro-step__num {
  width: 52px; height: 52px;
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(20,184,166,.1);
  border: 1px solid rgba(20,184,166,.25);
  color: var(--dbpro-teal);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  flex-shrink: 0;
}
.dbpro-step__body h3 {
  margin: 0 0 10px;
  color: #fff;
  font-size: 1.08rem;
  font-weight: 600;
  padding-top: 12px;
}
.dbpro-step__body p {
  margin: 0 0 8px;
  color: var(--dbpro-muted);
  font-size: 0.93rem;
  line-height: 1.7;
}
.dbpro-step__body p:last-child { margin-bottom: 0; }
.dbpro-step__list {
  margin: 10px 0;
  padding-left: 18px;
  color: var(--dbpro-muted);
  font-size: 0.9rem;
  line-height: 1.8;
}
.dbpro-step__list li strong { color: #e2e8f0; }
/* ── TECH ── */
.dbpro-tech {
  padding: clamp(48px,7vw,80px) 0;
}
.dbpro-tech__grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 16px;
  margin-bottom: 24px;
}
.dbpro-tech__card {
  padding: 26px;
  border-radius: 16px;
  border: 1px solid var(--dbpro-border);
  background: var(--dbpro-surface);
}
.dbpro-tech__icon {
  display: flex; align-items: center; justify-content: center;
  width: 46px; height: 46px;
  border-radius: 12px;
  margin-bottom: 16px;
  background: rgba(20,184,166,.12);
  color: var(--dbpro-teal);
}
.dbpro-tech__icon svg { width: 22px; height: 22px; }
.dbpro-tech__icon--blue   { background: rgba(59,130,246,.12); color: var(--dbpro-blue); }
.dbpro-tech__icon--green  { background: rgba(34,197,94,.12);  color: var(--dbpro-green); }
.dbpro-tech__card h3 { margin: 0 0 8px; color: #fff; font-size: 1rem; font-weight: 600; }
.dbpro-tech__card p  { margin: 0 0 16px; color: var(--dbpro-muted); font-size: 0.88rem; line-height: 1.65; }
.dbpro-tech__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.dbpro-tech__tags span {
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(148,163,184,.08);
  border: 1px solid rgba(148,163,184,.15);
  color: var(--dbpro-muted);
  font-size: 0.75rem;
  font-weight: 500;
}
.dbpro-tech__queries {
  padding: 28px 32px;
  border-radius: 18px;
  border: 1px solid rgba(139,92,246,.25);
  background: rgba(139,92,246,.05);
}
.dbpro-tech__queries-content h3 {
  margin: 0 0 10px;
  color: #fff;
  font-size: 1.15rem;
  font-weight: 600;
}
.dbpro-tech__queries-content > p {
  margin: 0 0 20px;
  color: var(--dbpro-muted);
  font-size: 0.93rem;
}
.dbpro-tech__scenario {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.dbpro-tech__scenario-item { display: flex; flex-direction: column; gap: 8px; }
.dbpro-tech__scenario-item p {
  margin: 0;
  color: var(--dbpro-muted);
  font-size: 0.88rem;
  line-height: 1.65;
}
.dbpro-badge {
  display: inline-flex; align-items: center;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.dbpro-badge--teal {
  background: rgba(20,184,166,.15);
  border: 1px solid rgba(20,184,166,.3);
  color: var(--dbpro-teal);
}
.dbpro-badge--blue {
  background: rgba(59,130,246,.15);
  border: 1px solid rgba(59,130,246,.3);
  color: #93c5fd;
}
/* ── USE CASES ── */
.dbpro-usecases {
  padding: clamp(48px,7vw,80px) 0;
  background: var(--dbpro-surface);
}
.dbpro-usecases__grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 16px;
}
.dbpro-usecase {
  padding: 24px;
  border-radius: 16px;
  border: 1px solid var(--dbpro-border);
  background: var(--dbpro-bg);
}
.dbpro-usecase__icon { font-size: 2rem; margin-bottom: 12px; }
.dbpro-usecase h3 { margin: 0 0 8px; color: #fff; font-size: 1rem; font-weight: 600; }
.dbpro-usecase p  { margin: 0; color: var(--dbpro-muted); font-size: 0.88rem; line-height: 1.65; }
/* ── CTA FINAL ── */
.dbpro-cta {
  position: relative;
  overflow: hidden;
  padding: clamp(56px,8vw,96px) 0;
}
.dbpro-cta__bg {
  position: absolute; inset: 0; pointer-events: none;
}
.dbpro-cta__orb {
  position: absolute;
  width: 800px; height: 500px;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(20,184,166,.12), transparent 60%);
  filter: blur(50px);
}
.dbpro-cta__inner {
  position: relative; z-index: 1;
  text-align: center; max-width: 680px;
}
.dbpro-cta__title {
  margin: 0 0 16px;
  color: #fff;
  font-size: clamp(1.6rem,4vw,2.5rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.03em;
}
.dbpro-cta__desc {
  margin: 0 0 32px;
  color: var(--dbpro-muted);
  font-size: 1.02rem;
  line-height: 1.75;
}
.dbpro-cta__actions {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 14px;
  margin-bottom: 18px;
}
.dbpro-cta__note {
  margin: 0;
  color: var(--dbpro-muted);
  font-size: 0.82rem;
}
/* ── responsive ── */
@media (max-width: 1024px) {
  .dbpro-hero__inner   { grid-template-columns: 1fr; }
  .dbpro-hero__media   { order: -1; max-width: 680px; margin: 0 auto; }
  .dbpro-hero__content { max-width: 100%; text-align: center; }
  .dbpro-hero__actions,
  .dbpro-hero__stats   { justify-content: center; }
  .dbpro-access__inner,
  .dbpro-report__inner { grid-template-columns: 1fr; }
  .dbpro-report__media { order: -1; max-width: 680px; margin: 0 auto; }
  .dbpro-features__grid,
  .dbpro-tech__grid,
  .dbpro-usecases__grid { grid-template-columns: repeat(2,1fr); }
  .dbpro-compare__grid  { grid-template-columns: 1fr; max-width: 540px; }
  .dbpro-compare__vs    { display: none; }
}
@media (max-width: 640px) {
  .dbpro-features__grid,
  .dbpro-tech__grid,
  .dbpro-usecases__grid { grid-template-columns: 1fr; }
  .dbpro-tech__scenario  { grid-template-columns: 1fr; }
  .dbpro-hero__stats     { flex-direction: column; gap: 12px; }
  .dbpro-step            { grid-template-columns: 1fr; }
  .dbpro-step__num       { width: 40px; height: 40px; font-size: 0.85rem; }
}

/* Comparativo LOC-INST compacto (texto + limites) */
.mesites-loc-table-wrap--v2 {
  border-radius: 14px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04), 0 12px 32px rgba(15, 23, 42, 0.06);
  background: #fff;
}
.mesites-loc-table--v2 {
  table-layout: fixed;
  font-size: 0.76rem;
  line-height: 1.35;
}
.mesites-loc-table--v2 thead th {
  padding: 8px 6px;
  font-size: 0.7rem;
  letter-spacing: 0.02em;
}
.mesites-loc-table--v2 .mesites-loc-th-resource {
  width: 30%;
  min-width: 7.5rem;
}
.mesites-loc-table--v2 tbody th[scope="row"] {
  padding: 8px 10px;
  font-size: 0.78rem;
  font-weight: 700;
  color: #0f172a;
  background: #f1f5f9;
  border-right: 1px solid #e2e8f0;
}
.mesites-loc-table--v2 tbody td {
  padding: 7px 8px;
  border-left: 1px solid #f1f5f9;
}
.mesites-loc-table--v2 tbody tr:not(.mesites-loc-tr-section):nth-child(even) td {
  background: #fafbfc;
}
.mesites-loc-table--v2 tbody tr:not(.mesites-loc-tr-section):nth-child(even) th[scope="row"] {
  background: #e8eef5;
}
.mesites-loc-td-val {
  text-align: center !important;
  vertical-align: top !important;
  background: #fff !important;
}
.mesites-loc-td-main {
  display: block;
  font-weight: 700;
  font-size: 0.8rem;
  color: #0f172a;
  line-height: 1.3;
}
.mesites-loc-td-val--muted .mesites-loc-td-main {
  color: #475569;
  font-weight: 600;
}
.mesites-loc-td-sub {
  display: block;
  margin-top: 4px;
  font-size: 0.68rem;
  font-weight: 500;
  color: #64748b;
  line-height: 1.4;
  hyphens: auto;
}
.mesites-loc-table--quadro.mesites-loc-table--v2 tbody th[scope="row"] {
  font-size: 0.74rem;
}
.mesites-loc-table--v2 .mesites-loc-tr-section th {
  padding: 8px 10px !important;
  font-size: 0.62rem;
  letter-spacing: 0.08em;
}
.mesites-loc-legend--compact {
  margin: 0 0 8px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  background: transparent;
  border: none;
  font-size: 0.74rem;
  color: #64748b;
}
.mesites-loc-legend-chip {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 999px;
  background: #0f172a;
  color: #f8fafc;
  font-size: 0.62rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.mesites-loc-legend-hint {
  font-weight: 500;
  color: #64748b;
}
.mesites-loc-row-all--compact {
  text-align: left !important;
  padding: 9px 11px !important;
  background: #f0fdf4 !important;
  border-top: 1px solid #bbf7d0;
}
.mesites-loc-cell-hint--inline {
  display: inline;
  margin-left: 6px;
  font-size: 0.72rem;
  color: #475569;
}
.mesites-loc-check-inline {
  font-size: 1em;
  vertical-align: -0.12em;
}
@media (max-width: 720px) {
  .mesites-loc-table--v2 {
    font-size: 0.7rem;
  }
  .mesites-loc-table--v2 .mesites-loc-th-plan {
    font-size: 0.64rem;
    padding: 6px 4px;
  }
  .mesites-loc-td-sub {
    font-size: 0.64rem;
  }
}

.mesites-loc-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.75rem;
  margin: 0 0 0.75rem;
  padding: 0.55rem 0.75rem;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  font-size: 0.8rem;
  line-height: 1.4;
  color: #475569;
}

.mesites-loc-legend-sep {
  color: #cbd5e1;
  font-weight: 300;
}

.mesites-loc-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-weight: 600;
}

.mesites-loc-legend-item--yes .mesites-loc-legend-icon {
  color: #16a34a;
  font-weight: 800;
}

.mesites-loc-legend-item--no .mesites-loc-legend-icon {
  color: #94a3b8;
  font-weight: 800;
}

.mesites-loc-tr-section th {
  background: linear-gradient(90deg, #0f172a, #1e293b) !important;
  color: #f8fafc !important;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  padding: 11px 12px !important;
  text-align: left !important;
  border-bottom: none !important;
  vertical-align: middle;
}

.mesites-loc-th-sub {
  display: block;
  margin-top: 0.28rem;
  font-size: 0.78em;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  color: #64748b;
  line-height: 1.35;
}

.mesites-loc-table--quadro .mesites-loc-th-sub {
  color: #94a3b8;
}

.mesites-loc-td-yn {
  text-align: center !important;
  vertical-align: middle !important;
  font-size: 1.2rem;
  line-height: 1;
  min-width: 3.25rem;
}

.mesites-loc-td-yn--yes {
  background: #f0fdf4 !important;
  color: #166534;
}

.mesites-loc-td-yn--no {
  background: #f8fafc !important;
  color: #94a3b8;
}

.mesites-loc-yn-icon--yes {
  font-weight: 800;
}

.mesites-loc-yn-icon--no {
  font-weight: 700;
  opacity: 0.9;
}

.mesites-loc-outros-titulo {
  margin: 1.75rem 0 1rem;
  font-size: clamp(1rem, 2.2vw, 1.12rem);
  font-weight: 800;
  color: #0f172a;
}

.site-produtos-grid--outros-produtos {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.site-produtos-grid--embedded {
  margin-top: 1.5rem;
  margin-bottom: 0;
  max-width: none;
}
.site-produtos-grid--home-fallback .site-produto-card:first-child {
  border-color: rgba(45, 212, 191, 0.55);
  box-shadow: 0 0 0 1px rgba(45, 212, 191, 0.28), 0 12px 28px rgba(15, 23, 42, 0.18);
}
.prod-catalogo-grid {
  margin-top: 8px;
}
.produtos-strip-grid {
  padding: 0;
}
.site-produto-card {
  background: var(--surface, #111827);
  border: 1px solid var(--border, #1f2937);
  border-radius: var(--radius, 14px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.site-produto-card__media {
  aspect-ratio: 4 / 3;
  background: #0b1220;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.site-produto-card__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}
.site-produto-card__placeholder {
  font-size: clamp(2.2rem, 5vw, 3rem);
  font-weight: 800;
  color: rgba(148, 163, 184, 0.45);
}
.site-produto-card__body {
  padding: 1rem 1.05rem 1.15rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.site-produto-card__sku {
  font-size: 0.68rem;
  font-family: ui-monospace, monospace;
  color: var(--muted, #64748b);
  display: inline-block;
  margin-bottom: 0.35rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.site-produto-card__title {
  font-size: 1rem;
  margin: 0 0 0.45rem;
  line-height: 1.3;
}
.site-produto-card__desc {
  font-size: 0.86rem;
  color: var(--muted, #94a3b8);
  line-height: 1.45;
  margin: 0 0 auto;
}
.site-produto-card__price {
  margin: 0.85rem 0 0;
  font-size: 1.15rem;
  font-weight: 800;
  color: #fdba74;
}
.site-produto-card__price span {
  font-size: 0.75rem;
  font-weight: 600;
  opacity: 0.85;
  margin-right: 0.35rem;
  vertical-align: super;
}
.site-produto-card__price--before-detail {
  margin: 0.35rem 0 0.65rem !important;
}
/* Planos LOC-INST: descrição HTML resumida no card (comparativo único no grid) */
.site-produto-card__rich {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.55;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}
.site-produto-card--plano-loc .site-produto-card__body {
  min-width: 0;
}
.site-produto-card__rich :is(h2, h3) {
  color: #f1f5f9 !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  margin: 0.65rem 0 0.4rem !important;
}
.site-produto-card__rich :is(h2, h3):first-child {
  margin-top: 0 !important;
}
.site-produto-card__rich p,
.site-produto-card__rich li {
  color: #94a3b8 !important;
}
.site-produto-card__rich ul {
  padding-left: 1.1em;
  margin: 0 0 0.65rem;
}
.site-produto-card__rich table {
  font-size: 0.72rem !important;
  border-color: rgba(148, 163, 184, 0.35) !important;
  color: #94a3b8 !important;
}
.site-produto-card__rich th {
  color: #f1f5f9 !important;
  background: rgba(30, 41, 59, 0.75) !important;
}
.site-produto-card__rich td {
  border-color: rgba(51, 65, 85, 0.55) !important;
}
@media (max-width: 900px) {
  .site-produtos-grid:not(.site-produtos-grid--com-preamble) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
  }
  .site-produtos-grid--com-preamble .site-produtos-loc-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
  }
}
@media (max-width: 460px) {
  .site-produtos-grid:not(.site-produtos-grid--com-preamble) {
    grid-template-columns: 1fr;
  }
  .site-produtos-grid--com-preamble .site-produtos-loc-card-grid {
    grid-template-columns: 1fr;
  }
}
.prose .html-content:has(.site-produtos-grid) {
  overflow: visible;
}



/* ================================================================
   5 NOVOS TEMAS — CONCEITOS RADICALMENTE DIFERENTES
   velvet  · verdant · soleil · mist · terra
   ================================================================ */

/* ---------------------------------------------------------------
   1. VELVET — Art Deco Lumière
      Cabecalho "masthead": marca centralizada enorme em Playfair,
      faixa de navegacao separada abaixo. Fundo marfim com grade de
      ouro. Cantos vivos (radius 0). Ouro escuro + marfim + castanho.
   --------------------------------------------------------------- */

.theme-site.theme-site--velvet {
  --blue-900: #18120a;
  --blue-800: #2c1e0e;
  --blue-600: #b8860b;
  --blue-500: #d4a85a;
  --blue-100: #f0dea6;
  --blue-50: #faf6ed;
  --red-600: #7c3d0c;
  --red-500: #c49a6c;
  --bg: #faf6ed;
  --bg-pattern: #f0e6cc;
  --surface: #fffef9;
  --surface-2: #f5edd8;
  --border: #d4a85a;
  --text: #18120a;
  --muted: #7a6035;
  --accent-blue: #b8860b;
  --accent-red: #7c3d0c;
  --focus: #d4a85a;
  --radius: 0px;
  --radius-sm: 0px;
  --shadow: 0 2px 0 #d4a85a, 0 4px 20px rgba(24,18,10,.06);
  --shadow-lg: 0 4px 0 #b8860b, 0 20px 48px rgba(24,18,10,.10);
  --font-sans: "Outfit", system-ui, sans-serif;
  --font-display: "Playfair Display", Georgia, serif;
  background-color: var(--bg);
  background-image:
    repeating-linear-gradient(0deg, transparent, transparent 47px,
      rgba(180,134,11,.09) 47px, rgba(180,134,11,.09) 48px),
    repeating-linear-gradient(90deg, transparent, transparent 47px,
      rgba(180,134,11,.09) 47px, rgba(180,134,11,.09) 48px);
}

/* -- Masthead header (two-tier: brand top + nav bottom) ----------- */
.theme-site.theme-site--velvet .site-header {
  background: #18120a;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 3px solid #b8860b;
  box-shadow: 0 4px 24px rgba(24,18,10,.35);
}

.theme-site.theme-site--velvet .header-masthead {
  position: relative;
}

.theme-site.theme-site--velvet .header-masthead-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.1rem 1.5rem 0.85rem;
  border-bottom: 1px solid rgba(212,168,90,.28);
  position: relative;
  text-align: center;
}

/* Art Deco corner ornaments on the brand tier */
.theme-site.theme-site--velvet .header-masthead-brand::before,
.theme-site.theme-site--velvet .header-masthead-brand::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 120px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #d4a85a 60%, #b8860b);
}
.theme-site.theme-site--velvet .header-masthead-brand::before {
  right: calc(50% + 140px);
}
.theme-site.theme-site--velvet .header-masthead-brand::after {
  left: calc(50% + 140px);
  background: linear-gradient(90deg, #b8860b, #d4a85a 40%, transparent);
}

.theme-site.theme-site--velvet .brand--masthead {
  text-decoration: none;
  text-align: center;
}

.theme-site.theme-site--velvet .brand--masthead strong {
  display: block;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.5rem, 4.5vw, 3.2rem);
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #d4a85a;
  line-height: 1;
}

.theme-site.theme-site--velvet .brand--masthead small {
  display: block;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 0.65rem;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: rgba(212,168,90,.55);
  margin-top: 0.35rem;
  font-weight: 400;
}

.theme-site.theme-site--velvet .brand--masthead .header-contact-inline {
  margin-left: 1.5rem;
}

.theme-site.theme-site--velvet .header-masthead-nav {
  padding: 0.2rem 0;
  background: rgba(24,18,10,.6);
}

.theme-site.theme-site--velvet .header-masthead-nav > .wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.theme-site.theme-site--velvet .header-masthead .menu-toggle--masthead {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: none;
  border: 1px solid rgba(212,168,90,.4);
  padding: 0.4rem 0.6rem;
  cursor: pointer;
  display: none;
}

.theme-site.theme-site--velvet .header-masthead .menu-toggle--masthead .tog-icon span {
  display: block;
  width: 20px;
  height: 2px;
  background: #d4a85a;
  margin: 4px 0;
}

/* Nav links: gold on dark */
.theme-site.theme-site--velvet .nav-list > li > a {
  color: rgba(212,168,90,.82);
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 500;
  border-radius: 0;
  padding: 0.6rem 0.9rem;
}

.theme-site.theme-site--velvet .nav-list > li > a:hover {
  background: rgba(212,168,90,.12);
  color: #d4a85a;
}

/* Botoes Art Deco */
.theme-site.theme-site--velvet .btn-primary {
  background: transparent;
  border: 1px solid #b8860b;
  color: #b8860b;
  border-radius: 0;
  font-family: "Outfit", system-ui, sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.82rem;
  font-weight: 600;
}
.theme-site.theme-site--velvet .btn-primary:hover {
  background: #b8860b;
  color: #18120a;
}

/* Secoes */
.theme-site.theme-site--velvet .stats {
  background: #18120a;
  border-block: 3px solid #b8860b;
  position: relative;
}
.theme-site.theme-site--velvet .stats .stat-num { color: #d4a85a; }
.theme-site.theme-site--velvet .stats .stat-label { color: #f0dea6; }
.theme-site.theme-site--velvet .stats .stat-sub { color: rgba(240,222,166,.5); }

.theme-site.theme-site--velvet .features { background: #fffef9; }
.theme-site.theme-site--velvet .features .feature-card,
.theme-site.theme-site--velvet .card {
  border: 1px solid #d4a85a;
  border-radius: 0;
  box-shadow: 4px 4px 0 #d4a85a;
}

.theme-site.theme-site--velvet .cta-band {
  background: #18120a;
  border-top: 3px solid #b8860b;
  border-bottom: 3px solid #b8860b;
  position: relative;
}
.theme-site.theme-site--velvet .cta-band::before {
  content: "";
  position: absolute;
  inset: 6px;
  border: 1px solid rgba(212,168,90,.3);
  pointer-events: none;
}

.theme-site.theme-site--velvet .site-footer {
  background: #0e0b06;
  border-top: 3px solid #b8860b;
}

/* Mobile: masthead collapses */
@media (max-width: 900px) {
  .theme-site.theme-site--velvet .header-masthead-brand::before,
  .theme-site.theme-site--velvet .header-masthead-brand::after { display: none; }
  .theme-site.theme-site--velvet .brand--masthead strong { font-size: clamp(1.1rem, 5vw, 1.8rem); }
  .theme-site.theme-site--velvet .header-masthead .menu-toggle--masthead { display: flex; }
}


/* ---------------------------------------------------------------
   2. VERDANT — Bauhaus Prism (refatorado)
      Preto absoluto #080808 · Verde-limão elétrico #B2FF00
      Header split-panel: bloco preto + rail branco.
      Submenus pretos com accent lime. Diagonal clip-path.
      Tipografia: Barlow Semi Condensed 800 maiúsculo.
   --------------------------------------------------------------- */

/* ── Tokens ─────────────────────────────────────────────────────── */
.theme-site.theme-site--verdant {
  --vd-black:   #080808;
  --vd-dark:    #141414;
  --vd-lime:    #B2FF00;
  --vd-lime-dk: #8ACC00;
  --vd-lime-lt: #D4FF66;
  --vd-white:   #F7F8F3;
  --vd-text:    #0D0D0D;
  --vd-muted:   #525252;
  --vd-border:  #D6D6D6;

  --blue-900: #080808;
  --blue-800: #141414;
  --blue-600: #B2FF00;
  --blue-500: #D4FF66;
  --blue-100: #e8ffb3;
  --blue-50:  #f4ffe6;
  --red-600:  #080808;
  --red-500:  #141414;
  --bg:       #F7F8F3;
  --bg-pattern: #EDEEE8;
  --surface:  #ffffff;
  --surface-2: #F7F8F3;
  --border:   #D6D6D6;
  --text:     #0D0D0D;
  --muted:    #525252;
  --accent-blue: #080808;
  --accent-red:  #B2FF00;
  --focus:    #B2FF00;
  --radius:   2px;
  --radius-sm: 1px;
  --shadow:   0 2px 16px rgba(0,0,0,.09);
  --shadow-lg: 0 16px 48px rgba(0,0,0,.14);
  --font-sans: "Barlow", system-ui, sans-serif;
  --font-display: "Barlow Semi Condensed", "Barlow", system-ui, sans-serif;
  background: var(--vd-white);
  color: var(--vd-text);
}

/* Tipografia Bauhaus: condensada e maiúscula */
.theme-site.theme-site--verdant h1,
.theme-site.theme-site--verdant h2,
.theme-site.theme-site--verdant h3,
.theme-site.theme-site--verdant h4 {
  font-family: "Barlow Semi Condensed", "Barlow", system-ui, sans-serif;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  font-weight: 800;
}

/* ── Split-panel header ─────────────────────────────────────────── */
.theme-site.theme-site--verdant .site-header {
  background: transparent;
  border-bottom: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  padding: 0;
  position: sticky;
  top: 0;
  z-index: 900;
}

.theme-site.theme-site--verdant .header-split-panel {
  display: grid;
  grid-template-columns: minmax(200px, 26%) 1fr;
  min-height: 76px;
  align-items: stretch;
}

/* Painel esquerdo: preto absoluto */
.theme-site.theme-site--verdant .header-split-brand {
  background: var(--vd-black);
  display: flex;
  align-items: center;
  padding: 0 1.8rem;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}

/* Triângulo lime no canto inferior-direito */
.theme-site.theme-site--verdant .header-split-brand::before {
  content: "";
  position: absolute;
  bottom: 0; right: 0;
  width: 52px; height: 52px;
  background: var(--vd-lime);
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}

/* Barra lime vertical direita */
.theme-site.theme-site--verdant .header-split-brand::after {
  content: "";
  position: absolute;
  right: 0; top: 0; bottom: 0;
  width: 5px;
  background: linear-gradient(180deg, var(--vd-lime) 0%, var(--vd-lime-dk) 100%);
  z-index: 2;
}

.theme-site.theme-site--verdant .brand--split {
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 12px;
  position: relative;
  z-index: 3;
}

.theme-site.theme-site--verdant .brand--split .brand__logo {
  max-height: 42px;
  width: auto;
}

.theme-site.theme-site--verdant .brand--split strong {
  display: block;
  font-family: "Barlow Semi Condensed", "Barlow", system-ui, sans-serif;
  font-size: clamp(1rem, 2.3vw, 1.5rem);
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #ffffff;
  line-height: 1.05;
}

.theme-site.theme-site--verdant .brand--split small {
  display: block;
  font-size: 0.59rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--vd-lime);
  margin-top: 0.28rem;
  font-weight: 600;
  font-family: "Barlow", system-ui, sans-serif;
}

/* Painel direito: branco com borda lime espessa */
.theme-site.theme-site--verdant .header-split-nav {
  background: #ffffff;
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0 1.8rem;
  border-bottom: 5px solid var(--vd-lime);
  box-shadow: inset 5px 0 0 var(--vd-lime);
}

.theme-site.theme-site--verdant .header-split-nav .menu-toggle {
  margin-left: auto;
}

/* ── Nav links ──────────────────────────────────────────────────── */
.theme-site.theme-site--verdant .nav-list > li > a {
  color: var(--vd-text);
  font-family: "Barlow", system-ui, sans-serif;
  font-weight: 700;
  font-size: 0.79rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  border-radius: 1px;
  padding: 0.42rem 0.75rem;
  transition: background .15s, color .15s;
}

.theme-site.theme-site--verdant .nav-list > li > a:hover,
.theme-site.theme-site--verdant .nav-list > li > a:focus-visible {
  background: var(--vd-lime);
  color: var(--vd-black);
}

/* Submenus: preto com borda lime */
.theme-site.theme-site--verdant .submenu {
  background: var(--vd-black) !important;
  border: 1px solid var(--vd-lime) !important;
  border-top: 3px solid var(--vd-lime) !important;
  border-radius: 1px !important;
  box-shadow: 0 20px 48px rgba(0,0,0,.45), 4px 0 0 rgba(178,255,0,.18) inset !important;
}

.theme-site.theme-site--verdant .submenu li a {
  color: rgba(255,255,255,.85);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  border-left: 3px solid transparent;
  transition: background .14s, border-color .14s, color .14s;
}

.theme-site.theme-site--verdant .submenu li a:hover {
  background: rgba(178,255,0,.14);
  border-left-color: var(--vd-lime);
  color: var(--vd-lime);
}

/* ── Botões ─────────────────────────────────────────────────────── */
.theme-site.theme-site--verdant .btn-primary {
  background: var(--vd-black);
  border: 2px solid var(--vd-black);
  color: var(--vd-lime);
  border-radius: 1px;
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 0.84rem;
  transition: background .18s, color .18s, border-color .18s;
}

.theme-site.theme-site--verdant .btn-primary:hover {
  background: var(--vd-lime);
  border-color: var(--vd-lime);
  color: var(--vd-black);
}

.theme-site.theme-site--verdant .btn-secondary {
  background: transparent;
  border: 2px solid var(--vd-black);
  color: var(--vd-black);
  border-radius: 1px;
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: background .18s, color .18s;
}

.theme-site.theme-site--verdant .btn-secondary:hover {
  background: var(--vd-black);
  color: var(--vd-lime);
}

/* ── Cards ──────────────────────────────────────────────────────── */
.theme-site.theme-site--verdant .card,
.theme-site.theme-site--verdant .feature-card {
  border: 2px solid var(--vd-border);
  border-radius: 2px;
  transition: border-color .2s, box-shadow .2s;
}

.theme-site.theme-site--verdant .card:hover,
.theme-site.theme-site--verdant .feature-card:hover {
  border-color: var(--vd-lime);
  box-shadow: 0 0 0 1px var(--vd-lime), 0 8px 32px rgba(0,0,0,.1);
}

/* ── Stats — preto diagonal ─────────────────────────────────────── */
.theme-site.theme-site--verdant .stats {
  background: var(--vd-black);
  clip-path: polygon(0 0, 100% 4%, 100% 96%, 0 100%);
  padding-block: calc(4.5rem + 2.5vw);
  border-block: none;
}

.theme-site.theme-site--verdant .stats .stat-num {
  color: var(--vd-lime);
  font-family: "Barlow Semi Condensed", sans-serif;
  font-size: clamp(2.4rem, 5vw, 3.8rem);
  font-weight: 800;
  letter-spacing: -0.02em;
}

.theme-site.theme-site--verdant .stats .stat-label {
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 700;
}

.theme-site.theme-site--verdant .stats .stat-sub {
  color: rgba(255,255,255,.42);
  font-size: 0.8rem;
}

/* ── Features / Sobre ───────────────────────────────────────────── */
.theme-site.theme-site--verdant .features,
.theme-site.theme-site--verdant .whyus { background: #F7F8F3; }

.theme-site.theme-site--verdant .section-label,
.theme-site.theme-site--verdant .overline {
  color: var(--vd-lime-dk);
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 0.72rem;
}

/* ── CTA Band — verde-limão diagonal ────────────────────────────── */
.theme-site.theme-site--verdant .cta-band {
  background: var(--vd-lime);
  clip-path: polygon(0 6%, 100% 0, 100% 94%, 0 100%);
  padding-block: calc(4.5rem + 2.5vw);
  position: relative;
}

.theme-site.theme-site--verdant .cta-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    -45deg, transparent, transparent 18px,
    rgba(0,0,0,.035) 18px, rgba(0,0,0,.035) 20px
  );
  pointer-events: none;
}

.theme-site.theme-site--verdant .cta-band h2,
.theme-site.theme-site--verdant .cta-band p { color: var(--vd-black); }

.theme-site.theme-site--verdant .cta-band .btn-primary {
  background: var(--vd-black);
  border-color: var(--vd-black);
  color: var(--vd-lime);
}

.theme-site.theme-site--verdant .cta-band .btn-primary:hover {
  background: #ffffff;
  border-color: #ffffff;
  color: var(--vd-black);
}

/* ── Footer ─────────────────────────────────────────────────────── */
.theme-site.theme-site--verdant .site-footer {
  background: var(--vd-black);
  color: rgba(255,255,255,.72);
  border-top: 5px solid var(--vd-lime);
}

.theme-site.theme-site--verdant .site-footer h3,
.theme-site.theme-site--verdant .site-footer .footer-col-title {
  color: var(--vd-lime);
  font-family: "Barlow Semi Condensed", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.78rem;
}

.theme-site.theme-site--verdant .site-footer a {
  color: rgba(255,255,255,.6);
  transition: color .15s;
}

.theme-site.theme-site--verdant .site-footer a:hover { color: var(--vd-lime); }

.theme-site.theme-site--verdant .site-footer .footer-bottom {
  border-top: 1px solid rgba(178,255,0,.14);
  color: rgba(255,255,255,.38);
}

/* ── Trust bar ──────────────────────────────────────────────────── */
.theme-site.theme-site--verdant .trust-bar,
.theme-site.theme-site--verdant .trust-bar-wrap {
  background: var(--vd-black);
  border-bottom: 3px solid var(--vd-lime);
}

.theme-site.theme-site--verdant .trust-bar-icon { color: var(--vd-lime); }

.theme-site.theme-site--verdant .trust-bar-text {
  color: rgba(255,255,255,.8);
  font-size: 0.77rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* ── Depoimentos ─────────────────────────────────────────────────── */
.theme-site.theme-site--verdant .testimonial-card {
  border-left: 4px solid var(--vd-lime);
  background: #ffffff;
}

/* ── FAQ ─────────────────────────────────────────────────────────── */
.theme-site.theme-site--verdant .faq-item summary {
  font-family: "Barlow Semi Condensed", sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.theme-site.theme-site--verdant .faq-item summary:hover { color: var(--vd-lime-dk); }

/* ── Mobile: empilha ────────────────────────────────────────────── */
@media (max-width: 900px) {
  .theme-site.theme-site--verdant .header-split-panel {
    display: flex;
    flex-direction: column;
  }
  .theme-site.theme-site--verdant .header-split-brand {
    padding: 0.7rem 1.1rem;
    min-height: 58px;
  }
  .theme-site.theme-site--verdant .header-split-brand::before { display: none; }
  .theme-site.theme-site--verdant .header-split-brand::after {
    top: auto; right: 0; bottom: 0; left: 0;
    width: auto; height: 4px;
  }
  .theme-site.theme-site--verdant .header-split-nav {
    padding: 0.5rem 1.1rem;
    border-bottom-width: 4px;
    box-shadow: none;
  }
  .theme-site.theme-site--verdant .stats,
  .theme-site.theme-site--verdant .cta-band {
    clip-path: none;
    padding-block: 3.5rem;
  }
}

/* ── Drawer mobile: preto + lime ────────────────────────────────── */
@media (max-width: 1199px) {
  .theme-site.theme-site--verdant .site-header .nav-main {
    background: var(--vd-black);
    border-bottom: 4px solid var(--vd-lime);
    box-shadow: 0 20px 48px rgba(0,0,0,.45);
  }
  .theme-site.theme-site--verdant .site-header .nav-main .nav-list > li > a {
    color: rgba(255,255,255,.92);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
  }
  .theme-site.theme-site--verdant .site-header .nav-main .nav-list > li > a:hover {
    background: rgba(178,255,0,.15);
    color: var(--vd-lime);
  }
  .theme-site.theme-site--verdant .site-header .nav-main .submenu {
    background: rgba(14,14,14,.99);
    border: 1px solid rgba(178,255,0,.3);
  }
  .theme-site.theme-site--verdant .site-header .nav-main .submenu li a {
    color: rgba(255,255,255,.78);
  }
  .theme-site.theme-site--verdant .site-header .nav-main .submenu li a:hover {
    background: rgba(178,255,0,.12);
    color: var(--vd-lime);
  }
}


/* ---------------------------------------------------------------
   3. SOLEIL — Glass Dream
      Cabecalho flutuante em capsula de vidro fosco. Fundo de
      malha gradiente quente (pessego/rosa/lavanda). Tudo em
      pilulas (radius 50px+). Morfismo de vidro generalizado.
      Paleta: rosa, coral, pessego. Tipografia: Plus Jakarta Sans.
   --------------------------------------------------------------- */

.theme-site.theme-site--soleil {
  --blue-900: #4a0020;
  --blue-800: #881337;
  --blue-600: #e11d48;
  --blue-500: #f43f5e;
  --blue-100: #ffd6e0;
  --blue-50: #fff1f5;
  --red-600: #c2410c;
  --red-500: #fb923c;
  --bg: #fff1f2;
  --bg-pattern: #ffe4e6;
  --surface: rgba(255,255,255,.72);
  --surface-2: rgba(255,255,255,.48);
  --border: rgba(255,180,196,.45);
  --text: #1a0810;
  --muted: #8f3352;
  --accent-blue: #e11d48;
  --accent-red: #fb923c;
  --focus: #f43f5e;
  --radius: 50px;
  --radius-sm: 36px;
  --shadow: 0 8px 32px rgba(225,29,72,.12), 0 2px 8px rgba(0,0,0,.06);
  --shadow-lg: 0 24px 64px rgba(225,29,72,.16);
  --font-sans: "Plus Jakarta Sans", system-ui, sans-serif;
  --font-display: "Plus Jakarta Sans", system-ui, sans-serif;
  background: #fff1f2;
  background-image:
    radial-gradient(ellipse 1000px 600px at 20% -10%,  rgba(251,113,133,.30), transparent 55%),
    radial-gradient(ellipse 800px 700px  at 85%  5%,  rgba(251,191,36,.20),  transparent 55%),
    radial-gradient(ellipse 900px 500px  at 60%  90%, rgba(192,132,252,.24), transparent 52%),
    radial-gradient(ellipse 700px 600px  at -5%  70%, rgba(248,113,113,.18), transparent 52%);
  background-attachment: fixed;
}

/* Cabecalho flutuante em capsula de vidro */
.theme-site.theme-site--soleil .site-header {
  background: rgba(255,255,255,.22);
  backdrop-filter: saturate(200%) blur(24px);
  -webkit-backdrop-filter: saturate(200%) blur(24px);
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 60px;
  box-shadow: 0 8px 32px rgba(225,29,72,.10), inset 0 1px 0 rgba(255,255,255,.6);
  margin: 14px auto;
  max-width: calc(100% - 32px);
  position: sticky;
  top: 14px;
  width: min(1180px, 100% - 32px);
  left: 50%;
  transform: none;
}

.theme-site.theme-site--soleil .header-inner.wrap {
  width: 100%;
  max-width: none;
  padding: 0.4rem 1.5rem;
  min-height: 56px;
}

.theme-site.theme-site--soleil .brand { background: none; }

.theme-site.theme-site--soleil .brand strong {
  font-weight: 800;
  background: linear-gradient(135deg, #e11d48, #fb923c);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.theme-site.theme-site--soleil .nav-list > li > a {
  color: #4a0020;
  border-radius: 40px;
  font-weight: 600;
}

.theme-site.theme-site--soleil .nav-list > li > a:hover {
  background: rgba(225,29,72,.1);
  color: #e11d48;
}

/* Botoes: gradiente rosa */
.theme-site.theme-site--soleil .btn-primary {
  background: linear-gradient(135deg, #e11d48, #fb923c);
  border: none;
  border-radius: 50px;
  color: #fff;
  font-weight: 700;
  box-shadow: 0 4px 16px rgba(225,29,72,.3);
}
.theme-site.theme-site--soleil .btn-primary:hover {
  background: linear-gradient(135deg, #be123c, #ea580c);
  box-shadow: 0 6px 24px rgba(225,29,72,.4);
  transform: translateY(-1px);
}

/* Glass cards / sections */
.theme-site.theme-site--soleil .stats {
  background: rgba(255,255,255,.35);
  backdrop-filter: blur(16px);
  border-block: 1px solid rgba(255,255,255,.5);
}

.theme-site.theme-site--soleil .features {
  background: rgba(255,255,255,.20);
}

.theme-site.theme-site--soleil .features .feature-card,
.theme-site.theme-site--soleil .card {
  background: rgba(255,255,255,.60);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 28px;
  box-shadow: 0 8px 24px rgba(225,29,72,.08);
}

.theme-site.theme-site--soleil .cta-band {
  background: linear-gradient(135deg, #e11d48, #f43f5e 35%, #fb923c 70%, #fbbf24);
  border-radius: 32px;
  margin-inline: 1.5rem;
  box-shadow: 0 16px 48px rgba(225,29,72,.25);
}

.theme-site.theme-site--soleil .site-footer {
  background: rgba(255,255,255,.30);
  backdrop-filter: blur(20px);
  border-top: 1px solid rgba(255,255,255,.5);
}

/* Mobile: capsula vira header normal */
@media (max-width: 768px) {
  .theme-site.theme-site--soleil .site-header {
    border-radius: 24px;
    margin: 8px;
    max-width: calc(100% - 16px);
    top: 8px;
  }
  .theme-site.theme-site--soleil .cta-band { margin-inline: 0.75rem; }
}


/* ---------------------------------------------------------------
   4. MIST — Monolith
      Cabecalho solido preto total (sem blur, sem transparencia).
      Fundo cinza claro frio. UM unico acento: vermelho #FF1F2E.
      Tipografia Oswald condensada. Secao de stats totalmente preta.
      Brutalismo editorial — zero decoracao.
   --------------------------------------------------------------- */

.theme-site.theme-site--mist {
  --blue-900: #0a0a0a;
  --blue-800: #1a1a1a;
  --blue-600: #ff1f2e;
  --blue-500: #ff4d58;
  --blue-100: #ffe0e2;
  --blue-50: #fff5f5;
  --red-600: #cc0011;
  --red-500: #ff1f2e;
  --bg: #f2f2f2;
  --bg-pattern: #e8e8e8;
  --surface: #ffffff;
  --surface-2: #f0f0f0;
  --border: #d0d0d0;
  --text: #0a0a0a;
  --muted: #555555;
  --accent-blue: #ff1f2e;
  --accent-red: #0a0a0a;
  --focus: #ff1f2e;
  --radius: 0px;
  --radius-sm: 0px;
  --shadow: 0 2px 8px rgba(0,0,0,.08);
  --shadow-lg: 0 12px 40px rgba(0,0,0,.14);
  --font-sans: "Barlow", system-ui, sans-serif;
  --font-display: "Oswald", "Barlow", system-ui, sans-serif;
  background: #f2f2f2;
}

/* h1/h2/h3 em Oswald condensado */
.theme-site.theme-site--mist h1,
.theme-site.theme-site--mist h2,
.theme-site.theme-site--mist h3,
.theme-site.theme-site--mist .hero-caption h1,
.theme-site.theme-site--mist .features h2 {
  font-family: "Oswald", "Barlow", system-ui, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

/* Cabecalho: bloco preto solido total */
.theme-site.theme-site--mist .site-header {
  background: #0a0a0a;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 4px solid #ff1f2e;
  box-shadow: none;
}

.theme-site.theme-site--mist .brand { background: none; }

.theme-site.theme-site--mist .brand strong {
  font-family: "Oswald", sans-serif;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 1.25rem;
  color: #ffffff;
}

.theme-site.theme-site--mist .brand small {
  color: #ff1f2e;
  font-size: 0.6rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.theme-site.theme-site--mist .nav-list > li > a {
  color: #cccccc;
  font-family: "Barlow", sans-serif;
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 0;
  border-bottom: 2px solid transparent;
  padding-bottom: 0.5rem;
}
.theme-site.theme-site--mist .nav-list > li > a:hover {
  color: #ff1f2e;
  background: none;
  border-bottom-color: #ff1f2e;
}

/* Toggle: hamburger branco */
.theme-site.theme-site--mist .menu-toggle { color: #ffffff; }
.theme-site.theme-site--mist .menu-toggle .tog-icon span { background: #ffffff; }

/* Botoes: vermelho / preto */
.theme-site.theme-site--mist .btn-primary {
  background: #ff1f2e;
  border-color: #ff1f2e;
  color: #ffffff;
  border-radius: 0;
  font-family: "Oswald", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.theme-site.theme-site--mist .btn-primary:hover {
  background: #cc0011;
  border-color: #cc0011;
}

/* Stats: bloco preto com acento vermelho */
.theme-site.theme-site--mist .stats {
  background: #0a0a0a;
  border-block: none;
  padding-block: 4.5rem;
}
.theme-site.theme-site--mist .stats .stat-num {
  color: #ff1f2e;
  font-family: "Oswald", sans-serif;
  font-size: clamp(2.5rem, 6vw, 5rem);
  font-weight: 700;
}
.theme-site.theme-site--mist .stats .stat-label { color: #ffffff; font-family: "Oswald", sans-serif; text-transform: uppercase; }
.theme-site.theme-site--mist .stats .stat-sub { color: rgba(255,255,255,.45); }

/* Features: fundo branco com border esquerda vermelha nos cards */
.theme-site.theme-site--mist .features { background: #ffffff; }
.theme-site.theme-site--mist .feature-card,
.theme-site.theme-site--mist .card {
  border-left: 4px solid #ff1f2e;
  border-radius: 0;
  box-shadow: none;
}

/* CTA: bloco preto */
.theme-site.theme-site--mist .cta-band {
  background: #0a0a0a;
  border-top: 4px solid #ff1f2e;
}

.theme-site.theme-site--mist .site-footer {
  background: #0a0a0a;
  border-top: 4px solid #ff1f2e;
}


/* ---------------------------------------------------------------
   5. TERRA — Iridescent Pearl
      Cabecalho quase transparente com borda iridescente (gradiente
      lavanda→rosa→dourado). Fundo pérola. Tudo ultra-arredondado
      (radius 40px+). Cores: lavanda #C084FC, rosa #F43F5E, dourado.
      Tipografia: Poppins + Playfair Display. Brilho iridescente.
   --------------------------------------------------------------- */

.theme-site.theme-site--terra {
  --blue-900: #2e0040;
  --blue-800: #5b0080;
  --blue-600: #c084fc;
  --blue-500: #d8b4fe;
  --blue-100: #f3e8ff;
  --blue-50: #fdf4ff;
  --red-600: #be123c;
  --red-500: #f43f5e;
  --bg: #fefcff;
  --bg-pattern: #f8f0ff;
  --surface: #ffffff;
  --surface-2: #f9f0ff;
  --border: rgba(192,132,252,.3);
  --text: #1a0b2e;
  --muted: #7c4b8a;
  --accent-blue: #9333ea;
  --accent-red: #f43f5e;
  --focus: #c084fc;
  --radius: 40px;
  --radius-sm: 28px;
  --shadow: 0 8px 40px rgba(147,51,234,.10);
  --shadow-lg: 0 24px 72px rgba(147,51,234,.16);
  --font-sans: "Poppins", system-ui, sans-serif;
  --font-display: "Playfair Display", Georgia, serif;
  background-color: #fefcff;
  background-image:
    radial-gradient(ellipse 900px 500px at 15% -5%, rgba(192,132,252,.20), transparent 55%),
    radial-gradient(ellipse 700px 600px at 85% 10%, rgba(244,63,94,.12), transparent 50%),
    radial-gradient(ellipse 1000px 400px at 50% 100%, rgba(251,191,36,.10), transparent 55%);
}

/* Cabecalho: borda iridescente com fundo quase transparente */
.theme-site.theme-site--terra .site-header {
  background: rgba(255,252,255,.55);
  backdrop-filter: saturate(180%) blur(18px);
  -webkit-backdrop-filter: saturate(180%) blur(18px);
  border-bottom: 2px solid transparent;
  background-clip: padding-box;
  box-shadow:
    0 0 0 2px transparent,
    0 0 0 2.5px rgba(192,132,252,.0);
  position: relative;
}
/* Borda iridescente via pseudo-elemento */
.theme-site.theme-site--terra .site-header::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, #c084fc, #f43f5e, #fbbf24, #818cf8, #c084fc);
  background-size: 200% 100%;
  animation: iridescent-border 4s linear infinite;
}
@keyframes iridescent-border {
  0%   { background-position: 0% 0%; }
  100% { background-position: 200% 0%; }
}

.theme-site.theme-site--terra .brand { background: none; }

.theme-site.theme-site--terra .brand strong {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 700;
  font-size: 1.2rem;
  background: linear-gradient(135deg, #9333ea, #f43f5e, #fbbf24);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.theme-site.theme-site--terra .brand small {
  color: #7c4b8a;
  font-size: 0.65rem;
  letter-spacing: 0.1em;
}

.theme-site.theme-site--terra .nav-list > li > a {
  color: #2e0040;
  border-radius: 40px;
  font-weight: 500;
}
.theme-site.theme-site--terra .nav-list > li > a:hover {
  background: rgba(192,132,252,.12);
  color: #9333ea;
}

/* Botoes: gradiente iridescente */
.theme-site.theme-site--terra .btn-primary {
  background: linear-gradient(135deg, #9333ea, #f43f5e, #fbbf24);
  background-size: 200% 100%;
  background-position: 0% 50%;
  border: none;
  border-radius: 50px;
  color: #ffffff;
  font-weight: 600;
  box-shadow: 0 6px 24px rgba(147,51,234,.28);
  transition: background-position 0.5s, transform 0.2s, box-shadow 0.2s;
}
.theme-site.theme-site--terra .btn-primary:hover {
  background-position: 100% 50%;
  transform: translateY(-2px);
  box-shadow: 0 10px 36px rgba(147,51,234,.38);
}

/* Secoes com brilho suave */
.theme-site.theme-site--terra .stats {
  background: linear-gradient(135deg, rgba(192,132,252,.15) 0%, rgba(244,63,94,.08) 50%, rgba(251,191,36,.10) 100%);
  border-block: 1px solid rgba(192,132,252,.25);
}
.theme-site.theme-site--terra .stats .stat-num {
  background: linear-gradient(135deg, #9333ea, #f43f5e);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.theme-site.theme-site--terra .features { background: rgba(255,252,255,.85); }
.theme-site.theme-site--terra .feature-card,
.theme-site.theme-site--terra .card {
  border: 1px solid rgba(192,132,252,.25);
  border-radius: 32px;
  box-shadow: 0 8px 32px rgba(147,51,234,.07);
  background: rgba(255,255,255,.8);
  backdrop-filter: blur(8px);
}

.theme-site.theme-site--terra .cta-band {
  background: linear-gradient(135deg, #7e22ce, #be185d, #b45309);
  border-radius: 40px;
  margin-inline: 2rem;
  box-shadow: 0 20px 64px rgba(147,51,234,.3);
  overflow: hidden;
  position: relative;
}
.theme-site.theme-site--terra .cta-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.08), transparent 60%);
  pointer-events: none;
}

.theme-site.theme-site--terra .site-footer {
  background: rgba(46,0,64,.06);
  border-top: 1px solid rgba(192,132,252,.2);
}

/* Mobile: cta-band sem margem excessiva */
@media (max-width: 768px) {
  .theme-site.theme-site--terra .cta-band { margin-inline: 0.75rem; }
}

/* Shared: hide iceframe's theme-bar line (mist uses iceframe) */
.theme-site.theme-site--mist .site-header--iceframe {
  /* iceframe keeps ultra-clean — Monolith header is fully black */
}

/* Mobile: faixas de topo ocultam */
@media (max-width: 640px) {
  .header-theme-bar--ribbon,
  .header-theme-bar--beacon,
  .header-theme-bar--band-serif { display: none; }
}



/*
 * Vinhetas do admin “Layout por tema” — prioridade sobre os ::after dos temas no slide builder.
 */



