  a{color:inherit;}
 
  .wrap{
    max-width:1120px;
    margin:0 auto;
    padding:0 32px;
  }
 
  section{position:relative;}
 

  /* ── DECORATIVE TEXTURE ── */
  .diamonds{
    position:absolute; inset:0;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64'%3E%3Cpath d='M32 4 L54 32 L32 60 L10 32 Z' fill='none' stroke='%23000000' stroke-opacity='0.06' stroke-width='2'/%3E%3C/svg%3E");
    pointer-events:none;
  }
 
  .sunburst{
    position:absolute; width:70px; height:70px; opacity:.9;
  }
 
  /* ── HERO ── */
  .hero{
    background:var(--espresso);
    color:var(--cream);
    padding:120px 0 90px;
    text-align:center;
    position:relative;
    overflow:hidden;
  }

  .hero-inner{position:relative;z-index:2;}
  .spiral-mark{width:96px;height:96px;margin:0 auto 22px;}
  .eyebrow{
    font-family:var(--font-eyebrow);
    font-size:1.5rem;
    color:var(--olive);
    letter-spacing:.5px;
  }
  .hero h1{
    font-family:var(--font-display);
    font-weight:400;
    font-size:  clamp(2.4rem, 6vw, 3.6rem);
    line-height:1.05;
    margin:6px 0 26px;
    color:var(--olive);
    text-shadow:0 3px 0 rgba(0,0,0,.25);
  }
  .hero p.lede{
    font-size:1.15rem;
    max-width:560px;
    margin:0 auto 40px;
    color:var(--cream2);
    line-height:1.6;
  }
  .btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-family:var(--font-ui);
    font-weight:700;
    font-size:1rem;
    padding:16px 34px;
    border-radius:100px;
    text-decoration:none;
    border:2px solid transparent;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-primary{
    background:var(--olive);
    color:var(--espresso2);
    box-shadow:0 8px 22px rgba(187,194,56,.25);
  }
  .btn-primary:hover{box-shadow:0 12px 26px rgba(187,194,56,.35);}
  .btn-outline{
    border-color:var(--cream2);
    color:var(--cream);
  }
  .btn-outline:hover{background:rgba(251,244,227,.08);}
 
  /* ── ESCOLAS / CREAM ── */
  .intro{
    background:var(--cream);
    color:var(--text);
    padding:50px 0 100px;
    position:relative;
  }
  .intro .wrap{max-width:760px;}
  .intro .kicker{
    font-family:var(--font-eyebrow);
    font-size:1.6rem;
    color:var(--rust);
    margin-bottom:6px;
  }
  .intro h2{
    font-family:var(--font-display);
    font-weight:400;
    font-size:clamp(1.8rem,4vw,2.6rem);
    color:var(--espresso2);
    margin-bottom:22px;
  }
  .intro p{
    font-size:1.05rem;
    line-height:1.75;
    margin-bottom:18px;
    color:var(--plum-brown);
  }
  .intro p:last-child{margin-bottom:0;}
 
  /* ── SUPPORT / OLIVE ── */
  .support{
    background:var(--olive);
    padding:48px 0 100px;
    position:relative;
    overflow:hidden;
  }
  .support .head{
    text-align:center;
    max-width:640px;
    margin:0 auto 50px;
  }
  .support .head span.tag{
    display:inline-block;
    font-family:var(--font-eyebrow);
    font-size:1.5rem;
    color:var(--espresso);
    border-bottom:3px solid var(--espresso);
    padding-bottom:2px;
    margin-bottom:10px;
  }
  .support h2{
    font-family:var(--font-display);
    font-weight:400;
    font-size:clamp(1.9rem,4vw,2.7rem);
    color:var(--espresso2);
  }
  .cards{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px;
    position:relative;
    z-index:2;
  }
  .card{
    background:var(--cream);
    border-radius:var(--r-card);
    padding:34px 32px;
    box-shadow:0 14px 30px rgba(51,24,15,.14);
  }
  .card h3{
    font-family:var(--font-display);
    font-weight:400;
    font-size:1.4rem;
    color:var(--rust);
    margin-bottom:18px;
  }
  .card dl{display:flex;flex-direction:column;gap:11px;}
  .card dl .row{
    display:flex;
    justify-content:space-between;
    gap:16px;
    font-size:.95rem;
    border-bottom:1px dashed rgba(58,42,26,.18);
    padding-bottom:9px;
  }
  .card dl .row:last-child{border-bottom:none;padding-bottom:0;}
  .card dl dt{color:var(--plum-brown);font-weight:600;}
  .card dl dd{font-weight:700;text-align:right;}
  .card .note{
    margin-top:18px;
    font-size:.88rem;
    color:var(--plum-brown);
    line-height:1.5;
  }
 
  /* ── IMPACT / CREAM ── */
  .impact{
    background:var(--cream);
    padding:90px 0 100px;
    text-align:center;
  }
  .impact .kicker{
    font-family:var(--font-eyebrow);
    font-size:1.6rem;
    color:var(--rust);
  }
  .impact h2{
    font-family:var(--font-display);
    font-weight:400;
    font-size:clamp(1.9rem,4vw,2.7rem);
    color:var(--espresso2);
    margin-bottom:56px;
  }
  .stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
  }
  .stat{position:relative;}
  .stat .spiral-sm{width:46px;height:46px;margin:0 auto 14px;}
  .stat .num{
    font-family:var(--font-display);
    font-size:2.6rem;
    color:var(--rust);
    line-height:1;
  }
  .stat .label{
    font-family:var(--font-eyebrow);
    font-size:1.25rem;
    color:var(--espresso);
    margin-top:8px;
    display:inline-block;
    position:relative;
  }
  .stat .label::after{
    content:"";
    display:block;
    height:6px;
    margin-top:2px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='8'%3E%3Cpath d='M2 5 Q20 1 40 5 T78 5 T118 5' stroke='%23D1A636' stroke-width='2.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-size:contain;
  }
 
 
/* ---------- CTA APOIO ---------- */
.support-section{
  position: relative;
  padding: 60px;
  text-align: center;
  overflow: hidden;
  isolation: isolate;
}

.support-card{
  position: relative;
  z-index: 2;
  max-width: 920px;
  margin: 0 auto 100px;
  background: var(--cream);
  border-radius: var(--r-card);
  padding: 54px 44px 46px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(36,16,8,0.35);
  border: 3px solid var(--forest);
}

.support-card .eyebrow{
  color: var(--rust);
  position: relative;
  z-index: 2;
}
.support-card h2{
  position: relative;
  z-index: 2;
  font-family: var(--font-display);
  font-weight: 400;
  color: var(--espresso);
  font-size: clamp(1.5rem, 3.4vw, 2.15rem);
  margin: 0 auto 14px;
  line-height: 1.3;
  max-width: 720px;
}
.support-card-desc{
  position: relative;
  z-index: 2;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--plum-brown);
  max-width: 480px;
  margin: 0 auto 30px;
}
 
.support-buttons{
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
}
.support-btn{
  position: relative;
  overflow: hidden;
  font-family: var(--font-ui);
  font-weight: 700;
  font-size: .96rem;
  color: var(--espresso);
  text-decoration: none;
  padding: 13px 26px;
  border-radius: 999px;
  border: 2px solid var(--accent);
  z-index: 1;
  transition: all .5s ease;
}


.support-btn:hover{
    background: var(--accent);
    color: var(--cream);
}
 
.support-chain-bg{
  position: absolute;
  left: 50px; top: 0;
  height: 100%;
  width: auto;
  opacity: .07;
  pointer-events: none;
}
 
.btn-pill{
  position: relative;
  overflow: hidden;
  font-family: var(--font-ui);
  font-weight: 700;
  font-size: .98rem;
  color: var(--cream);
  text-decoration: none;
  padding: 14px 30px;
  border-radius: 999px;
  border: 2px solid var(--cream);
  z-index: 1;
  transition: color .35s ease;
}
.btn-pill::before{
  content:"";
  position:absolute; inset:0;
  background: var(--cream);
  border-radius: 999px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s cubic-bezier(.22,1,.36,1);
  z-index: -1;
}
.btn-pill:hover::before{ transform: scaleX(1); }
.btn-pill:hover{ color: var(--rust-dark); }
 
  /* ── RESPONSIVE ── */
  @media (max-width:820px){
    .cards{grid-template-columns:1fr;}
    .stats{grid-template-columns:repeat(2,1fr);row-gap:40px;}
    .unit-row{flex-direction:column;}
    .zigzag{width:80px;height:16px;transform:rotate(90deg);}
  }
  @media (max-width:480px){
    .hero{padding:90px 0 70px;}
    .intro,.support,.impact,.units,.closing{padding-top:64px;padding-bottom:70px;}
    .wrap{padding:0 22px;}
  }
 
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    .btn{transition:none;}
    .reveal{opacity:1;transform:none;transition:none;}
  }