/* Brasil Emprega 7.7.86 - experiencia mobile ultra premium
   Camada final de responsividade. Mantem o banner exato no desktop e cria
   uma composicao propria, legivel e orientada a conversao em celular/tablet. */

:root{
  --be-mobile-blue:#05284d;
  --be-mobile-green:#11a653;
  --be-mobile-green-dark:#087f40;
  --be-mobile-yellow:#f3c51b;
  --be-mobile-text:#102f50;
  --be-mobile-line:#dce6ee;
}

/* Estado padrao: a composicao mobile nao interfere no desktop. */
.be-mobile-hero-content{display:none}

/* Desktop: preserva integralmente a arte aprovada e sua proporcao nativa. */
@media(min-width:1101px){
  body.home-page .be-brand-hero.be-exact-banner{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1672/390!important;
    max-height:430px!important;
    background:#061b33!important;
  }
  body.home-page .be-brand-hero.be-exact-banner>img{
    width:100%!important;
    height:100%!important;
    object-fit:fill!important;
    object-position:center!important;
  }
}

/* Tablet e celular: foto atmosferica + texto HTML real, sem texto achatado na imagem. */
@media(max-width:1100px){
  body.home-page .be-brand-hero.be-exact-banner{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:440px!important;
    min-height:440px!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
    isolation:isolate!important;
    background-image:
      linear-gradient(90deg,rgba(2,20,42,.96) 0%,rgba(3,29,56,.91) 48%,rgba(3,29,56,.58) 100%),
      url('banner-home-exato-v733.png?v=733')!important;
    background-repeat:no-repeat!important;
    background-size:auto 100%!important;
    background-position:58% center!important;
  }
  body.home-page .be-brand-hero.be-exact-banner::after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:92px;
    z-index:-1;
    background:linear-gradient(180deg,rgba(3,24,47,0),rgba(3,24,47,.58));
    pointer-events:none;
  }
  body.home-page .be-brand-hero.be-exact-banner>img,
  body.home-page .be-brand-hero.be-exact-banner .be-banner-hotspot{display:none!important}
  body.home-page .be-mobile-hero-content{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:center;
    width:min(100% - 40px,680px);
    height:100%;
    margin:0 auto;
    padding:28px 0 30px;
    color:#fff;
    box-sizing:border-box;
  }
  body.home-page .be-mobile-hero-kicker{
    align-self:flex-start;
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:5px 11px;
    border:1px solid rgba(74,218,112,.7);
    border-radius:999px;
    background:rgba(1,24,47,.66);
    color:#fff;
    font-size:11px;
    font-weight:850;
    letter-spacing:.035em;
    text-transform:uppercase;
  }
  body.home-page .be-mobile-hero-kicker strong{color:#55df74}
  body.home-page .be-mobile-hero-title{
    max-width:610px;
    margin:15px 0 12px;
    color:#fff;
    font-size:clamp(38px,6vw,50px);
    line-height:1.02;
    letter-spacing:-.045em;
    font-weight:900;
    text-wrap:balance;
  }
  body.home-page .be-mobile-hero-title em{
    position:relative;
    color:#57df73;
    font-style:normal;
  }
  body.home-page .be-mobile-hero-title em::after{
    content:"";
    position:absolute;
    left:2px;
    right:0;
    bottom:-6px;
    height:4px;
    border-radius:999px;
    background:var(--be-mobile-yellow);
    transform:rotate(-1.2deg);
  }
  body.home-page .be-mobile-hero-copy{
    max-width:590px;
    margin:0;
    color:rgba(255,255,255,.93);
    font-size:15px;
    line-height:1.55;
    font-weight:520;
  }
  body.home-page .be-mobile-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:20px;
  }
  body.home-page .be-mobile-hero-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:11px 17px;
    border:1px solid transparent;
    border-radius:12px;
    color:#fff;
    font-size:14px;
    font-weight:850;
    line-height:1.2;
    text-align:center;
    text-decoration:none;
    box-shadow:0 9px 20px rgba(0,0,0,.18);
  }
  body.home-page .be-mobile-hero-action--primary{background:linear-gradient(180deg,#14b75b,#079447)}
  body.home-page .be-mobile-hero-action--secondary{border-color:rgba(255,255,255,.5);background:rgba(4,31,58,.62);backdrop-filter:blur(8px)}
  body.home-page .be-mobile-hero-action:focus-visible{outline:3px solid rgba(255,255,255,.75);outline-offset:3px}
  body.home-page .be-mobile-hero-trust{
    display:flex;
    flex-wrap:wrap;
    gap:8px 14px;
    margin-top:17px;
    color:rgba(255,255,255,.92);
    font-size:12px;
    font-weight:700;
  }
  body.home-page .be-mobile-hero-trust span{display:inline-flex;align-items:center;gap:6px}
  body.home-page .be-mobile-hero-trust span::before{
    content:"✓";
    display:grid;
    place-items:center;
    width:18px;
    height:18px;
    border-radius:50%;
    background:#17aa59;
    color:#fff;
    font-size:11px;
    font-weight:900;
  }

  /* Buscador: alvo de toque real, sem botao minusculo ou caixa comprimida. */
  body.home-page .be-hero-search{
    position:relative!important;
    z-index:5!important;
    margin:0!important;
    padding:0 0 18px!important;
    background:linear-gradient(180deg,#eef4f8 0%,#f7fafc 100%)!important;
  }
  body.home-page .be-hero-search-inner{
    width:min(calc(100% - 28px),760px)!important;
    max-width:760px!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0 auto!important;
    padding:10px!important;
    transform:translateY(-18px)!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    overflow:visible!important;
    border:1px solid rgba(202,216,227,.92)!important;
    border-radius:20px!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 16px 38px rgba(13,48,81,.14)!important;
  }
  body.home-page .be-hero-search label{
    width:100%!important;
    height:52px!important;
    min-height:52px!important;
    padding:0 14px!important;
    display:grid!important;
    grid-template-columns:21px minmax(0,1fr)!important;
    gap:9px!important;
    align-items:center!important;
    border:1px solid #e2e9ef!important;
    border-radius:13px!important;
    background:#fdfefe!important;
  }
  body.home-page .be-hero-search label:focus-within{
    border-color:rgba(7,148,71,.55)!important;
    box-shadow:0 0 0 3px rgba(7,148,71,.09)!important;
  }
  body.home-page .be-hero-search label>span{width:18px!important;height:18px!important;font-size:16px!important;color:#315f82!important}
  body.home-page .be-hero-search input,
  body.home-page .be-hero-search input::placeholder{
    width:100%!important;
    min-width:0!important;
    height:32px!important;
    min-height:32px!important;
    font-size:16px!important;
    line-height:32px!important;
  }
  body.home-page .be-hero-search button#beHeroSearchButton{
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:48px!important;
    min-height:48px!important;
    max-height:none!important;
    margin:0!important;
    padding:0 18px!important;
    border-radius:13px!important;
    font-size:15px!important;
    font-weight:850!important;
    box-shadow:0 8px 18px rgba(7,148,71,.2)!important;
  }

  /* Cabecalho mais limpo e confiavel no celular. */
  body:not(.admin-page) .be-premium-header .be-header-top{min-height:60px!important}
  body:not(.admin-page) .be-premium-header .be-header-top-inner{
    width:calc(100% - 24px)!important;
    min-height:60px!important;
    display:grid!important;
    grid-template-columns:106px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:center!important;
  }
  body:not(.admin-page) .be-premium-header .be-logo,
  body:not(.admin-page) .be-premium-header .be-logo img{
    width:102px!important;
    min-width:102px!important;
    max-width:102px!important;
    height:54px!important;
    object-fit:contain!important;
  }
  body:not(.admin-page) .be-premium-header .be-context-widget{display:none!important}
  body:not(.admin-page) .be-premium-header .be-header-utility{
    display:flex!important;
    justify-content:flex-end!important;
    min-width:0!important;
    gap:0!important;
  }
  body:not(.admin-page) .be-premium-header .be-header-utility>a{display:none!important}
  body:not(.admin-page) .be-premium-header .be-header-trust{
    display:inline-flex!important;
    max-width:100%!important;
    min-height:34px!important;
    padding:7px 10px!important;
    border-radius:999px!important;
    font-size:11px!important;
    line-height:1.15!important;
    text-align:center!important;
    white-space:normal!important;
  }
  body:not(.admin-page) .be-premium-header .be-nav{
    width:calc(100% - 24px)!important;
    min-height:54px!important;
    height:54px!important;
  }
  body:not(.admin-page) .be-premium-header .be-nav::before{content:"Menu e acesso"!important;font-size:10.5px!important}
  body:not(.admin-page) .be-premium-header .be-menu-toggle{
    width:46px!important;
    min-width:46px!important;
    height:46px!important;
    min-height:46px!important;
    border-radius:13px!important;
    box-shadow:0 5px 14px rgba(24,54,83,.07)!important;
  }
  body:not(.admin-page) .be-premium-header .be-menu{
    top:calc(100% + 6px)!important;
    max-height:calc(100dvh - 126px)!important;
    padding:10px!important;
    border-radius:18px!important;
    box-shadow:0 20px 48px rgba(15,44,74,.18)!important;
  }

  /* Léo compacto, visivel e fora dos CTAs. */
  body:not(.admin-page) #leoFab{
    right:10px!important;
    bottom:max(12px,env(safe-area-inset-bottom))!important;
    width:60px!important;
    min-width:60px!important;
    max-width:60px!important;
    height:60px!important;
    min-height:60px!important;
    max-height:60px!important;
    padding:0!important;
    overflow:hidden!important;
    border:3px solid #fff!important;
    border-radius:50%!important;
    box-shadow:0 10px 24px rgba(8,68,42,.25)!important;
  }
  body:not(.admin-page) #leoFab::before{
    left:3px!important;
    bottom:0!important;
    width:54px!important;
    height:72px!important;
    background-size:contain!important;
  }
  body:not(.admin-page) #leoFab span{display:none!important}

  /* Superficies publicas: leitura e toque consistentes. */
  body:not(.admin-page) :where(a.btn,button,.btn,input[type="submit"],input[type="button"]){min-height:46px}
  body:not(.admin-page) :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){font-size:16px!important}
}

@media(max-width:620px){
  body.home-page .be-brand-hero.be-exact-banner{
    height:426px!important;
    min-height:426px!important;
    background-position:59% center!important;
  }
  body.home-page .be-mobile-hero-content{
    width:calc(100% - 32px);
    padding:24px 0 26px;
  }
  body.home-page .be-mobile-hero-title{font-size:36px;line-height:1.01;margin-top:13px}
  body.home-page .be-mobile-hero-copy{font-size:14px;line-height:1.5}
  body.home-page .be-mobile-hero-actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:17px}
  body.home-page .be-mobile-hero-action{width:100%;min-height:47px;padding:10px 14px}
  body.home-page .be-mobile-hero-trust{margin-top:13px;font-size:11.5px}
  body.home-page .be-hero-search-inner{
    width:calc(100% - 22px)!important;
    grid-template-columns:1fr!important;
    padding:9px!important;
    transform:translateY(-15px)!important;
  }
  body.home-page .be-hero-search button#beHeroSearchButton{grid-column:auto!important}

  /* Metas em cartões compactos: quatro indicadores entram cedo na jornada. */
  body.home-page .be-stats-strip-section{padding:2px 0 18px!important}
  body.home-page .be-stats-strip{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    padding:8px!important;
    border:0!important;
    border-radius:18px!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body.home-page .be-stat-item,
  body.home-page .be-stat-item:last-child{
    grid-column:auto!important;
    min-height:112px!important;
    padding:13px 11px!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:9px!important;
    border:1px solid #e0e8ef!important;
    border-radius:15px!important;
    background:#fff!important;
    box-shadow:0 7px 18px rgba(20,54,86,.055)!important;
  }
  body.home-page .be-stat-item::after{display:none!important}
  body.home-page .be-stat-icon{flex:0 0 38px!important;width:38px!important;height:38px!important;border-radius:12px!important}
  body.home-page .be-stat-icon svg{width:21px!important;height:21px!important}
  body.home-page .be-stat-item strong{font-size:21px!important}
  body.home-page .be-stat-item>div>span{font-size:11.5px!important;line-height:1.25!important}
  body.home-page .be-stat-item small{font-size:10px!important;white-space:normal!important;line-height:1.25!important}
}

@media(max-width:370px){
  body.home-page .be-brand-hero.be-exact-banner{height:438px!important;min-height:438px!important}
  body.home-page .be-mobile-hero-content{width:calc(100% - 26px)}
  body.home-page .be-mobile-hero-title{font-size:32px}
  body.home-page .be-mobile-hero-copy{font-size:13.5px}
  body.home-page .be-stats-strip{grid-template-columns:1fr!important}
  body.home-page .be-stat-item{min-height:94px!important}
  body:not(.admin-page) .be-premium-header .be-header-top-inner{grid-template-columns:92px minmax(0,1fr)!important}
  body:not(.admin-page) .be-premium-header .be-logo,
  body:not(.admin-page) .be-premium-header .be-logo img{width:90px!important;min-width:90px!important;max-width:90px!important}
  body:not(.admin-page) .be-premium-header .be-header-trust{font-size:10px!important;padding:6px 8px!important}
}

@media(prefers-reduced-motion:reduce){
  body.home-page .be-mobile-hero-action{transition:none!important}
}
