:root {
  --primary:#16a34a;
  --primary-light:#dcfce7;
  --background:oklch(1 0 0);
  --foreground:oklch(0.235 0.015 65);
  --radius:0.75rem;
  --shadow:0 4px 20px rgba(0,0,0,.08);
}

body{margin:0;font-family:'Inter',sans-serif;
     background:linear-gradient(to bottom,#f0fdf4,#fff);
     color:var(--foreground);}
.container{max-width:1400px;margin:0 auto;padding:0 1.5rem;}
.flex-between{display:flex;align-items:center;justify-content:space-between}

/* header */
.header {
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid #e5e7eb;
  position: sticky;
  top: 0;
  z-index: 50;
}
.logo{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.25rem;color:var(--primary);}
.icon-heart{width:28px;height:28px;}
.header .container {
  padding-top: 1.0rem;   /* ? aumenta espaço acima */
  padding-bottom: 1.0rem; /* ? aumenta espaço abaixo */
}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;font-weight:600;
     text-decoration:none;border-radius:var(--radius);transition:.2s;}
.btn.primary{background:var(--primary);color:#fff;padding:.5rem 1rem;}
.btn.primary:hover{background:#15803d;}
.btn.outline{border:1px solid #d1d5db;color:var(--foreground);padding:.5rem 1rem;}
.btn.outline:hover{border-color:var(--primary);color:var(--primary);}
.btn.ghost{color:var(--foreground);padding:.5rem .8rem;}
.btn.ghost:hover{color:var(--primary);}
.btn.large{padding:.7rem 1.4rem;font-size:1rem;}
.btn.secondary{background:#fff;color:var(--primary);padding:.7rem 1.4rem;}
.btn.secondary:hover{background:#f9fafb;}

/* hero */
.hero{padding:6rem 0;}
.hero-grid{display:grid;align-items:center;gap:3rem;}
@media(min-width:992px){.hero-grid{grid-template-columns:1fr 1fr;}}
.hero-text h1{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:800;line-height:1.15;margin-bottom:1rem;}
.highlight{color:var(--primary);}
.hero-text p {
  font-size: 1.125rem;
  color: #4b5563;
  max-width: 40rem;  /* agora ˜ 640 px */
}


.hero-buttons{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem;}

.hero-image .image-wrapper{position:relative;border-radius:1.25rem;overflow:hidden;box-shadow:var(--shadow);}
.hero-image img{width:100%;display:block;}
.float-card{position:absolute;display:flex;align-items:center;gap:.8rem;
            padding:.9rem 1.2rem;border-radius:.9rem;box-shadow:0 2px 10px rgba(0,0,0,.08);}
.float-card.left{top:20%;left:1rem;}
.float-card.right{bottom:20%;right:1rem;}
         
/* Ícone circular verde-claro uniforme */
.icon-bg {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;              /* largura fixa (˜64px) */
  height: 4rem;             /* mesma altura ? círculo perfeito */
  background-color: var(--primary-light); /* usa seu tom #dcfce7 */
  border-radius: 50%;       /* deixa redondo */
  margin: 0 auto 1rem auto; /* centraliza no card e adiciona espaçamento inferior */
}

.icon-bg svg {
  width: 2rem;  /* 32px para o ícone */
  height: 2rem;
  color: var(--primary); /* verde principal #16a34a */
}
         
         
         
.label{font-size:.8rem;color:#6b7280;margin:0;}
.value{font-size:1rem;font-weight:700;margin:0;}
.glass-effect{background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
.animate-float{animation:float 6s ease-in-out infinite;}
.animate-float-delayed{animation:float 6s ease-in-out infinite 3s;}

/* calculadora */
.calc{padding:5rem 0;text-align:center;}
.calc-box{max-width:600px;margin:2rem auto;background:#fff;padding:2rem;border-radius:1rem;box-shadow:var(--shadow);}
.calc-box input{width:100%;padding:.6rem .9rem;margin:.3rem 0 1rem;border:1px solid #e5e7eb;border-radius:.5rem;font-size:1rem;}
.resultado{background:#dcfce7;padding:1rem;border-radius:.5rem;}
.resultado h3{margin:.3rem 0;color:var(--primary);}

/* beneficios */
.beneficios{text-align:center;padding:5rem 0;}


.benef-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  width: 100%;
  max-width: 1150px;
  margin: 0 auto;
  padding: 0 1rem;
  box-sizing: border-box;
}




@media(min-width:768px){.benef-grid{grid-template-columns:repeat(3,1fr);}}



/* impede textos longos de estourarem nos cards de benefícios */
.benef-card {
  background: #fff;
  padding: 1.5rem;
  border-radius: 0.8rem;
  box-shadow: var(--shadow);
  text-align: center;
  overflow-wrap: break-word; /* quebra o texto no limite */
  word-wrap: break-word;
}

.benef-card p {
  font-size: 0.95rem;
  color: var(--muted-foreground);
  line-height: 1.5;
  max-width: 90%;     /* evita encostar nas bordas internas */
  margin: 0.5rem auto 0;
  word-break: break-word; /* quebra palavras grandes ou links compridos */
}



.benef-card .icon-bg{margin:0 auto 1rem;}
/* cta */
.cta{padding:5rem 0;}
.cta-box{text-align:center;background:linear-gradient(135deg,#16a34a,#15803d);
          color:#fff;padding:3rem;border-radius:1rem;}
.cta-box h2{margin:0 0 .5rem;}
.cta-box p{margin:0 0 1.5rem;}
/* footer */
.footer{text-align:center;border-top:1px solid #e5e7eb;padding:2rem;background:#f9fafb;font-size:.9rem;color:#6b7280;}
.footer-links{display:flex;justify-content:center;gap:1.5rem;margin-top:1rem;}
.footer-links a{text-decoration:none;color:#6b7280;}
.footer-links a:hover{color:var(--primary);}

/* Botões menores no header */
.header .btn {
  padding: 0.35rem 0.75rem;   /* menos altura e largura */
  font-size: 0.85rem;         /* texto um pouco menor */
  border-radius: 0.5rem;      /* cantos um pouco mais sutis */
}

.header .btn.primary {
  padding: 0.4rem 0.9rem;     /* mantém mínima área de clique */
}

/* === Alterna as cores de fundo das sections === */
body > section:nth-of-type(odd) {
  background-color: oklch(1 0 0); /* branco */
}

body > section:nth-of-type(even):not(.footer) {
  background-color: oklch(0.97 0.02 150); /* verde-claro pastel */
}

/* Opcional: espaçamento consistente entre seções */
body > section {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

/* Garante que o footer mantenha sua cor atual */
.footer {
  background-color: var(--color-background);
}/* Garante que o footer mantenha sua cor atual */
.footer {
  background-color: var(--color-background);
}

/* Garante que o grid dos benefícios não ultrapasse o limite do container */
.benef-grid {
  width: 100%;
  max-width: 1150px;     /* mantém os cards dentro do visual padrão container */
  margin: 0 auto;        /* centraliza o grid */
  padding: 0 1rem;       /* dá respiro nas laterais */
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  box-sizing: border-box;
}
