/* V19 — HERO MASTER
   Regra única: todas as páginas internas seguem a lógica visual da Home.
   Imagem = cenário integrado/full-bleed; nunca card, miniatura ou bloco solto. */
:root{
  --v19-hero-min: 530px;
  --v19-hero-top: 54px;
  --v19-hero-bottom: 42px;
}

body.gm-v18-page .gm-v18-hero{
  position:relative!important;
  min-height:var(--v19-hero-min)!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background-color:#02173D!important;
  background-image:
    linear-gradient(90deg,
      #02173D 0%,
      rgba(2,23,61,.995) 29%,
      rgba(2,23,61,.94) 43%,
      rgba(2,23,61,.76) 56%,
      rgba(2,23,61,.43) 70%,
      rgba(2,23,61,.17) 84%,
      rgba(2,23,61,.08) 100%),
    var(--v19-hero-image)!important;
  background-repeat:no-repeat!important;
  background-position:center, right center!important;
  background-size:100% 100%, cover!important;
}

/* Remove os overlays antigos que deixavam a arte parecendo um card separado */
body.gm-v18-page .gm-v18-hero::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background:
    radial-gradient(circle at 70% 48%,rgba(255,125,0,.10),transparent 30%),
    linear-gradient(180deg,rgba(2,23,61,.03) 0%,rgba(2,23,61,.04) 70%,rgba(2,23,61,.25) 100%)!important;
}
body.gm-v18-page .gm-v18-hero::after{
  content:""!important;
  position:absolute!important;
  inset:auto 0 0!important;
  height:86px!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(to bottom,transparent,rgba(2,23,61,.86) 92%,#02173D 100%)!important;
}

/* Um único fluxo, igual à Home: texto alto à esquerda; imagem já está no background. */
body.gm-v18-page .gm-v18-hero > .container,
body.gm-v18-page .gm-v18-hero > .gm-container,
body.gm-v18-page .gm-v18-hero > .mp-wrap,
body.gm-v18-page .gm-v18-hero > .sp-wrap,
body.gm-v18-page .gm-v18-hero > .pv-wrap,
body.gm-v18-page .gm-v18-hero .hero-grid,
body.gm-v18-page .gm-v18-hero .hero-grid-system{
  position:relative!important;
  z-index:3!important;
  width:min(1240px,calc(100% - 64px))!important;
  min-height:var(--v19-hero-min)!important;
  margin-inline:auto!important;
  padding:var(--v19-hero-top) 0 var(--v19-hero-bottom)!important;
  display:block!important;
}

body.gm-v18-page .gm-v18-hero-copy{
  position:relative!important;
  z-index:5!important;
  width:min(56%,660px)!important;
  max-width:660px!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
}

body.gm-v18-page .gm-v18-hero-copy .kicker,
body.gm-v18-page .gm-v18-hero-copy .eyebrow,
body.gm-v18-page .gm-v18-hero-copy .mp-kicker,
body.gm-v18-page .gm-v18-hero-copy .sp-k,
body.gm-v18-page .gm-v18-hero-copy .pv-kicker,
body.gm-v18-page .gm-v18-hero-copy .art-kicker,
body.gm-v18-page .gm-v18-hero-copy .gm-about-kicker{
  display:block!important;
  margin:0!important;
  color:#FF7D00!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.35!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}

body.gm-v18-page .gm-v18-hero h1{
  margin:18px 0 0!important;
  max-width:12.8ch!important;
  color:#fff!important;
  font-size:clamp(44px,4.35vw,62px)!important;
  line-height:1.01!important;
  letter-spacing:-.045em!important;
  text-wrap:balance!important;
  text-shadow:0 3px 18px rgba(0,0,0,.22)!important;
}
body.gm-v18-page .gm-v18-hero h1 span{color:#FF7D00!important}
body.gm-v18-page .gm-v18-hero-copy p,
body.gm-v18-page .gm-v18-hero-copy .mp-lead{
  margin:22px 0 0!important;
  max-width:610px!important;
  color:#DCE5F0!important;
  font-size:17px!important;
  line-height:1.58!important;
  text-shadow:0 2px 12px rgba(0,0,0,.28)!important;
}
body.gm-v18-page .gm-v18-hero-copy p strong{color:#fff!important}
body.gm-v18-page .gm-v18-hero .hero-actions,
body.gm-v18-page .gm-v18-hero .mp-actions{
  margin-top:26px!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
}
body.gm-v18-page .gm-v18-hero .hero-badges,
body.gm-v18-page .gm-v18-hero .hero-proof,
body.gm-v18-page .gm-v18-hero .ciot-proof{margin-top:20px!important}

/* CRÍTICO: nenhum visual interno vira card/miniatura. A arte já compõe a Hero inteira. */
body.gm-v18-page .gm-v18-hero-art,
body.gm-v18-page .gm-v18-hero .hero-visual,
body.gm-v18-page .gm-v18-hero .hero-image-shell,
body.gm-v18-page .gm-v18-hero .termometro-hero-card,
body.gm-v18-page .gm-v18-hero .framework-hero-stage,
body.gm-v18-page .gm-v18-hero .cockpit-hero-visual{
  display:none!important;
}

/* Para páginas com arte PNG transparente, um gradiente extra reduz qualquer borda residual. */
body.page-course-abrir .gm-v18-hero,
body.page-course-estruturar .gm-v18-hero,
body.page-framework .gm-v18-hero,
body.page-para-voce .gm-v18-hero,
body.page-sobre .gm-v18-hero,
body.page-artigos .gm-v18-hero,
body.page-para-transportadoras .gm-v18-hero,
body.page-associacoes .gm-v18-hero{
  background-size:100% 100%, auto 100%!important;
  background-position:center, right center!important;
}

/* Fotos 16:9 ficam full-bleed, sem moldura, fundidas pelo gradiente lateral. */
body.page-embarcadores .gm-v18-hero,
body.page-conseguir-clientes .gm-v18-hero,
body.page-diagnostico .gm-v18-hero,
body.page-kit-ferramentas .gm-v18-hero,
body.page-cockpit .gm-v18-hero,
body.page-desperdicios-ocultos .gm-v18-hero,
body.page-ferramenta-margem .gm-v18-hero,
body.page-precificacao .gm-v18-hero,
body.page-radar-tributario .gm-v18-hero,
body.page-reforma-tributaria .gm-v18-hero,
body.page-simulador-frota .gm-v18-hero,
body.page-termometro .gm-v18-hero{
  background-size:100% 100%, cover!important;
  background-position:center, center center!important;
}

/* Artes institucionais verticais/recortadas ficam ancoradas à direita e ocupam toda a altura útil. */
body.page-ciot .gm-v18-hero,
body.page-consultoria .gm-v18-hero,
body.page-mentoria .gm-v18-hero,
body.page-palestras .gm-v18-hero,
body.page-treinamentos .gm-v18-hero,
body.page-patrocinio .gm-v18-hero{
  background-size:100% 100%, auto 104%!important;
  background-position:center, right center!important;
}

/* animação premium, sem esconder conteúdo se JS falhar */
@keyframes gmV19Rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
body.gm-v18-page .gm-v18-hero-copy > *{animation:gmV19Rise 2.25s cubic-bezier(.2,.7,.2,1) both}
body.gm-v18-page .gm-v18-hero-copy > *:nth-child(2){animation-delay:.08s}
body.gm-v18-page .gm-v18-hero-copy > *:nth-child(3){animation-delay:.16s}
body.gm-v18-page .gm-v18-hero-copy > *:nth-child(4){animation-delay:.24s}

@media(max-width:980px){
  :root{--v19-hero-top:34px;--v19-hero-bottom:34px}
  body.gm-v18-page .gm-v18-hero{
    min-height:auto!important;
    background-position:center, 66% center!important;
    background-size:100% 100%, cover!important;
  }
  body.gm-v18-page .gm-v18-hero::before{
    background:linear-gradient(90deg,#02173D 0%,rgba(2,23,61,.97) 57%,rgba(2,23,61,.80) 78%,rgba(2,23,61,.62) 100%)!important;
  }
  body.gm-v18-page .gm-v18-hero > .container,
  body.gm-v18-page .gm-v18-hero > .gm-container,
  body.gm-v18-page .gm-v18-hero > .mp-wrap,
  body.gm-v18-page .gm-v18-hero > .sp-wrap,
  body.gm-v18-page .gm-v18-hero > .pv-wrap,
  body.gm-v18-page .gm-v18-hero .hero-grid,
  body.gm-v18-page .gm-v18-hero .hero-grid-system{
    width:min(100% - 36px,760px)!important;
    min-height:500px!important;
    padding:var(--v19-hero-top) 0 var(--v19-hero-bottom)!important;
  }
  body.gm-v18-page .gm-v18-hero-copy{width:min(88%,650px)!important;max-width:650px!important}
  body.gm-v18-page .gm-v18-hero h1{font-size:clamp(38px,8vw,54px)!important;max-width:13ch!important}
}

@media(max-width:640px){
  :root{--v19-hero-top:26px;--v19-hero-bottom:30px}
  body.gm-v18-page .gm-v18-hero{
    background-position:center, 70% center!important;
  }
  body.gm-v18-page .gm-v18-hero::before{
    background:linear-gradient(90deg,#02173D 0%,rgba(2,23,61,.985) 68%,rgba(2,23,61,.86) 100%)!important;
  }
  body.gm-v18-page .gm-v18-hero-copy{width:100%!important}
  body.gm-v18-page .gm-v18-hero h1{font-size:clamp(36px,11vw,48px)!important;line-height:1.02!important}
  body.gm-v18-page .gm-v18-hero-copy p{font-size:16px!important;line-height:1.52!important}
}
