:root{
  --dark:#0d3019; --green:#2b7a2b; --lime:#99d136; --line:#e1e4de; --mint:#f3f8f4;
  --ink:#1a1c19; --gray:#4d524e; --white:#fff;
  --exo:'Exo',sans-serif; --inter:'Inter',sans-serif; --outfit:'Outfit',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:var(--inter);color:var(--ink);background:var(--white);overflow-x:hidden;line-height:1.5}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--exo);line-height:1.1}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}

/* Ticker */
.ticker{background:var(--green);overflow:hidden;padding:12px 0;white-space:nowrap}
.ticker-track{display:inline-flex;gap:48px;padding-left:48px;animation:scroll 40s linear infinite}
.ticker span{font:700 14px var(--exo);letter-spacing:1.5px;color:var(--white);display:inline-flex;align-items:center;gap:16px}
.ticker img{width:8px;height:8px}
@keyframes scroll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker{overflow-x:auto}.ticker-track{animation:none}}

/* Navbar */
.nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:12px clamp(16px,6vw,100px);background:var(--white);border-bottom:1px solid var(--line)}
.logo img{height:36px;width:auto}
.nav nav{display:flex;gap:32px}
.nav nav a{font:700 15px var(--exo);color:var(--dark);text-decoration:none}
.nav nav a:hover{color:var(--green)}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:8px;font-size:20px;padding:6px 12px;cursor:pointer}

/* Buttons & badges */
.btn{display:inline-flex;justify-content:center;align-items:center;padding:18px 24px;border-radius:8px;
  font:700 15px var(--inter);letter-spacing:1px;text-transform:uppercase;text-decoration:none;border:1px solid transparent}
.btn-primary{background:var(--green);color:var(--white);padding:12px 24px;font-family:var(--exo)}
.btn-accent{background:var(--lime);color:var(--dark)}
.btn-outline{color:var(--white);border-color:rgba(255,255,255,.4)}
.btn:focus-visible,.nav a:focus-visible,.menu-btn:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
.badge{display:inline-block;padding:6px 14px;border-radius:100px;font:700 12px var(--exo);letter-spacing:1.5px;text-transform:uppercase}
.badge-dark{background:rgba(255,255,255,.08);color:var(--lime)}
.badge-light{background:rgba(43,122,43,.07);color:var(--green)}

/* Hero */
.hero{background:var(--dark);color:var(--white);padding:96px 0}
.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}
.hero .badge{margin-bottom:24px}
.hero h1{font-size:clamp(36px,5.5vw,60px);margin-bottom:24px}
.hero h1 em{font-style:normal;color:var(--lime)}
.hero p{font:500 18px/1.6 var(--exo);color:var(--line);margin-bottom:16px}
.actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px}
.hero-img{position:relative;max-width:520px;justify-self:center}
.hero-img img{width:100%;height:auto;border-radius:52px}

/* Date Badge - Catavento */
.date-badge {
  position: absolute;
  top: -20px;
  right: -20px;
  width: 140px;
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,0.3));
}
.catavento {
  position: absolute;
  inset: 0;
  animation: spin 30s linear infinite;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cg id='arm'%3E%3Cpath d='M 56.03 52.5 L 94.93 52.5 A 45 45 0 0 1 83.54 80 Z' fill='%2399d136' /%3E%3Cpath d='M 56.03 47.5 L 94.93 47.5 A 45 45 0 0 0 83.54 20 Z' fill='%232b7a2b' /%3E%3C/g%3E%3C/defs%3E%3Cuse href='%23arm' /%3E%3Cuse href='%23arm' transform='rotate(90 50 50)' /%3E%3Cuse href='%23arm' transform='rotate(180 50 50)' /%3E%3Cuse href='%23arm' transform='rotate(270 50 50)' /%3E%3C/svg%3E") no-repeat center;
  background-size: 100% 100%;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}

.date-badge::after {
  content: '';
  position: absolute;
  inset: 16px;
  background: var(--white);
  border-radius: 50%;
  box-shadow: inset 0 2px 6px rgba(0,0,0,0.1);
}

.date-text {
  position: relative;
  z-index: 2;
  text-align: center;
  color: var(--dark);
  line-height: 1.1;
  font-family: var(--outfit);
}
.date-text strong {
  display: block;
  font-size: 49px;
  font-weight: 700;
  color: var(--green);
}
.date-text span {
  display: block;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 1px;
}
.metrics{display:flex;margin-top:56px;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:40px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:20px;max-width:1152px}
.metrics strong{display:block;font:700 48px var(--outfit);color:var(--lime)}
.metrics span{font-weight:700;font-size:15px}

/* Seções */
.sec{padding:96px 0}
.sec-white{background:var(--white)}
.sec-mint{background:var(--mint)}
.center{text-align:center}
.center h2{margin:16px 0 48px}
h2{font-size:clamp(30px,4vw,48px);color:var(--ink)}
h2.thin{font-weight:400;color:var(--green);margin:16px 0}
.lead{font:16px/1.6 var(--exo);color:var(--gray)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.split .badge{margin-bottom:16px}
.split h2{font-size:clamp(30px,3.6vw,40px);margin-bottom:16px}

/* Palestrantes */
.speakers{display:grid;gap:32px;text-align:left}
.speaker{position:relative;overflow:hidden;border-radius:32px;color:var(--white);background:var(--dark);
  display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:end;gap:24px;padding:48px 48px 0;min-height:440px}
.speaker.reverse{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
.speaker.reverse .sp-photo{order:2}
.sp-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sp-mark{position:absolute;left:0;bottom:0;width:100%;height:auto}
.sp-photo{position:relative;width:100%;max-width:420px;height:auto;justify-self:center;align-self:end}
.sp-body{position:relative;align-self:center;padding-bottom:48px;display:grid;gap:14px}
.sp-body h3{font-size:clamp(32px,4vw,48px)}
.sp-body p{font:400 16px/1.6 var(--exo);color:var(--line)}
.sp-body b{color:var(--white)}
.sp-body .sp-role{font:italic 500 20px var(--exo);color:var(--lime)}
.sp-tags{display:flex;flex-wrap:wrap;gap:8px}
.sp-tags span{font:700 13px var(--exo);padding:4px 12px;border-radius:100px;background:rgba(255,255,255,.12);color:var(--white)}
.sp-body .sp-social{display:flex;flex-wrap:wrap;gap:10px;font:700 14px var(--inter)}

/* Agenda */
.agenda{max-width:1020px;margin:0 auto;background:var(--white);border:1px solid var(--line);border-radius:24px;overflow:hidden;text-align:left}
.agenda-head,.row{display:grid;grid-template-columns:100px 150px 1fr auto;gap:32px;align-items:center;padding:24px}
.agenda-head{background:var(--dark);color:var(--white);padding:18px 24px;font:700 16px var(--outfit);text-transform:uppercase}
.row{border-bottom:1px solid var(--line)}
.row.alt{background:rgba(43,122,43,.03)}
.row:last-child{border-bottom:0}
.row time{font:700 18px var(--outfit);color:var(--green)}
.row h3{font-size:20px}
.row p{font:700 14px var(--exo);color:var(--gray);margin-top:6px}
.row p b{color:var(--ink)}
.tag{background:var(--mint);padding:6px 12px;border-radius:6px;font:700 13px var(--inter);color:var(--gray)}

/* Local */
.info{list-style:none;display:grid;gap:16px;margin-top:32px}
.info li{display:flex;gap:16px;align-items:center}
.info .ico{flex:none;width:44px;height:44px;border-radius:12px;background:var(--mint);display:grid;place-items:center}
.info small{display:block;font:700 13px var(--exo);text-transform:uppercase;color:var(--gray)}
.info b{font:700 15px var(--exo)}
.map{display:block}
.map img,.stats-img img{width:100%;height:auto;border-radius:24px;border:1px solid var(--line)}

/* Parceiros */
.sponsors{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.sponsors figure{background:var(--white);border-radius:16px;padding:32px;display:grid;gap:16px;justify-items:center}
.sponsors img{width:100%;max-width:208px;height:auto;border-radius:8px}
.sponsors figcaption{font:700 13px var(--exo);color:var(--gray)}

/* CTA */
.cta{background:var(--green) url('images/node-163.png') center/cover;color:var(--white);padding:72px 0 96px;text-align:center}
.cta .wrap{display:grid;gap:40px;justify-items:center}
.cta-grid{display:grid;grid-template-columns:auto 1fr;gap:64px;align-items:center;text-align:left}
.cta-text{font:500 clamp(22px,3vw,32px)/1.45 var(--exo)}
.cta-text strong{display:block;font-weight:700;font-size:clamp(48px,8vw,96px);line-height:.95;letter-spacing:-.5px;margin:8px 0}
.cta-img{width:100%;max-width:280px;height:auto}
.cta-strip{width:100%;overflow-x:auto;border-top:2px solid var(--white);padding-top:32px}
.cta-strip img{min-width:720px;width:100%;max-width:1200px;height:auto;margin:0 auto}

/* Footer */
.footer{background:var(--green);color:var(--line);padding:80px 0 48px;font-size:14px}
.foot-top{display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.2)}
.foot-brand{max-width:360px;display:grid;gap:16px}
.foot-brand img{height:auto;width:188px;border-radius:6px}
.foot-contact h4{font:700 16px var(--outfit);color:var(--white);margin-bottom:8px}
.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:32px;font-size:13px}
.foot-bottom a{margin-left:24px;text-decoration:none}
.foot-bottom a:first-child{margin-left:0}

/* Responsivo */
@media (max-width:900px){
  .hero-grid,.split,.cta-grid{grid-template-columns:1fr;gap:40px}
  .cta-grid{justify-items:center}
  .sec,.hero{padding:64px 0}
  .menu-btn{display:block}
  .nav nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--white);border-bottom:1px solid var(--line)}
  .nav nav.open{display:flex}
  .nav nav a{padding:16px 24px;border-top:1px solid var(--line)}
  .nav{gap:12px}.nav .btn-primary{margin-left:auto}
  .sponsors{grid-template-columns:1fr}
  .speaker,.speaker.reverse{grid-template-columns:1fr;padding:32px 24px 0}
  .speaker.reverse .sp-photo{order:0}
  .sp-photo{max-width:320px;order:0}
  .sp-body{order:1;padding-bottom:32px}
  .sp-bg{display:none}
  .speaker{background:linear-gradient(135deg,#012a01 20%,#079507)}
  .agenda-head span:last-child{display:none}
  .agenda-head,.row{grid-template-columns:110px 1fr;gap:16px;padding:20px 16px}
  .tag{grid-column:2;justify-self:start}
  .cta-grid{text-align:center}
  .metrics{padding:24px}
  .foot-bottom a{margin:0 24px 0 0}
}

.btn{white-space:nowrap}
@media (max-width:900px){.nav .btn-primary{padding:10px 16px;font-size:13px}}

/* Animações de botões e links (mouse e toque) */
html{-webkit-tap-highlight-color:transparent}
.btn,.menu-btn,.sp-social a{position:relative;overflow:hidden;cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease}
.btn::after,.sp-social a::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.28);
  transform:translateX(-140%) skewX(-18deg);transition:transform .45s ease;pointer-events:none}
.sp-social a{display:inline-flex;align-items:center;padding:8px 16px;border-radius:100px;
  border:1px solid rgba(153,209,54,.6);color:var(--lime);text-decoration:none}
.sp-social a:focus-visible{outline:3px solid var(--lime);outline-offset:2px}

@media (hover:hover){
  .btn:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(0,0,0,.28)}
  .btn:hover::after,.sp-social a:hover::after{transform:translateX(140%) skewX(-18deg)}
  .btn-primary:hover{background:#25692a}
  .btn-accent:hover{background:#aee34a}
  .btn-outline:hover{background:var(--white);color:var(--dark);border-color:var(--white)}
  .sp-social a:hover{background:var(--lime);color:var(--dark);transform:translateY(-2px)}
  .menu-btn:hover{background:var(--mint)}
}
/* Toque no celular: o botão "afunda" enquanto está pressionado */
.btn:active{transform:scale(.95);box-shadow:none}
.btn:active::after,.sp-social a:active::after{transform:translateX(140%) skewX(-18deg)}
.btn-outline:active{background:var(--white);color:var(--dark)}
.sp-social a:active{background:var(--lime);color:var(--dark);transform:scale(.95)}
.menu-btn:active{transform:scale(.92);background:var(--mint)}
.nav nav a{transition:color .2s ease,background-color .2s ease}
.nav nav a:active{background:var(--mint)}
@media (prefers-reduced-motion:reduce){
  .btn,.menu-btn,.sp-social a,.btn::after,.sp-social a::after{transition:none}
  .btn:hover,.btn:active,.sp-social a:hover,.sp-social a:active{transform:none}
}

/* Fotos dos palestrantes maiores (sempre dentro do quadro) */
.speaker,.speaker.reverse{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.sp-photo{max-width:500px}
.speaker.reverse .sp-photo{max-width:460px}
@media (max-width:900px){
  .speaker,.speaker.reverse{grid-template-columns:1fr;padding:32px 12px 0}
  .sp-photo,.speaker.reverse .sp-photo{max-width:100%}
  .sp-body{padding-left:12px;padding-right:12px}
}

/* Intro */
.intro{display:none}
.intro-on .intro{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#fff;
  transition:opacity .6s ease,visibility .6s ease}
.intro-on body{overflow:hidden;height:100%}
.intro.leave{opacity:0;visibility:hidden}
.intro-inner{display:grid;justify-items:center;gap:20px;padding:24px}
.intro-logo{width:min(70vw,240px);height:auto;animation:introLogo 1s cubic-bezier(.2,.8,.2,1) both}
.intro-title{font:700 clamp(14px,2.6vw,18px) var(--exo);letter-spacing:4px;text-transform:uppercase;color:var(--green);
  animation:introFade .8s .6s ease both}
.intro-bar{width:min(60vw,220px);height:4px;border-radius:4px;background:var(--line);overflow:hidden;animation:introFade .5s .4s ease both}
.intro-bar span{display:block;height:100%;width:100%;background:var(--lime);transform:scaleX(0);transform-origin:left;
  animation:introBar 2.2s .4s cubic-bezier(.4,0,.2,1) forwards}
.intro-skip{position:absolute;right:20px;bottom:20px;padding:10px 18px;border-radius:100px;border:1px solid var(--line);
  background:none;font:700 13px var(--inter);color:var(--gray);cursor:pointer;transition:background-color .2s,transform .2s}
.intro-skip:active{transform:scale(.95);background:var(--mint)}
@media (hover:hover){.intro-skip:hover{background:var(--mint)}}
.intro-skip:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
@keyframes introLogo{from{opacity:0;transform:scale(.85) translateY(10px)}to{opacity:1;transform:none}}
@keyframes introFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes introBar{to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){
  .intro-logo,.intro-title,.intro-bar{animation:none}
  .intro-bar span{animation:none;transform:scaleX(1)}
  .intro{transition-duration:.3s}
}
