*,
*::before,
*::after{
  box-sizing:border-box;
}

html, body{
  margin:0;
  padding:0;
  width:100%;
  max-width:100vw;
  overflow-x:hidden;
}

body{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  overflow-x:hidden;
  max-width:100vw;
}

footer{
  flex-shrink:0;
  margin-top:auto;
  width:100%;
  max-width:100%;
}

*{
  max-width:100vw;
  overflow-x:hidden;
}

nav, nav *{
  overflow-x:visible !important;
  max-width:100vw;
}

footer{
  width:100%;
  max-width:100%;
}

body{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  overflow-x:hidden;
}

footer{
  flex-shrink:0;
  margin-top:auto;
  width:100%;
  max-width:100%;
}

body > section,
body > div:not(.background-shape):not(.background-shape2){
  flex:1 0 auto;
}

body > *:not(footer){
  flex:1;
}

.footer{
  width:100%;
  background:#183D61;
  color:#fff;
  box-sizing:border-box;
  margin:0;
  margin-top:auto;
}

.footer-container{
  max-width:100%;
  margin:0 auto;
  text-align:center;
}

.logo-pill img{
  width:130px;
  height:auto;
}

.footer-brand p{
  margin-top:10px;
  line-height:1.5;
}

.footer-copy{
  text-align:center;
  margin-top:25px;
  font-size:13px;
  opacity:0.8;
}

/* iPhone SE */
@media (max-width:375px){

  .footer{
    padding:28px 16px;
  }

  .logo-pill img{
    width:95px;
  }

  .footer-brand p{
    font-size:13px;
  }

}

/* iPhone 12 Pro */
@media (min-width:376px) and (max-width:390px){

  .logo-pill img{
    width:105px;
  }

  .footer-brand p{
    font-size:14px;
  }

}

/* Pixel 7 / iPhone XR */
@media (min-width:391px) and (max-width:414px){

  .logo-pill img{
    width:110px;
  }

}

/* iPhone 14 Pro Max */
@media (min-width:415px) and (max-width:430px){

  .logo-pill img{
    width:115px;
  }

}

:root {
  --primary: #1F3C88;
  --bg: #FFFFFF;
  --soft: #EEF0FD;
  --white: #FFFFFF;
  --text: #000000;
  --accent: #36f38b;
}

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

body{
  font-family:'Inter',sans-serif;
  background:var(--bg);
  color:var(--text);
  overflow-x:hidden;
  width:100%;
}

html{
overflow-x:hidden;
}

/* NAVBAR FIXO - DESKTOP */
@media(min-width:901px){
  nav{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    padding:15px 40px;
    background:#FFFFFF;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:999;
    box-shadow:0 2px 10px rgba(0,0,0,0.05);
    box-sizing:border-box;
    overflow-x:hidden;
  }

  .nav-logo{
  justify-self:start;
  }

  .nav-links{
  justify-self:center;
  }

  .nav-btn{
  justify-self:end;
  }

  .menu-toggle{
  justify-self:end;
  }
}

.nav-btn{
flex-shrink:0;
}

/* LOGO */
.nav-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 700;
  font-size: 18px;
  color: var(--primary);
  text-decoration: none;
  transition: .25s;
  flex-shrink:0;
}

.logo-pill {
  width: 55px;
  height: 55px;
  background: linear-gradient(135deg,#1F3C88,#183D61);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .25s ease;
  flex-shrink:0;
}

.logo-pill img {
  width: 36px;
  height: auto;
  flex-shrink:0;
}

.nav-logo:hover .logo-pill {
  transform: scale(1.08);
  box-shadow: 0 10px 25px rgba(31,60,136,0.35);
}

.nav-logo:hover {
  color: #183D61;
}

/* LINKS */
.nav-links {
  display: flex;
  gap: 25px;
}

.nav-links a {
  text-decoration: none;
  color: #183D61;
  font-weight: 500;
  transition: .2s;
}

.nav-links a:hover {
  color: var(--primary);
}

/* BOTÃO NAV */
.nav-btn {
  background: var(--primary);
  color: white;
  padding: 8px 18px;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
  transition: .2s;
}

.nav-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 15px rgba(0,0,0,0.1);
}

/* HERO */
#hero {
  padding: 80px 20px 60px 20px;
  text-align: center;
  max-width: 1100px;
  margin: 0 auto;
}

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--soft);
  padding: 6px 14px;
  border-radius: 30px;
  margin-bottom: 15px;
  font-size: 13px;
}

.hero-badge .pulse {
  width: 8px;
  height: 8px;
  background: var(--accent);
  border-radius: 50%;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.4); opacity: .6; }
  100% { transform: scale(1); opacity: 1; }
}

h1 {
  font-size: 42px;
  line-height: 1.2;
  margin-bottom: 15px;
}

.grad-text {
  color: var(--primary);
}

.hero-btns {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  gap: 15px;
}

.btn-primary {
  background: var(--primary);
  color: white;
  padding: 12px 22px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 600;
  transition: .2s;
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0,0,0,0.12);
}

.btn-outline {
  border: 1px solid var(--primary);
  padding: 12px 22px;
  border-radius: 10px;
  text-decoration: none;
  color: var(--primary);
  transition: .2s;
}

.btn-outline:hover {
  background: var(--primary);
  color: white;
}

/* HERO CARDS */
.hero-cards {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  gap: 0;
  background: var(--soft);
  border-radius: 20px;
  overflow: hidden;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

.h-card {
  flex: 1;
  padding: 20px;
  text-align: center;
  border-right: 1px solid rgba(0,0,0,0.08);
}

.h-card:last-child {
  border: none;
}

.num {
  font-size: 26px;
  font-weight: 700;
  color: var(--primary);
}

.lbl {
  font-size: 13px;
  color: #666;
}

/* BELT */
.belt {
  margin-top: 60px;
  border-top: 1px solid rgba(0,0,0,0.08);
  border-bottom: 1px solid rgba(0,0,0,0.08);
  padding: 15px 0;
}

.belt-track {
  display: flex;
  justify-content: center;
  gap: 25px;
  flex-wrap: wrap;
}

.belt-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--primary);
  font-size: 13px;
}

.belt-dot {
  width: 5px;
  height: 5px;
  background: var(--accent);
  border-radius: 50%;
}

/* SEÇÕES */
section {
  padding: 60px 20px;
  max-width: 1100px;
  margin: auto;
}

/* TITULOS */
.tag {
  color: var(--primary);
  font-weight: 600;
  margin-bottom: 8px;
}

.sh {
  font-size: 32px;
  margin-bottom: 8px;
}

.sp {
  color: #666;
  margin-bottom: 30px;
}

/* PASSOS */
.tab-content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
}

.step {
  background: var(--soft);
  padding: 20px;
  border-radius: 12px;
  transition: .25s;
}

.step:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 15px rgba(0,0,0,0.08);
}

.step-n {
  font-size: 11px;
  color: #666;
}

.step-e {
  font-size: 22px;
  display: block;
  margin: 8px 0;
}

/* BENEFÍCIOS */
.b-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
}

.b-col {
  background: var(--soft);
  padding: 30px;
  border-radius: 16px;
}

.b-col.glow {
  border: 1px solid var(--primary);
  box-shadow: 0 8px 20px rgba(31,60,136,0.12);
}

.b-tag {
  color: var(--primary);
  font-size: 13px;
  margin-bottom: 8px;
}

.sub {
  color: #666;
  margin-bottom: 20px;
}

/* DEPOIMENTOS */
.dep-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
}

.dep {
  background: var(--soft);
  padding: 20px;
  border-radius: 12px;
  transition: .2s;
}

.dep:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 15px rgba(0,0,0,0.08);
}

.dep-stars {
  color: #FBC02D;
  margin-bottom: 8px;
}

.dep-auth {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 15px;
}

.dep-av {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--primary);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}

#faq{
  padding: 80px 20px;
  text-align: center;
}

/* CONTAINER */
.faq-inner{
  max-width: 700px;
  margin: 40px auto 0;
  text-align: left; /* importante */
}

/* ITEM */
.faq-item{
  border-bottom: 1px solid rgba(0,0,0,0.08);
  padding: 18px 0;
}

/* PERGUNTA */
.faq-q{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;

  font-weight: 600;
  font-size: 16px;

  cursor: pointer;
}

/* ÍCONE (+) */
.faq-q span:last-child{
  font-size: 22px;
  transition: 0.3s;
}

/* RESPOSTA */
.faq-a{
  max-height: 0;
  overflow: hidden;

  transition: max-height .35s ease;
  color: #666;

  line-height: 1.5;
  font-size: 14px;

  margin-top: 10px;
}

/* ATIVO */
.faq-item.active .faq-a{
  max-height: 200px;
}

.faq-item.active .faq-q span:last-child{
  transform: rotate(45deg); /* vira um X */
}

/* CONTATO */
.contact-wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px,1fr));
  gap: 20px;
  margin-top: 30px;
}

.contact-card {
  background: var(--soft);
  padding: 30px;
  border-radius: 14px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

/* FOOTER */
footer {
  width:100%;
  background: #183D61;
  color: white;
  padding: 40px 20px 20px 20px;
  margin: 0;
  flex-shrink: 0;
  margin-top: auto;
}

.footer-container {
  max-width:100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px,1fr));
  gap: 25px;
}

.footer-copy {
  margin-top: 25px;
  text-align: center;
  opacity: 0.7;
  font-size: 13px;
}

.background-shape,
.background-shape2,
.background-shape3,
.background-line{
pointer-events:none;
}

.background-shape{
position:absolute;
width:280px;
height:280px;
background:var(--primary);
opacity:0.05;
border-radius:50%;
top:-120px;
right:-60px;
z-index:-1;
}

.background-shape2{
position:absolute;
width:200px;
height:200px;
background:var(--primary);
opacity:0.05;
border-radius:50%;
bottom:-80px;
left:-40px;
z-index:-1;
}

.background-shape3{
position:absolute;
width:120px;
height:120px;
background:var(--accent);
border-radius:50%;
top:220px;
left:20px;
opacity:0.06;
z-index:-1;
}

.background-line{
position:absolute;
width:2px;
height:80px;
background:var(--accent);
opacity:0.05;
top:420px;
right:40px;
transform:rotate(45deg);
z-index:-1;
}

/* APP PREVIEW */
.preview-container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap;
  padding: 40px 20px;
  width: 100%;
}

#app-preview {
  padding: 0;
  max-width: none;
}

.preview-text {
  max-width: 380px;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.app-buttons {
  display: flex;
  gap: 15px;
  margin-top: 15px;
}

.app-buttons a {
  display: inline-block;
}

.app-buttons img {
  width: 130px;
  height: auto;
  transition: transform 0.2s;
}

.app-buttons img:hover {
  transform: scale(1.05);
}

/* IPHONE */
.phone {
  position: relative;
  width: 240px;
  height: 480px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.phone-frame {
  width: 100%;
  height: 100%;
  display: block;
  z-index: 2;
}

.screen-slider {
  position: absolute;
  top: 10px;
  left: 10px;
  right: 10px;
  bottom: 10px;
  border-radius: 36px;
  overflow: hidden;
  z-index: 1;
}

.screen {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 28px;
}

/* RESPONSIVO */
@media(max-width:900px) {
  .preview-container { flex-direction: column; gap: 30px; }
  .phone { width: 180px; height: 360px; }
  .app-buttons { justify-content: center; }
  .app-buttons img { width: 120px; }
  #app-preview { padding: 0; max-width: 100%; }
}

@media(max-width:600px) {
  .phone { width: 160px; height: 320px; }
  .app-buttons img { width: 100px; }
}

/* =========================
   AJUSTE POR NAV FIXA
========================= */

body{
  padding-top:90px;
  margin-bottom:0 !important;
}

html{
  margin-bottom:0 !important;
}

/* MENU HAMBURGUER */
.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  z-index: 1001;
  flex-shrink:0;
}

.menu-toggle span {
  width: 25px;
  height: 3px;
  background: #183D61;
  border-radius: 2px;
  transition: 0.3s;
  flex-shrink:0;
}

/* =========================
   TABLET
========================= */

@media(max-width:900px){

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

.nav-links{
  display:none !important;
}

.nav-btn{
  display:none;
}

.nav-logo{
  flex-shrink:0;
}

#menuToggle{
  display:flex;
  flex-shrink:0;
}

#mobileMenu{
  order:2;
}

/* HERO */

h1{
font-size:34px;
}

.hero-btns{
flex-direction:column;
align-items:center;
}

.btn-primary,
.btn-outline{
width:220px;
text-align:center;
}

/* HERO CARDS */

.hero-cards{
flex-direction:column;
max-width:320px;
}

.h-card{
border-right:none;
border-bottom:1px solid rgba(0,0,0,0.08);
}

/* BENEFÍCIOS */

.b-wrap{
grid-template-columns:1fr;
}

/* APP PREVIEW */

.preview-container{
flex-direction:column;
text-align:center;
}

.preview-text{
align-items:center;
text-align:center;
}

/* FOOTER */

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

}

/* =========================
   MOBILE
========================= */

@media(max-width:600px){

body{
  padding-top:70px;
}

section, div, img, iframe, video, ul, ol, p, h1, h2, h3, h4, h5, h6{
  overflow-x:hidden;
  max-width:100%;
}

footer{
  width:100%;
}

nav{
  overflow:visible;
  width:100%;
  height:auto;
  padding:12px 16px;
  box-sizing:border-box;
  justify-content:space-between;
  position:fixed;
  top:0;
  left:0;
  z-index:999999;
  background:#FFFFFF;
  box-shadow:0 2px 10px rgba(0,0,0,0.1);
  transform:none !important;
  transition:none !important;
}

#mobileMenu{
  position:relative;
}

.nav-logo{
  flex-shrink:0;
}

#menuToggle,
#mobileMenu{
  flex-shrink:0;
}

#menuToggle span{
  width:24px;
  height:3px;
}

.nav-links{
  display:none !important;
}

.nav-btn{
  display:none;
}

#menuToggle{
  display:flex !important;
}

#mobileMenu{
  display:none !important;
}

#mobileMenu.active{
  display:flex !important;
  flex-direction:column;
  position:absolute;
  top:100%;
  left:0;
  width:100%;
  background:#fff;
  padding:20px;
  gap:20px;
  box-shadow:0 4px 15px rgba(0,0,0,0.1);
  z-index:998;
}

}

/* HERO */

#hero{
padding:60px 15px 40px;
}

h1{
font-size:28px;
}

.hero-badge{
font-size:12px;
}

/* BOTÕES */

.hero-btns{
gap:10px;
}

.btn-primary,
.btn-outline{
width:100%;
max-width:260px;
}

/* SEÇÕES */

section{
padding:45px 15px;
}

/* TITULOS */

.sh{
font-size:26px;
}

/* GRID PASSOS */

.tab-content{
grid-template-columns:1fr;
}

/* DEPOIMENTOS */

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

/* CONTATO */

.contact-wrap{
grid-template-columns:1fr;
}

/* FOOTER */

.footer-container{
grid-template-columns:1fr;
text-align:center;
max-width:100%;
}

/* BELT */

.belt-track{
gap:12px;
font-size:12px;
}

/* IPHONE */

.phone{
width:150px;
height:300px;
}

/* BOTÕES STORE */

.app-buttons img{
width:95px;
}

/* APP PREVIEW */
#app-preview{
padding:0;
}

.preview-container{
padding:30px 15px;
}

}

img, video{
max-width:100%;
height:auto;
}

.preview-container,
section,
.footer-container,
.contact-wrap,
.dep-grid{
width:100%;
overflow:hidden;
}

@media (max-width: 768px) {

body{
padding-top:90px;
margin:0;
margin-bottom:0;
padding-bottom:0;
width:100%;
overflow-x:hidden;
}

/* container geral */
.container,
section{
padding:20px;
width:100%;
overflow-x:hidden;
}

/* contato */
#contato{
padding:30px 20px;
margin-top:0;
}

.contato-grid{
display:flex;
flex-direction:column;
gap:16px;
}

/* cards */
.contato-card{
width:100%;
padding:20px;
border-radius:12px;
overflow-x:hidden;
}

/* footer */
footer{
width:100%;
margin:0;
padding:30px 20px;
}

/* botão */
.contato-card button{
width:100%;
}

/* footer */
footer{
padding:30px 20px;
text-align:center;
margin-top:auto;
margin-bottom:0;
width:100%;
}

.footer-container{
display:flex;
flex-direction:column;
align-items:center;
gap:15px;
margin-top:0;
max-width:100%;
}

/* APP PREVIEW MOBILE */
#app-preview{
padding:0;
margin:0;
}

.footer-copy{
font-size:14px;
text-align:center;
}

}
@media (max-width:768px){

footer{
width:100vw;
max-width:100vw;
margin-left:calc(-50vw + 50%);
}

section{
padding-left:20px;
padding-right:20px;
}

}

/* =========================
/* =========================
   APOIADORES
   ========================= */

.apoiadores-grid {
  display: flex;
  gap: 30px;
  max-width: 900px;
  margin: 40px auto 0;
  padding: 0 20px;
}

.apoiador-card {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 25px;
  padding: 40px;
  background: #EEF0FD;
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(31,60,136,0.08);
  transition: transform 0.3s, box-shadow 0.3s;
}

.apoiador-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(31,60,136,0.15);
}

.apoiador-foto {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  overflow: hidden;
  border: 4px solid #1F3C88;
  flex-shrink: 0;
  margin: 0 auto;
}

.apoiador-foto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.apoiador-info {
  text-align: left;
}

.apoiador-info h3 {
  margin: 0;
  font-size: 20px;
  color: #1F3C88;
}

.apoiador-info .cargo {
  display: block;
  margin-top: 5px;
  font-weight: 600;
  color: #555;
}

.apoiador-info p {
  margin-top: 10px;
  color: #444;
  line-height: 1.5;
  font-size: 14px;
}

/* MOBILE */
@media (max-width: 768px) {
  .apoiadores-grid {
    flex-direction: column;
    gap: 20px;
    padding: 0;
  }

  .apoiador-card {
    flex-direction: column;
    text-align: center;
    padding: 25px 20px;
  }

  .apoiador-foto {
    width: 100px;
    height: 100px;
    margin: 0 auto;
  }

  .apoiador-info {
    text-align: center;
  }
}

#apoiador .container {
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}

/* CAROUSEL - BASE (desktop) */
.carousel-wrapper {
  max-width: 900px;
  margin: 40px auto 0;
  padding: 0 20px;
}

.carousel {
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}

.carousel-track {
  display: flex;
  width: 200%;
  transition: transform 0.5s ease-in-out;
}

.carousel-track .card-1,
.carousel-track .card-2 {
  width: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 40px;
  background: #EEF0FD;
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(31,60,136,0.08);
  box-sizing: border-box;
}

.carousel-foto {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  overflow: hidden;
  border: 4px solid #1F3C88;
  flex-shrink: 0;
}

.carousel-foto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.carousel-info {
  text-align: left;
}

.carousel-info h3 {
  margin: 0;
  font-size: 22px;
  color: #1F3C88;
}

.carousel-info .cargo {
  display: block;
  margin-top: 5px;
  font-weight: 600;
  color: #555;
}

.carousel-info p {
  margin-top: 12px;
  color: #444;
  line-height: 1.6;
}

.carousel-btn {
  background: #1F3C88;
  color: #fff;
  border: none;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
}

.carousel-btn:hover {
  background: #162c66;
}

.carousel-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 20px;
}

.carousel-indicator {
  font-size: 16px;
  font-weight: 600;
  color: #183D61;
}

/* MOBILE */
@media (max-width: 768px) {
  #apoiador {
    padding: 0;
    overflow: hidden;
  }

  #apoiador .container {
    width: 100%;
    overflow: hidden;
  }

  .carousel-wrapper {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    position: relative;
  }

  .carousel {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    position: relative;
  }

  .carousel-track {
    width: 200%;
  }

  .carousel-track .card-1,
  .carousel-track .card-2 {
    width: 50%;
    flex-direction: column;
    text-align: center;
    padding: 30px 20px;
  }

  .carousel-info {
    text-align: center;
  }

  .carousel-foto {
    margin: 0 auto;
  }

  .carousel-btn {
    position: static;
    transform: none;
  }

  .carousel-controls {
    margin-top: 15px;
  }
}

#apoiador .container {
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}

/* CAROUSEL */
.carousel-wrapper {
  max-width: 900px;
  margin: 40px auto 0;
  padding: 0 20px;
  overflow: hidden;
  position: relative;
}

.carousel {
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}

.carousel-track {
  display: flex;
  width: 200%;
  transition: transform 0.5s ease-in-out;
}

.carousel-track .apoiador-card {
  width: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 40px;
  background: #EEF0FD;
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(31,60,136,0.08);
  margin: 0;
  box-sizing: border-box;
}

.carousel-track .card-1,
.carousel-track .card-2 {
  width: 50%;
  flex-shrink: 0;
}

.carousel-foto {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  overflow: hidden;
  border: 4px solid #1F3C88;
  flex-shrink: 0;
}

.carousel-foto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.carousel-info {
  text-align: left;
}

.carousel-info h3 {
  margin: 0;
  font-size: 22px;
  color: #1F3C88;
}

.carousel-info .cargo {
  display: block;
  margin-top: 5px;
  font-weight: 600;
  color: #555;
}

.carousel-info p {
  margin-top: 12px;
  color: #444;
  line-height: 1.6;
}

.carousel-btn {
  background: #1F3C88;
  color: #fff;
  border: none;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
}

.carousel-btn:hover {
  background: #162c66;
}

.carousel-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 20px;
}

.carousel-indicator {
  font-size: 16px;
  font-weight: 600;
  color: #183D61;
}

/* MOBILE */
@media (max-width: 768px) {
  #apoiador {
    padding: 0;
    overflow: hidden;
  }

  #apoiador .container {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }

  .carousel-wrapper {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }

  .carousel-track {
    width: 200%;
    display: flex;
    overflow: hidden;
  }

  .carousel-track .card-1,
  .carousel-track .card-2 {
    width: 50%;
    flex-shrink: 0;
    flex-direction: column;
    text-align: center;
    padding: 30px 20px;
    box-sizing: border-box;
    background: #EEF0FD;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(31,60,136,0.08);
  }

  .carousel-info {
    text-align: center;
  }

  .carousel-foto {
    margin: 0 auto;
  }

  .carousel-btn {
    position: static;
    transform: none;
    margin: 0 10px;
  }
}
/* PRIVACY SECTION */
#privacy {
  padding: 80px 24px;
  max-width: 760px;
  margin: 0 auto;
}

.privacy-body {
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin-top: 8px;
}

.privacy-block h3 {
  font-size: 17px;
  font-weight: 700;
  color: var(--primary);
  margin-bottom: 10px;
}

.privacy-block p,
.privacy-block li {
  font-size: 15px;
  line-height: 1.75;
  color: #444;
}

.privacy-block ul {
  padding-left: 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 6px;
}

.privacy-block a {
  color: var(--primary);
  text-decoration: underline;
}

@media (max-width: 600px) {
  #privacy {
    padding: 60px 16px;
  }
  .privacy-block h3 {
    font-size: 15px;
  }
  .privacy-block p,
  .privacy-block li {
    font-size: 14px;
  }
}
