
:root{
  --azul:         #01388f;
  --azul-hover:   #012b6e;
  --azul-escuro:  #011f4d;
  --azul-noite:   #000d22;
  --azul-nevoa:   #edf4fa;
  --azul-linha:   #cce0ff;
  --amarelo:      #feb505;
  --amarelo-hover:#e09f04;
  --amarelo-suave:#fffaf0;
  --creme:        #fdfaf1;
  --branco:       #ffffff;
  --tinta:        #1e242b;
  --tinta-suave:  #5b636b;
  --borda:        #e4e7ec;
  --perigo:       #e0503a;
  --raio:         18px;
  --raio-lg:      26px;
  --sombra:       0 10px 30px -12px rgba(0,13,34,.18);
  --fonte-display:'Bricolage Grotesque', sans-serif;
  --fonte-corpo:  'Inter', sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{overflow-x:hidden}
body{
  font-family:var(--fonte-corpo);
  background:var(--creme);
  color:var(--tinta);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
button{cursor:pointer;border:none;background:none;font-family:inherit}
h1,h2,h3{font-family:var(--fonte-display);line-height:1.15;letter-spacing:-.015em}

.wrap{width:100%;max-width:640px;margin:0 auto;padding:0 1.15rem}

.header{
  position:sticky;top:0;z-index:90;
  background:rgba(253,250,241,.88);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--borda);
}
.header-inner{
  max-width:640px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:.55rem 1.15rem;
}
.header-logo{height:52px;width:auto}
.btn-header{
  background:var(--amarelo);color:var(--azul-noite);
  font-weight:800;font-size:.8rem;letter-spacing:.02em;
  padding:.55rem 1.1rem;border-radius:50px;
  box-shadow:0 4px 12px rgba(254,181,5,.4);
  transition:transform .15s,background .2s;
  display:inline-flex;align-items:center;gap:6px;
}
.btn-header:hover{background:var(--amarelo-hover)}
.btn-header:active{transform:scale(.96)}

.hero{
  position:relative;
  background:
    radial-gradient(ellipse 120% 70% at 50% -10%, #0353d4 0%, var(--azul) 45%, var(--azul-escuro) 100%);
  color:var(--branco);
  padding:2.2rem 0 4.2rem;
  overflow:hidden;
  text-align:center;
}
.hero::before{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.14) 1.2px, transparent 1.2px);
  background-size:26px 26px;
  mask-image:linear-gradient(to bottom, black, transparent 75%);
  -webkit-mask-image:linear-gradient(to bottom, black, transparent 75%);
  pointer-events:none;
}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}

.hero h1 {
  font-size: clamp(1.25rem, 5.2vw, 1.85rem);
  font-weight: 800;
  margin: 0 auto 1.5rem;
  max-width: 28ch;
  line-height: 1.25;
  text-wrap: balance;
}
.hero h1 em{
  font-style:normal;color:var(--amarelo);
  position:relative;white-space:normal;
}

.banner-vitrine{
  position:relative;
  margin:0 auto 1.7rem;
  max-width:560px;
}
.banner-vitrine::before{
  content:'';position:absolute;
  inset:0;
  transform:translate(9px,10px) rotate(1.4deg);
  background:var(--amarelo);
  border-radius:var(--raio-lg);
  z-index:0;
}
.banner-vitrine::after{
  content:'';position:absolute;
  inset:-18%;
  background:radial-gradient(ellipse at center, rgba(255,255,255,.22), transparent 65%);
  z-index:-1;pointer-events:none;
}
.banner-quadro{
  position:relative;z-index:1;
  background:var(--branco);
  border-radius:var(--raio-lg);
  overflow:hidden;
  transform:rotate(-1deg);
  box-shadow:0 24px 50px -18px rgba(0,8,20,.55);
  transition:transform .4s cubic-bezier(.34,1.3,.64,1);
}
.banner-vitrine:hover .banner-quadro{transform:rotate(0deg) scale(1.012)}
.banner-quadro img{width:100%;display:block}

.fita-tape{
  position:absolute;z-index:2;
  width:78px;height:24px;
  background:rgba(254,181,5,.9);
  box-shadow:0 2px 6px rgba(0,0,0,.15);
  top:-11px;left:50%;
  transform:translateX(-50%) rotate(-3deg);
  border-radius:3px;
  opacity:.95;
}

.hero-cta-row{display:flex;flex-direction:column;gap:.9rem;align-items:center}

@keyframes pulse-btn{
  0%  {box-shadow:0 6px 18px rgba(254,181,5,.45), 0 0 0 0 rgba(254,181,5,.5)}
  65% {box-shadow:0 6px 18px rgba(254,181,5,.45), 0 0 0 16px rgba(254,181,5,0)}
  100%{box-shadow:0 6px 18px rgba(254,181,5,.45), 0 0 0 0 rgba(254,181,5,0)}
}
.btn-doar{
  background:var(--amarelo);color:var(--azul-noite);
  font-size:1.05rem;font-weight:800;letter-spacing:.02em;
  padding:1.05rem 1.4rem;border-radius:var(--raio);
  display:flex;align-items:center;justify-content:center;gap:9px;
  animation:pulse-btn 2s ease-out infinite;
  transition:background .2s,transform .15s;
  width:100%;
}
.btn-doar:hover{background:var(--amarelo-hover)}
.btn-doar:active{animation:none;transform:scale(.97)}

.hero-onda{
  position:absolute;left:0;right:0;bottom:-1px;
  line-height:0;pointer-events:none;
}
.hero-onda svg{width:100%;height:44px;display:block}

.fita{
  background:var(--amarelo);
  overflow:hidden;
  padding:.62rem 0;
  transform:rotate(-1.2deg) scale(1.03);
  margin:-0.2rem 0 .4rem;
  box-shadow:0 6px 20px -8px rgba(254,181,5,.55);
  position:relative;z-index:5;
}
.fita-track{
  display:flex;gap:2.2rem;width:max-content;
  animation:fita-roda 22s linear infinite;
  font-family:var(--fonte-display);
  font-weight:800;font-size:.82rem;letter-spacing:.14em;
  color:var(--azul-noite);text-transform:uppercase;
  white-space:nowrap;
}
.fita-track span{display:flex;align-items:center;gap:2.2rem}
.fita-track svg{flex-shrink:0}
@keyframes fita-roda{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){
  .fita-track{animation:none}
  .btn-doar{animation:none}
}

.meta-mini{
  position:relative;
  background:var(--branco);
  border-radius:16px;
  padding:.8rem .95rem .9rem;
  margin:0 auto 1.35rem;
  max-width:560px;
  text-align:left;
  box-shadow:6px 7px 0 var(--amarelo), 0 18px 36px -14px rgba(0,8,20,.5);
}
.meta-mini-row{
  display:flex;align-items:baseline;justify-content:space-between;
  gap:8px;margin-bottom:.5rem;
}
.meta-arrecadado{
  font-family:var(--fonte-display);
  font-size:1.3rem;font-weight:800;color:var(--azul-escuro);
  letter-spacing:-.02em;line-height:1;
}
.meta-objetivo{font-size:.72rem;color:var(--tinta-suave);font-weight:600;white-space:nowrap}
.meta-objetivo b{color:var(--tinta)}
.meta-pct{
  font-family:var(--fonte-display);
  background:var(--azul);color:var(--branco);
  font-size:.76rem;font-weight:800;
  padding:2px 10px;border-radius:50px;
  flex-shrink:0;
}
.meta-trilha{
  height:10px;border-radius:50px;overflow:hidden;
  background:var(--azul-nevoa);
  margin-bottom:.5rem;
}
.meta-fill{
  height:100%;width:0%;border-radius:50px;
  background:linear-gradient(90deg, var(--azul-escuro), var(--azul) 55%, #044fd6);
  position:relative;
  transition:width 1.8s cubic-bezier(.4,0,.2,1);
}
.meta-fill::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg, transparent 55%, rgba(255,255,255,.5) 78%, transparent 100%);
  animation:brilho 2.4s ease-in-out infinite;
}
@keyframes brilho{0%{transform:translateX(-100%)}100%{transform:translateX(220%)}}
.meta-mini-base{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
}
.meta-live{
  display:flex;align-items:center;gap:6px;
  font-size:.66rem;font-weight:800;letter-spacing:.07em;
  text-transform:uppercase;color:var(--azul);
}
.meta-live .dot{width:6px;height:6px;border-radius:50%;background:var(--perigo);animation:pulse-dot 1.4s infinite;flex-shrink:0}
.meta-doadores{
  font-size:.7rem;font-weight:700;color:var(--tinta-suave);
  white-space:nowrap;
}
.meta-doadores b{color:var(--azul-escuro)}

.sec{padding:2.6rem 0}
.eyebrow{
  display:inline-flex;align-items:center;gap:7px;
  font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--azul);margin-bottom:.7rem;
}
.eyebrow::before{content:'';width:22px;height:3px;border-radius:3px;background:var(--amarelo)}
.sec h2{
  font-size:clamp(1.5rem,5.8vw,1.95rem);font-weight:800;
  color:var(--azul-noite);margin-bottom:.8rem;
}
.sec-intro{font-size:.94rem;color:var(--tinta-suave);margin-bottom:1.8rem;max-width:46ch}
.sec-intro strong{color:var(--tinta)}

.campanha-hist{padding-bottom:1.4rem}
.campanha-texto{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}
.campanha-texto p{font-size:.94rem;color:var(--tinta-suave)}
.campanha-texto p strong{color:var(--tinta)}
.campanha-destaque{
  background:var(--azul-nevoa);
  border-left:4px solid var(--perigo);
  border-radius:0 var(--raio) var(--raio) 0;
  padding:1rem 1.15rem;
  font-size:.92rem;color:var(--azul-noite);
  font-weight:600;line-height:1.6;
}

.pix-sec{padding:1.2rem 0 2.4rem}
.pix-ticket{
  position:relative;
  background:var(--branco);
  border:1px solid var(--borda);
  border-radius:var(--raio-lg);
  box-shadow:var(--sombra);
  overflow:hidden;
}
.pix-ticket-top{
  background:linear-gradient(135deg, var(--azul), var(--azul-escuro));
  color:var(--branco);
  padding:1.25rem 1.3rem 1.35rem;
  display:flex;align-items:center;gap:13px;
}
.pix-ticket-icon{
  width:46px;height:46px;flex-shrink:0;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.28);
  border-radius:13px;
  display:flex;align-items:center;justify-content:center;
}
.pix-ticket-top strong{
  display:block;font-family:var(--fonte-display);
  font-size:1.08rem;font-weight:800;line-height:1.2;
}
.pix-ticket-top span{font-size:.78rem;color:rgba(255,255,255,.75)}

.pix-ticket-body{padding:1.3rem 1.3rem 1.4rem}
.pix-label{
  font-size:.68rem;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:var(--azul);
  margin-bottom:8px;text-align:center;
}
.pix-chave{
  background:var(--amarelo-suave);
  border:2px dashed var(--amarelo);
  border-radius:14px;
  padding:.85rem 1rem;
  text-align:center;
  font-family:monospace;
  font-size:1.02rem;font-weight:700;color:var(--azul-noite);
  word-break:break-all;
  margin-bottom:.8rem;
  user-select:all;
}
.btn-copiar-pix{
  width:100%;
  background:var(--azul);color:var(--branco);
  border-radius:14px;padding:.95rem;
  font-size:.92rem;font-weight:800;letter-spacing:.04em;
  display:flex;align-items:center;justify-content:center;gap:9px;
  transition:background .2s,transform .15s;
  font-family:var(--fonte-corpo);
}
.btn-copiar-pix:hover{background:var(--azul-hover)}
.btn-copiar-pix:active{transform:scale(.98)}
.btn-copiar-pix.copiado{background:var(--azul-escuro)}
.pix-recebedor{
  display:flex;align-items:center;justify-content:center;gap:12px;
  margin-top:.9rem;flex-wrap:wrap;
  font-size:.75rem;color:var(--tinta-suave);
}
.pix-recebedor b{color:var(--tinta)}
.pix-recebedor .sep{width:1px;height:12px;background:var(--borda)}
.pix-passos{
  display:grid;grid-template-columns:repeat(4,1fr);gap:6px;
  margin-top:1.1rem;
}
.pix-passo{
  background:var(--azul-nevoa);
  border-radius:12px;
  padding:.6rem .45rem;
  text-align:center;
}
.pix-passo .num{
  width:20px;height:20px;margin:0 auto 4px;
  background:var(--azul);color:var(--branco);
  border-radius:50%;
  font-size:.66rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;
}
.pix-passo span{font-size:.64rem;font-weight:600;color:var(--azul-noite);line-height:1.3;display:block}

.pix-toast{
  position:fixed;bottom:26px;left:50%;
  transform:translateX(-50%) translateY(110px);
  z-index:9998;pointer-events:none;
  opacity:0;transition:transform .4s cubic-bezier(.34,1.5,.64,1), opacity .3s;
  width:90%;max-width:340px;
}
.pix-toast.show{transform:translateX(-50%) translateY(0);opacity:1}
.pix-toast-inner{
  background:var(--branco);border-radius:16px;
  padding:13px 16px;display:flex;align-items:center;gap:12px;
  box-shadow:0 14px 40px rgba(0,13,34,.22);
  border-left:5px solid var(--azul);
}
.pix-toast-check{
  width:38px;height:38px;flex-shrink:0;border-radius:50%;
  background:var(--azul);color:var(--branco);
  display:flex;align-items:center;justify-content:center;
}
.pix-toast-inner strong{display:block;font-size:.9rem;color:var(--tinta)}
.pix-toast-inner span{font-size:.76rem;color:var(--tinta-suave)}

.historia{background:var(--branco);border-top:1px solid var(--borda);border-bottom:1px solid var(--borda)}
.linha-tempo{position:relative;padding-left:26px}
.linha-tempo::before{
  content:'';position:absolute;left:8px;top:8px;bottom:8px;width:3px;
  border-radius:3px;
  background:linear-gradient(to bottom, var(--amarelo), var(--azul) 40%, var(--azul-linha));
}
.marco{position:relative;padding-bottom:1.7rem}
.marco:last-child{padding-bottom:0}
.marco::before{
  content:'';position:absolute;left:-25px;top:6px;
  width:15px;height:15px;border-radius:50%;
  background:var(--branco);border:4px solid var(--azul);
  box-shadow:0 0 0 4px var(--azul-nevoa);
}
.marco.destaque::before{border-color:var(--amarelo);box-shadow:0 0 0 4px var(--amarelo-suave)}
.marco-tag{
  display:inline-block;
  font-family:var(--fonte-display);font-size:.72rem;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;
  color:var(--azul);background:var(--azul-nevoa);
  padding:3px 10px;border-radius:6px;margin-bottom:6px;
}
.marco.destaque .marco-tag{color:#8a6300;background:var(--amarelo-suave)}
.marco h3{font-size:1.06rem;font-weight:700;color:var(--tinta);margin-bottom:4px}
.marco p{font-size:.89rem;color:var(--tinta-suave)}
.marco p strong{color:var(--tinta)}

.impacto-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.impacto-card{
  background:var(--azul);
  border-radius:var(--raio);
  padding:1.05rem .95rem;
  color:var(--branco);
  position:relative;overflow:hidden;
}
.impacto-card:nth-child(2){background:var(--azul-escuro)}
.impacto-card:nth-child(3){background:var(--amarelo);color:var(--azul-noite)}
.impacto-card:nth-child(4){background:var(--azul-noite)}
.impacto-card .valor{
  font-family:var(--fonte-display);
  font-size:1.35rem;font-weight:800;display:block;margin-bottom:2px;
}
.impacto-card .desc{font-size:.74rem;opacity:.85;line-height:1.4;font-weight:500}

.comunidade{padding:2.4rem 0 0}
.comunidade-card{
  border-radius:var(--raio-lg);overflow:hidden;
  box-shadow:var(--sombra);
  position:relative;
}
.comunidade-card img{width:100%;object-fit:cover}
.comunidade-cta{
  background:var(--azul-noite);
  padding:1.5rem 1.3rem 1.6rem;
  text-align:center;color:var(--branco);
}
.comunidade-cta h3{font-size:1.2rem;font-weight:800;margin-bottom:.35rem}
.comunidade-cta p{font-size:.85rem;color:rgba(255,255,255,.72);margin-bottom:1.1rem}

.faq-lista{display:flex;flex-direction:column;gap:.65rem}
.faq-item{
  background:var(--branco);
  border:1px solid var(--borda);
  border-radius:var(--raio);
  overflow:hidden;
  transition:border-color .2s, box-shadow .2s;
}
.faq-item.aberto{border-color:var(--azul-linha);box-shadow:0 6px 16px -8px rgba(0,13,34,.15)}
.faq-q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;
  text-align:left;padding:1rem 1.1rem;
  font-size:.92rem;font-weight:700;color:var(--tinta);
}
.faq-q .seta{
  width:26px;height:26px;flex-shrink:0;border-radius:50%;
  background:var(--azul-nevoa);color:var(--azul);
  display:flex;align-items:center;justify-content:center;
  transition:transform .25s, background .2s;
}
.faq-item.aberto .seta{transform:rotate(180deg);background:var(--amarelo);color:var(--azul-noite)}
.faq-a{
  max-height:0;overflow:hidden;
  transition:max-height .3s ease;
  font-size:.86rem;color:var(--tinta-suave);
}
.faq-a-inner{padding:0 1.1rem 1.05rem}

.footer{background:var(--azul-noite);color:rgba(255,255,255,.75);margin-top:2.6rem}
.footer-top{
  padding:2.2rem 0 1.6rem;text-align:center;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.footer-logo{max-width:190px;margin:0 auto 1rem;filter:brightness(0) invert(1);opacity:.95}
.footer-tag{font-size:.84rem;color:rgba(255,255,255,.55);max-width:30ch;margin:0 auto}
.footer-socials{
  display:flex;justify-content:center;gap:10px;
  padding:1.3rem 0;border-bottom:1px solid rgba(255,255,255,.09);
}
.social-btn{
  width:42px;height:42px;border-radius:12px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.75);
  transition:background .2s, transform .15s;
}
.social-btn:hover{background:var(--amarelo);color:var(--azul-noite);transform:translateY(-2px)}
.footer-bottom{padding:1.3rem 0 1.8rem;text-align:center}
.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 14px;margin-bottom:.8rem}
.footer-links button{
  color:rgba(255,255,255,.5);font-size:.75rem;
  text-decoration:underline;text-underline-offset:3px;
  transition:color .2s;
}
.footer-links button:hover{color:var(--branco)}
.footer-copy{font-size:.72rem;color:rgba(255,255,255,.32)}

.doar-flutuante{
  position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:80;
  transform:translateY(120%);
  transition:transform .35s cubic-bezier(.34,1.2,.64,1);
}
.doar-flutuante.visivel{transform:translateY(0)}
.doar-flutuante .btn-doar{box-shadow:0 10px 30px -6px rgba(0,13,34,.4), 0 6px 18px rgba(254,181,5,.45)}

.modal-overlay{
  position:fixed;inset:0;z-index:999;
  background:rgba(0,13,34,.62);
  backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);
  display:flex;align-items:center;justify-content:center;
  padding:1rem;
  opacity:0;pointer-events:none;transition:opacity .28s;
}
.modal-overlay.active{opacity:1;pointer-events:all}
.modal-box{
  background:var(--creme);
  width:100%;max-width:440px;
  border-radius:24px;overflow:hidden;
  max-height:92vh;display:flex;flex-direction:column;
  transform:scale(.9) translateY(24px);
  transition:transform .38s cubic-bezier(.34,1.35,.64,1);
  box-shadow:0 30px 80px rgba(0,0,0,.35);
}
.modal-overlay.active .modal-box{transform:scale(1) translateY(0)}

.modal-topo{
  background:linear-gradient(135deg, var(--azul), var(--azul-escuro));
  color:var(--branco);
  padding:1.15rem 1.25rem 1rem;
  flex-shrink:0;
  position:relative;
}
.modal-topo::after{
  content:'';position:absolute;left:0;right:0;bottom:-1px;height:14px;
  background:radial-gradient(circle at 8px -4px, transparent 11px, var(--creme) 12px);
  background-size:22px 14px;
  background-position:center bottom;
}
.modal-topo-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.modal-topo h2{font-size:1.06rem;font-weight:800;display:flex;align-items:center;gap:8px}
.modal-topo h2 svg{flex-shrink:0;color:var(--amarelo)}
.modal-fechar{
  width:30px;height:30px;flex-shrink:0;border-radius:50%;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);
  display:flex;align-items:center;justify-content:center;color:var(--branco);
  transition:background .2s;
}
.modal-fechar:hover{background:rgba(255,255,255,.28)}

.stepper{display:flex;align-items:center;gap:8px;margin-top:.85rem}
.step-pill{
  display:flex;align-items:center;gap:6px;
  font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  color:rgba(255,255,255,.55);
}
.step-pill .n{
  width:19px;height:19px;border-radius:50%;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);
  display:flex;align-items:center;justify-content:center;
  font-size:.62rem;
}
.step-pill.ativo{color:var(--branco)}
.step-pill.ativo .n{background:var(--amarelo);border-color:var(--amarelo);color:var(--azul-noite)}
.step-pill.feito .n{background:rgba(255,255,255,.9);border-color:transparent;color:var(--azul)}
.step-linha{flex:1;height:2px;background:rgba(255,255,255,.2);border-radius:2px}

.modal-body{flex:1;overflow-y:auto;padding:1.35rem 1.25rem 1.2rem;scrollbar-width:none}
.modal-body::-webkit-scrollbar{display:none}

.valores-pill{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:1.35rem}
.pill-btn{
  border:2px solid var(--azul-linha);
  background:var(--branco);color:var(--azul-escuro);
  font-size:.92rem;font-weight:800;
  padding:13px 4px;border-radius:50px;
  transition:all .18s;position:relative;
  font-family:var(--fonte-corpo);
}
.pill-btn:hover{border-color:var(--azul);transform:translateY(-1px)}
.pill-btn.selected{
  border-color:var(--amarelo);background:var(--amarelo);color:var(--azul-noite);
  box-shadow:0 6px 16px rgba(254,181,5,.4);
  transform:translateY(-1px);
}
.pill-btn.popular::after {
  content: 'Mais escolhido';
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--amarelo);
  color: var(--verde-noite);
  font-size: 0.65rem;
  font-weight: 800;
  padding: 3px 8px;
  border-radius: 6px;
  white-space: nowrap;
  box-shadow: 0 2px 5px rgba(0,0,0,0.15);
}

.divisor-ou{
  display:flex;align-items:center;gap:12px;
  margin-bottom:.9rem;
  font-size:.7rem;font-weight:800;letter-spacing:.12em;
  color:var(--tinta-suave);text-transform:uppercase;
}
.divisor-ou::before,.divisor-ou::after{content:'';flex:1;height:1px;background:var(--borda)}

.valor-livre{
  display:flex;align-items:center;justify-content:center;gap:6px;
  background:var(--branco);
  border:2px solid var(--azul-linha);
  border-radius:16px;
  padding:.4rem 1rem;
  transition:border-color .2s, box-shadow .2s;
}
.valor-livre:focus-within{border-color:var(--azul);box-shadow:0 0 0 4px rgba(1,56,143,.1)}
.valor-livre .cifrao{
  font-family:var(--fonte-display);
  font-size:1.25rem;font-weight:800;color:var(--azul);
}
.valor-livre input{
  border:none;outline:none;background:transparent;
  font-family:var(--fonte-display);
  font-size:1.5rem;font-weight:800;color:var(--azul-noite);
  width:100%;max-width:180px;text-align:center;
  padding:.35rem 0;
}
.valor-livre input::placeholder{color:#c3cfc5;font-size:1.05rem;font-weight:600}

.chip-doacao{
  display:flex;align-items:center;justify-content:space-between;
  background:var(--azul-noite);color:var(--branco);
  border-radius:16px;padding:.9rem 1.1rem;
  margin-bottom:1.25rem;
}
.chip-doacao .lbl{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.chip-doacao .val{font-family:var(--fonte-display);font-size:1.35rem;font-weight:800;color:var(--amarelo)}
.btn-trocar-valor{
  font-size:.72rem;font-weight:700;color:rgba(255,255,255,.7);
  text-decoration:underline;text-underline-offset:3px;
  font-family:var(--fonte-corpo);
  transition:color .2s;
}
.btn-trocar-valor:hover{color:var(--branco)}

.campo{margin-bottom:1rem}
.campo label{
  display:block;font-size:.78rem;font-weight:700;color:var(--tinta);
  margin-bottom:5px;
}
.campo label span{color:var(--tinta-suave);font-weight:500}
.campo-input{
  width:100%;
  border:2px solid var(--borda);border-radius:14px;
  padding:.85rem 1rem;
  font-size:.94rem;font-weight:600;color:var(--tinta);
  font-family:var(--fonte-corpo);
  background:var(--branco);outline:none;
  transition:border-color .2s, box-shadow .2s;
}
.campo-input:focus{border-color:var(--azul);box-shadow:0 0 0 4px rgba(1,56,143,.1)}
.campo-input::placeholder{color:#c3cfc5}

.turbo-row{
  display:flex;align-items:center;gap:12px;
  background:var(--branco);
  border:2px solid var(--borda);
  border-radius:16px;
  padding:.9rem 1rem;
  cursor:pointer;user-select:none;
  transition:border-color .2s, background .2s;
  margin-bottom:.4rem;
}
.turbo-row.ativo{border-color:var(--amarelo);background:#fffcf2}
.turbo-emoji{
  width:38px;height:38px;flex-shrink:0;border-radius:11px;
  background:var(--amarelo-suave);
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;
}
.turbo-info{flex:1;min-width:0}
.turbo-info strong{display:block;font-size:.86rem;color:var(--azul-noite)}
.turbo-info span{font-size:.73rem;color:var(--tinta-suave);line-height:1.4;display:block}
.switch{
  position:relative;width:46px;height:26px;flex-shrink:0;
  background:var(--borda);border-radius:50px;
  transition:background .25s;
}
.switch::after{
  content:'';position:absolute;top:3px;left:3px;
  width:20px;height:20px;border-radius:50%;
  background:var(--branco);
  box-shadow:0 2px 5px rgba(0,0,0,.2);
  transition:transform .25s cubic-bezier(.34,1.4,.64,1);
}
.turbo-row.ativo .switch{background:var(--amarelo)}
.turbo-row.ativo .switch::after{transform:translateX(20px)}

.modal-rodape{
  padding:.9rem 1.25rem 1.3rem;flex-shrink:0;
  background:var(--creme);
}
@keyframes pulse-azul{
  0%  {box-shadow:0 6px 18px rgba(1,56,143,.4), 0 0 0 0 rgba(1,56,143,.45)}
  65% {box-shadow:0 6px 18px rgba(1,56,143,.4), 0 0 0 14px rgba(1,56,143,0)}
  100%{box-shadow:0 6px 18px rgba(1,56,143,.4), 0 0 0 0 rgba(1,56,143,0)}
}
.btn-modal-cta{
  width:100%;
  background:var(--azul);color:var(--branco);
  border-radius:16px;padding:1rem;
  font-size:.98rem;font-weight:800;letter-spacing:.03em;
  font-family:var(--fonte-corpo);
  display:flex;align-items:center;justify-content:center;gap:9px;
  animation:pulse-azul 2s ease-out infinite;
  transition:background .2s;
}
.btn-modal-cta:hover{background:var(--azul-hover)}
.btn-modal-cta:active{animation:none;transform:scale(.98)}
.modal-seguro{
  display:flex;align-items:center;justify-content:center;gap:5px;
  font-size:.7rem;color:var(--tinta-suave);margin-top:9px;
}

.donation-loading{
  display:none;flex-direction:column;align-items:center;justify-content:center;
  padding:3.5rem 2rem;gap:1.2rem;text-align:center;min-height:300px;
}
.loading-spinner{
  width:46px;height:46px;border:3px solid var(--azul-nevoa);
  border-top-color:var(--azul);border-radius:50%;
  animation:spin .75s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
.loading-title{font-size:1rem;font-weight:800;color:var(--azul-noite);font-family:var(--fonte-display)}
.loading-sub{font-size:.83rem;color:var(--tinta-suave)}

.donation-step{display:none;flex-direction:column;flex:1;overflow:hidden}
.donation-step.active{display:flex}
.donation-step.active .modal-body{flex:1;overflow-y:auto}

@media (min-width:768px){
  .wrap{max-width:720px}
  .header-inner{max-width:720px}
  .hero{padding:3rem 0 5rem}
  .impacto-grid{grid-template-columns:repeat(4,1fr)}
  .doar-flutuante{left:auto;right:1.5rem;bottom:1.5rem;width:260px}
  .pix-passos{gap:10px}
}
@media (max-width:380px){
  .valores-pill{grid-template-columns:repeat(2,1fr)}
}

.own-brand{display:flex;align-items:center;gap:9px;font-weight:800;color:var(--azul-escuro);line-height:1.1}
.own-brand span{max-width:80px;font-size:17px}.own-brand .header-logo{height:52px;width:52px;object-fit:contain}
.historical-note{font-size:11px;line-height:1.5;color:#dbeafe;margin:14px auto;text-align:center;max-width:520px}
.campanha-texto blockquote{background:#fff;border-left:4px solid var(--amarelo);border-radius:12px;padding:20px;margin:18px 0}
.campaign-summary-v246,.campaign-transparency-v246{color:var(--tinta)}.campaign-transparency-v246 a{color:var(--azul);text-decoration:underline}
.footer-links a{font-size:.75rem;color:#cce0ff}.footer-links a:hover{text-decoration:underline}
#donation-form{display:flex;flex-direction:column;min-height:0;overflow:hidden;flex:1}
.modal-note{font-size:12px;margin-top:12px;color:var(--tinta-suave)}#contributionError{color:#b42318;font-size:13px;margin-top:12px;font-weight:700}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.own-brand .header-logo{width:170px;height:auto;aspect-ratio:5.6;object-fit:cover}

.btn-modal-cta,.btn-modal-cta:hover{background:var(--amarelo);color:var(--azul-noite);transition:none;animation:none}
