/* ===== RESET ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:#fff;background:#205862;overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{cursor:pointer;border:none;background:none;font:inherit}

:root{
  --verde:#479a36;
  --teal:#205862;
  --dark:#1a4750;
  --dark2:#173d45;
  --dark3:#1e4d57;
  --cinza:#ddd;
  --cinza-claro:#eee;
  --radius:8px;
  --max-w:1100px;
  --transition:0.3s ease
}

.container{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}
.section{padding:5rem 0}

/* ===== TYPOGRAPHY ===== */
.section-label{
  font-size:0.7rem;
  font-weight:600;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--verde);
  margin-bottom:0.5rem;
  display:block
}
.section-title{
  font-size:clamp(2rem,4vw,3.2rem);
  font-weight:800;
  line-height:1.1;
  margin-bottom:1.5rem
}
.section-title span{color:var(--verde)}

/* ===== BUTTONS ===== */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0.85rem 2.2rem;
  font-weight:600;
  font-size:0.85rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  border-radius:var(--radius);
  transition:var(--transition);
  gap:0.5rem
}
.btn-primary{
  background:var(--verde);
  color:#0d0d0d
}
.btn-primary:hover{background:#c4d900;transform:translateY(-2px)}
.btn-secondary{
  border:1px solid rgba(255,255,255,0.3);
  color:#fff
}
.btn-secondary:hover{background:rgba(255,255,255,0.1);border-color:#fff}

/* ===== NAVBAR ===== */
.navbar{
  position:fixed;
  top:0;left:0;width:100%;
  z-index:100;
  padding:1rem 0;
  transition:var(--transition)
}
.navbar.scrolled{background:rgba(32,88,98,0.95);backdrop-filter:blur(12px)}
.navbar .container{
  display:flex;
  align-items:center;
  justify-content:space-between
}
.nav-logo{display:flex;align-items:center;gap:0.75rem}
.nav-logo img{height:50px;width:auto}
.nav-logo span{
  font-size:0.7rem;
  font-weight:600;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--cinza);
  border-left:1px solid var(--dark3);
  padding-left:0.75rem
}
.nav-links{display:flex;gap:2rem}
.nav-links a{
  font-size:0.75rem;
  font-weight:500;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--cinza);
  transition:var(--transition)
}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav-toggle{
  display:none;flex-direction:column;gap:4px;padding:4px
}
.nav-toggle span{
  width:24px;height:2px;background:#fff;transition:var(--transition)
}
.nav-toggle.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}

/* ===== HERO ===== */
.hero{
  background:#205862;
  color:#fff
}
.hero-video-wrapper{
  width:100%;
  overflow:hidden;
  line-height:0;
  padding-top:70px;
  background:#000
}
.hero-video{
  width:100%;
  display:block
}
.hero .container{position:relative;padding-top:1.5rem;padding-bottom:2.5rem;text-align:center}
.hero-badge{
  font-size:0.7rem;
  font-weight:600;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--verde);
  margin-bottom:1rem;
  display:block
}
.hero-title{
  font-size:clamp(2.5rem,7vw,6rem);
  font-weight:900;
  line-height:0.95;
  letter-spacing:-0.04em;
  margin-bottom:0.25rem
}
.hero-title-line2{color:var(--verde)}
.hero-sub{
  font-size:clamp(1rem,2vw,1.5rem);
  font-weight:300;
  color:var(--cinza-claro);
  margin:1.5rem 0 2rem;
  max-width:500px;
  line-height:1.5
}
.hero-info{
  display:flex;
  justify-content:center;
  gap:2rem;
  margin-bottom:0.75rem;
  flex-wrap:wrap;
  position:relative
}

.hero-info-item{
  font-size:1.73rem;
  color:var(--cinza);
  letter-spacing:0.05em;
  text-align:center
}
.hero-info-item strong{color:#fff;display:block;font-size:1.95rem}
.hero-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}

/* ===== COUNTDOWN ===== */
.countdown{
  display:flex;
  justify-content:center;
  gap:1.25rem;
  margin-bottom:0.75rem
}
.count-item{text-align:center;min-width:70px}
.count-num{
  font-size:clamp(2rem,4.5vw,3.2rem);
  font-weight:900;
  line-height:1;
  color:#fff
}
.count-label{
  font-size:0.75rem;
  text-transform:uppercase;
  letter-spacing:0.12em;
  color:#fff;
  margin-top:0.3rem;
  display:block
}

/* ===== SOBRE ===== */
.sobre{background:var(--dark2)}
.sobre-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4rem;
  align-items:center
}
.sobre-text p{
  color:var(--cinza);
  font-size:0.95rem;
  line-height:1.8;
  margin-bottom:1rem
}
.sobre-highlight{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0.75rem
}
.sobre-highlight-item{
  padding:1rem;
  border:1px solid var(--dark3);
  border-radius:var(--radius);
  text-align:center
}
.sobre-highlight-item strong{
  display:block;
  font-size:1.7rem;
  color:var(--verde)
}
.sobre-highlight-item span{
  font-size:0.95rem;
  color:var(--cinza)
}

/* ===== NUMEROS ===== */
.numeros-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:1rem
}
.numero-card{
  padding:2rem 1rem;
  text-align:center;
  border:1px solid var(--dark3);
  border-radius:var(--radius);
  transition:var(--transition)
}
.numero-card:hover{border-color:var(--verde);background:var(--dark2)}
.numero-num{
  font-size:2.5rem;
  font-weight:900;
  color:var(--verde);
  line-height:1
}
.numero-label{
  display:block;
  font-size:0.75rem;
  color:var(--cinza);
  margin-top:0.5rem;
  text-transform:uppercase;
  letter-spacing:0.08em
}

/* ===== TIMELINE ===== */
.timeline{background:var(--dark2)}
.timeline-wrapper{
  position:relative;
  display:flex;
  align-items:center;
  gap:0.5rem
}
.timeline-arrow{
  width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--dark3);
  border-radius:50%;
  color:var(--cinza);
  flex-shrink:0;
  transition:var(--transition)
}
.timeline-arrow:hover{border-color:var(--verde);color:var(--verde)}
.timeline-track{
  display:flex;gap:0.75rem;
  overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;
  flex:1;padding:0.5rem 0
}
.timeline-track::-webkit-scrollbar{display:none}
.timeline-item{
  flex:0 0 180px;
  scroll-snap-align:start;
  text-align:center;
  cursor:pointer
}
.timeline-dot{
  width:12px;height:12px;
  border-radius:50%;
  background:var(--dark3);
  margin:0 auto 0.5rem;
  transition:var(--transition)
}
.timeline-item.active .timeline-dot{background:var(--verde);  box-shadow:0 0 0 4px rgba(71,154,54,0.2)}
.timeline-year{
  font-size:0.96rem;
  font-weight:700;
  color:var(--cinza);
  margin-bottom:0.5rem;
  display:block
}
.timeline-item.active .timeline-year{color:var(--verde)}
.timeline-content{
  display:block;
  background:var(--dark);
  border:1px solid var(--dark3);
  border-radius:var(--radius);
  overflow:hidden;
  text-align:left;
  transition:var(--transition);
  color:inherit;
  text-decoration:none
}
.timeline-item.active .timeline-content{border-color:var(--verde)}
.timeline-img{
  height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden
}
.timeline-img img{width:100%;height:100%;object-fit:cover}
.timeline-img-placeholder{color:rgba(255,255,255,0.3);font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em}
.timeline-info{padding:0.75rem; min-height: 93px;}
.timeline-city{font-size:0.84rem;color:var(--verde);margin-bottom:0.25rem;display:block}
.timeline-info p{font-size:0.84rem;color:var(--cinza);line-height:1.5;margin-bottom:0.4rem}
.timeline-highlight{font-size:0.72rem;color:var(--teal);background:rgba(71,154,54,0.1);padding:0.15rem 0.5rem;border-radius:3px}

/* ===== TRILHAS ===== */
.trilhas-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1rem
}
.dia-programacao{margin-bottom:2rem;background:var(--dark2);border-radius:var(--radius);padding:1.5rem;border:1px solid var(--dark3)}
.dia-header{display:flex;align-items:center;gap:0.75rem;margin-bottom:1rem;padding-bottom:0.75rem;border-bottom:1px solid var(--dark3);font-size:1.72rem;color:var(--cinza-claro);flex-wrap:wrap}
.dia-badge{display:inline-block;padding:0.26rem 0.8rem;background:var(--verde);color:var(--dark);border-radius:4px;font-size:0.85rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em}
.cursos-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(237px,1fr));gap:0.5rem}
.curso-card{display:flex;flex-direction:column;padding:0;background:var(--dark);border-radius:var(--radius);border:1px solid var(--dark3);transition:var(--transition);overflow:hidden}
.curso-card:hover{background:var(--dark3)}
.curso-foto{/*aspect-ratio:1/1;*/height: 180px; overflow:hidden;display:flex;align-items:center;justify-content:center;background:#000}
.curso-foto img{width:100%;height:100%;object-fit:cover;object-position:center 15%}
.curso-foto-dupla{display:flex;height:100%;width:100%}
.curso-foto-dupla img{width:50%;height:100%;object-fit:cover;object-position:center 15%}
.curso-body{display:flex;gap:0.65rem;padding:0.75rem}
.curso-num{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--verde);color:var(--dark);border-radius:50%;font-size:0.7rem;font-weight:700}
.curso-info h4{font-size:1rem;font-weight:600;margin-bottom:0.1rem;color:#fff;line-height:1.3}
.curso-prof{font-size:0.9rem;color:var(--cinza);margin-bottom:0.15rem}
.curso-trilha{display:inline-block;font-size:0.72rem;font-weight:600;color:var(--verde);background:rgba(71,154,54,0.15);padding:0.12rem 0.5rem;border-radius:3px}
.trilha-card{
  padding:2rem;
  border:1px solid var(--dark3);
  border-radius:var(--radius);
  transition:var(--transition);
  position:relative;
  overflow:hidden
}
.trilha-card::before{
  content:'';position:absolute;top:0;left:0;right:0;
  height:2px;
  background:var(--verde);
  transform:scaleX(0);
  transform-origin:left;
  transition:var(--transition)
}
.trilha-card:hover{background:var(--dark2);border-color:var(--dark)}
.trilha-card:hover::before{transform:scaleX(1)}
.trilha-card h3{font-size:0.95rem;font-weight:700;margin-bottom:0.5rem}
.trilha-card p{font-size:0.8rem;color:var(--cinza);line-height:1.6;margin-bottom:0.75rem}
.trilha-cursos{font-size:0.65rem;color:var(--verde);font-weight:600;text-transform:uppercase;letter-spacing:0.08em}
.trilhas-cta{text-align:center;margin-top:3rem}
.trilhas-cta p{color:var(--cinza);margin-bottom:1rem;font-size:0.9rem}

/* ===== PALESTRANTES ===== */
.palestrantes{background:var(--dark2)}
.palestrantes-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1rem
}
.palestrante-card{
  border:1px solid var(--dark3);
  border-radius:var(--radius);
  overflow:hidden;
  transition:var(--transition)
}
.palestrante-card:hover{border-color:var(--verde)}
.palestrante-foto{
  height:180px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden
}
.palestrante-foto img{width:100%;height:100%;object-fit:cover;object-position:center 15%}
.palestrante-foto-dupla{display:flex;height:100%;width:100%}
.palestrante-foto-dupla img{width:50%;height:100%;object-fit:cover;object-position:center 15%}
.palestrante-placeholder{color:rgba(255,255,255,0.2);font-size:0.7rem;text-transform:uppercase;letter-spacing:0.1em}
.palestrante-info{padding:1rem}
.palestrante-info h3{font-size:0.9rem;font-weight:700;margin-bottom:0.2rem}
.palestrante-curriculo{font-size:0.7rem;color:var(--cinza);display:block;margin-bottom:0.4rem}
.palestrante-tema{font-size:0.65rem;color:var(--verde);font-weight:600}

/* ===== GALERIA ===== */
.galeria-mosaico{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  grid-template-rows:180px 180px;
  gap:0.5rem;
  border-radius:var(--radius);
  overflow:hidden;
  margin-bottom:3rem
}
.mosaico-item{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  position:relative
}
.mosaico-item img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}
.mosaico-item:hover img{transform:scale(1.05)}
.mosaico-grande{grid-row:span 2}
.mosaico-placeholder{color:rgba(255,255,255,0.2);font-size:0.7rem;text-transform:uppercase;letter-spacing:0.1em}

/* ===== DEPOIMENTOS ===== */
.depoimentos{max-width:600px;margin:0 auto;text-align:center}
.depoimento-item{display:none}
.depoimento-item.active{display:block}
.depoimento-item p{
  font-size:1.1rem;
  line-height:1.8;
  color:var(--cinza-claro);
  font-style:italic;
  margin-bottom:1.5rem
}
.depoimento-item p::before{content:"\201c";font-size:3rem;line-height:0;vertical-align:-0.3em;color:var(--verde);margin-right:0.1em}
.depoimento-autor strong{display:block;font-size:0.85rem}
.depoimento-autor span{font-size:0.7rem;color:var(--cinza)}
.depoimentos-nav{display:flex;justify-content:center;gap:0.5rem;margin-top:1.5rem}
.depo-dot{width:8px;height:8px;border-radius:50%;background:var(--dark3);transition:var(--transition)}
.depo-dot.active{background:var(--verde);width:24px;border-radius:4px}

/* ===== INFO CARDS (template-inspired) ===== */
.info-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:1rem;
  margin-top:2rem
}
.info-card{
  padding:2rem 1.5rem;
  border:1px solid var(--dark3);
  border-radius:var(--radius);
  text-align:center;
  transition:var(--transition)
}
.info-card:hover{border-color:var(--verde)}
.info-card svg{color:var(--verde);margin-bottom:1rem}
.info-card h4{font-size:0.8rem;font-weight:700;margin-bottom:0.5rem;text-transform:uppercase;letter-spacing:0.08em}
.info-card p{font-size:0.78rem;color:var(--cinza);line-height:1.5}

/* ===== PARCEIROS ===== */
.parceiros{background:var(--dark2)}
.parceiros-track{
  display:flex;gap:1.5rem;
  animation:scrollP 20s linear infinite;
  width:fit-content
}
.parceiros-track:hover{animation-play-state:paused}
.parceiro-logo{
  flex:0 0 140px;height:70px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--dark3);
  border-radius:var(--radius);
  font-size:0.7rem;
  color:var(--cinza);
  text-transform:uppercase;
  letter-spacing:0.08em
}
.parceiro-logo:hover{border-color:var(--verde);color:var(--verde)}
@keyframes scrollP{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}

/* ===== LOCAL ===== */
.local-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3rem;
  align-items:center
}
.local-info h3{font-size:1.1rem;font-weight:700;margin-bottom:0.5rem}
.local-info p{font-size:0.85rem;color:var(--cinza);margin-bottom:0.3rem}
.local-facilidades{margin:1.5rem 0}
.local-facilidades h4{font-size:0.8rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:0.75rem;color:var(--verde)}
.local-facilidades li{
  display:flex;align-items:center;gap:0.5rem;
  font-size:0.8rem;color:var(--cinza);
  margin-bottom:0.4rem
}
.local-facilidades li svg{color:var(--verde);flex-shrink:0}
.local-mapa iframe{width:100%;height:350px;border-radius:var(--radius)}

/* ===== CONTACT / INSCRIÇÕES (template-inspired form) ===== */
.contact-section{background:var(--dark2)}
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3rem
}
.contact-info p{font-size:0.85rem;color:var(--cinza);line-height:1.8}
.contact-info strong{color:#fff}
.contact-form{display:flex;flex-direction:column;gap:0.75rem}
.contact-form input,.contact-form textarea{
  padding:0.85rem 1rem;
  background:var(--dark);
  border:1px solid var(--dark3);
  border-radius:var(--radius);
  color:#fff;
  font-size:0.85rem;
  font-family:inherit;
  transition:var(--transition)
}
.contact-form input:focus,.contact-form textarea:focus{
  outline:none;
  border-color:var(--verde)
}
.contact-form textarea{min-height:100px;resize:vertical}
.contact-form .btn{width:100%}

/* ===== CERTIFICADOS ===== */
.certificados{text-align:center}
.certificados p{color:var(--cinza);font-size:0.9rem;margin-bottom:1.5rem;max-width:500px;margin-left:auto;margin-right:auto}

/* ===== NEWSLETTER (template-inspired) ===== */
.newsletter{
  padding:4rem 0;
  border-top:1px solid var(--dark3);
  border-bottom:1px solid var(--dark3);
  text-align:center
}
.newsletter h3{
  font-size:1rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.12em;
  margin-bottom:0.5rem
}
.newsletter p{
  font-size:0.8rem;
  color:var(--cinza);
  margin-bottom:1.5rem
}
.newsletter-form{
  display:flex;
  gap:0.75rem;
  max-width:440px;
  margin:0 auto
}
.newsletter-form input{
  flex:1;
  padding:0.85rem 1rem;
  background:var(--dark);
  border:1px solid var(--dark3);
  border-radius:var(--radius);
  color:#fff;
  font-size:0.85rem;
  font-family:inherit
}
.newsletter-form input:focus{outline:none;border-color:var(--verde)}

/* ===== FOOTER ===== */
.footer{
  padding:3rem 0 1.5rem;
  background:var(--dark)
}
.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:3rem;
  margin-bottom:2rem
}
.footer-brand img{height:32px;width:auto;margin-bottom:0.75rem}
.footer-brand p{font-size:0.78rem;color:var(--cinza);line-height:1.6}
.footer-brand .footer-edicao{color:var(--verde);font-weight:600}
.footer h4{
  font-size:0.7rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.12em;
  margin-bottom:1rem;
  color:#fff
}
.footer-links li{margin-bottom:0.4rem}
.footer-links a{font-size:0.78rem;color:var(--cinza);transition:var(--transition)}
.footer-links a:hover{color:var(--verde)}
.footer-social{display:flex;gap:0.5rem}
.footer-social a{
  width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--dark3);
  border-radius:50%;
  color:var(--cinza);
  transition:var(--transition)
}
.footer-social a:hover{border-color:var(--verde);color:var(--verde)}
.footer-address{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--dark3)}
.footer-address p{font-size:0.72rem;color:var(--cinza);margin-bottom:0.2rem;text-align:center}
.footer-bottom{text-align:center;font-size:0.7rem;color:var(--cinza);margin-top:1.5rem}

/* ===== ANIMATIONS ===== */
.fade-in{opacity:0;transform:translateY(30px);transition:opacity 0.6s ease,transform 0.6s ease}
.fade-in.visible{opacity:1;transform:translateY(0)}

/* ===== RESPONSIVE ===== */
@media(max-width:992px){
  .sobre-grid,.local-grid,.contact-grid{grid-template-columns:1fr;gap:2rem}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
}
@media(max-width:768px){
  .section{padding:3rem 0}
  .nav-toggle{display:flex}
  .nav-links{
    position:fixed;top:0;right:-100%;
    width:260px;height:100vh;
    background:var(--dark2);
    padding:5rem 2rem 2rem;
    flex-direction:column;
    gap:0.5rem;
    transition:var(--transition);
    z-index:99
  }
  .nav-links.open{right:0}
  .nav-links a{padding:0.5rem 0}
  .hero-title{font-size:clamp(2rem,10vw,4rem)}
  .numeros-grid{grid-template-columns:repeat(2,1fr)}
  .galeria-mosaico{
    grid-template-columns:1fr 1fr;
    grid-template-rows:140px 140px 140px
  }
  .mosaico-grande{grid-column:span 2;grid-row:span 1}
  .newsletter-form{flex-direction:column}
  .footer-grid{grid-template-columns:1fr;gap:1.5rem}
}
@media(max-width:480px){
  .hero{padding:5rem 0 3rem}
  .countdown{gap:0.5rem}
  .count-item{min-width:45px}
  .count-num{font-size:1.3rem}
  .galeria-mosaico{grid-template-columns:1fr;grid-template-rows:auto}
  .mosaico-item{height:140px}
  .mosaico-grande{height:200px}
  .trilhas-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .info-cards{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}
  .fade-in{opacity:1;transform:none}
  .parceiros-track{animation:none}
}
