/* ==========================================================================
   Gerado por entrega/_gerador/css-tema.py a partir de css/entrada.css.
   NÃO edite este arquivo: edite o css/entrada.css do preview e rode o gerador.
   ========================================================================== */

/* ==========================================================================
   La Casa de EPS — página de entrada (splash)
   Figma: frame de 1440x1024. Aqui ela ocupa a altura da janela e se adapta:
   o palco ocupa o espaço livre e a assinatura fica sempre encostada embaixo.
   As medidas do Figma viram proporções do palco (894px de altura no arquivo),
   para a composição se manter em telas 16:9, 16:10 e ultrawide.
   ========================================================================== */

.pagina-entrada { min-height: 100%; }

.entrada {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100svh;
  background: var(--azul-escuro);
  overflow: hidden;
}
/* Elementor */ .e-con.entrada { --display: flex; --flex-direction: column; }

/* ------------------------------------------------------------------ palco */
/* Em telas muito largas a composição para de esticar: o palco vira uma cena de
   até 2200px centrada, e o excedente fica como margem dos dois lados. Sem isso
   um ultrawide de 3440 afastava o texto da foto até perder a leitura. */
.entrada__palco {
  position: relative;
  flex: 1 1 auto;
  display: flex; flex-direction: row;
  align-items: center;
  --lado: max(0px, (100% - 2200px) / 2);
  --cena-direita: calc(clamp(86px, 5.9%, 132px) + var(--lado));
  min-height: 520px;          /* abaixo disso o conteúdo passa a rolar */
  padding-block: clamp(24px, 4vh, 40px);
  overflow: hidden;
}
/* Elementor */ .e-con.entrada__palco { --display: flex; --flex-direction: row; --align-items: center; --flex-grow: 1; --flex-shrink: 1; --flex-basis: auto; }

/* — cena decorativa —
   As faixas ficam dentro de uma caixa que tem exatamente a mesma geometria da
   foto: mesma âncora à direita e largura derivada da altura. Assim a foto fica
   sempre centrada entre as duas faixas, em qualquer tela, como no Figma. */
.entrada__cena {
  position: absolute;
  top: 0;
  right: var(--cena-direita);
  height: 100%;
  aspect-ratio: 1.02273;      /* mesma proporção da caixa da foto */
  pointer-events: none;
}
/* posições relativas à cena — no Figma, com a caixa em x=457, 913x894:
   faixa de cima em x=893/y=0 e a de baixo em x=495/y=544, ambas 402x480 */
.entrada__faixa { position: absolute; width: 44.03%; height: 53.69%; }
.entrada__faixa--topo { left: 47.75%; top: 0; }
.entrada__faixa--base { left: 4.16%;  top: 60.85%; }

/* — foto da equipe —
   A caixa repete a geometria da cena (mesma âncora, mesma proporção) e a foto
   fica centrada nela. Assim ela cresce a partir do centro e continua no meio
   das duas faixas em qualquer tela. */
.entrada__palco-foto {
  position: absolute;
  top: 0;
  right: var(--cena-direita);
  /* a largura vem da proporção; declarada para o container do Elementor não
     assumir 100% da seção */
  width: auto;
  height: 100%;
  aspect-ratio: 1.02273;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: center;
  pointer-events: none;
}
/* Elementor */ .e-con.entrada__palco-foto { --display: flex; --flex-direction: row; --align-items: flex-end; --justify-content: center; --width: auto; }
.entrada__foto {
  flex: none;
  /* o arquivo tem 20px de área transparente embaixo (de 770): a caixa já
     termina na assinatura, mas a imagem parecia flutuar. O deslocamento é
     em porcentagem da própria altura, então vale em qualquer tela. */
  transform: translateY(2.6%);
  width: auto;
  max-width: none;            /* pode passar da caixa: ela só marca o centro */
  height: 82%;                /* Figma: 670 de 894; ampliada a pedido */
  object-fit: contain;
  object-position: center bottom;
}

/* — coluna de conteúdo —
   no Figma: logo em y=202, chamada em 492, texto em 583 e CTA em 667,
   com 34px entre os blocos; o conjunto fica centrado na altura do palco */
/* A coluna fica onde o Figma põe (x=120 de 1440 = 8,33%) em vez de presa ao
   .wrap de 1200: assim ela acompanha a largura da tela, e não só o centro. */
.entrada .wrap {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: none;
  margin: 0;
  padding-inline: calc(clamp(24px, 8.33%, 184px) + var(--lado, 0px)) 0;
}
/* Elementor */ .entrada .e-con.wrap { --width: 100%; }

/* As medidas do Figma viram proporções da altura de 1024: o conjunto cresce e
   encolhe junto com a tela, como a foto, em vez de ficar em pixel fixo. */
.entrada__conteudo { width: clamp(320px, 37.8vh, 480px); max-width: 100%; --respiro: clamp(22px, 3.32vh, 42px); }
/* Elementor */ .e-con.entrada__conteudo { --width: clamp(320px, 37.8vh, 480px); }

.entrada__logo { width: clamp(280px, 36.6vh, 465px); max-width: 100%; height: auto; }

.entrada__chamada {
  margin-top: var(--respiro);
  font-size: clamp(19px, 2.34vh, 30px);
  font-weight: 700;
  line-height: 1.2;
}
.entrada__chamada .azul { color: var(--azul); }

.entrada__texto { margin-top: var(--respiro); font-size: clamp(13px, 1.37vh, 17px); line-height: 1.45; }

.entrada__cta {
  /* a caixa acompanha o rótulo: em 1024 dá os 245px do Figma e, quando a
     fonte encolhe junto com a tela, ela encolhe também — sem cortar o texto */
  width: max-content;
  max-width: 100%;
  margin-top: var(--respiro);
  padding: 0 5px 0 14px;
  font-size: clamp(12px, 1.37vh, 17px);
}

/* -------------------------------------------------------------- assinatura */
.entrada__base {
  position: relative;
  z-index: 2;
  display: flex; flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 18px;
  flex: none;
  /* 130 de 1024 no Figma: a barra acompanha a altura da tela em vez de comer
     17% de um monitor de 768 */
  min-height: clamp(84px, 12.7vh, 150px);
  padding: 14px 22px;
  background: #001d32;
}
/* Elementor */ .e-con.entrada__base { --display: flex; --flex-direction: row; --gap: 18px; --align-items: center; --justify-content: center; --flex-grow: 0; --flex-shrink: 0; --flex-basis: auto; }
.entrada__base p { font-size: clamp(16px, 2.34vh, 28px); }
.entrada__base strong { color: var(--azul); font-weight: 700; }
.entrada__base img { width: clamp(150px, 21.5vh, 260px); height: auto; flex: none; }

/* --------------------------------------------------------------------------
   Responsivo
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  /* empilhado: conteúdo em cima, foto embaixo, faixas só de pano de fundo */
  .entrada__palco {
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    padding-block: 56px 0;
  }
/* Elementor */ .e-con.entrada__palco { --flex-direction: column; --align-items: stretch; }
  .entrada .wrap { order: 1; padding-inline: 22px; }
/* Elementor */ .entrada .e-con.wrap { --order: 1; }
  .entrada__palco-foto { display: contents; }
/* Elementor */ .e-con.entrada__palco-foto { --display: contents; }
  .entrada__foto {
    order: 2;
    position: relative;
    right: auto;
    height: auto;
    width: min(560px, 100%);
    max-width: 100%;
    margin: 40px auto 0;
    object-fit: contain;
  }
  /* empilhada, a foto sai da cena: as faixas voltam a ser só fundo de tela cheia */
  .entrada__cena { right: 0; left: 0; aspect-ratio: auto; }
  .entrada__faixa { height: 44%; width: auto; aspect-ratio: 402 / 480; }
  .entrada__faixa--topo { left: 55%; top: 0; }
  /* A de baixo desce até o fim do palco: 45% de topo + 55% de altura.
     A altura vai explícita porque `height: auto` num <svg> não preenche o
     espaço entre `top` e `bottom` — o elemento é substituído e cai na
     proporção do viewBox. A largura continua vindo da proporção. */
  .entrada__faixa--base { left: 8%; top: 45%; height: 55%; }
  .entrada__conteudo { width: 100%; max-width: 480px; }
/* Elementor */ .e-con.entrada__conteudo { --width: 100%; }
}

@media (max-width: 767px) {
  /* o topo e a assinatura cedem altura para a foto, que no empilhado é o
     elemento que estava ficando pequeno demais */
  .entrada__palco { padding-top: 28px; }
  .entrada__logo { width: 258px; }
  .entrada__chamada { font-size: 20px; }
  .entrada__texto { font-size: 14px; }
  /* CTA centrado na coluna. `margin: auto` não centra caixa inline, e o botão
     do projeto é `inline-flex` — daí o `display: flex`, que o torna bloco sem
     mudar nada do arranjo interno. */
  /* CTA centrado na coluna. `margin: auto` não centra caixa inline, e o botão
     nasce `inline-flex` — daí o `display: flex`, que o torna bloco sem mudar o
     arranjo interno. O seletor duplo é para vencer o `.elementor-widget.btn`,
     que tem peso maior no widget. */
  .entrada__cta,
  .elementor-widget.entrada__cta {
    display: flex;
    width: 100%;
    max-width: 280px;
    margin-inline: auto;
  }

  /* A foto passa a ocupar a sobra entre o CTA e a assinatura: encolhe junto
     com a tela em vez de ser cortada pela dobra. `contain` mantém a proporção
     e `bottom` deixa a base dela encostada na barra. */
  .entrada__foto {
    flex: 1 1 auto;
    min-height: 160px;
    height: auto;
    width: 100%;
    max-width: 460px;
    margin: 20px auto 0;
    object-fit: contain;
    object-position: center bottom;
  }

  .entrada__base { flex-direction: column; gap: 10px; min-height: 0; padding: 16px 22px; }
/* Elementor */ .e-con.entrada__base { --flex-direction: column; --gap: 10px; }
  .entrada__base p { font-size: 18px; }
  .entrada__base img { width: 160px; }
}

/* Em telas de celular com altura suficiente a splash cabe inteira: fixando a
   altura da página, a sobra do palco fica com a foto, que encolhe por conta
   própria em vez de ser cortada pela dobra. Abaixo de 700px de altura ela
   volta a rolar — melhor rolar do que espremer o CTA. */
@media (max-width: 767px) and (min-height: 700px) {
  .entrada { height: 100svh; }
  .entrada__palco { min-height: 0; }
  .entrada__foto { min-height: 150px; }
}

@media (prefers-reduced-motion: reduce) {
  .entrada * { animation: none !important; }
}
