:root{
  --black:#0b0b0b;
  --charcoal:#121212;
  --charcoal2:#1a1a1a;
  --yellow:#ffd21a;
  --cream:#f4f0e6;
  --white:#fffef8;
  --muted:#b9b6ad;
  --line:#2a2a2a;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font-family:Inter,Arial,sans-serif;overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.22;z-index:999;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E")}
.topbar{height:76px;position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:32px;padding:0 4vw;background:rgba(11,11,11,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto}.brand-mark{background:var(--yellow);color:#111;font-weight:900;font-size:26px;width:38px;height:38px;display:grid;place-items:center;transform:rotate(-3deg)}.brand-copy{font-family:"Archivo Black";font-size:13px;line-height:.95}.brand-copy b{color:var(--yellow)}
.nav{display:flex;gap:28px;font-size:13px;color:#ddd}.nav a:hover{color:var(--yellow)}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--yellow);color:#101010;font-weight:900;font-size:13px;padding:15px 20px;border-radius:4px;box-shadow:0 5px 0 #8b7200;transition:.2s}.btn:hover{transform:translateY(-2px);box-shadow:0 7px 0 #8b7200}.btn-small{padding:10px 14px;font-size:11px}.btn-dark{background:#111;color:#fff;box-shadow:0 5px 0 #5d4e00}
.hero{min-height:760px;display:grid;grid-template-columns:1.05fr .95fr;grid-template-rows:1fr auto;position:relative;border-bottom:1px solid var(--line)}
.hero-copy{padding:9vw 4vw 4vw;align-self:center;z-index:2}.eyebrow,.kicker{display:inline-block;color:var(--yellow);font-size:12px;font-weight:900;letter-spacing:.08em;margin-bottom:18px}.hero h1,.section h2,.finale h2{font-family:"Archivo Black",Impact,sans-serif;letter-spacing:-.05em;line-height:.9;margin:0}.hero h1{font-size:clamp(52px,6.7vw,108px)}em{font-style:normal;color:var(--yellow)}.hero-copy>p{max-width:630px;color:#ddd;font-size:18px;line-height:1.55;margin:28px 0}.hero-actions{display:flex;align-items:center;gap:24px}.text-link{font-weight:800;font-size:13px}
.hero-visual{position:relative;overflow:hidden;min-height:620px;background:#181818}.hero-visual img{width:100%;height:100%;object-fit:cover;filter:brightness(.72) contrast(1.15)}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--black) 0%,transparent 35%),linear-gradient(0deg,var(--black),transparent 35%)}.scribble{font-family:"Permanent Marker",cursive;color:#eee;transform:rotate(-4deg);line-height:1.05}.scribble-1{position:absolute;z-index:3;top:100px;left:30px;font-size:22px}.hero-sticker{position:absolute;z-index:4;right:5%;bottom:14%;background:var(--yellow);color:#111;padding:16px 20px;font-family:"Archivo Black";font-size:23px;transform:rotate(3deg);box-shadow:8px 8px 0 #111}.hero-sticker b{font-size:34px}.hero-flow{grid-column:1/-1;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:18px;padding:22px 4vw;border-top:1px solid var(--line);align-items:center}.hero-flow div{display:flex;gap:14px;align-items:center}.hero-flow span{color:var(--yellow);font-weight:900}.hero-flow strong{font-size:13px}.hero-flow i{color:var(--yellow);font-style:normal;font-size:22px}
.section{padding:100px 4vw}.dark{background:var(--black)}.light{background:#f7f4ed;color:#111}.cream{background:var(--cream);color:#111}.yellow{background:var(--yellow);color:#111}.section-head{max-width:900px}.section h2{font-size:clamp(42px,5vw,82px)}.section-head p,.model-intro p,.split-copy p,.estalo-copy p,.unit-copy p{font-size:17px;line-height:1.6;max-width:740px;color:inherit;opacity:.8}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:56px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.feature-grid article{padding:28px;border-right:1px solid var(--line);min-height:190px}.feature-grid article:last-child{border-right:0}.feature-grid span{color:var(--yellow);font-weight:900}.feature-grid h3{font-family:"Archivo Black";font-size:20px}.feature-grid p{color:#aaa;line-height:1.5;font-size:14px}.statement{margin-top:44px;background:var(--yellow);color:#111;padding:28px 120px 28px 28px;display:flex;flex-wrap:wrap;gap:8px 24px;font-family:"Archivo Black";font-size:clamp(22px,3vw,46px);position:relative;overflow:hidden}.statement img{position:absolute;right:6px;bottom:-34px;width:130px;border-radius:50%}
.model-section{display:grid;grid-template-columns:.65fr 1.35fr;gap:50px;align-items:center}.model-intro h2{font-size:clamp(42px,5vw,76px)}.plan-card{position:relative;background:white;padding:18px;box-shadow:0 20px 60px rgba(0,0,0,.18);transform:rotate(.3deg)}.plan-card img{width:100%}.pin{position:absolute;background:var(--yellow);color:#111;padding:8px 10px;font-weight:900;font-size:11px;box-shadow:4px 4px 0 #111}.pin-a{top:7%;left:38%;transform:rotate(-2deg)}.pin-b{top:9%;right:7%;transform:rotate(2deg)}.pin-c{bottom:17%;left:10%;transform:rotate(1deg)}.pin-d{bottom:8%;right:13%;transform:rotate(-1deg)}.footnote{grid-column:2;color:#555}
.split-media{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}.media-card{position:relative;background:#222;border:1px solid #333;padding:10px;box-shadow:0 30px 80px rgba(0,0,0,.4)}.media-card video{width:100%;aspect-ratio:16/9;object-fit:cover}.split-copy h2{font-size:clamp(38px,4vw,66px)}.schedule{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:30px 0 12px}.schedule div{border:1px solid #2e2e2e;padding:16px 10px;text-align:center;background:#111}.schedule b{display:block;color:var(--yellow);font-size:13px}.schedule span{font-size:11px;color:#bbb}.split-copy small{color:#777}
.platform-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:48px}.platform-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.platform-list span{padding:20px;background:#fff;border:1px solid #d9d4c9;font-weight:800;position:relative}.platform-list span:before{content:"✓";margin-right:10px;background:var(--yellow);padding:2px 6px}.network-card{background:#111;color:white;padding:36px;border-radius:4px}.network-title{font-family:"Archivo Black";font-size:24px}.network-title small{font-family:Inter;color:#aaa;font-size:12px}.network-arrow{text-align:center;color:var(--yellow);font-size:36px;margin:10px}.schools{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.schools span{border:1px solid #333;padding:20px 10px;text-align:center;font-weight:800;font-size:12px}.network-card p{background:var(--yellow);color:#111;padding:10px;margin:20px 0 0;font-family:"Permanent Marker";font-size:18px;transform:rotate(-1deg)}
.estalo-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.estalo-copy .kicker{color:#111}.estalo-copy h2{font-size:clamp(54px,7vw,100px)}.estalo-copy em{color:#111;text-decoration:underline;text-decoration-thickness:8px;text-underline-offset:7px}.estalo-logo-card{background:#f9f6ef;padding:20px;box-shadow:12px 12px 0 #111;transform:rotate(1deg)}.estalo-logo-card img{width:100%}.estalo-video-strip{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:10px;margin-top:60px}.estalo-video-strip img{height:260px;width:100%;object-fit:cover;border:6px solid #111}
.area-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:44px}.area-grid article{border:1px solid #2d2d2d;padding:22px;min-height:230px;background:#101010}.ico{font-size:32px;color:var(--yellow)}.area-grid h3{font-size:14px}.area-grid p{color:#aaa;font-size:13px;line-height:1.5}
.funding{border-top:1px solid #2b2b2b}.funding-copy h2{font-size:clamp(44px,6vw,90px)}.funding-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:12px;margin-top:56px}.funding-flow div{text-align:center;border:1px solid #292929;padding:20px;min-height:130px}.funding-flow span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--yellow);color:#111;font-weight:900}.funding-flow p{font-size:12px;color:#bbb}.funding-flow i{color:var(--yellow);font-style:normal;font-size:24px}.big{font-size:clamp(28px,4vw,56px);text-align:right;margin-top:40px;color:var(--yellow)}
.first-unit{display:grid;grid-template-columns:1.1fr 1.1fr .75fr;gap:28px;align-items:stretch}.unit-image img{height:100%;width:100%;object-fit:cover}.needs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.needs-grid span{padding:12px;background:#fff;border:1px solid #ddd;font-size:12px;font-weight:700}.status-card{background:#111;color:#fff;padding:28px;display:flex;flex-direction:column;gap:9px}.status-card>span{font-size:11px;color:#999}.status-card>strong{color:var(--yellow);font-family:"Archivo Black"}.status-card small{color:#888}.status-card b{font-size:20px}.progress{height:8px;background:#333;margin:10px 0 18px}.progress i{display:block;width:0;height:100%;background:var(--yellow)}
.cta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:45px}.cta-grid article{background:#111;color:white;padding:30px;min-height:220px;display:flex;flex-direction:column}.cta-grid article>span{color:var(--yellow);font-weight:900}.cta-grid h3{font-family:"Archivo Black";font-size:34px;margin:18px 0 8px}.cta-grid p{color:#aaa;line-height:1.5}.cta-grid a{margin-top:auto;color:var(--yellow);font-weight:900;font-size:12px}
.finale{background:#090909;min-height:520px;padding:90px 4vw;display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center;border-top:1px solid #282828}.finale h2{font-size:clamp(48px,6vw,88px)}.finale p{font-family:"Permanent Marker";font-size:27px;color:#ddd}.finale p span{color:#777}.finale-right{border-left:1px solid #333;padding-left:45px}.finale-right p{font-family:"Archivo Black";font-size:28px;margin:6px 0}.finale-right strong{display:block;color:var(--yellow);font-family:"Archivo Black";font-size:34px}.finale-right small{display:block;margin-top:34px;color:#777}
footer{height:80px;padding:0 4vw;display:flex;justify-content:space-between;align-items:center;color:#777;border-top:1px solid #222;font-size:12px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){.nav{display:none}.hero{grid-template-columns:1fr}.hero-visual{min-height:420px}.hero-flow{grid-template-columns:1fr;gap:10px}.hero-flow i{display:none}.feature-grid{grid-template-columns:1fr 1fr}.model-section,.split-media,.estalo-grid,.platform-grid,.first-unit,.finale{grid-template-columns:1fr}.footnote{grid-column:1}.area-grid{grid-template-columns:1fr 1fr}.funding-flow{grid-template-columns:1fr}.funding-flow i{transform:rotate(90deg)}.schedule{grid-template-columns:repeat(3,1fr)}.finale-right{border-left:0;border-top:1px solid #333;padding:32px 0 0}}
@media(max-width:640px){.topbar{padding:0 18px}.btn-small{display:none}.section{padding:72px 20px}.hero-copy{padding:90px 20px 50px}.hero h1{font-size:48px}.hero-copy>p{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-visual{min-height:340px}.hero-flow{padding:18px 20px}.feature-grid,.area-grid,.cta-grid,.platform-list,.needs-grid{grid-template-columns:1fr}.feature-grid article{border-right:0;border-bottom:1px solid var(--line)}.statement{padding:24px 24px 110px}.statement img{width:115px}.plan-card{padding:8px}.pin{position:static;display:inline-block;margin:4px;box-shadow:2px 2px 0 #111}.estalo-video-strip{grid-template-columns:1fr}.estalo-video-strip img{height:210px}.schedule{grid-template-columns:1fr 1fr}.schools{grid-template-columns:1fr}.network-card{padding:24px}.finale{padding:72px 20px}.finale-right strong{font-size:28px}}

/* ===== v0.2.0 — hero rebuild ===== */
.hero{
  min-height:auto;
  display:block;
  position:relative;
  border-bottom:1px solid var(--line);
  padding:clamp(44px,6vw,86px) 4vw 0;
  overflow:hidden;
}
.hero-shell{
  width:min(1440px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr);
  gap:clamp(32px,5vw,78px);
  align-items:center;
}
.hero-copy{
  padding:0;
  align-self:center;
  z-index:2;
}
.hero h1{
  font-size:clamp(58px,5.7vw,98px);
  max-width:760px;
}
.hero-copy>p{
  max-width:600px;
  font-size:17px;
  margin:26px 0 30px;
}
.hero-visual{
  position:relative;
  min-height:540px;
  height:min(62vh,660px);
  overflow:hidden;
  background:#171717;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 34px 90px rgba(0,0,0,.42);
}
.hero-visual img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:66% center;
  filter:brightness(.62) contrast(1.13) saturate(.9);
}
.hero-gradient{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(11,11,11,.38) 0%,transparent 42%),
    linear-gradient(0deg,rgba(11,11,11,.55) 0%,transparent 38%);
  z-index:1;
}
.scribble-1{
  top:34px;
  left:32px;
  font-size:20px;
}
.hero-sticker{
  right:28px;
  bottom:28px;
  padding:14px 18px 12px;
  min-width:155px;
  line-height:.95;
}
.hero-sticker span{display:block;font-family:Inter,sans-serif;font-size:11px;letter-spacing:.08em;margin-bottom:6px}
.hero-sticker b{display:block;font-size:31px}
.hero-flow{
  width:min(1440px,100%);
  margin:clamp(34px,4vw,56px) auto 0;
  grid-column:auto;
  padding:22px 0;
}

.version-badge{
  color:#111;
  background:var(--yellow);
  padding:7px 10px;
  border-radius:999px;
  font-weight:900;
  letter-spacing:.04em;
  font-size:10px;
}

@media(max-width:1000px){
  .hero{padding:54px 24px 0}
  .hero-shell{grid-template-columns:1fr;gap:34px}
  .hero-copy{max-width:820px}
  .hero h1{font-size:clamp(54px,9vw,86px)}
  .hero-visual{height:500px;min-height:0}
  .hero-flow{grid-template-columns:1fr;gap:10px;padding:20px 0}
  .hero-flow i{display:none}
}
@media(max-width:640px){
  .hero{padding:42px 18px 0}
  .hero h1{font-size:46px}
  .hero-copy>p{font-size:15px}
  .hero-visual{height:330px}
  .scribble-1{font-size:15px;top:18px;left:18px}
  .hero-sticker{right:14px;bottom:14px;min-width:auto;padding:11px 13px}
  .hero-sticker b{font-size:24px}
  footer{height:auto;min-height:96px;padding:18px 20px;gap:12px;flex-wrap:wrap}
  .version-badge{order:3;width:100%;text-align:center}
}


/* ===== v0.3.0 — Estalo brand in hero ===== */
.hero-estalo-brand{
  position:absolute;
  z-index:5;
  right:22px;
  bottom:20px;
  width:clamp(150px,16vw,225px);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  padding:10px 12px 9px;
  background:rgba(8,8,8,.58);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  box-shadow:0 14px 34px rgba(0,0,0,.38);
  transform:rotate(1.2deg);
}
.hero-estalo-brand img{
  position:static;
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.28));
}
.hero-estalo-brand span{
  width:100%;
  color:#111;
  background:var(--yellow);
  padding:7px 8px;
  text-align:center;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
}
@media(max-width:640px){
  .hero-estalo-brand{
    right:10px;
    bottom:10px;
    width:122px;
    padding:7px 8px 7px;
    gap:5px;
  }
  .hero-estalo-brand span{font-size:8px;padding:5px 6px}
}

/* ===== v0.4.0 — fachada no hero + vídeo de apresentação ===== */
.hero-visual img{
  object-position:center center;
  filter:brightness(.74) contrast(1.08) saturate(.96);
}
.hero-chip{
  position:absolute;
  z-index:4;
  right:18px;
  bottom:18px;
  background:var(--yellow);
  color:#111;
  font-weight:900;
  font-size:11px;
  letter-spacing:.08em;
  padding:10px 12px;
  box-shadow:6px 6px 0 rgba(0,0,0,.8);
  transform:rotate(-1.8deg);
}
.presentation{
  border-bottom:1px solid var(--line);
}
.presentation-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:48px;
  align-items:center;
}
.presentation-copy h2{
  font-size:clamp(42px,5vw,78px);
}
.presentation-points{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:24px 0 30px;
}
.presentation-points span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border:1px solid #2c2c2c;
  background:#121212;
  font-weight:800;
  font-size:13px;
}
.presentation-points span:before{
  content:"✦";
  color:var(--yellow);
  font-size:12px;
}
.presentation-media{
  display:flex;
  justify-content:center;
}
.presentation-media video{
  width:min(100%,460px);
  aspect-ratio:9/16;
  object-fit:cover;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 30px 80px rgba(0,0,0,.45);
  background:#000;
}
@media(max-width:1000px){
  .presentation-grid{grid-template-columns:1fr;}
  .presentation-media{justify-content:flex-start}
}
@media(max-width:640px){
  .hero-chip{right:12px;bottom:12px;font-size:9px;padding:8px 10px}
  .presentation-points{gap:8px}
  .presentation-points span{font-size:12px;padding:9px 12px}
}

/* ===== v0.5.0 — área do aluno + voluntários + professores ===== */
.top-actions{display:flex;align-items:center;gap:10px}
.student-login{font-size:11px;font-weight:900;letter-spacing:.04em;color:#fff;border:1px solid #3a3a3a;padding:10px 12px;border-radius:4px;transition:.2s}
.student-login:hover{border-color:var(--yellow);color:var(--yellow)}
.access-section{background:#f7f4ed;color:#111;border-top:1px solid #ded9ce;border-bottom:1px solid #ded9ce}
.access-section .kicker{color:#8c7200}
.access-section .section-head p{max-width:760px}
.access-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:46px}
.access-card{background:#111;color:#fff;padding:30px;min-height:300px;display:flex;flex-direction:column;border:1px solid #222;position:relative;overflow:hidden}
.access-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;background:rgba(255,210,26,.06);right:-34px;top:-34px}
.access-card.student-card{background:var(--yellow);color:#111;border-color:#c6a100}
.access-card.professor-card{box-shadow:inset 0 0 0 1px rgba(255,210,26,.3)}
.access-number{font-size:12px;font-weight:900;color:var(--yellow)}
.student-card .access-number{color:#111}
.access-card h3{font-family:"Archivo Black";font-size:clamp(26px,2.4vw,38px);line-height:.95;margin:22px 0 14px;letter-spacing:-.03em}
.access-card p{color:#aaa;line-height:1.55;font-size:14px;margin:0 0 28px;max-width:36ch}
.student-card p{color:#2b2b2b}
.access-card .btn{margin-top:auto;align-self:flex-start;max-width:100%;text-align:center}
.student-card .btn{background:#111;color:#fff;box-shadow:0 5px 0 #6e5b00}
@media(max-width:1000px){
  .top-actions .btn-small{display:none}
  .access-grid{grid-template-columns:1fr}
  .access-card{min-height:230px}
}
@media(max-width:640px){
  .student-login{font-size:9px;padding:9px 10px}
  .brand-copy{font-size:11px}
  .topbar{gap:12px}
  .access-card{padding:24px}
}

/* ===== v0.6.0 — Vakinha oficial + meta de implantação ===== */
.support-link{font-size:10px;font-weight:900;letter-spacing:.04em;color:#111;background:var(--yellow);padding:10px 12px;border-radius:4px;box-shadow:0 4px 0 #6e5b00;transition:.18s;white-space:nowrap}
.support-link:hover{transform:translateY(-1px);filter:brightness(1.06)}
.support-text-link{color:var(--yellow)!important}
.campaign-strip{width:min(1440px,calc(100% - 8vw));margin:0 auto 0;background:var(--yellow);color:#111;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:22px 26px;border:1px solid #e6be00;box-shadow:0 16px 48px rgba(0,0,0,.28);position:relative;z-index:6}
.campaign-strip-copy{display:flex;align-items:center;gap:20px}.campaign-badge{background:#111;color:#fff;font-weight:900;font-size:10px;letter-spacing:.08em;padding:9px 10px;white-space:nowrap;transform:rotate(-1deg)}
.campaign-strip strong{display:block;font-family:"Archivo Black";font-size:clamp(22px,2.2vw,34px);line-height:1}.campaign-strip p{margin:7px 0 0;font-size:13px}.campaign-btn{background:#111!important;color:#fff!important;box-shadow:0 5px 0 #6e5b00!important;white-space:nowrap}
.live-label{color:var(--yellow)!important;font-size:16px!important}.status-note{font-size:11px;line-height:1.45;color:#777;margin:8px 0 18px}.status-card .btn{margin-top:6px}
@media(max-width:1100px){.support-link{display:none}}
@media(max-width:760px){.campaign-strip{width:calc(100% - 36px);margin-top:0;padding:20px;display:block}.campaign-strip-copy{display:block}.campaign-badge{display:inline-block;margin-bottom:14px}.campaign-strip p{font-size:12px}.campaign-btn{display:inline-flex;margin-top:18px}.hero-actions{gap:13px}}
