*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{--navy:#181057;--blue:#155cf4;--yellow:#ffbb00;--text:#2a273b;--brown:#311d16;--white:#fff;--f-head:'Outfit',sans-serif;--f-body:'Lato',sans-serif;--f-mono:'Space Mono',monospace;--f-pixel:'Press Start 2P',cursive}
html{scroll-behavior:smooth;scroll-padding-top:60px}
[id]{scroll-margin-top:60px}
#porque{scroll-margin-top:-20px}
#premiacoes{scroll-margin-top:8px}
html,body{height:auto}
body{font-family:var(--f-body);color:var(--text);background:#222;overflow-x:hidden}
img{display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}

/* Skip to content */
.skip-link:focus{position:fixed;top:8px;left:8px;z-index:99999;padding:12px 24px;background:var(--yellow);color:var(--navy);font-family:var(--f-mono);font-weight:700;font-size:16px;border-radius:8px;clip:auto;width:auto;height:auto;outline:2px solid var(--navy)}

/* Focus visible */
.btn:focus-visible,.nav-link:focus-visible,.nav-hamburger:focus-visible,.cacc-header:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}

.anim{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}
.anim.visible{opacity:1;transform:translateY(0)}

.page{position:relative;overflow:hidden;background:var(--white)}

/* Floating decorations — absolute within .page */
.deco{position:absolute;top:0;left:0;right:0;width:100%;height:100%;pointer-events:none;z-index:3;overflow:hidden}
.d{position:absolute;pointer-events:auto;cursor:default;will-change:transform}

/* Positions from Figma LP frame (1440px). */
.d-hero-big{top:41px;right:-93px;width:533px;height:520px}
.d-hero-diamond{top:240px;left:40px;width:153px;height:152px}
.d-blob-left{top:888px;left:-227px;width:617px;height:623px}
.d-diamond-mid{top:1872px;right:40px;width:153px;height:152px}
.d-sq-1{top:926px;right:10px;width:90px;height:90px;background:var(--yellow);border-radius:20px;opacity:.2;--base-rot:rotate(-18deg)}
.d-sq-2{top:1877px;left:40px;width:90px;height:90px;background:var(--blue);border-radius:20px;opacity:.2;--base-rot:rotate(-18deg)}
.d-sq-3{top:1972px;right:-80px;width:259px;height:259px;background:var(--yellow);border-radius:60px;opacity:.2;--base-rot:rotate(-43deg)}
.d-sq-4{top:5800px;right:-60px;width:250px;height:241px;background:var(--yellow);border-radius:50px;opacity:.2;--base-rot:rotate(-43deg)}
.d-sq-5{top:6000px;left:-40px;width:110px;height:107px;border:3px solid var(--blue);border-radius:16px;opacity:.25;--base-rot:rotate(24deg)}
.d-sq-6{top:7200px;right:40px;width:150px;height:150px;background:var(--blue);border-radius:30px;opacity:.15;--base-rot:rotate(-25deg)}
.d-sq-7{top:8400px;left:-20px;width:200px;height:200px;background:var(--yellow);border-radius:40px;opacity:.15;--base-rot:rotate(15deg)}


.label{font-family:var(--f-pixel);font-size:14px;color:var(--blue);text-transform:uppercase;letter-spacing:1px;margin-bottom:16px}
.label.center{text-align:center}
.h2{font-family:var(--f-head);font-weight:900;font-size:48px;color:var(--navy);line-height:1.1;margin-bottom:16px}
.h2.center{text-align:center}
.h2.white{color:var(--white)}
.h2 .hl{color:var(--blue)}
.body{font-family:var(--f-body);font-size:24px;color:var(--text);line-height:1.4;padding-top:16px}
.body.white{color:var(--white)}

/* Buttons */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:none;background:none;transition:transform .2s,filter .2s}
.btn:hover{transform:translateY(-2px);filter:brightness(1.05)}
.btn .btn-bg{position:absolute;inset:0;z-index:0}
.btn span{position:relative;z-index:1}
.btn-primary{width:254px;height:56px;font-size:18px;color:var(--navy)}
.btn-primary-v2{width:276px;height:56px;font-size:18px;color:var(--navy)}
.btn-outline{width:186px;height:58px;font-size:18px;color:var(--white);transition:color .3s ease,transform .2s}
.btn-outline:hover{color:#2A273B}
.btn-outline:hover .btn-bg path{fill:#fff;stroke:#fff;stroke-opacity:1}
.btn-outline .btn-bg path{transition:fill .3s ease,stroke .3s ease}
.btn-nav{width:142px;height:40px;font-size:14px;color:var(--navy)}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:10000;display:flex;align-items:center;justify-content:space-between;padding:12px 32px 14px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:2px solid rgba(62,62,62,.2);transition:box-shadow .3s}
.nav.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.1)}
.nav-logo{display:flex;align-items:center;gap:8px}
.nav-logo img{width:64px;height:64px;border-radius:50%;object-fit:cover}
.nav-logo-text{font-family:'Poppins',sans-serif;font-weight:600;font-size:24px;color:var(--brown);letter-spacing:1.2px}
.nav-menu{display:flex;align-items:center;gap:24px}
.nav-link{font-family:var(--f-mono);font-weight:700;font-size:14px;color:var(--navy);letter-spacing:1px;text-transform:uppercase;transition:color .2s}
.nav-link:hover{color:var(--blue)}
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}
.nav-hamburger span{display:block;width:24px;height:2px;background:var(--navy);transition:transform .3s,opacity .3s}

/* ================================================
   HERO — photo bg with navy overlay, organic edge
   ================================================ */
.hero{
  position:relative;
  padding:0;
  overflow:hidden;
}
.hero-bg{
  display:block;
  width:2260px;
  max-width:none;
  height:auto;
  margin:0 auto;
  position:relative;
  left:-150px;
  pointer-events:none;
}
.hero-content{
  position:absolute;z-index:2;
  top:200px;left:0;right:0;
  display:flex;flex-direction:column;align-items:center;
  gap:64px;max-width:680px;
  margin:0 auto;
  padding:0 20px;
}
.hero-inner{
  display:flex;flex-direction:column;align-items:center;
  gap:48px;width:100%;
}

/* Logo — preserve aspect ratio */
.hero-logo{display:flex;flex-direction:column;align-items:center;gap:24px}
.hero-logo-img{
  position:relative;
  height:180px;
  aspect-ratio:507/200;
}
.hero-logo-img img{position:absolute;height:auto}
.hero-logo-img .arrow-r{right:0;top:0;width:14.2%;z-index:0}
.hero-logo-img .arrow-l{left:0;top:21%;width:14.2%;transform:rotate(180deg);z-index:0}
.hero-logo-img .hack-text{left:9.1%;top:9.5%;width:83.4%;z-index:1}
.hero-logo-img .bit-text{left:28.9%;top:68%;width:43.4%;z-index:1}

.hero-tagline{font-family:var(--f-body);font-weight:600;font-size:24px;color:#337eff;text-align:center}
.hero-text{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%}
.hero-deadline{font-family:var(--f-head);font-weight:900;font-size:36px;color:var(--yellow);text-align:center;line-height:1.1}
.hero-desc{font-size:24px;color:var(--white);text-align:center;line-height:1.4;max-width:680px}
.hero-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;padding-top:16px}
.hero-stats{display:flex;gap:48px;align-items:center;padding-top:32px}

/* Arrow bounce inside hero */
.hero-arrow{
  margin-top:16px;
  width:24px;height:24px;
  animation:bounce 2s ease-in-out infinite;
}
@keyframes bounce{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(10px)}
}
.stat{display:flex;flex-direction:column;align-items:center;gap:8px}
.stat-val{font-family:var(--f-pixel);font-size:28.8px;color:var(--yellow)}
.stat-lbl{font-family:var(--f-head);font-size:14px;color:var(--white);text-transform:uppercase;letter-spacing:1px}

/* ================================================
   O QUE E O HACKATHON APP BIT — photo left, text right
   ================================================ */
.sobre{position:relative;padding:100px 0;overflow:hidden}
.sobre-wrap{display:flex;align-items:center;gap:60px;max-width:1280px;margin:0 auto;padding:0 32px}
.sobre-img{flex-shrink:0;width:620px}
.sobre-img img{width:100%;height:auto}
.sobre-content{max-width:564px}
.h2-sobre{font-family:var(--f-head);font-weight:900;font-size:48px;color:var(--navy);line-height:1.1;margin-bottom:24px}
.body-sobre{font-family:var(--f-body);font-size:22px;color:var(--text);line-height:1.5;margin-bottom:16px}
.body-sobre strong{font-weight:700}

/* ================================================
   CONTENT ACCORDION
   ================================================ */
.content-accordion{
  padding:40px 0 80px;
}
.content-accordion-wrap{
  max-width:1280px;
  margin:0 auto;
  padding:0 32px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.cacc-item{
  background:#f5f5f5;
  border-radius:32px;
  overflow:hidden;
  transition:background .3s ease;
}
.cacc-item:hover{
  background:#E2E9FA;
}
.cacc-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  padding:32px;
  border:none;
  background:none;
  cursor:pointer;
  gap:16px;
  font-family:inherit;
}
.cacc-title{
  font-family:var(--f-head);
  font-weight:700;
  font-size:28px;
  color:var(--navy);
  text-align:left;
}
.cacc-icon{
  width:32px;
  height:32px;
  flex-shrink:0;
  transition:transform .3s;
}
.cacc-open .cacc-icon{
  transform:rotate(0deg);
}
.cacc-body{
  padding:0 32px;
  max-height:0;
  overflow:hidden;
  transition:max-height .5s ease, padding-bottom .5s ease;
}
.cacc-open .cacc-body{
  max-height:2000px;
  padding-bottom:32px;
}
.cacc-content{
  display:flex;
  flex-direction:column;
  gap:24px;
  padding:8px;
}
.cacc-content p{
  font-family:var(--f-body);
  font-size:20px;
  color:var(--text);
  line-height:1.4;
}
.cacc-content ul,.cacc-content ol{
  list-style:disc;
  padding-left:30px;
  font-family:var(--f-body);
  font-size:20px;
  color:var(--text);
  line-height:1.4;
}
.cacc-content ol{list-style:decimal}
.cacc-content li{margin-bottom:8px}

/* ================================================
   POR QUE PARTICIPAR — blue organic blob background
   All px values from Figma (1920px canvas). JS zoom handles scaling.
   ================================================ */
.porque{
  position:relative;
  padding:0;
  overflow:hidden;
  height:1312px;
}
.porque-bg{
  position:absolute;
  top:46px;
  left:140px;
  width:1517px;
  height:auto;
  pointer-events:none;
  z-index:0;
}

/* Centered overlay — same alignment as content-accordion-wrap */
.porque-overlay{
  position:absolute;
  top:0;left:0;right:0;bottom:0;
  max-width:1280px;
  margin:0 auto;
  padding:0 32px;
  z-index:1;
}

/* Text block: inside the centered overlay */
.porque-text{
  position:absolute;
  left:16px;
  top:247px;
  width:555px;
}
.porque-intro{
  font-family:var(--f-body);
  font-size:22px;
  color:var(--white);
  line-height:1.5;
  margin-bottom:24px;
}
.porque-list{list-style:disc;padding-left:20px;margin:24px 0}
.porque-list li{font-size:22px;color:var(--white);line-height:1.4;margin-bottom:8px}

/* Photo: absolute right side */
.porque-photo{
  position:absolute;
  top:91px;
  right:-38px;
  width:663px;
  height:auto;
}

/* CTA box: navy blob at bottom-left area */
.porque-cta-box{
  position:absolute;
  left:-41px;
  top:772px;
  width:1032px;
  height:443px;
  overflow:visible;
}
/* Navy shape behind CTA content */
.porque-cta-shape{
  position:absolute;
  left:-18px;
  top:-24px;
  width:1154px;
  height:510px;
  z-index:0;
  display:block;
  pointer-events:none;
}
/* Content inside CTA box */
.porque-cta-content{
  position:absolute;
  left:150px;
  top:81px;
  width:902px;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:24px;
}
.porque-cta-content .btn{margin-top:16px}
.porque-cta-text{
  font-family:var(--f-body);
  font-size:24px;
  color:var(--white);
  line-height:1.4;
}
.porque-cta-vagas{
  font-family:var(--f-body);
  font-size:28px;
  font-style:italic;
  font-weight:900;
  color:var(--white);
  line-height:1.3;
}

/* ================================================
   CRONOGRAMA — clean white
   ================================================ */
.crono{padding:96px 80px 220px;text-align:center}
.crono-wrap{max-width:957px;margin:0 auto}
.crono-subtitle{
  font-family:var(--f-body);
  font-size:20px;
  color:var(--text);
  text-align:center;
  margin-top:8px;
  margin-bottom:16px;
  opacity:.7;
}
.timeline{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:48px;background:var(--white);border:1px solid rgba(0,0,0,.2);border-radius:16px;padding:32px 53px 48px}
.tl-row{display:flex;align-items:center;gap:48px}
.tl-item{display:flex;flex-direction:column;align-items:center;gap:8px}
.tl-lbl{font-family:var(--f-body);font-weight:700;font-size:16px;color:var(--text);text-transform:uppercase;letter-spacing:1.2px}
.tl-dates{display:flex;align-items:center;gap:8px}
.tl-date{font-family:var(--f-head);font-weight:900;font-size:32px;color:var(--blue)}
.tl-dash{width:10px;height:4px;background:var(--blue);border-radius:2px}
.tl-chev{width:15px;height:21px;flex-shrink:0}
.tl-pill{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;background:var(--blue);color:var(--white);font-family:var(--f-head);font-weight:700;font-size:20px;padding:8px 20px;border-radius:999px;white-space:nowrap}
.crono-cta{margin-top:48px;display:flex;justify-content:center}

/* ================================================
   PREMIACOES E CATEGORIAS
   All px from Figma. No vw, no percentages for positions.
   ================================================ */
.premiacoes{
  position:relative;
  padding:0;
  overflow:visible;
  height:1460px;
}
/* SVG bg: fixed width, centered with left offset */
.premiacoes-bg{
  display:block;
  width:2120px;
  max-width:none;
  height:auto;
  margin:0 auto;
  pointer-events:none;
  position:relative;
  left:-90px;
  top:-108px;
  margin-bottom:-96px;
}

/* Photo: absolute in .premiacoes */
.premiacoes-photo{
  position:absolute;
  left:681px;
  top:200px;
  width:561px;
  height:auto;
  border-radius:24px;
  display:block;
  z-index:2;
}

/* Content overlay: absolute fills section, centered, padded */
.premiacoes-wrap{
  position:absolute;
  top:0;left:0;right:0;bottom:0;
  display:flex;
  flex-direction:column;
  max-width:1248px;
  margin:0 auto;
  padding-top:138px;
  z-index:1;
}

/* Left column: categories */
.premiacoes-top{
  margin-top:16px;
  width:601px;
  display:flex;
  flex-direction:column;
  gap:24px;
  padding-top:16px;
}
.premiacoes-intro{
  font-family:var(--f-body);
  font-size:24px;
  color:var(--text);
  line-height:1.4;
}

/* Category cards */
.premiacoes-categories{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.cat-card{
  background:var(--white);
  border-radius:24px;
  padding:24px;
  display:flex;
  gap:20px;
  align-items:flex-start;
}
.cat-number{
  width:40px;
  height:40px;
  min-width:40px;
  border-radius:50%;
  background:var(--yellow);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--f-head);
  font-weight:900;
  font-size:20px;
  color:var(--navy);
  letter-spacing:1px;
}
.cat-content{display:flex;flex-direction:column;gap:4px;justify-content:center}
.cat-title{
  font-family:var(--f-head);
  font-weight:700;
  font-size:24px;
  color:var(--blue);
  line-height:1.4;
}
.cat-desc{
  font-family:var(--f-body);
  font-size:20px;
  color:var(--text);
  line-height:1.4;
}

/* Bottom row: two prize cards + trophy */
.premiacoes-bottom{
  margin-top:40px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  position:relative;
  align-items:start;
}
.prize-card{
  border-radius:32px;
  padding:32px;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.prize-card-yellow{
  border:2px solid var(--yellow);
  background:linear-gradient(rgba(255,187,0,.1),rgba(255,187,0,.1)),#fff;
  position:relative;
}
.prize-card-blue{
  border:2px solid var(--blue);
  background:linear-gradient(rgba(21,92,244,.1),rgba(21,92,244,.1)),#fff;
}
.prize-card-title{
  font-family:var(--f-head);
  font-weight:900;
  font-size:28px;
  color:var(--navy);
  line-height:1.1;
  padding-left:8px;
}
.prize-card-subtitle{
  font-family:var(--f-head);
  font-weight:700;
  font-size:22px;
  color:var(--blue);
  line-height:1.4;
  padding-left:8px;
}
.prize-list{
  list-style:disc;
  padding-left:30px;
}
.prize-feira-box{
  background:#fff;
  border:2px solid #155cf4;
  border-radius:16px;
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.prize-feira-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#155cf4;
  color:#fff;
  font-family:'Outfit',sans-serif;
  font-weight:700;
  font-size:20px;
  line-height:normal;
  padding:8px 20px;
  border-radius:999px;
  align-self:flex-start;
}
.prize-feira-desc{
  font-family:'Lato',sans-serif;
  font-size:20px;
  line-height:1.4;
  color:#2a273b;
}
.prize-list li{
  font-family:var(--f-body);
  font-size:20px;
  color:var(--text);
  line-height:1.4;
  margin-bottom:8px;
}

/* Trophy: absolute within bottom row */
.premiacoes-trophy{
  position:absolute;
  left:27px;
  top:307px;
  width:517px;
  height:431px;
  pointer-events:none;
  z-index:1;
}
.trophy-bg-shape{
  position:absolute;
  left:2px;
  top:50px;
  width:515px;
  height:auto;
  transform:rotate(-3.29deg);
  transform-origin:center;
}
.trophy-pillars-v2{
  position:absolute;
  top:115px;
  left:189px;
  width:301px;
  height:auto;
}
.trophy-cup-v2{
  position:absolute;
  top:0;
  left:285px;
  width:107px;
  height:auto;
}
.trophy-union{
  position:absolute;
  top:238px;
  left:0;
  width:87px;
  height:auto;
  will-change:transform;
  pointer-events:auto;
}

/* Legacy — hidden */
.premiacoes-deco{display:none}
.premiacoes-cards{display:none}

/* ================================================
   COMO PARTICIPAR
   All px from Figma.
   ================================================ */
.como{
  position:relative;
  padding:0;
  overflow:visible;
  margin-top:160px;
  margin-bottom:80px;
}
.como-bg{
  display:block;
  width:1800px;
  max-width:none;
  height:auto;
  margin:0 auto;
  pointer-events:none;
  position:relative;
  left:-120px;
  top:-40px;
}
.como-wrap{
  position:absolute;
  top:40px;left:0;right:0;bottom:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  max-width:1248px;
  margin:0 auto;
  padding:138px 0 100px;
}

.como-intro{
  color:#181057;
  font-family:'Outfit',sans-serif;
  font-size:1.75rem;
  font-style:normal;
  font-weight:400;
  line-height:130%;
  margin-top:16px;
}
.como-intro strong{
  font-weight:800;
}

/* 3 info cards in a row */
.como-cards{
  display:flex;
  flex-direction:row;
  gap:32px;
  margin-top:40px;
}
.como-card{
  width:380px;
  background:rgba(255,255,255,.4);
  border-radius:40px;
  padding:32px 40px;
  backdrop-filter:blur(4px);
}
.como-card-title{
  font-family:var(--f-head);
  font-weight:900;
  font-size:28px;
  color:var(--navy);
  margin-bottom:16px;
  line-height:1.1;
}
.como-card-desc{
  font-family:var(--f-body);
  font-size:20px;
  color:var(--text);
  line-height:1.3;
}

/* Bottom area: areas left + inscription right */
.como-bottom{
  display:flex;
  flex-direction:row;
  align-items:flex-start;
  width:100%;
  margin-top:60px;
  position:static;
}

/* Areas tags — left side */
.como-areas{
  width:454px;
  flex-shrink:0;
}
.como-areas-title{
  font-family:var(--f-head);
  font-weight:900;
  font-size:28px;
  color:var(--navy);
  margin-bottom:32px;
}
.como-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  width:420px;
}
.como-tag{
  background:var(--blue);
  color:var(--white);
  font-family:var(--f-body);
  font-size:20px;
  padding:8px 16px 10px;
  border-radius:12px;
}

/* Inscription — positioned in como-wrap */
.como-right{
  position:absolute;
  left:514px;
  top:640px;
  width:682px;
  height:620px;
  flex-shrink:0;
}
.como-inscr-bg{
  position:absolute;
  left:0;
  top:0;
  width:682px;
  height:620px;
  z-index:0;
}
.como-steps-img{
  position:absolute;
  left:90px;
  top:156px;
  width:76px;
  height:173px;
  z-index:1;
}
.como-inscr-content{
  position:absolute;
  left:200px;
  top:108px;
  width:340px;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.como-inscr-title{
  font-family:var(--f-head);
  font-weight:900;
  font-size:32px;
  color:var(--white);
}
.como-inscr-cta-group{
  margin-top:16px;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.como-cta-row{
  display:flex;
  gap:16px;
  margin-top:8px;
}
.como-arrow{
  position:absolute;
  left:150px;
  top:386px;
  width:30px;
  height:56px;
  z-index:3;
}
.como-inscr-content p{
  font-family:var(--f-body);
  font-size:20px;
  color:var(--white);
  line-height:1.45;
}
.como-inscr-cta-text{
  font-family:var(--f-head);
  font-weight:800;
  font-size:26px !important;
  color:var(--white);
}

/* ================================================
   PARCEIROS
   ================================================ */
.parceiros{
  padding:80px 48px;
  background:var(--white);
}
.parceiros-inner{
  max-width:1248px;
  margin:0 auto;
  background:#f5f5f5;
  border-radius:48px;
  padding:88px 48px 48px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:64px;
}
.parceiros-text{
  text-align:center;
  padding:0 96px;
  display:flex;
  flex-direction:column;
  gap:24px;
}
.parceiros-title{
  font-family:var(--f-head);
  font-weight:900;
  font-size:40px;
  color:var(--navy);
  line-height:1.1;
}
.parceiros-subtitle{
  font-family:var(--f-body);
  font-size:24px;
  color:var(--text);
  line-height:1.4;
  max-width:864px;
  margin:0 auto;
}
/* Cards */
.parceiros-card{
  width:100%;
  background:var(--white);
  border:1px solid #ccc;
  border-radius:20px;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.parceiros-card--edu{
  gap:32px;
  padding:32px 24px 40px;
}
.parceiros-card-label{
  font-family:var(--f-body);
  font-weight:900;
  font-size:20px;
  color:var(--navy);
  text-align:center;
}
.parceiros-edu-parceira{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  padding-top:24px;
  text-align:center;
}
.parceiros-edu-parceira-nome{
  font-family:var(--f-body);
  font-weight:900;
  font-size:20px;
  color:var(--navy);
  line-height:1.4;
}
.parceiros-edu-parceira-desc{
  font-family:var(--f-body);
  font-weight:400;
  font-size:18px;
  color:var(--text);
  line-height:1.2;
}
.parceiros-card--main{
  position:relative;
  gap:40px;
  padding:80px 48px 64px;
}
/* Blue pill label */
.parceiros-pill{
  position:absolute;
  top:-29px;
  left:50%;
  transform:translateX(-50%);
  background:var(--blue);
  color:var(--white);
  font-family:var(--f-pixel);
  font-size:16px;
  text-transform:uppercase;
  padding:20px 48px;
  border-radius:999px;
  white-space:nowrap;
  letter-spacing:1px;
}
.parceiros-row{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:56px 88px;
  width:100%;
}
.parceiros-card--edu .parceiros-row{
  gap:96px;
}
.parc-logo{
  object-fit:contain;
}
.parc-tooltip-wrap{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.parc-tooltip{
  position:absolute;
  bottom:100%;
  left:50%;
  transform:translateX(-50%);
  background:#181057;
  color:#fff;
  font-family:'Outfit',sans-serif;
  font-size:14px;
  font-weight:600;
  line-height:1.3;
  padding:8px 16px;
  border-radius:8px;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
  margin-bottom:8px;
  z-index:10;
}
.parc-tooltip::after{
  content:'';
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%);
  border:6px solid transparent;
  border-top-color:#181057;
}
.parc-tooltip-wrap:hover .parc-tooltip{
  opacity:1;
}

/* ================================================
   CTA FINAL
   ================================================ */
.cta-final{
  padding:80px 96px 160px;
  background:var(--white);
  text-align:center;
}
.cta-final-wrap{
  max-width:1249px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
}
.cta-final-logo{
  margin-bottom:72px;
}
.cta-final-logo-img{
  position:relative;
  height:160px;
  aspect-ratio:411/160;
}
.cta-final-logo-img img{position:absolute;height:auto}
.cta-final-logo-img .arrow-r{right:0;top:0;width:14.2%;z-index:0}
.cta-final-logo-img .arrow-l{left:0;top:21%;width:14.2%;transform:rotate(180deg);z-index:0}
.cta-final-logo-img .hack-text{left:9.1%;top:9.5%;width:83.4%;z-index:1}
.cta-final-logo-img .bit-text{left:28.9%;top:68%;width:43.4%;z-index:1}
.cta-final-text{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:20px;
  margin-bottom:32px;
}
.cta-final-title{
  font-family:var(--f-head);
  font-weight:900;
  font-size:28px;
  color:var(--navy);
  line-height:1.1;
  text-align:center;
}
.cta-final-desc{
  font-family:var(--f-body);
  font-size:22px;
  color:var(--text);
  line-height:1.5;
  width:560px;
  text-align:center;
}

/* ================================================
   WONGOLA — cream bg, Africa illustration
   ================================================ */
.wongola{
  position:relative;
  background:#f8f5ee;
  overflow:hidden;
  padding:96px 0 120px;
}
.wongola-wrap{
  position:relative;
  max-width:1248px;
  margin:0 auto;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:48px;
  align-items:flex-start;
}
.wongola-logo{display:flex;align-items:center;gap:8px}
.wongola-logo img{width:106px;height:108px;object-fit:contain}
.wongola-logo-text{font-family:'Poppins',sans-serif;font-weight:600;font-size:24px;color:var(--brown);letter-spacing:1.2px}
.wongola-content{display:flex;flex-direction:column;gap:32px;max-width:580px}
.wongola-content .h2{color:var(--text)}
.wongola-content .body{color:var(--text);padding-top:0}
.wongola-quote{
  font-family:var(--f-body);font-weight:600;font-style:italic;
  font-size:32px;line-height:1.4;color:var(--text);
}
.wongola-blockquote{
  border-left:3px solid #3c3c3c;
  padding-left:20px;
}
.wongola-blockquote p{
  font-family:var(--f-body);font-style:italic;
  font-size:20px;line-height:1.4;color:#3c3c3c;
  max-width:472px;
}
.btn-outline-dark{width:186px;height:58px;font-size:18px;color:var(--text);transition:color .3s ease,transform .2s}
.btn-outline-dark:hover{color:#fff}
.btn-outline-dark:hover .btn-bg path{fill:#2A273B;stroke:#2A273B;stroke-opacity:1}
.btn-outline-dark .btn-bg path{transition:fill .3s ease,stroke .3s ease}

/* Africa illustration */
.wongola-africa{
  position:absolute;
  top:0;left:0;
  width:1440px;
  height:978px;
  pointer-events:none;
}
.wongola-africa-bg{
  position:absolute;
  left:1047px;
  top:226px;
  width:519px;
  height:508px;
  --base-rot:rotate(-17.7deg);
  opacity:.3;
  will-change:transform;
  pointer-events:auto;
}
.wongola-africa-border{
  position:absolute;
  left:1372px;
  top:218px;
  width:126px;
  height:123px;
  opacity:.3;
  will-change:transform;
  pointer-events:auto;
}
.wongola-africa-map{
  position:absolute;
  left:996px;
  top:297px;
  width:341px;
  height:341px;
  will-change:transform;
  pointer-events:auto;
}
.wongola-map-main{position:absolute;top:7%;left:5%;width:81%;height:91%}
.wongola-map-dot{position:absolute;top:66%;left:78%;width:16%;height:24%}

/* ================================================
   FOOTER — bg #222, 3 columns
   ================================================ */
.footer{background:#222;padding:48px 40px}
.footer-wrap{display:flex;align-items:flex-start;justify-content:space-between;max-width:1200px;margin:0 auto;gap:40px}
.footer-col{flex:1;font-family:var(--f-body);font-size:14px;color:var(--white);line-height:22.75px}
.footer-heading{margin-bottom:7px}
.footer-links{display:flex;gap:19px;margin-bottom:8px}
.footer-links a{color:var(--white);font-family:var(--f-body);font-size:14px;transition:opacity .2s}
.footer-links a:hover{opacity:.7;text-decoration:underline}
.footer-col a{color:var(--white);transition:opacity .2s}
.footer-col a:hover{opacity:.7;text-decoration:underline}

/* ================================================
   1281–1599px — zoom locked at 1600/1920 via JS.
   Page locked at 1920px so blobs stay in designed positions.
   margin-left centers the zoomed page in the viewport:
   calc(60vw - 960px) accounts for zoom factor 1600/1920.
   ================================================ */
@media(min-width:1281px) and (max-width:1599px){
  .page{
    width:1920px;
    margin-left:calc(60vw - 960px);
  }
}

/* ================================================
   RESPONSIVE — below 1280px, normal fluid layout
   (above 1280px JS handles zoom scaling via vw/1920)
   ================================================ */
@media(max-width:1366px){
  .nav{z-index:10000}
  .nav-menu{
    display:none !important;
  }
  .nav-menu.open{
    display:flex !important;
    position:fixed !important;
    top:0 !important;left:0 !important;
    width:100vw !important;height:100dvh !important;
    background:#fff !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:24px !important;
    z-index:10001 !important;
    padding:24px !important;
    overflow-y:auto !important;
  }
  .nav-menu.open .nav-link{font-size:16px;letter-spacing:1px;color:var(--navy)}
  .nav-menu.open .btn-nav{width:200px;height:48px;font-size:16px}
  .nav-hamburger{display:flex !important;z-index:10002}
  .nav-hamburger.open{position:fixed !important;top:24px;right:32px;z-index:10002}
  .nav-hamburger.open span{background:var(--navy)}
  .nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-hamburger.open span:nth-child(2){opacity:0}
  .nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

/* ==========================================================
   RESPONSIVE ≤1280px — clean containers, solid backgrounds,
   no SVG blobs, performance-oriented for mobile devices.
   Above 1280px everything stays as-is (JS zoom handles it).
   ========================================================== */
@media(max-width:1280px){

  /* Kill zoom — JS also handles this but be safe */
  .page{zoom:1 !important}

  /* Hide ALL floating decorations */
  .deco{display:none}

  /* Hide ALL SVG background blobs */
  .porque-bg,
  .porque-cta-shape,
  .premiacoes-bg,
  .como-bg,
  .como-inscr-bg,
  .como-steps-img,
  .como-arrow{display:none}

  /* Hide decorative photos & trophy */
  .porque-photo,
  .premiacoes-photo,
  .premiacoes-trophy{display:none}

  /* Hide wongola decorations */
  .wongola-africa-bg,
  .wongola-africa-border,
  .wongola-africa-map{display:none}

  /* General typography */
  .h2{font-size:40px}
  .body{font-size:20px}

  /* Buttons consistent 18px */
  .btn-primary,.btn-primary-v2,.btn-outline,.btn-outline-dark{font-size:18px}

  /* ---- HERO ---- */
  .hero{height:auto;overflow:hidden}
  .hero-bg{
    position:absolute;top:0;left:50%;
    transform:translateX(-50%);
    width:2260px;max-width:none;
    height:auto;min-height:100%;
    margin:0;
    z-index:0;
  }
  .hero-content{
    position:relative;top:auto;
    max-width:680px;padding:170px 20px 80px;
    gap:64px;z-index:2;
  }
  .hero-inner{gap:40px}
  .hero-logo-img{height:140px}
  .hero-deadline{font-size:32px}
  .hero-desc{font-size:22px;max-width:100%}
  .hero-stats{gap:48px;padding-top:16px}
  .stat-val{font-size:24px}
  .hero-buttons{gap:24px}

  /* ---- SOBRE (O que é) ---- */
  .sobre{padding:64px 48px}
  .sobre-wrap{flex-direction:column;padding:0;max-width:none;gap:16px}
  .sobre-img{display:none}
  .sobre-content{max-width:100%}
  .h2-sobre{font-size:40px}
  .body-sobre{font-size:20px}

  /* ---- ACCORDION ---- */
  .content-accordion{padding:0 0 64px}
  .content-accordion-wrap{padding:0 48px}
  .cacc-item{border-radius:32px}
  .cacc-header{padding:28px}
  .cacc-title{font-size:28px}
  .cacc-body{padding:0 28px}
  .cacc-open .cacc-body{padding-bottom:28px}
  .cacc-content p{font-size:20px}
  .cacc-content ul,.cacc-content ol{font-size:20px}

  /* ---- POR QUE PARTICIPAR — solid blue bg, 2 cols ---- */
  .porque{
    height:auto;overflow:visible;
    background:var(--blue);padding:64px 48px;
  }
  .porque-overlay{
    position:relative;top:auto;left:auto;right:auto;bottom:auto;
    max-width:none;padding:0;
    display:flex;gap:48px;align-items:flex-start;
  }
  .porque-text{
    position:relative;left:auto;top:auto;
    width:auto;flex:1;
  }
  .porque-text .h2{font-size:40px}
  .porque-intro{font-size:20px;line-height:1.3}
  .porque-list li{font-size:20px;line-height:1.3}
  .porque-cta-box{
    position:relative;left:auto;top:auto;
    width:auto;height:auto;flex:1;
    margin-top:0;overflow:visible;
    background:var(--navy);border-radius:24px;
  }
  .porque-cta-content{
    position:relative;left:auto;top:auto;
    width:100%;padding:48px;
  }
  .porque-cta-text{font-size:20px;line-height:1.3}
  .porque-cta-vagas{font-size:24px;line-height:1.3}

  /* ---- CRONOGRAMA ---- */
  .crono{padding:64px 48px;text-align:center}
  .crono-wrap{max-width:960px}
  .crono-subtitle{font-size:20px}
  .timeline{padding:32px 24px 48px;border-radius:20px;max-width:960px;margin:40px auto 0;gap:16px}
  .tl-row{justify-content:space-between;gap:16px;flex-wrap:nowrap;width:100%}
  .tl-item{min-width:0}
  .tl-date{font-size:24px}
  .tl-lbl{font-size:14px;line-height:20px}
  .tl-chev{width:12px;height:16px}
  .tl-pill{font-size:18px;padding:8px 20px}
  .crono-cta{margin-top:56px}

  /* ---- PREMIACOES — solid gray bg, 2 cols via grid ---- */
  .premiacoes{
    height:auto;overflow:visible;
    background:#f5f5f5;padding:64px 48px;
  }
  .premiacoes-wrap{
    position:relative;top:auto;left:auto;right:auto;bottom:auto;
    max-width:none;padding:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px 32px;
  }
  /* Photo already display:none, but also collapse in grid */
  .premiacoes-wrap > .premiacoes-photo{display:none}
  /* H2 in left column */
  .premiacoes-wrap > .h2{grid-column:1;grid-row:1;margin-bottom:0}
  /* Categories in left column */
  .premiacoes-top{
    grid-column:1;grid-row:2;
    width:auto;margin-top:0;padding-top:0;gap:16px;
  }
  .premiacoes-intro{font-size:20px}
  .cat-card{padding:20px;border-radius:24px;gap:16px}
  .cat-number{width:32px;height:32px;min-width:32px;font-size:18px}
  .cat-title{font-size:22px}
  .cat-desc{font-size:18px}
  .premiacoes-categories{gap:16px;padding:8px 0}
  /* Prize cards in right column spanning both rows */
  .premiacoes-bottom{
    grid-column:2;grid-row:1 / 3;
    display:flex;flex-direction:column;gap:16px;
    margin-top:0;
  }
  .prize-card{padding:28px;border-radius:32px;gap:16px}
  .prize-card-title{font-size:24px;padding-left:0}
  .prize-card-subtitle{font-size:20px;padding-left:0}
  .prize-list{padding-left:27px}
  .prize-list li{font-size:18px}
  .prize-feira-badge{font-size:18px}
  .prize-feira-desc{font-size:18px}

  /* ---- COMO PARTICIPAR — solid yellow bg ---- */
  .como{
    overflow:visible;margin-top:0;margin-bottom:0;
    background:var(--yellow);
  }
  .como-bg{display:none}
  .como-wrap{
    position:relative;top:auto;left:auto;right:auto;bottom:auto;
    max-width:none;padding:64px 48px;
    display:flex;flex-direction:column;gap:8px;
    align-items:flex-start;
  }
  .como-cards{flex-direction:column;width:100%;gap:8px;margin-top:0}
  .como-bottom{margin-top:40px}
  .como-card{width:100%;padding:32px;border-radius:32px}
  .como-card-title{font-size:24px}
  .como-intro{font-size:20px;margin-bottom:24px}
  .como-card-desc{font-size:20px;line-height:1.3}
  .como-bottom{
    flex-direction:row;gap:48px;
    width:100%;align-items:flex-start;
  }
  .como-areas{width:auto;flex:1}
  .como-areas-title{font-size:28px;margin-bottom:24px}
  .como-tags{width:100%;gap:8px}
  .como-tag{font-size:18px;font-weight:700;padding:16px;border-radius:12px}
  .como-tag[style]{width:auto !important}
  .como-right{
    position:relative;left:auto;top:auto;
    width:auto;height:auto;flex:1;
    background:var(--navy);border-radius:24px;
    padding:48px;overflow:visible;
  }
  .como-inscr-content{
    position:relative;left:auto;top:auto;
    width:100%;
  }
  .como-inscr-title{font-size:28px;color:var(--white)}
  .como-inscr-content p{font-size:20px;line-height:1.3}
  .como-inscr-cta-text{font-size:24px !important}
  .como-inscr-cta-group{margin-top:8px}
  .como-cta-row{margin-top:8px}

  /* ---- PARCEIROS ---- */
  .parceiros{padding:64px 32px;overflow:visible}
  .parceiros-inner{padding:64px 32px 40px;border-radius:40px;gap:48px;overflow:visible}
  .parceiros-text{padding:0}
  .parceiros-title{font-size:32px}
  .parceiros-subtitle{font-size:20px}
  .parceiros-card--main{padding:64px 32px 48px}
  .parceiros-pill{white-space:nowrap;top:-27px}
  .parceiros-row{gap:40px 56px}
  .parceiros-card--edu .parceiros-row{gap:64px}
  .parc-logo{max-width:160px;height:auto !important}

  /* ---- CTA FINAL ---- */
  .cta-final{padding:48px 48px 80px}
  .cta-final-wrap{gap:72px}
  .cta-final-logo{margin-bottom:0}
  .cta-final-logo-img{height:100px}
  .cta-final-title{font-size:28px}
  .cta-final-desc{font-size:22px;width:560px;max-width:100%}
  .cta-final-text{gap:20px;max-width:560px;margin-bottom:0}

  /* ---- WONGOLA — single column, no Africa ---- */
  .wongola{padding:64px 0;min-height:auto}
  .wongola-wrap{
    position:relative;left:auto;top:auto;
    width:auto;max-width:none;padding:0 48px;margin:0;
  }
  .wongola-content{max-width:960px}
  .wongola-content .h2{font-size:40px}
  .wongola-content .body{font-size:22px}
  .wongola-quote{font-size:24px}
  .wongola-blockquote p{font-size:20px}

  /* ---- FOOTER ---- */
  .footer{padding:48px}
  .footer-wrap{flex-wrap:wrap;gap:40px}
  .footer-col{min-width:280px;flex:1}
}

/* ==========================================================
   TABLET ≤1023px — single column, same solid backgrounds
   ========================================================== */
@media(max-width:1023px){

  /* Hero logo — gradual reduction */
  .hero-logo-img{height:110px}

  /* Por que participar — stack to single col */
  .porque-overlay{flex-direction:column;gap:48px}
  .porque-text,.porque-cta-box{flex:none;width:100%}

  /* Premiacoes — single col */
  .premiacoes-wrap{
    grid-template-columns:1fr;
    gap:24px;
  }
  .premiacoes-wrap > .h2{grid-column:1;grid-row:1}
  .premiacoes-top{grid-column:1;grid-row:2}
  .premiacoes-bottom{grid-column:1;grid-row:3}
  .premiacoes-categories{gap:8px}
  .prize-card{padding:28px;border-radius:32px;width:100%}

  /* Como participar bottom — stack */
  .como-bottom{flex-direction:column;gap:32px}
  .como-areas,.como-right{flex:none;width:100%}

  /* Cronograma — same sizes as 1280 */
  .crono{padding:64px 48px}
  .tl-date{font-size:24px}
  .tl-lbl{font-size:14px}

  /* Parceiros */
  .parceiros-row{gap:36px 48px}

  /* Footer */
  .footer-col{min-width:200px;flex:1 1 40%}
}

/* ==========================================================
   MOBILE ≤720px — Figma 360px frame
   ========================================================== */
@media(max-width:720px){

  /* General */
  .h2{font-size:28px}
  .body{font-size:16px}
  .label{font-size:12px}

  /* Nav */
  .nav{padding:8px 20px 10px}
  .nav-logo img{width:56px;height:56px}

  /* Hero */
  .hero{min-height:auto}
  .hero-content{padding:140px 24px 48px;gap:48px}
  .hero-inner{gap:32px}
  .hero-logo-img{height:90px}
  .hero-tagline{font-size:20px}
  .hero-deadline{font-size:24px}
  .hero-desc{font-size:18px}
  .hero-stats{display:flex;flex-wrap:wrap;gap:32px;justify-content:center;padding-top:16px}
  .stat-val{font-size:20px}
  .hero-buttons{flex-direction:column;align-items:stretch;gap:16px;padding-top:8px;width:100%}

  /* CSS-only buttons: hide SVG, use clip-path for the cut corner shape */
  .btn .btn-bg{display:none}
  .btn{display:flex;width:100%}
  .btn-primary,.btn-primary-v2,.btn-outline,.btn-outline-dark,.btn-nav{
    width:100%;height:56px;font-size:16px;
  }
  .btn-primary,.btn-primary-v2,.btn-nav{background:var(--yellow)}
  .btn-outline{background:transparent;border:2px solid rgba(255,255,255,.3);clip-path:none}
  .btn-outline:hover{background:#fff;border-color:#fff;color:var(--text)}
  .btn-outline-dark{background:transparent;border:2px solid var(--text);clip-path:none}
  .btn-outline-dark:hover{background:var(--text);border-color:var(--text);color:#fff}
  .como-cta-row{width:100%}
  .como-cta-row .btn{width:100%}
  .crono-cta .btn{width:100%}
  .porque-cta-content .btn{width:100%}

  /* Sobre + Accordion section */
  .sobre{padding:48px 24px}
  .sobre-wrap{gap:24px}
  .h2-sobre{font-size:28px}
  .body-sobre{font-size:16px}

  /* Accordion */
  .content-accordion{padding:0 0 48px}
  .content-accordion-wrap{padding:0 24px;gap:8px}
  .cacc-item{border-radius:24px}
  .cacc-header{padding:20px}
  .cacc-title{font-size:22px}
  .cacc-body{padding:0 20px}
  .cacc-open .cacc-body{padding-bottom:20px}
  .cacc-content{gap:16px;padding:8px}
  .cacc-content p{font-size:16px}
  .cacc-content ul,.cacc-content ol{font-size:16px;padding-left:24px}

  /* Por que participar */
  .porque{padding:48px 24px}
  .porque-overlay{gap:40px}
  .porque-text .h2{font-size:28px}
  .porque-intro{font-size:16px}
  .porque-list li{font-size:16px}
  .porque-cta-box{border-radius:24px}
  .porque-cta-content{padding:24px}
  .porque-cta-text{font-size:16px}
  .porque-cta-vagas{font-size:18px}

  /* Cronograma */
  .crono{padding:48px 24px}
  .crono-wrap{max-width:100%}
  .crono-subtitle{font-size:16px}
  .timeline{padding:24px;border-radius:20px;gap:24px;margin-top:32px;padding-bottom:24px}
  .tl-row{flex-direction:column;gap:16px;align-items:center}
  .tl-chev{display:block;width:16px;height:12px;transform:rotate(90deg)}
  .tl-item{gap:4px}
  .tl-date{font-size:24px}
  .tl-lbl{font-size:14px}
  .tl-pill{position:static;transform:none;width:auto;font-size:16px;padding:12px 20px;white-space:normal;text-align:center}
  .crono-cta{margin-top:32px}

  /* Premiacoes */
  .premiacoes{padding:48px 24px}
  .premiacoes-wrap{gap:24px}
  .premiacoes-intro{font-size:16px}
  .premiacoes-categories{gap:8px}
  .cat-card{padding:20px;border-radius:24px;gap:16px}
  .cat-title{font-size:20px}
  .cat-desc{font-size:16px}
  .cat-content{gap:8px}
  .premiacoes-bottom{gap:16px}
  .prize-card{padding:24px;border-radius:24px;gap:16px}
  .prize-card-title{font-size:24px}
  .prize-card-subtitle{font-size:20px}
  .prize-list{padding-left:24px}
  .prize-list li{font-size:16px}
  .prize-feira-badge{font-size:16px}
  .prize-feira-desc{font-size:16px}

  /* Como participar */
  .como-wrap{padding:48px 24px;gap:8px}
  .como-bottom{margin-top:32px}
  .como-cards{gap:8px}
  .como-card{padding:24px;border-radius:24px;gap:16px}
  .como-card-title{font-size:22px}
  .como-intro{font-size:18px}
  .como-card-desc{font-size:18px}
  .como-areas-title{font-size:24px;margin-bottom:16px}
  .como-tag{font-size:16px;padding:12px;border-radius:12px}
  .como-right{padding:24px;border-radius:24px}
  .como-inscr-title{font-size:22px}
  .como-inscr-content p{font-size:16px}
  .como-inscr-cta-text{font-size:20px !important}
  .como-inscr-cta-group{gap:24px}
  .como-cta-row{margin-top:0}

  /* Parceiros */
  .parceiros{padding:48px 16px}
  .parceiros-inner{padding:48px 20px 32px;border-radius:28px;gap:40px}
  .parceiros-pill{font-size:12px;padding:12px 24px;top:-19px}
  .parceiros-text{padding:0;gap:16px}
  .parceiros-title{font-size:24px}
  .parceiros-subtitle{font-size:16px}
  .parceiros-card--edu{padding:32px 16px}
  .parceiros-card--main{padding:56px 20px 40px}
  .parceiros-row{gap:32px 40px}
  .parceiros-card--edu .parceiros-row{gap:40px}

  /* CTA Final */
  .cta-final{padding:24px 24px 48px}
  .cta-final-wrap{gap:40px}
  .cta-final-logo-img{height:80px}
  .cta-final-title{font-size:22px}
  .cta-final-desc{font-size:16px;width:auto}
  .cta-final-text{gap:20px}

  /* Wongola */
  .wongola{padding:48px 0}
  .wongola-wrap{padding:0 24px;gap:40px}
  .wongola-logo{gap:16px}
  .wongola-logo img{width:80px;height:82px}
  .wongola-content{gap:24px}
  .wongola-content .h2{font-size:28px}
  .wongola-content .body{font-size:16px}
  .wongola-quote{font-size:18px}
  .wongola-blockquote p{font-size:16px;max-width:100%}

  /* Footer */
  .footer{padding:48px 24px}
  .footer-wrap{flex-direction:column;gap:24px}
  .footer-col{min-width:auto;flex:none;width:100%}
}

/* ==========================================================
   SMALL MOBILE ≤520px
   ========================================================== */
@media(max-width:520px){
  .hero-stats{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    width:100%;
    justify-items:center;
  }
}

/* ============================================================
   EQUIPE TÉCNICA
   ============================================================ */
.equipe{padding:80px 96px;background:var(--white)}
.equipe-box{
  border:1px solid rgba(0,0,0,.2);
  border-radius:40px;
  padding:88px 48px 64px;
  position:relative;
  max-width:1248px;
  margin:0 auto;
}
.equipe-pill{
  position:absolute;
  top:-29px;
  left:50%;
  transform:translateX(-50%);
  background:var(--navy);
  color:var(--white);
  font-family:var(--f-pixel);
  font-size:16px;
  text-transform:uppercase;
  padding:20px 48px;
  border-radius:999px;
  white-space:nowrap;
  letter-spacing:1px;
}
.equipe-header{
  text-align:center;
  margin-bottom:56px;
}
.equipe-title{
  font-family:var(--f-head);
  font-weight:900;
  font-size:40px;
  color:var(--navy);
  line-height:1.1;
  margin-bottom:16px;
}
.equipe-subtitle{font-family:var(--f-body);font-size:22px;color:var(--text);line-height:1.4}
.equipe-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:40px 16px}
.membro-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  text-align:center;
  transition:transform .2s;
  flex:0 0 calc((100% - 6 * 16px) / 7);
}
.membro-card:hover{transform:translateY(-4px)}
.membro-foto-wrap{
  width:120px;
  height:120px;
  border-radius:50%;
  overflow:hidden;
  border:3px solid var(--yellow);
  flex-shrink:0;
}
.membro-foto{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top center;
  display:block;
}
.membro-nome{
  font-family:var(--f-head);
  font-weight:700;
  font-size:16px;
  color:var(--navy);
  line-height:1.2;
  width:100%;
}
.membro-linkedin{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-family:var(--f-mono);
  font-size:11px;
  font-weight:700;
  letter-spacing:.5px;
  text-transform:uppercase;
  color:var(--blue);
  border:2px solid var(--blue);
  border-radius:999px;
  padding:5px 12px;
  text-decoration:none;
  transition:color .2s, background .2s, transform .2s;
}
.membro-linkedin:hover{color:var(--white);background:var(--blue);transform:translateY(-2px)}
.membro-linkedin svg{width:14px;height:14px;flex-shrink:0}

/* WhatsApp button in success modal */
.btn-success-whatsapp{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:#25D366;
  color:#fff;
  font-family:var(--f-mono);
  font-weight:700;
  font-size:13px;
  letter-spacing:.5px;
  text-transform:uppercase;
  border:none;
  border-radius:10px;
  padding:14px 28px;
  cursor:pointer;
  text-decoration:none;
  transition:background .2s, transform .15s, box-shadow .2s;
  box-shadow:0 4px 16px rgba(37,211,102,.3);
  margin:0 auto 16px;
}
.btn-success-whatsapp:hover{background:#20bd5a;transform:translateY(-2px);box-shadow:0 6px 24px rgba(37,211,102,.4)}

@media(max-width:1280px){
  .equipe-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:32px 16px}
}
@media(max-width:960px){
  .equipe{padding:64px 40px}
  .equipe-box{padding:80px 32px 56px}
  .equipe-header{margin-bottom:48px}
  .equipe-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px 14px}
}
@media(max-width:720px){
  .equipe{padding:60px 24px}
  .equipe-box{padding:72px 24px 48px}
  .equipe-pill{font-size:12px;padding:16px 32px}
  .equipe-header{padding:0}
  .equipe-title{font-size:28px}
  .equipe-subtitle{font-size:17px}
  .equipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 12px}
  .membro-foto-wrap{width:90px;height:90px}
  .membro-nome{font-size:14px}
}
@media(max-width:520px){
  .equipe-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px 12px}
  .membro-foto-wrap{width:80px;height:80px}
}