/* V2_eloia_missoes.css */
:root {
  --em-fundo: #f3f7fb;
  --em-azul: #07182b;
  --em-azul-2: #0c3655;
  --em-ciano: #39d6c5;
  --em-verde: #1aae77;
  --em-dourado: #f5c45c;
  --em-texto: #102337;
  --em-cinza: #607184;
  --em-borda: #dbe5ee;
  --em-branco: #fff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--em-fundo); color: var(--em-texto); }
.em-pagina { overflow: hidden; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.em-limite { width: min(1160px, calc(100% - 32px)); margin-inline: auto; }
.em-secao { padding-block: 82px; }
.em-hero { position: relative; padding: 86px 0 78px; color: #fff; background: radial-gradient(circle at 82% 28%, rgba(57,214,197,.22), transparent 30%), linear-gradient(135deg, #061426 0%, #0b2f4e 60%, #114b5a 100%); }
.em-hero::after { content: ""; position: absolute; inset: auto -10% -120px 30%; height: 180px; border-radius: 50%; background: rgba(245,196,92,.08); filter: blur(45px); }
.em-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr); gap: 72px; align-items: center; }
.em-voltar { display: inline-block; margin-bottom: 26px; color: #c9d9e7; text-decoration: none; font-weight: 700; }
.em-selo,.em-sobretitulo { display: inline-flex; align-items: center; gap: 9px; color: var(--em-dourado); font-size: .76rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.em-selo i { width: 9px; height: 9px; border-radius: 99px; background: var(--em-ciano); box-shadow: 0 0 0 7px rgba(57,214,197,.13); }
.em-hero h1 { margin: 18px 0; max-width: 780px; font-size: clamp(3rem, 7vw, 6.3rem); line-height: .92; letter-spacing: -.065em; }
.em-hero h1 em { color: var(--em-dourado); font-style: normal; }
.em-hero p { max-width: 720px; color: #d7e3ed; font-size: clamp(1rem, 1.7vw, 1.22rem); line-height: 1.7; }
.em-hero-acoes,.em-convite-acoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.em-botao { appearance: none; display: inline-flex; justify-content: center; align-items: center; min-height: 47px; padding: 12px 19px; border: 1px solid transparent; border-radius: 13px; font: inherit; font-weight: 850; line-height: 1.2; text-decoration: none; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.em-botao:hover { transform: translateY(-2px); }
.em-botao-principal { color: #17202c; background: linear-gradient(135deg,#ffdb84,var(--em-dourado)); box-shadow: 0 12px 28px rgba(245,196,92,.2); }
.em-botao-linha { color: var(--em-azul); border-color: #aabccb; background: transparent; }
.em-hero .em-botao-linha { color: #fff; border-color: rgba(255,255,255,.3); }
.em-botao-linha-clara { color: #fff; border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.04); }
.em-botao-whatsapp { color: #062b1b; background: #70dfa5; }
.em-infinito { position: relative; display: grid; place-items: center; min-height: 380px; isolation: isolate; }
.em-infinito strong { font-family: Georgia,serif; font-size: clamp(8rem, 20vw, 15rem); font-weight: 400; line-height: 1; color: var(--em-ciano); text-shadow: 0 0 55px rgba(57,214,197,.26); }
.em-infinito small { position: absolute; bottom: 46px; color: #dbe8ef; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.em-orbita { position: absolute; border: 1px solid rgba(245,196,92,.24); border-radius: 50%; z-index: -1; }
.em-orbita-1 { width: 340px; height: 340px; animation: em-girar 18s linear infinite; }
.em-orbita-2 { width: 250px; height: 250px; border-style: dashed; animation: em-girar 12s linear infinite reverse; }
@keyframes em-girar { to { transform: rotate(360deg); } }

.em-alerta { position: relative; z-index: 4; margin-top: 24px; padding: 17px 20px; border: 1px solid #b7e6d4; border-radius: 14px; background: #e9fbf4; color: #145f46; }
.em-alerta-erro { border-color: #efc0c0; background: #fff0f0; color: #8e2e2e; }
.em-alerta-convite { border-color: #f2d595; background: #fff8e9; color: #70521a; }
.em-alerta + .em-resumo { margin-top: 14px; }
.em-resumo { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-top: -34px; }
.em-resumo article { padding: 25px; border: 1px solid rgba(219,229,238,.85); border-radius: 20px; background: rgba(255,255,255,.96); box-shadow: 0 20px 45px rgba(9,35,60,.09); }
.em-resumo span,.em-meus-numeros span { display: block; color: var(--em-cinza); font-weight: 750; }
.em-resumo strong,.em-meus-numeros strong { display: block; margin: 7px 0 3px; color: var(--em-azul); font-size: clamp(1.8rem,4vw,2.7rem); }
.em-resumo small { color: #7b8a99; line-height: 1.35; }
.em-cabecalho-secao { max-width: 800px; margin-bottom: 34px; }
.em-cabecalho-secao > span { color: #a1731c; font-size: .75rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.em-cabecalho-secao h2,.em-jornada h2,.em-privacidade h2 { margin: 10px 0 13px; color: var(--em-azul); font-size: clamp(2rem,4.3vw,3.5rem); line-height: 1.03; letter-spacing: -.04em; }
.em-cabecalho-secao p,.em-jornada p,.em-privacidade p { color: var(--em-cinza); font-size: 1.04rem; line-height: 1.7; }
.em-exponencial { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 28px; align-items: center; margin: -9px 0 22px; padding: 24px 26px; border: 1px solid rgba(20,190,164,.25); border-radius: 19px; background: linear-gradient(135deg,rgba(21,190,164,.09),rgba(255,197,83,.12)); }
.em-exponencial span { display: block; margin-bottom: 7px; color: #a1731c; font-size: .74rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.em-exponencial strong { display: block; color: var(--em-azul); font-size: 1.12rem; line-height: 1.4; }
.em-exponencial p { margin: 7px 0 0; color: var(--em-cinza); line-height: 1.6; }
.em-exponencial > b { white-space: nowrap; color: var(--em-azul); font-size: clamp(1rem,2vw,1.3rem); letter-spacing: .02em; }
.em-exponencial > b i { padding: 0 4px; color: var(--em-verde); font-style: normal; }
.em-progresso-card { padding: 25px; border: 1px solid var(--em-borda); border-radius: 19px; background: #fff; box-shadow: 0 16px 42px rgba(11,40,67,.07); }
.em-progresso-topo { display: flex; justify-content: space-between; gap: 20px; align-items: end; }
.em-progresso-topo small { display: block; color: var(--em-cinza); }
.em-progresso-topo strong { display: block; margin-top: 4px; font-size: 1.45rem; }
.em-progresso-topo b { color: var(--em-verde); }
.em-barra { height: 12px; margin: 18px 0 10px; overflow: hidden; border-radius: 99px; background: #e7edf2; }
.em-barra i { display: block; height: 100%; min-width: 4px; border-radius: inherit; background: linear-gradient(90deg,var(--em-dourado),var(--em-ciano),var(--em-verde)); }
.em-progresso-card p { margin-bottom: 0; color: var(--em-cinza); }
.em-metas-lista { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; margin-top: 22px; }
.em-metas-lista article { position: relative; min-width: 0; padding: 18px 15px; border: 1px solid var(--em-borda); border-radius: 16px; background: #fff; }
.em-metas-lista article > b { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 10px; color: #718196; background: #edf2f6; }
.em-metas-lista article > span,.em-metas-lista article > strong,.em-metas-lista article > small { display: block; }
.em-metas-lista article > span { margin-top: 13px; color: #68798a; font-size: .76rem; font-weight: 850; text-transform: uppercase; }
.em-metas-lista article > strong { margin-top: 5px; font-size: 1.36rem; overflow-wrap: anywhere; }
.em-metas-lista article > small { color: #7e8e9e; }
.em-metas-lista article.cumprida { border-color: #9fe1c6; background: #effbf6; }
.em-metas-lista article.cumprida > b { color: #fff; background: var(--em-verde); }

.em-meu-elo,.em-contagem { color: #fff; background: var(--em-azul); }
.em-cabecalho-claro h2 { color: #fff; }
.em-cabecalho-claro p { color: #bfcddd; }
.em-entrada { display: flex; justify-content: space-between; align-items: center; gap: 28px; padding: 28px; border: 1px solid rgba(255,255,255,.13); border-radius: 20px; background: rgba(255,255,255,.06); }
.em-entrada span,.em-convite-texto > span { color: var(--em-dourado); font-size: .74rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.em-entrada h3,.em-convite-texto h3 { margin: 6px 0 8px; font-size: 1.7rem; }
.em-entrada p,.em-convite-texto p { margin: 0; max-width: 700px; color: #bdcbda; line-height: 1.6; }
.em-entrada-acoes { display: flex; flex-wrap: wrap; gap: 10px; flex-shrink: 0; }
.em-painel-pessoal { display: grid; gap: 18px; }
.em-convite-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(330px,.8fr); gap: 30px; padding: 30px; border: 1px solid rgba(255,255,255,.14); border-radius: 24px; background: linear-gradient(135deg,rgba(255,255,255,.08),rgba(57,214,197,.07)); }
.em-convite-conteudo { display: grid; grid-template-columns: 128px minmax(0,1fr); gap: 16px; align-items: center; }
.em-convite-conteudo img { width: 128px; height: 128px; padding: 8px; border-radius: 14px; background: #fff; }
.em-convite-conteudo label { min-width: 0; color: #cbd8e4; font-weight: 750; }
.em-convite-conteudo input { width: 100%; margin-top: 7px; padding: 12px; border: 1px solid rgba(255,255,255,.2); border-radius: 11px; color: #fff; background: rgba(0,0,0,.2); }
.em-convite-acoes { grid-column: 1 / -1; margin-top: 0; }
.em-meus-numeros { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.em-meus-numeros div { padding: 20px; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; background: rgba(255,255,255,.045); }
.em-meus-numeros strong { color: #fff; }
.em-minha-meta { padding: 20px; border-radius: 16px; color: var(--em-texto); background: #fff; }
.em-minha-meta > div:first-child { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.em-minha-meta h3 { margin: 0; }
.em-minha-meta span,.em-minha-meta small { color: var(--em-cinza); }

.em-arvore { position: relative; display: grid; gap: 24px; padding: 30px; border: 1px solid var(--em-borda); border-radius: 24px; background: #fff; box-shadow: 0 15px 40px rgba(12,39,65,.06); }
.em-raiz { justify-self: center; display: grid; place-items: center; min-width: 150px; padding: 17px 25px; border-radius: 18px; color: #fff; background: linear-gradient(135deg,var(--em-azul-2),#126b70); box-shadow: 0 12px 30px rgba(16,92,95,.22); }
.em-raiz span { color: #c9ece8; font-size: .75rem; text-transform: uppercase; }
.em-nivel { border-top: 1px dashed #cbd8e3; padding-top: 20px; }
.em-nivel > strong { display: block; margin-bottom: 13px; color: #7b8997; text-align: center; font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; }
.em-nivel > div { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; }
.em-nivel article { display: grid; grid-template-columns: 38px auto; grid-template-rows: auto auto; column-gap: 10px; min-width: 160px; padding: 11px 14px; border: 1px solid #dfe8ef; border-radius: 14px; background: #f8fbfd; }
.em-nivel article i { grid-row: 1 / 3; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; color: #fff; background: var(--em-verde); font-style: normal; font-weight: 900; }
.em-nivel article small { color: var(--em-cinza); }
.em-vazio { color: #8a99a8; font-style: italic; }
.em-jornada { padding-block: 50px; background: #e9f6f4; }
.em-jornada-grid,.em-privacidade { display: flex; justify-content: space-between; gap: 28px; align-items: center; }
.em-jornada h2,.em-privacidade h2 { font-size: clamp(1.8rem,3vw,2.5rem); }
.em-formulario { display: grid; gap: 20px; padding: 28px; border: 1px solid var(--em-borda); border-radius: 20px; background: #fff; }
.em-formulario label { color: #35495c; font-weight: 750; }
.em-formulario textarea,.em-privacidade select { width: 100%; margin-top: 8px; padding: 14px; border: 1px solid #cad8e3; border-radius: 12px; color: var(--em-texto); background: #fff; font: inherit; }
.em-formulario fieldset { margin: 0; padding: 0; border: 0; }
.em-formulario legend { margin-bottom: 10px; font-weight: 850; }
.em-estrelas { display: flex; flex-wrap: wrap; gap: 8px; }
.em-estrelas input { position: absolute; opacity: 0; pointer-events: none; }
.em-estrelas span { display: block; padding: 10px 13px; border: 1px solid #d8e2ea; border-radius: 11px; cursor: pointer; }
.em-estrelas input:checked + span { border-color: var(--em-dourado); background: #fff7df; }
.em-check { display: flex; gap: 10px; align-items: flex-start; }
.em-check input { margin-top: 4px; }
.em-privacidade { padding: 25px 28px; border: 1px solid var(--em-borda); border-radius: 20px; background: #fff; }
.em-privacidade form { display: flex; gap: 10px; align-items: end; min-width: 390px; }
.em-privacidade select { margin: 0; }
.em-definicoes { display: grid; grid-template-columns: repeat(5,1fr); gap: 13px; }
.em-definicoes article { padding: 22px; border: 1px solid rgba(255,255,255,.1); border-radius: 17px; background: rgba(255,255,255,.05); }
.em-definicoes b { color: var(--em-ciano); }
.em-definicoes h3 { margin: 12px 0 7px; }
.em-definicoes p { margin: 0; color: #b9c8d6; line-height: 1.55; }
.em-etica { margin: 22px 0 0; padding: 18px; border-left: 4px solid var(--em-dourado); color: #d9e4ec; background: rgba(255,255,255,.04); }
.em-relatos { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; }
.em-relatos blockquote { margin: 0; padding: 24px; border: 1px solid var(--em-borda); border-radius: 18px; background: #fff; }
.em-relatos blockquote div { color: #e4a91e; letter-spacing: .1em; }
.em-relatos p { color: #43566a; line-height: 1.65; }
.em-relatos cite { color: var(--em-azul); font-style: normal; font-weight: 850; }
.em-cta { padding: 45px 0; color: #fff; background: linear-gradient(110deg,#0a2a45,#126266); }
.em-cta .em-limite { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.em-cta span { color: var(--em-ciano); font-weight: 850; text-transform: uppercase; }
.em-cta h2 { margin: 6px 0 0; font-size: clamp(1.6rem,3vw,2.6rem); }
.em-toast { position: fixed; z-index: 99999; right: 18px; bottom: 18px; max-width: min(390px,calc(100% - 36px)); padding: 14px 18px; border-radius: 13px; color: #fff; background: #0c7255; box-shadow: 0 15px 40px rgba(0,0,0,.2); transform: translateY(25px); opacity: 0; transition: .2s ease; }
.em-toast.ativo { transform: translateY(0); opacity: 1; }

/* Card compacto usado na pÃ¡gina institucional. */
.eloia-missao-vitrine { padding: 72px 0; background: #eef5f8; }
.eloia-missao-card { display: grid; grid-template-columns: 1.15fr .85fr; gap: 34px; padding: clamp(25px,4vw,48px); overflow: hidden; border: 1px solid #d7e5ec; border-radius: 28px; color: #fff; background: radial-gradient(circle at 90% 20%,rgba(57,214,197,.22),transparent 35%),linear-gradient(135deg,#07182b,#0c4160); box-shadow: 0 24px 60px rgba(7,36,61,.13); }
.eloia-missao-card h2 { margin: 9px 0 12px; font-size: clamp(2rem,4vw,3.4rem); line-height: 1; }
.eloia-missao-card p { color: #c7d7e2; line-height: 1.65; }
.eloia-missao-numeros { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }
.eloia-missao-numeros div { padding: 18px; border: 1px solid rgba(255,255,255,.12); border-radius: 15px; background: rgba(255,255,255,.06); }
.eloia-missao-numeros strong,.eloia-missao-numeros span { display: block; }
.eloia-missao-numeros strong { font-size: 1.9rem; }
.eloia-missao-numeros span { color: #bcd0dc; }

@media (max-width: 900px) {
  .em-exponencial { grid-template-columns: 1fr; gap: 16px; }
  .em-exponencial > b { white-space: normal; }
  .em-hero-grid,.em-convite-card,.eloia-missao-card { grid-template-columns: 1fr; }
  .em-infinito { min-height: 270px; }
  .em-orbita-1 { width: 280px; height: 280px; }
  .em-orbita-2 { width: 205px; height: 205px; }
  .em-resumo,.em-meus-numeros { grid-template-columns: repeat(2,1fr); }
  .em-metas-lista { grid-template-columns: repeat(3,1fr); }
  .em-definicoes { grid-template-columns: repeat(2,1fr); }
  .em-relatos { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  .em-limite { width: min(100% - 22px,1160px); }
  .em-secao { padding-block: 56px; }
  .em-hero { padding: 52px 0 66px; }
  .em-hero h1 { font-size: clamp(2.8rem,17vw,4.6rem); }
  .em-infinito { min-height: 220px; }
  .em-infinito strong { font-size: 9rem; }
  .em-infinito small { bottom: 20px; text-align: center; }
  .em-resumo { grid-template-columns: 1fr 1fr; margin-top: -26px; gap: 9px; }
  .em-resumo article { padding: 17px 14px; }
  .em-resumo small { font-size: .75rem; }
  .em-metas-lista { display: flex; margin-inline: -11px; padding: 0 11px 8px; overflow-x: auto; scroll-snap-type: x mandatory; }
  .em-metas-lista article { min-width: 145px; scroll-snap-align: start; }
  .em-entrada,.em-jornada-grid,.em-privacidade,.em-cta .em-limite { align-items: stretch; flex-direction: column; }
  .em-convite-card { padding: 21px; }
  .em-convite-conteudo { grid-template-columns: 1fr; }
  .em-convite-conteudo img { width: 170px; height: 170px; justify-self: center; }
  .em-convite-acoes .em-botao { width: 100%; }
  .em-meus-numeros { grid-template-columns: 1fr 1fr; }
  .em-meus-numeros div { padding: 15px; }
  .em-meus-numeros strong { font-size: 1.85rem; }
  .em-minha-meta > div:first-child { align-items: flex-start; flex-direction: column; }
  .em-arvore { padding: 20px 13px; }
  .em-nivel > div { justify-content: flex-start; flex-wrap: nowrap; padding-bottom: 6px; overflow-x: auto; }
  .em-nivel article { min-width: 165px; }
  .em-privacidade form { flex-direction: column; align-items: stretch; min-width: 0; width: 100%; }
  .em-definicoes,.em-relatos { grid-template-columns: 1fr; }
  .eloia-missao-numeros { grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .em-orbita { animation: none; }
  .em-botao { transition: none; }
}
