:root {

  --bg: #f5f7fb;

  --text: #0c0c0c;

  --accent: #0c0c0c;

  --border: #d1cdcd;

  /* Shadow mais profunda para destacar a caixa maior */

  --shadow: 0 20px 40px rgba(0,0,0,0.15);

  --text_menu: #28038d;

}



* { box-sizing: border-box; }



body {

  margin: 0;

  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", sans-serif;

  background: linear-gradient(180deg, #eef2ff 0%, #f8fafc 100%);

  color: var(--text);

  display: flex;

  flex-direction: column;

  min-height: 100vh;

}



/* Header e Menu */

header {

  background: white;

  border-bottom: 1px solid var(--border);

  position: fixed;

  top: 0;

  left: 0;

  width: 100%;

  z-index: 999;

}



.menu {

  display: flex;
  justify-content: center;
  gap: 12px;
  padding: 12px 24px;
  list-style: none;
  margin: 0;
  font-weight: bold;
}



.menu a {

  text-decoration: none;
  color: var(--text_menu);
  padding: 8px 16px;
  border-radius: 6px;
  transition: color .2s ease, background .2s ease;  
  justify-content: center;
  align-items: center;
  text-align: center;
  



}



.menu a:hover {

  color: var(--accent);

  background: #f1f5ff;

}



.botao_inicio {

  background-color: rgb(44, 248, 17);  

  border-radius: 5px;

  padding: 10px 5px;    

}



/* CONTAINER PRINCIPAL CENTRALIZADO */

.container {

  flex: 1;

  display: flex;

  justify-content: center;

  align-items: center; /* Centraliza verticalmente */

  padding: 80px 15px 20px; /* Padding top maior para não sumir atrás do menu fixo */

}



/* SHADOW BOX - ONDE VOCÊ ALTERA A LARGURA E ALTURA */

.shadow-box {

  padding: 20px 15px;

  margin-top: 0;

  background: #fff;

  border: 1px solid var(--border);

  border-radius: 20px;

  box-shadow: var(--shadow);

  text-align: center;

 

  /* LARGURA E ALTURA INTERNA */

  width: 100%;

  max-width: 900px;  /* Deixamos mais largo (era 600px/850px) */
  padding: 50px 60px; /* Aumentamos para 50px em cima/baixo e 60px nas laterais */

}



.shadow-box h1 {

  margin: 0 0 8px;

  font-size: 2rem; /* Aumentado levemente para combinar com a caixa maior */

}



/* Subtítulo e Link com Efeito Hover */

.link-direcionamento {

  display: block;

  margin-top: 10px;

  margin-bottom: 30px;

  font-size: 1rem;

  color: #555;

}



.link-destaque {

  color: #4285F4;

  text-decoration: none;

  font-weight: bold;

  position: relative;

  transition: all 0.3s ease;

  padding: 0 4px;

}



.link-destaque:hover {

  color: #1a73e8;

  text-shadow: 0px 0px 10px rgba(66, 133, 244, 0.4);

}



.link-destaque::after {

  content: '';

  position: absolute;

  width: 0;

  height: 2px;

  bottom: -2px;

  left: 0;

  background-color: #4285F4;

  transition: width 0.3s ease;

}



.link-destaque:hover::after {

  width: 100%;

}



h3{

  text-align: justify;

  padding-top: 10px;

}



.textos_desenvolvimento{

  text-align: justify;

  margin-top: 10px;

  margin-bottom: 10px;

  line-height: 1.6;

}

.link-direcionamento{

  font-style: italic;

}





/* Formulário e Campos */

form {

  display: grid;

  gap: 20px;

}



.field {

  display: grid;

  gap: 8px;

  text-align: left;

}

.field label{

  font-weight: bold;

  font-style: normal;

  font-size:15px;

}



textarea {

  width: 100%;

  min-height: 220px; /* Aumentamos a altura da área de escrita */

  padding: 15px;

  border: 1px solid var(--border);

  border-radius: 12px;

  font-size: 1.1rem;

  background: #fbfdff;

  line-height: 1.6;

  resize: vertical; /* Permitido redimensionar apenas altura */

}



/* Checkbox LGPD */

.checkbox-field {

  display: flex;

  align-items: center;

  gap: 9px;

  text-align: left;

  font-size: 0.6rem;

  margin-top: 0px;

}



.checkbox-field input[type="checkbox"] {

  width: 22px;

  height: 22px;

  cursor: pointer;

}



/* Botão Enviar */

button#enviar {

  background: var(--accent);

  color: #fff;

  padding: 16px 40px;

  margin-top: 20px;

  font-size: 1.1rem;

  box-shadow: 0 8px 20px rgba(15, 247, 100, 0.3);

  transition: transform .2s, box-shadow .2s;

}



button#enviar:hover {

  transform: translateY(-2px);

  box-shadow: 0 10px 25px rgba(15, 247, 100, 0.5);

}



/* Menu Mobile */

.navbar {

  display: flex;

  justify-content: space-between;

  align-items: center;

  padding: 0 1rem;
  

}



.hamburger {

  display: none;

  cursor: pointer;

}



.bar {

  display: block;

  width: 25px;

  height: 4px;

  margin: 5px auto;

  transition: all 0.3s ease;

  background-color: #333;

  margin-bottom: 0px; /* diminuo entre a barra de navegação e o próximo elemento */  

}



/* Media Queries */

@media (max-width: 768px) {

  .hamburger { display: block; z-index: 1001; }

  .container {
    /* Reduzimos de 80px para 60px (ou o tamanho que preferir) */
    padding: 30px 15px 20px;
  }

  textarea {  
  min-height: 170px; /* Aumentamos a altura da área de escrita */  
  }


  .menu {

    position: fixed;

    left: -100%;

    top: 0;

    flex-direction: column;

    background-color: #767272;

    width: 100%;

    height: 100vh;

    padding-top: 80px;    

    transition: 0.3s;

    z-index: 1000;

    margin-bottom: 0px;

  }

  .menu.active { left: 0; }

  .shadow-box {

    padding: 15px 5px; /*Reduz padding no celular para não apertar o texto */    
    margin-top: 0px;

  }

}

.field {

  font-size-adjust: 12px; font-style: italic;

}

.field ::placeholder {

  font-size: 0.8rem; font-style: italic;

}



/* Rodapé com copyright e redes sociais */

.footer-bar {



  margin-top: 20px;



  display: flex;



  justify-content: space-between;



  align-items: center;



  color: #d1d5db;



  font-size: .9rem;



}



.social {



  display: flex;



  gap: 16px;



}



.social a img {



  width: 32px;



  height: 32px;



  border-radius: 50%;



}



.titulo_sonhos {



display: block;   /* span vira bloco */



width: 100%;      /* ocupa toda a linha */


text-align: center; /* centraliza o texto do h2 */



}



.titulo_sonhos h2 {



margin: 0;        /* evita deslocamentos por margem padrão */



}



.dream {



margin-bottom: 30px; /* aumenta o espaço entre os relatos */



padding-top: 5px; /* diminui o espaço acima do nome */



padding-bottom: 15px;



padding-left: 15px;



padding-right: 15px;



margin-bottom: 30px;



border-radius: 8px;



}



.dream:nth-child(odd) {



background-color: #f9f9f9;    



}



.dream:nth-child(even) {



background-color: #def7ff;    



}



.dream h3 {



margin-top: 0;



font-style: italic;    



}