:root{
  --green: #008a4c;
  --red: #d92d20;
  --text: #1a1a1a;
  --muted: #6b7280;
  --bg: #ffffff;
  --bg-alt: #f7f7f7;
  --radius: 18px;
  --shadow: 0 10px 25px rgba(0,0,0,.08);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}

/* Animações de Carregamento */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

body.fade-in {
  animation: fadeIn 0.8s ease-out forwards;
}

/* Esconde elementos para animar individualmente */
.strip, .grid, .footer {
  opacity: 0;
}

body.loaded .strip,
body.loaded .grid,
body.loaded .footer {
  animation: fadeIn 0.8s ease-out forwards;
}
/* Adiciona um delay para cada seção aparecer em sequência */
body.loaded .grid { animation-delay: 0.2s; }
body.loaded .footer { animation-delay: 0.4s; }


body{
  font-family:'Montserrat',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);background:var(--bg);line-height:1.6;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1120px;margin-inline:auto;padding:1.5rem 1rem;}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:static;width:auto;height:auto;padding:.5rem 1rem;background:#111;color:#fff}

/* Buttons */
.btn{
  display:inline-block;
  border-radius:999px;
  padding:1rem 1.75rem;
  font-weight:700;
  cursor:pointer;
  border:2px solid transparent;
  transition: all 0.25s ease-out;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-align:center;
  position: relative;
}
.btn:hover, .btn:focus {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 6px 20px rgba(0,0,0,.15);
}
.btn:active {
  transform: translateY(-1px) scale(1);
  box-shadow: 0 4px 15px rgba(0,0,0,.1);
}
.btn--solid{background:var(--red);color:#fff;border-color:var(--red)}
.btn--solid:hover,.btn--solid:focus{background:#b3241a;border-color:#b3241a;}
.btn--ghost{background:#fff;color:var(--green);border-color:var(--green)}
.btn--ghost:hover,.btn--ghost:focus{background:var(--green);color:#fff}

/* Spinner de carregamento do botão */
.btn.loading .btn__text {
  visibility: hidden;
  opacity: 0;
}
.btn.loading::after {
  content: '';
  position: absolute;
  width: 24px;
  height: 24px;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  border: 4px solid transparent;
  border-top-color: #ffffff;
  border-radius: 50%;
  animation: spinner .6s ease infinite;
}
@keyframes spinner {
  from { transform: rotate(0turn); }
  to { transform: rotate(1turn); }
}


/* Hero (strip) */
.strip.strip--split{
  background:#0a0a0a;
  background-image:linear-gradient(180deg, #0a0a0a 0%, #0f1a13 100%);
  color:#fff;
  overflow:hidden;
}
.strip--split .strip__grid{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
  padding:0;
}
.strip--split .strip__copy{
  padding:3rem 1rem;
  text-align:center;
  width:100%;
  order:2;
}
.hero__logo {
  display: inline-block;
  margin-bottom: 2.5rem;
}
.h1{
  font-weight:900;
  font-size:2.2rem;
  line-height:1.25;
  letter-spacing:-0.02em;
}
.brand-kicker{color:#70ff9c}
.sub{
  margin-top:1rem;
  color:#e8e8e8;
  max-width:52ch;
  font-size:1.1rem;
  margin-inline:auto;
}
.strip__actions{margin-top:1.5rem}
.strip--split .strip__media{
  width:100%;
  display:flex;
  justify-content:center;
  overflow:hidden;
  order:1;
}
.strip--split .strip__media img{
  border-radius:0;
  box-shadow:none;
  width:100%;
  height:auto;
  object-fit:cover;
}

/* Benefits + Form grid */
.grid{background:#fff}
.grid__inner{display:grid;gap:3rem;align-items:start;grid-template-columns:1fr;padding:2.5rem 1rem}
.grid__benefits h2{font-size:1.6rem;color:var(--green);margin-bottom:1rem;font-weight:900;}
.bullets{list-style:none;display:grid;gap:.75rem}
.bullets li{
  background:var(--bg-alt);
  border:1px solid #ededed;
  border-radius:14px;
  padding:1rem 1.25rem;
  display:flex;
  align-items:center;
  gap:.75rem;
  transition: all 0.2s ease-out; /* Microinteração */
}
.bullets li:hover {
  transform: translateX(5px);
  background-color: #e9f5ee;
  border-color: var(--green);
}

.bullet-icon { color: var(--green); flex-shrink: 0; }
.highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1.5rem}
.hl{
  background:#fff;
  border:1px solid #e9e9e9;
  border-radius:14px;
  padding:1rem;
  text-align:center;
  transition: all 0.2s ease-out;
}
.hl:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}
.hl__big{display:block;font-weight:900;font-size:1.6rem;color:var(--green);line-height:1}

/* Card / Form */
.card{
  background:#0d2e29;
  color:#fff;
  border-radius:24px;
  box-shadow:var(--shadow);
  padding:2rem 1.5rem;
}
.card__title{font-size:1.25rem;margin-bottom:1rem;font-weight:900;}
.form-card .field{display:grid;gap:.35rem;margin-top:.8rem}
label{font-weight:600;font-size:.9rem;color:#c2f7d8;}
input[type="text"],input[type="tel"]{
  width:100%;
  padding:1rem;
  border-radius:12px;
  border:2px solid #355f4b;
  font-size:1rem;
  outline:none;
  color:#0f0f0f;
  background-color:#f0f8f6;
  transition: all .2s;
}
input:focus{
  border-color:var(--green);
  box-shadow: 0 0 0 4px rgba(0, 138, 76, .25);
  background-color:#fff;
}
.consent{display:flex;align-items:flex-start;gap:.6rem;font-size:.9rem;margin:1rem 0}
.consent a{color:#c2f7d8;text-decoration:underline}
.feedback{min-height:1.2rem;margin-top:.5rem;font-weight:600;}

/* Thank you state */
.thankyou[hidden]{
    display:none;
}
.thankyou__hero{
    position:relative;
    background:#000;
    max-height: 400px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.thankyou__hero picture,
.thankyou__hero picture img {
    width:100%;
    height: 100%;
    object-fit: cover;
}
.thankyou__logo{
    position:absolute;
    left:1.5rem;
    bottom:1.5rem;
    width: clamp(120px, 15vw, 160px);
    height:auto;
    filter:drop-shadow(0 4px 10px rgba(0,0,0,.5));
}
.thankyou__content{
    padding: 3rem 1rem;
    text-align:center;
}
.thankyou__content .h1{
    color:var(--green);
    margin-bottom:.75rem;
    font-size: 2.4rem;
}
.thankyou__content p{
    max-width:60ch;
    margin-inline:auto;
    font-size: 1.1rem;
    line-height: 1.6;
    color: var(--muted);
    margin-bottom: 2rem;
}
.thankyou__content #cta-voltar {
    margin-top: 1rem;
}

/* Footer */
.footer{background:var(--green);color:#fff}
.footer__inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;}
.footer p{max-width:700px;font-size:.95rem}

/* Responsive */
@media (min-width: 768px){
  .wrap {padding:2rem;}
  .strip--split .strip__grid{
    display:grid;
    grid-template-columns: 1.1fr 0.9fr;
    align-items: center;
  }
  .strip--split .strip__copy, .strip--split .strip__media {
    order:initial;
  }
  .strip--split .strip__copy{
    text-align:left;
    padding: 4rem 4rem 4rem calc((100vw - 1120px) / 2 + 2rem);
  }
  .sub{
    margin-inline:0;
  }
  .strip--split .strip__media{
    height:100%;
    min-height: 600px;
  }
  .strip--split .strip__media img{
    height:100%;
    width:100%;
    object-fit:cover;
  }
  .h1{font-size:2.8rem}
  .grid__inner{
      grid-template-columns:1.1fr .9fr;
      padding:4rem 1rem;
  }
  .card{padding:2rem;}
  .thankyou__hero {
      max-height: 450px;
  }
  .thankyou__content {
      padding: 4rem 1rem;
  }
  .thankyou__logo{
      left: 2rem;
      bottom: 2rem;
  }
  .footer__inner{flex-direction:row;justify-content:space-between;text-align:left;}
}