:root{
  --vinho: #E2570F;
  --vinho-inst: #2E9E4F;
  --grafite: #171717;
  --creme: #F5EAD9;
  --areia: #E6DFCF;
  --dourado: #F2A81D;
  --dourado-claro: #FFD873;
  --verde: #2E9E4F;
  --verde-escuro: #1F7A3B;
  --amarelo: #F2A81D;
  --branco: #FFFFFF;
  --texto-escuro: #3A2A1C;
}

*{box-sizing:border-box; margin:0; padding:0;}

html{scroll-behavior:smooth;}

body{
  font-family:'Inter', -apple-system, sans-serif;
  color:var(--texto-escuro);
  background:var(--branco);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{
  font-family:'Playfair Display', Georgia, serif;
  line-height:1.25;
  font-weight:700;
}

h2{font-size:clamp(1.7rem, 3.6vw, 2.6rem); margin-bottom:1.2rem;}
h3{font-size:1.3rem; margin-bottom:.6rem;}
h4{font-size:1.1rem; margin-bottom:.4rem;}

a{text-decoration:none; color:inherit;}

.wrap{max-width:1220px; margin:0 auto; padding:0 24px;}
.narrow{max-width:860px;}
.center{text-align:center;}

.section{padding:42px 0; position:relative; overflow:hidden;}
.section h2{position:relative;}
.section h2.center::after{
  content:''; position:absolute; left:50%; top:100%; transform:translateX(-50%);
  width:64px; height:4px; margin-top:16px;
  background:linear-gradient(90deg, var(--vinho), var(--amarelo), var(--verde));
  border-radius:4px; opacity:.9;
}
.section.hero h2::after, .hero-final h2::after{display:none;}
.section-divider{height:3px; width:100%; background:linear-gradient(90deg, var(--vinho), var(--amarelo), var(--verde));}
.section.light{background:#FBFAF7;}
.section.white{background:var(--branco);}
.section.cream{background:var(--creme); color:var(--texto-escuro);}
.section.sand{background:var(--areia); color:var(--texto-escuro);}
.section.dark{background:var(--grafite); color:#F1EDE7;}
.section.dark h2{color:#fff;}
.section.dark.texture{background-size:cover; background-position:center;}
.dark-scrim{position:absolute; inset:0; background:linear-gradient(180deg, rgba(60,32,14,.62), rgba(40,22,10,.72)); z-index:0;}
.section.dark.texture > .wrap{position:relative; z-index:1;}
.section.wine{background:var(--vinho-inst); color:#fff;}
.section.wine.texture-green{background-size:cover; background-position:center 30%;}
.green-scrim{background:linear-gradient(165deg, rgba(15,74,34,.93), rgba(10,54,26,.96));}
.section.wine.texture-green > .wrap{position:relative; z-index:1;}
.section.wine h2{color:#fff;}
.section.premium{background:var(--creme); color:var(--texto-escuro);}

.top-banner{background:var(--creme); padding:32px 40px 36px; position:relative; text-align:center;}
.top-cta{
  margin:18px auto 0; display:block; width:100%; max-width:400px; text-align:center;
  text-transform:uppercase; letter-spacing:.03em; font-size:.92rem; padding:12px 20px;
}
.org-card{
  max-width:440px; margin:16px auto 0; background:#fff; border-radius:16px; padding:18px 24px;
  box-shadow:0 10px 30px rgba(0,0,0,.08); text-align:left;
}
.org-card-title{font-size:1rem; font-weight:700; color:var(--texto-escuro); text-align:center; margin-bottom:16px;}
.org-card-body{display:flex; align-items:center; justify-content:space-between; gap:16px;}
.org-card-rows{display:flex; flex-direction:column; gap:14px;}
.org-card-row{display:flex; align-items:center; gap:10px;}
.org-card-icon{
  display:flex; align-items:center; justify-content:center; flex:none;
  width:34px; height:34px; border-radius:50%; font-size:1rem;
}
.org-card-icon.icon-laranja{background:#FDE6D8;}
.org-card-icon.icon-azul{background:#DCE6FB;}
.org-card-label{display:block; font-size:.7rem; letter-spacing:.05em; text-transform:uppercase; color:#a99a7c; font-weight:700;}
.org-card-value{display:block; font-size:.92rem; font-weight:600; color:var(--vinho);}
.org-card-logo{width:56px; height:56px; border-radius:50%; object-fit:cover; flex:none;}
@media (max-width:480px){ .org-card{padding:20px 22px;} .org-card-logo{width:46px; height:46px;} }
.page-kicker{
  font-size:.82rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  color:var(--vinho); margin:0 0 16px;
}
.section-kicker{
  font-size:.8rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  color:var(--vinho); margin-bottom:10px; opacity:.85;
}
.top-banner-inner{max-width:1320px; margin:0 auto; border-radius:8px; overflow:hidden; box-shadow:0 20px 46px rgba(0,0,0,.16);}
.top-banner-inner img{width:100%; display:block;}

.fatima-story{
  display:grid; grid-template-columns:1fr 1.2fr; align-items:stretch;
  max-width:1280px; margin:24px auto 0; text-align:left;
  background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 18px 44px rgba(0,0,0,.12);
}
.fatima-carousel{
  position:relative; width:100%; min-height:340px;
}
.fc-slide{position:absolute; inset:0; opacity:0; transition:opacity .8s ease;}
.fc-slide.active{opacity:1;}
.fc-slide img{width:100%; height:100%; object-fit:cover; display:block;}
.fc-dots{position:absolute; left:0; right:0; bottom:12px; display:flex; gap:6px; justify-content:center; z-index:2;}
.fc-dot{width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.6); cursor:pointer; transition:background .25s ease, transform .25s ease;}
.fc-dot.active{background:#fff; transform:scale(1.3);}
.fatima-story-text{padding:32px 44px;}
.fatima-story-text h3{font-family:'Playfair Display',serif; font-size:1.5rem; color:var(--vinho); margin-bottom:10px;}
.fatima-story-text p{font-size:.98rem; line-height:1.55; color:var(--texto-escuro); margin-bottom:10px;}
.fatima-story-text p.italic{font-style:italic; color:#7a6b52; margin-bottom:0;}
@media (max-width:820px){
  .fatima-story{grid-template-columns:1fr; max-width:440px; text-align:center;}
  .fatima-carousel{aspect-ratio:1/1; min-height:0;}
  .fatima-story-text{text-align:left;}
}
.scroll-hint{
  display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:30px; margin-top:10px; color:var(--vinho);
  animation:scrollBounce 1.8s ease-in-out infinite;
}
.scroll-hint svg{width:100%; height:100%;}
@keyframes scrollBounce{
  0%, 100%{ transform:translateY(0); opacity:.6; }
  50%{ transform:translateY(8px); opacity:1; }
}
@media (prefers-reduced-motion: reduce){ .scroll-hint{ animation:none; } }
@media (max-width:600px){
  .top-banner{padding:24px 24px 34px;}
  .top-banner-inner{border-radius:6px;}
}
.hero-beige-title{font-family:'Playfair Display', Georgia, serif; font-size:clamp(1.9rem, 4.6vw, 3.2rem); line-height:1.25; color:var(--texto-escuro); margin-bottom:22px;}
.hero-beige-title span{color:var(--vinho);}

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* ---------- HERO ---------- */
.beige-final{
  background:var(--creme); color:var(--texto-escuro); padding:20px 0; text-align:center;
  position:relative; overflow:hidden;
}
.beige-final .wrap{position:relative; z-index:1;}
.beige-final h2{color:var(--texto-escuro); font-size:clamp(1.6rem, 3.2vw, 2.4rem); margin-bottom:.5rem; max-width:820px; margin-left:auto; margin-right:auto;}
.beige-final .lead-dark{max-width:760px; margin-bottom:10px;}
.micro-dark{font-size:.9rem; color:#7a6b52; margin-top:10px;}

.hero, .hero-final{
  min-height:92vh;
  display:flex; align-items:center; justify-content:center;
  padding:120px 0;
  color:#fff;
  text-align:center;
}
.hero-bg{
  position:absolute; left:0; right:0; top:-8%; height:116%;
  background-size:cover; background-position:center;
  filter:brightness(.55) contrast(1.05);
  will-change:transform;
}
.hero-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(120,55,15,.5), rgba(90,40,10,.85));
}
.hero-overlay.dark2{background:linear-gradient(180deg, rgba(110,58,20,.32), rgba(85,42,15,.55));}
.hero-overlay.soft{background:linear-gradient(90deg, rgba(10,8,4,.55) 0%, rgba(10,8,4,.32) 55%, rgba(10,8,4,.05) 85%);}
.hero-content{position:relative; z-index:2;}
.hero-content.hero-align-left{
  text-align:left; max-width:640px; margin:0; margin-left:0;
  padding-top:170px;
}
.logo-hero{width:110px; height:110px; object-fit:contain; margin-bottom:24px; filter:drop-shadow(0 4px 18px rgba(0,0,0,.4));}

.hero h1{font-size:clamp(1.9rem, 4.6vw, 3.2rem); margin-bottom:22px;}
.hero h1 span{color:var(--dourado-claro);}
.hero-final h2{font-size:clamp(1.6rem, 3.6vw, 2.5rem); color:#fff; margin-bottom:20px;}
.hero.hero-left-mode{justify-content:flex-start;}
.hero.hero-left-mode .wrap{margin:0; width:100%; padding-left:8%;}

@keyframes heroFadeUp{
  from{opacity:0; transform:translateY(26px);}
  to{opacity:1; transform:none;}
}
.anim-in{
  opacity:0; animation:heroFadeUp .8s cubic-bezier(.22,1,.36,1) forwards;
  animation-delay:var(--d, 0s);
}

.lead{font-size:1.15rem; max-width:700px; margin:0 auto 30px; opacity:.95;}
.lead-dark{font-size:1.08rem; max-width:700px; margin:0 auto 14px; color:var(--texto-escuro);}
.micro{font-size:.9rem; opacity:.85; margin-top:14px;}
.fineprint{font-size:.8rem; opacity:.65; margin-top:14px; max-width:600px; margin-left:auto; margin-right:auto;}
.italic{font-style:italic; opacity:.9; margin-top:8px;}
.highlight{font-family:'Playfair Display',serif; font-size:1.4rem; color:var(--vinho); margin:18px 0;}

/* ---------- BOTOES ---------- */
.btn-primary{
  display:inline-block; background:linear-gradient(135deg,var(--verde),var(--verde-escuro)); color:#fff;
  padding:16px 34px; border-radius:50px; font-weight:600;
  font-size:1.05rem; box-shadow:0 10px 30px rgba(46,158,79,.4);
  transition:transform .2s ease, box-shadow .2s ease;
}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 14px 36px rgba(46,158,79,.5);}
.btn-primary.gold{background:linear-gradient(135deg,var(--verde),var(--verde-escuro)); color:#fff; box-shadow:0 10px 30px rgba(46,158,79,.4);}
.btn-primary.gold:hover{box-shadow:0 14px 36px rgba(46,158,79,.5);}
/* dentro da seção PIX (já verde), o CTA precisa de contraste — usa dourado */
.pix-section .btn-primary.gold{
  background:linear-gradient(135deg,var(--dourado),#C97324); color:#3a2206; box-shadow:0 10px 30px rgba(217,147,31,.4);
}
.pix-section .btn-primary.gold:hover{box-shadow:0 14px 36px rgba(217,147,31,.5);}
.btn-outline{
  display:inline-block; border:2px solid var(--verde); color:var(--verde-escuro);
  padding:14px 30px; border-radius:50px; font-weight:600; margin-top:10px;
  transition:.2s ease;
}
.btn-outline:hover{background:var(--verde); color:#fff;}
.btn-mini{background:var(--dourado); color:#3a2a06; padding:6px 16px; border-radius:30px; font-weight:600; font-size:.85rem;}

/* ---------- TOAST ---------- */
.site-toast{
  position:fixed; left:50%; bottom:28px; transform:translateX(-50%) translateY(20px);
  background:var(--texto-escuro); color:#fff; padding:12px 22px; border-radius:30px;
  font-size:.92rem; font-weight:600; box-shadow:0 10px 28px rgba(0,0,0,.25);
  opacity:0; pointer-events:none; transition:opacity .3s ease, transform .3s ease; z-index:200;
}
.site-toast.visible{opacity:1; transform:translateX(-50%) translateY(0);}

/* ---------- BOTÃO FLUTUANTE DE DOAÇÃO ---------- */
.fab-doar{
  position:fixed; left:50%; bottom:22px; z-index:100;
  display:flex; align-items:center; gap:7px;
  background:var(--verde); color:#fff; font-weight:700; font-size:.95rem;
  padding:14px 24px; border-radius:50px;
  box-shadow:0 10px 26px rgba(46,158,79,.45);
  transition:transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s ease;
  opacity:0; transform:translateX(-50%) translateY(16px) scale(.9); pointer-events:none;
}
.fab-doar.visible{
  opacity:1; pointer-events:auto;
  transform:translateX(-50%) translateY(0) scale(1);
  animation:fabBounce 2.6s ease-in-out infinite;
}
.fab-doar:hover{box-shadow:0 14px 32px rgba(46,158,79,.55);}
.fab-heart{display:inline-block; color:#ff5252; animation:fabHeartbeat 1.1s ease-in-out infinite;}
.btn-heart{display:inline-block; color:#ff5252; animation:fabHeartbeat 1.1s ease-in-out infinite;}
@keyframes fabBounce{
  0%, 80%, 100%{ transform:translateX(-50%) translateY(0) scale(1); }
  90%{ transform:translateX(-50%) translateY(-6px) scale(1); }
}
@keyframes fabHeartbeat{
  0%, 100%{ transform:scale(1); }
  25%{ transform:scale(1.25); }
  40%{ transform:scale(1); }
  60%{ transform:scale(1.18); }
}
@media (prefers-reduced-motion: reduce){
  .fab-doar.visible{animation:none;}
  .fab-heart{animation:none;}
  .btn-heart{animation:none;}
}
@media (max-width:600px){
  .fab-doar{bottom:14px; padding:12px 20px; font-size:.88rem;}
}

/* ---------- CARDS 3 ---------- */
.cards3{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:20px 0 14px;}
.card{
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); border-top:3px solid transparent; border-radius:12px; padding:0 0 18px;
  transition:transform .45s cubic-bezier(.22,1,.36,1), background .3s ease, border-color .3s ease;
  backdrop-filter:blur(2px); overflow:hidden;
}
.card-photo{width:100%; aspect-ratio:16/10; object-fit:cover; display:block; margin-bottom:14px;}
.card h3, .card p{margin-left:24px; margin-right:24px;}
.card.no-photo{padding-top:22px;}
.card.no-photo h3{margin-top:0;}
.card:hover{transform:translateY(-6px); background:rgba(255,255,255,.16);}
.section.cream .card, .section.sand .card{background:#fff; border-color:#EFE6D6; box-shadow:0 8px 22px rgba(0,0,0,.05);}
.section.cream .card:hover, .section.sand .card:hover{background:#fff; transform:translateY(-6px); box-shadow:0 14px 28px rgba(0,0,0,.08);}
.section.cream .card p, .section.sand .card p{color:#5a4d3a; opacity:1;}
.card.accent-laranja{border-top-color:var(--vinho);}
.card.accent-amarelo{border-top-color:var(--amarelo);}
.card.accent-verde{border-top-color:var(--verde);}
.card.accent-laranja h3{color:var(--vinho);}
.card.accent-amarelo h3{color:var(--amarelo);}
.card.accent-verde h3{color:#5fce85;}
.card p{opacity:.9; font-size:.95rem;}

/* ---------- STEPS 5 ---------- */
.steps5{display:grid; grid-template-columns:repeat(5,1fr); gap:20px; margin:30px 0 14px;}
.step{text-align:center; padding:20px 12px; transition:transform .4s cubic-bezier(.22,1,.36,1);}
.step:hover{transform:translateY(-5px);}
.step .num{display:flex; align-items:center; justify-content:center; color:var(--vinho); margin-bottom:14px; transition:transform .35s ease;}
.step .num svg{width:34px; height:34px;}
.step:nth-child(2) .num{color:var(--amarelo);}
.step:nth-child(3) .num{color:var(--verde);}
.step:nth-child(4) .num{color:var(--vinho);}
.step:nth-child(5) .num{color:var(--amarelo);}
.step:hover .num{transform:scale(1.12);}
.step p{font-size:.88rem; opacity:.85;}

/* ---------- REVEAL (stagger via --i, aplicado por JS) ---------- */
.reveal-child{
  opacity:0; transform:translateY(22px);
  transition:opacity .6s cubic-bezier(.22,1,.36,1), transform .6s cubic-bezier(.22,1,.36,1);
  transition-delay:calc(var(--i, 0) * 90ms);
}
.reveal-child.in-view{opacity:1; transform:none;}

/* ---------- DONATE GRID ---------- */
.donate-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; max-width:820px; margin:18px auto;}
.donate-grid.small{grid-template-columns:repeat(5,1fr); max-width:100%;}
.donate-grid.donate-grid-8{max-width:1060px;}
.donate-card{
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.25);
  border-radius:14px; padding:12px 14px; color:#fff; cursor:pointer;
  display:flex; flex-direction:column; gap:3px; font-family:inherit;
  transition:transform .35s cubic-bezier(.22,1,.36,1), border-color .3s ease, box-shadow .35s ease; position:relative;
}
.section.premium .donate-card, .section.cream .donate-card{background:#fff; border:1px solid #E4D6B0; color:var(--texto-escuro);}
.donate-card:hover{transform:translateY(-5px) scale(1.02); border-color:var(--dourado); box-shadow:0 14px 30px rgba(0,0,0,.18);}
.donate-card.featured-active{border-color:var(--dourado); box-shadow:0 0 0 2px var(--dourado) inset, 0 14px 30px rgba(0,0,0,.2);}
.donate-card strong{font-size:1.3rem; font-family:'Playfair Display',serif;}
.donate-card span{font-size:.82rem; opacity:.85;}
.donate-card.featured{border-color:var(--dourado); box-shadow:0 0 0 2px var(--dourado) inset;}
.donate-card .tag{
  position:absolute; top:-13px; left:50%; transform:translateX(-50%);
  background:linear-gradient(135deg,var(--dourado),#C97324); color:#3a2206; font-size:.68rem; font-weight:700;
  letter-spacing:.03em; padding:5px 14px; border-radius:20px; white-space:nowrap;
  box-shadow:0 4px 10px rgba(0,0,0,.25);
}

/* ---------- STATS ---------- */
.stats-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:20px; margin:26px 0;}
.stat{display:flex; flex-direction:column; gap:6px;}
.stat-num{font-family:'Playfair Display',serif; font-size:2.4rem; font-weight:800; color:var(--vinho);}
.stat:nth-child(2) .stat-num{color:var(--verde);}
.stat:nth-child(3) .stat-num{color:var(--amarelo);}
.stat:nth-child(4) .stat-num{color:var(--verde);}
.stat:nth-child(5) .stat-num{color:var(--vinho);}
.stat span:last-child{font-size:.85rem; color:#555;}

/* ---------- CAIXA DE TEMA (moldura branca grande em volta de uma seção inteira) ---------- */
.theme-box{
  background:#fff; border-radius:16px; padding:28px 48px; max-width:1140px; margin:0 auto;
  box-shadow:0 20px 50px rgba(0,0,0,.08);
}
.theme-box h2{margin-bottom:.5rem; font-size:clamp(1.6rem, 3vw, 2.2rem);}
.theme-box .lead-dark{font-size:1rem; margin-bottom:10px; line-height:1.5;}
.theme-box .btn-outline{padding:12px 26px; margin-top:2px; font-size:1rem;}

/* ---------- BEFORE/AFTER ---------- */
.before-after{
  display:grid; grid-template-columns:1fr 1fr; gap:0; margin:10px 0;
  background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 14px 34px rgba(0,0,0,.1);
}
.ba-col{text-align:left; position:relative;}
.ba-photo{
  width:100%; height:100%; aspect-ratio:16/9; margin-bottom:0;
  background-color:#e6ddc9; background-size:cover; background-position:center center;
  color:#8a7c5e; font-size:.85rem; text-align:center;
}
.ba-photo.placeholder{
  display:flex; align-items:center; justify-content:center; padding:20px;
  border:2px dashed #cbb98a;
}
.ba-label{
  position:absolute; left:14px; bottom:14px;
  display:inline-block; background:var(--vinho); color:#fff; font-size:.78rem; font-weight:600;
  padding:4px 12px; border-radius:20px; box-shadow:0 4px 12px rgba(0,0,0,.25);
}
.ba-col p{font-size:.92rem; color:#555;}

/* ---------- VIDEO GALLERY ---------- */
.video-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin:18px 0 14px;}
.video-card video{
  width:100%; aspect-ratio:9/16; object-fit:cover; border-radius:14px; background:#111; display:block;
  transition:transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease;
}
.video-card:hover video{transform:translateY(-4px) scale(1.015); box-shadow:0 16px 34px rgba(0,0,0,.22);}
.video-caption{font-size:.85rem; color:#555; margin-top:8px; text-align:center;}
.video-featured{max-width:640px; margin:20px auto 0;}
.video-featured video{width:100%; aspect-ratio:16/9; border-radius:16px; background:#111; display:block; box-shadow:0 16px 40px rgba(0,0,0,.15);}
.video-featured .video-caption{font-size:.95rem;}

/* ---------- CAROUSEL (transformação / genérico) ---------- */
.transformation-carousel{max-width:900px; margin:0 auto;}
.transformation-track{position:relative; min-height:0;}
.transformation-slide{
  position:absolute; inset:0; opacity:0; pointer-events:none;
  transition:opacity .5s ease;
}
.transformation-slide.active{opacity:1; pointer-events:auto; position:relative;}
.ba-nome{font-family:'Playfair Display',serif; color:var(--vinho); font-size:1.3rem; margin-bottom:10px;}
.carousel-nav{display:flex; align-items:center; justify-content:center; gap:14px; margin:8px 0 2px;}
.carousel-arrow{
  width:40px; height:40px; border-radius:50%; border:none; cursor:pointer;
  background:linear-gradient(135deg,var(--vinho),#C0491A); color:#fff; font-size:1.3rem; line-height:1;
  display:flex; align-items:center; justify-content:center; box-shadow:0 6px 16px rgba(217,96,31,.35);
  transition:transform .2s ease;
}
.carousel-arrow:hover{transform:scale(1.08);}
.carousel-dots{display:flex; gap:8px; justify-content:center;}
.carousel-dots .dot{width:9px; height:9px; border-radius:50%; background:#D9CBB0; cursor:pointer; transition:background .25s ease, transform .25s ease;}
.carousel-dots .dot.active{background:var(--vinho); transform:scale(1.25);}

/* ---------- SPLIT ---------- */
.split{display:grid; grid-template-columns:1fr 1fr; gap:0; align-items:stretch; border-radius:20px; overflow:hidden;}
.split.no-img{grid-template-columns:1fr; max-width:760px; margin:0 auto; border-radius:0; overflow:visible;}
.split.no-img .split-text{background:transparent; padding:0; text-align:center; align-items:center;}
.split.no-img .split-text h2, .split.no-img .split-text p{color:var(--texto-escuro);}
.split.no-img .split-text .highlight{color:var(--vinho);}
.split-img{background-size:cover; background-position:center; min-height:280px; transition:transform .8s cubic-bezier(.22,1,.36,1);}
.split:hover .split-img{transform:scale(1.05);}
.split-text{padding:18px 22px; background:rgba(255,255,255,.03); display:flex; flex-direction:column; justify-content:center; gap:4px;}
.split-text h2{color:#fff; font-size:clamp(1.6rem, 3vw, 2.3rem); margin-bottom:.5rem;}
.split-text p{opacity:.9;}
.split-text .btn-primary{align-self:flex-start; margin-top:10px;}
.split.reverse{grid-template-columns:1fr 1fr;}
.split.reverse .split-img{order:2;}
.split.reverse .split-text{order:1;}
.split.reverse.no-img{grid-template-columns:1fr; max-width:640px;}
.split-text.light-text{background:transparent;}
.split-text.light-text h2{color:var(--texto-escuro);}
.split-text.light-text p{opacity:1;}

/* ---------- PILLS ---------- */
.pill-row{display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin:24px 0;}
.pill-row span{
  display:inline-flex; align-items:center; gap:8px;
  background:#fff; border:1px solid #E4D6B0; padding:8px 18px; border-radius:30px; font-size:.9rem; color:var(--vinho);
}
.pill-row svg{width:16px; height:16px; flex:none;}

/* ---------- IMPACTO DA DOAÇÃO ---------- */
.impact-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:24px;}
.impact-item{
  display:flex; align-items:center; gap:14px; background:#fff; border:1px solid #EFE6D6;
  border-radius:14px; padding:18px 20px; text-align:left; box-shadow:0 6px 18px rgba(0,0,0,.04);
}
.impact-value{
  flex:none; background:var(--vinho); color:#fff; font-weight:700; font-size:.9rem;
  padding:8px 14px; border-radius:30px; white-space:nowrap;
}
.impact-description{font-size:.9rem; color:#555;}

/* ---------- PIX ---------- */
.pix-section{background:linear-gradient(160deg, var(--verde), var(--verde-escuro)); color:#fff;}
.pix-section h2{color:#fff;}
.pix-box{background:#fff; color:var(--texto-escuro); max-width:420px; margin:22px auto 16px; border-radius:16px; padding:22px; box-shadow:0 20px 44px rgba(0,0,0,.2);}
.pix-key-row{background:#F5F5F3; border-radius:10px; padding:14px; font-weight:600; margin-bottom:12px; word-break:break-all;}
.pix-recebedor{background:#F0F7EE; border-radius:10px; padding:10px; font-size:.88rem; color:#3a6b46; margin-bottom:16px;}
.btn-pix-copy{
  width:100%; background:var(--dourado); color:#3a2206; border:none; padding:14px; border-radius:50px;
  font-weight:700; font-size:1rem; cursor:pointer; transition:transform .2s ease, opacity .2s ease;
}
.btn-pix-copy:hover{transform:translateY(-2px);}
.btn-pix-copy:disabled{opacity:.55; cursor:not-allowed; transform:none;}

.pix-dynamic{background:#fff; color:var(--texto-escuro); max-width:420px; margin:0 auto 18px; border-radius:16px; padding:22px; box-shadow:0 20px 44px rgba(0,0,0,.2);}
.pix-valor-row{margin-bottom:14px; text-align:left;}
.pix-valor-row label{display:block; font-size:.85rem; font-weight:600; margin-bottom:6px; color:var(--texto-escuro);}
.pix-valor-input-wrap{display:flex; align-items:center; gap:6px; background:#F5F5F3; border-radius:10px; padding:10px 14px;}
.pix-valor-input-wrap span{font-weight:700; color:#3a6b46;}
.pix-valor-input-wrap input{border:none; background:none; outline:none; font-size:1.1rem; font-weight:700; width:100%; color:var(--texto-escuro);}
.pix-text-input{width:100%; background:#F5F5F3; border:none; border-radius:10px; padding:10px 14px; font-size:1rem; outline:none; color:var(--texto-escuro); box-sizing:border-box;}
.pix-msg{font-size:.85rem; margin-top:10px; min-height:1.2em;}
.pix-msg.erro{color:#b8433a;}
.pix-qr-box{margin-top:18px; padding-top:18px; border-top:1px solid #eee; display:flex; flex-direction:column; align-items:center; gap:12px;}
.pix-qr-box[hidden]{display:none;}
.pix-code-label{font-size:.8rem; color:#666; margin:4px 0 0;}
.pix-code-text{font-family:monospace; font-size:.78rem; line-height:1.4; word-break:break-all; background:#F5F5F3; border-radius:8px; padding:10px 12px; width:100%; box-sizing:border-box; color:var(--texto-escuro); user-select:all;}

.pix-dados-opcionais{display:flex; flex-direction:column; gap:14px; margin-bottom:16px; text-align:left;}
.pix-opcional-tag{font-weight:400; font-size:.72rem; color:#9a9a94; text-transform:lowercase;}
.pix-checkbox-row{display:flex; align-items:center; gap:8px; font-size:.88rem; color:var(--texto-escuro); cursor:pointer; user-select:none;}
.pix-checkbox-row input[type="checkbox"]{width:17px; height:17px; accent-color:#3a6b46; cursor:pointer; margin:0;}
.pix-dados-opcionais.is-anonimo .pix-valor-row:has(#pixNomeInput){opacity:.45; pointer-events:none;}
.pix-turbinar-box{background:#F5F5F3; border-radius:10px; padding:12px 14px;}
.pix-heart{color:#c94f4f; font-size:.9em;}
.pix-turbinar-hint{font-size:.78rem; color:#777; margin:6px 0 0; line-height:1.4;}
#pixTurbinarTotal{font-weight:700; color:#3a6b46;}
.pix-qr-box img{border-radius:10px; box-shadow:0 8px 20px rgba(0,0,0,.12);}
.pix-status{font-size:.88rem; font-weight:600; color:#3a6b46;}
.pix-status.pago{color:#1f8a3e;}

/* ---------- ORG INFO ---------- */
.org-info-grid{display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin:0 auto 30px; max-width:520px;}
.org-info-item{
  background:var(--creme); border-radius:14px; padding:18px 22px; flex:1; min-width:200px;
  display:flex; flex-direction:column; gap:4px; text-align:left;
}
.org-info-icon{font-size:1.3rem;}
.org-info-label{font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:#8a7c5e; font-weight:700;}
.org-info-value{font-size:.98rem; font-weight:600; color:var(--texto-escuro);}

/* ---------- IDENTIDADE / DOCS ---------- */
.identidade{max-width:520px; margin:36px auto; background:var(--creme); border-radius:16px; padding:28px;}
.identidade ul{list-style:none;}
.identidade li{padding:6px 0; border-bottom:1px solid rgba(0,0,0,.06); font-size:.95rem;}
.identidade li:last-child{border-bottom:none;}
.doc-buttons{display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin:30px 0;}
.btn-doc{border:1px solid var(--vinho); color:var(--vinho); padding:10px 20px; border-radius:30px; font-size:.88rem; font-weight:600;}
.btn-doc:hover{background:var(--vinho); color:#fff;}
.btn-doc.pendente-doc{
  border:1px dashed #C9B79A; color:#8a7c5e; cursor:default; background:#FBF8F2;
}
.btn-doc.pendente-doc:hover{background:#FBF8F2; color:#8a7c5e;}

.fatima-banner{max-width:900px; margin:22px auto; border-radius:18px; overflow:hidden; box-shadow:0 18px 40px rgba(0,0,0,.15);}
.fatima-banner img{width:100%; display:block;}
.transp-row{display:grid; grid-template-columns:1.15fr 1fr; gap:36px; align-items:center; margin:18px 0;}
.transp-text{text-align:left;}
.transp-text .lead-dark{max-width:none; margin:0 0 10px; text-align:left;}
.comunidade-foto{max-width:100%; margin:0; text-align:center;}
.comunidade-foto img{width:100%; height:240px; object-fit:cover; object-position:center 15%; border-radius:14px; display:block; box-shadow:0 18px 40px rgba(0,0,0,.15);}
@media (max-width:820px){
  .transp-row{grid-template-columns:1fr; gap:16px;}
  .transp-text{text-align:center;}
  .transp-text .lead-dark{text-align:center;}
}
.comunidade-legenda{display:block; margin-top:12px; font-size:.85rem; color:#777; font-style:italic;}

/* ---------- SOCIAL GRID ---------- */
.social-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:22px;}
.social-link{
  display:flex; align-items:center; gap:10px; background:#fff; border:1px solid #EFE6D6;
  border-radius:12px; padding:14px 18px; font-weight:600; font-size:.95rem;
  transition:transform .3s cubic-bezier(.22,1,.36,1), border-color .3s ease;
}
.social-link:not(.pendente-doc):hover{transform:translateY(-3px); border-color:var(--vinho);}
.social-icon{font-size:1.2rem;}
.social-link.pendente-doc{color:#a99a7c; cursor:default; border-style:dashed;}

/* ---------- FOOTER ---------- */
.pre-footer-band{
  background:linear-gradient(100deg, var(--vinho), var(--amarelo)); color:#fff;
  padding:14px 0; overflow:hidden;
}
.marquee{overflow:hidden; width:100%;}
.marquee-track{
  display:flex; width:max-content; white-space:nowrap;
  animation:marqueeScroll 26s linear infinite;
}
.marquee-track span{
  padding:0 32px; font-weight:700; font-size:1rem; letter-spacing:.01em;
}
@keyframes marqueeScroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
@media (prefers-reduced-motion: reduce){ .marquee-track{ animation:none; } }

.footer{background:#211E1A; color:#B3AA9C; padding:52px 0 26px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px; text-align:left; margin-bottom:32px;}
.footer-col h5{color:var(--dourado-claro); font-size:.85rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:14px; font-family:'Inter',sans-serif;}
.footer-col p{margin-bottom:8px; font-size:.9rem;}
.footer-brand{text-align:left;}
.logo-footer{width:56px; height:56px; object-fit:cover; border-radius:50%; margin-bottom:12px;}
.footer h4{color:#fff; margin-bottom:6px;}
.footer-small{opacity:.7; font-size:.85rem;}
.footer a{color:var(--dourado-claro);}
.footer a:hover{text-decoration:underline;}
.pendente{opacity:.55; font-style:italic;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12); padding-top:20px; text-align:center;}
.footer-bottom p{font-size:.8rem; opacity:.7; margin-bottom:6px;}
.credit{font-size:.75rem; opacity:.6;}
.credit a{color:#B9B2A8;}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 860px){
  .cards3, .steps5, .donate-grid, .donate-grid.small, .stats-grid, .split, .split.reverse{grid-template-columns:1fr;}
  .split.reverse .split-img, .split.reverse .split-text{order:initial;}

  /* valores de doação: rolagem horizontal no mobile em vez de empilhar */
  .donate-grid.donate-grid-8{
    display:flex; grid-template-columns:none; overflow-x:auto; scroll-snap-type:x mandatory;
    gap:14px; padding-top:16px; padding-bottom:10px; margin-left:-24px; margin-right:-24px; padding-left:24px; padding-right:24px;
    -webkit-overflow-scrolling:touch;
  }
  .donate-grid.donate-grid-8 .donate-card{flex:0 0 auto; width:72%; scroll-snap-align:center;}
  .donate-grid.donate-grid-8 .donate-card.featured{margin-top:0;}
  .donate-grid.small{
    display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:12px; padding-top:16px; padding-bottom:10px;
    margin-left:-24px; margin-right:-24px; padding-left:24px; padding-right:24px; -webkit-overflow-scrolling:touch;
  }
  .donate-grid.small .donate-card{flex:0 0 auto; width:46%; scroll-snap-align:center;}
  .impact-grid{grid-template-columns:1fr;}
  .social-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr; gap:28px;}
  .video-grid{grid-template-columns:repeat(2,1fr);}
  .split-img{min-height:260px;}
  .section{padding:32px 0;}
  .hero.hero-left-mode .wrap{padding-left:24px; padding-right:24px;}
  .hero-content.hero-align-left{padding-top:36vh; max-width:100%; text-align:center;}
  .hero-overlay.soft{background:linear-gradient(180deg, rgba(10,8,4,.1) 0%, rgba(10,8,4,.15) 24%, rgba(10,8,4,.75) 45%, rgba(10,8,4,.93) 70%, rgba(10,8,4,.97));}
  .hero .hero-bg{background-image:url('../img/hero-bg-mobile.jpg') !important; background-position:center top !important;}
  .hero-content.hero-align-left .btn-primary{margin-left:auto; margin-right:auto;}
}
@media (max-width: 480px){
  .video-grid{grid-template-columns:1fr 1fr; gap:12px;}
}
@media (max-width:600px){
  .pre-footer-band{padding:10px 0;}
  .marquee-track span{font-size:.85rem; padding:0 20px;}
  .split.no-img{max-width:100%;}
  .split.no-img .split-text{gap:2px;}
  .split.no-img .lead-dark{font-size:.92rem; line-height:1.45; margin-bottom:6px;}
  .split.no-img .highlight{font-size:1.1rem; margin:10px 0;}
  .split.no-img h2{font-size:1.5rem; margin-bottom:.4rem;}
  .split.no-img .section-kicker{margin-bottom:6px;}
  .theme-box{padding:22px 12px; border-radius:14px;}
  .before-after{gap:0; margin:24px 0; border-radius:16px;}
  .ba-photo{aspect-ratio:3/4;}
  .ba-label{font-size:.68rem; padding:3px 9px; left:8px; bottom:8px;}
  .ba-col p{font-size:.8rem;}
  .transformation-carousel{max-width:100%;}
  .transformation-track{min-height:0;}
  .ba-nome{font-size:1.08rem; margin-bottom:8px;}
  .carousel-arrow{width:34px; height:34px; font-size:1.1rem;}
  .carousel-nav{margin:14px 0 4px; gap:14px;}
}
