*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
  font-size:16px;
}

body{
  font-family:'Poppins',sans-serif;
  background:#f7f8fa;
  color:#111827;
  overflow-x:hidden;
}

.container{
  width:min(100% - 32px, 1200px);
  margin:auto;
}

/* NAVBAR */

.navbar{
  background:#02142f;
  width:100%;
  padding:clamp(14px, 2vw, 25px) 0;
  z-index:999;
}

.nav-content{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}

.logo{
  display:flex;
  align-items:center;
  text-decoration:none;
}

.logo img{
  width:auto;
  height:clamp(60px, 5vw, 80px); /* Responsivo */
  display:block;
}
.nav-links{
  display:flex;
  list-style:none;
  gap:clamp(18px, 3vw, 35px);
}

.nav-links a{
  text-decoration:none;
  color:#fff;
  font-weight:500;
  transition:.3s;
}

.nav-links a:hover{
  color:#7ED957;
}

.btn-nav{
  background:#7ED957;
  color:#fff;
  padding:clamp(10px, 1.5vw, 14px) clamp(14px, 2vw, 24px);
  border-radius:10px;
  text-decoration:none;
  font-weight:700;
  transition:.3s;
  white-space:nowrap;
  font-size:clamp(.78rem, 1.3vw, 1rem);
}

.btn-nav:hover{
  background:#69bf43;
}

/* HERO */

.hero{
  min-height:clamp(560px, 100vh, 900px);
  display:flex;
  align-items:center;
  background:
    linear-gradient(
      to right,
      rgba(1,17,40,.97) 10%,
      rgba(1,17,40,.90) 36%,
      rgba(1,17,40,.55) 62%,
      rgba(1,17,40,.10) 100%
    ),
    url('img/hero-extend(2).jpg');
  background-size:cover;
  background-position:65% center;
  background-repeat:no-repeat;
}

.hero-text{
  max-width:min(620px, 100%);
  color:#fff;
}

.hero-mini{
  color:#7ED957;
  font-weight:700;
  letter-spacing:clamp(1px, .4vw, 3px);
  font-size:clamp(.75rem, 1.2vw, .95rem);
}

.hero h1{
  font-size:clamp(1.8rem, 4.8vw, 4rem);
  line-height:.98;
  margin:clamp(16px, 2vw, 20px) 0 clamp(22px, 3vw, 30px);
  font-weight:800;
}

.hero h1 span{
  color:#7ED957;
}

.hero p{
  font-size:clamp(1rem, 1.6vw, 1.2rem);
  line-height:1.7;
  max-width:540px;
  margin-bottom:clamp(28px, 4vw, 40px);
  color:rgba(255,255,255,.92);
}

.btn-hero{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  background:#7ED957;
  color:#fff;
  padding:clamp(14px, 2vw, 18px) clamp(22px, 3vw, 32px);
  border-radius:12px;
  text-decoration:none;
  font-weight:800;
  transition:.3s;
}

.btn-hero:hover{
  transform:translateY(-3px);
  background:#69bf43;
}

/* SEÇÕES */

.section{
  padding:clamp(60px, 8vw, 110px) 0;
}

.section-tag{
  display:inline-block;
  color:#69bf43;
  font-weight:800;
  letter-spacing:2px;
  margin-bottom:18px;
  font-size:clamp(.75rem, 1vw, .95rem);
}

.section-center{
  text-align:center;
  margin-bottom:clamp(50px, 8vw, 115px);
}

/* BUSCA */

.aproveitamento{
  background:linear-gradient(to bottom,#f7f9fc,#eef3f9);
}

.aproveitamento-grid{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(320px,.9fr);
  gap:clamp(35px, 6vw, 60px);
  align-items:center;
}

.aproveitamento h2,
.processo-premium h2{
  font-size:clamp(2rem, 4vw, 3rem);
  line-height:1.1;
  margin-bottom:25px;
  color:#071f63;
}

.aproveitamento p{
  font-size:clamp(1rem, 1.5vw, 1.1rem);
  line-height:1.8;
  color:#5f6b84;
  margin-bottom:20px;
}

.aproveitamento-box{
  background:#fff;
  padding:clamp(24px, 4vw, 40px);
  border-radius:clamp(18px, 3vw, 28px);
  box-shadow:0 20px 50px rgba(0,0,0,.06);
}

.aproveitamento-box h3{
  margin-bottom:25px;
  color:#071f63;
}

.busca-pos{
  position:relative;
}

.busca-pos i{
  position:absolute;
  top:50%;
  left:18px;
  transform:translateY(-50%);
  color:#69bf43;
}

.busca-pos input{
  width:100%;
  padding:16px 18px 16px 48px;
  border:1px solid #ddd;
  border-radius:14px;
  font-size:16px;
  outline:none;
  font-family:'Poppins',sans-serif;
}

.busca-pos input:focus{
  border-color:#69bf43;
  box-shadow:0 0 0 4px rgba(126,217,87,.15);
}

.busca-info{
  margin-top:14px;
  font-size:.9rem;
  color:#6b7280;
}

#resultadoBusca{
  margin-top:20px;
  max-height:min(420px, 55vh);
  overflow-y:auto;
  padding-right:5px;
}

.item-pos{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  padding:14px;
  margin-bottom:10px;
  border-radius:14px;
  background:#f7f9fc;
}

.item-pos:hover{
  background:#eef8ec;
}

.item-pos span{
  font-weight:600;
  color:#0b234d;
}

.btn-whats{
  background:#25D366;
  color:#fff;
  text-decoration:none;
  padding:10px 18px;
  border-radius:30px;
  font-weight:800;
  white-space:nowrap;
  font-size:.9rem;
}

.btn-whats:hover{
  background:#1ebe5d;
}

/* PASSO A PASSO */

.processo-premium{
  background:
    radial-gradient(circle at top left, rgba(126,217,87,.10), transparent 30%),
    radial-gradient(circle at bottom right, rgba(7,31,99,.08), transparent 30%),
    #f7f8fa;
}

.processo-subtitle{
  max-width:720px;
  margin:0 auto;
  font-size:clamp(.95rem, 1.4vw, 1.05rem);
  line-height:1.7;
  color:#5f6b84;
}

.premium-timeline{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:28px;
  position:relative;
}

.premium-step{
  position:relative;
}

.step-number{
  width:clamp(78px, 8vw, 108px);
  height:clamp(78px, 8vw, 108px);
  border-radius:50%;
  background:#fff;
  color:#071f63;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:clamp(1.4rem, 2vw, 2rem);
  font-weight:800;
  border:2px solid rgba(7,31,99,.18);
  box-shadow:0 12px 30px rgba(7,31,99,.10);
  margin:0 auto 22px;
}

.step-card{
  background:linear-gradient(145deg,#ffffff,#f1f3f6);
  border-radius:clamp(20px, 3vw, 28px);
  min-height:clamp(390px, 38vw, 515px);
  padding:clamp(28px, 4vw, 42px) clamp(20px, 3vw, 28px);
  text-align:center;
  box-shadow:0 20px 50px rgba(7,31,99,.08);
}

.step-icon{
  width:clamp(68px, 7vw, 90px);
  height:clamp(68px, 7vw, 90px);
  margin:0 auto 26px;
  border-radius:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg,rgba(126,217,87,.18),rgba(255,255,255,.95));
}

.step-icon i{
  font-size:clamp(2rem, 3vw, 2.7rem);
  color:#071f63;
}

.step-card h3{
  color:#071f63;
  font-size:clamp(1rem, 1.5vw, 1.18rem);
  line-height:1.4;
  font-weight:800;
  margin-bottom:16px;
}

.step-line{
  width:58px;
  height:3px;
  border-radius:999px;
  background:#7ED957;
  margin:0 auto 28px;
}

.step-card p{
  color:#44506a;
  font-size:.95rem;
  line-height:1.75;
}

.docs-box{
  margin-top:10px;
  background:#fff;
  border-radius:22px;
  padding:22px 20px;
  text-align:left;
  box-shadow:0 12px 30px rgba(7,31,99,.06);
}

.docs-box h4{
  color:#071f63;
  font-size:1rem;
  margin-bottom:16px;
  font-weight:800;
}

.docs-box ul{
  list-style:none;
}

.docs-box li{
  position:relative;
  padding-left:34px;
  margin-bottom:16px;
  color:#26324d;
  font-size:.9rem;
  line-height:1.45;
}

.docs-box li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#69bf43;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.75rem;
  font-weight:800;
}

/* IMPORTANTE */

.importante{
  padding-top:20px;
}

.important-box{
  background:linear-gradient(145deg,#fff8e7,#fff2cc);
  border-left:6px solid #ffb800;
  padding:clamp(24px, 4vw, 35px);
  border-radius:24px;
  display:flex;
  gap:25px;
  align-items:flex-start;
}

.important-box i{
  font-size:2rem;
  color:#ffb800;
}

.important-box h3{
  margin-bottom:10px;
  color:#071f63;
}

.important-box p{
  color:#44506a;
  line-height:1.7;
}

/* CTA */

.cta{
  padding-bottom:clamp(60px, 8vw, 100px);
}

.cta-box{
  background:linear-gradient(90deg,#02142f,#032b5a);
  color:#fff;
  border-radius:30px;
  padding:clamp(30px, 5vw, 50px);
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:clamp(25px, 4vw, 40px);
  align-items:center;
}

.cta-left{
  display:flex;
  align-items:center;
  gap:25px;
}

.cta-icon{
  width:70px;
  height:70px;
  border-radius:20px;
  background:rgba(255,255,255,.08);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2rem;
  flex-shrink:0;
}

.cta h2{
  font-size:clamp(1.6rem, 3vw, 2.2rem);
}

.cta h2 span{
  color:#7ED957;
}

.cta-center{
  color:#e5e7eb;
  line-height:1.7;
}

.btn-cta{
  background:#7ED957;
  color:#fff;
  text-decoration:none;
  padding:18px 28px;
  border-radius:12px;
  font-weight:800;
  text-align:center;
  white-space:nowrap;
}

/* FOOTER */

footer{
  background:#02142f;
  color:#fff;
  padding:clamp(50px, 7vw, 80px) 0 40px;
}

.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:50px;
}

.footer-logo{
  margin-bottom:20px;
}

footer p{
  line-height:1.7;
  color:#d1d5db;
}

footer h3{
  margin-bottom:20px;
}

footer ul{
  list-style:none;
}

footer li{
  margin-bottom:12px;
  color:#d1d5db;
}

footer a{
  text-decoration:none;
  color:#d1d5db;
}

footer a:hover{
  color:#7ED957;
}

/* TABLET */

@media(max-width:991px){

  .nav-links{
    display:none;
  }

  .hero{
    min-height:auto;
    padding:120px 0 90px;
    background:
      linear-gradient(to bottom,rgba(1,17,40,.94),rgba(1,17,40,.88)),
      url('img/hero-estudante.png');
    background-size:cover;
    background-position:70% center;
  }

  .aproveitamento-grid{
    grid-template-columns:1fr;
  }

  .premium-timeline{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:50px 28px;
  }

  .cta-box{
    grid-template-columns:1fr;
    text-align:center;
  }

  .cta-left{
    justify-content:center;
  }

  .footer-grid{
    grid-template-columns:1fr;
  }
}

/* CELULAR */

@media(max-width:768px){

  .container{
    width:min(100% - 24px, 1200px);
  }

  .nav-content{
    gap:12px;
  }

  .logo{
    font-size:1.15rem;
  }

  .btn-nav{
    font-size:.78rem;
    padding:10px 12px;
  }

  .hero{
    padding:95px 0 75px;
    text-align:left;
  }

  .hero h1{
    font-size:clamp(2.25rem, 11vw, 3.2rem);
  }

  .btn-hero{
    width:100%;
  }

  .premium-timeline{
    grid-template-columns:1fr;
    gap:45px;
  }

  .step-card{
    min-height:auto;
  }

  .item-pos{
    flex-direction:column;
    align-items:flex-start;
  }

  .btn-whats{
    width:100%;
    text-align:center;
  }

  .important-box{
    flex-direction:column;
  }

  .cta-left{
    flex-direction:column;
    gap:18px;
  }

  .btn-cta{
    width:100%;
  }
}

/* CELULAR PEQUENO */

@media(max-width:480px){

  .logo i{
    display:none;
  }

  .btn-nav{
    padding:9px 10px;
    font-size:.72rem;
  }

  .hero{
    padding:85px 0 65px;
  }

  .aproveitamento-box{
    padding:24px 18px;
  }

  .cta-box{
    border-radius:22px;
  }
}