:root{
  /* Identidade ABCM: logo multicolorida sobre branco. a=verde #46BDAE · b=teal · c=laranja · m=vermelho */
  --verde:#46BDAE;
  --verde-medio:#23A092;
  --verde-marca:#0F8576;
  --verde-profundo:#0A6B5F;
  --verde-noite:#0B5B52;
  --verde-claro:#9FE3D8;
  --verde-suave:#E3F6F2;
  --vermelho:#E84A3F;
  --laranja:#F4742B;
  --laranja-claro:#FFA45C;
  --papel:#FFFFFF;
  --tinta:#1A2438;
  --cinza:#5C6878;
  --borda:#E2EEE9;
  --radius:18px;
  --shadow:0 18px 50px -18px rgba(10,107,95,.3);
  --display:'Fraunces',Georgia,serif;
  --body:'Instrument Sans',-apple-system,Segoe UI,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--tinta);background:var(--papel);line-height:1.6;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
::selection{background:var(--laranja);color:var(--verde-noite)}

.wrap{width:min(1120px,92%);margin-inline:auto}
.eyebrow{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--laranja);display:inline-flex;align-items:center;gap:.6rem}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--laranja);display:inline-block}
.section{padding:clamp(4.5rem,9vw,7.5rem) 0}
h1,h2,h3{font-family:var(--display);font-weight:560;line-height:1.08;letter-spacing:-.015em}
h2{font-size:clamp(2rem,4.4vw,3.2rem)}
.lead{font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--cinza);max-width:58ch}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.12s}.reveal.d2{transition-delay:.24s}.reveal.d3{transition-delay:.36s}

#progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--laranja),var(--laranja-claro));z-index:120}

/* ---------- nav ---------- */
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:#fff;transition:box-shadow .35s,padding .35s;padding:.9rem 0;box-shadow:0 1px 0 rgba(12,73,67,.08)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem}
nav.scrolled{box-shadow:0 8px 30px rgba(12,73,67,.15);padding:.6rem 0}
.logo{display:flex;align-items:center;text-decoration:none;flex:none}
.logo img{height:64px;width:auto;display:block;transition:height .35s}
nav.scrolled .logo img{height:56px}
.nav-links{display:flex;gap:1.6rem;list-style:none;align-items:center}
.nav-links a{color:var(--tinta);text-decoration:none;font-size:.92rem;font-weight:500;transition:color .25s}
.nav-links a:hover{color:var(--laranja)}
.nav-right{display:flex;align-items:center;gap:.9rem}
.lang{display:flex;gap:.25rem;align-items:center}
.lang button{background:none;border:1.5px solid transparent;border-radius:9px;cursor:pointer;padding:.3rem .38rem;line-height:0;opacity:.45;transition:opacity .25s,border-color .25s,background .25s}
.lang button img{width:22px;height:16px;border-radius:3px;display:block;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.lang button:hover{opacity:.85}
.lang button.on{opacity:1;border-color:var(--borda);background:#F2F9F6}
.lang button:focus-visible{outline:3px solid var(--laranja);outline-offset:2px}
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:inherit;padding:.85rem 1.7rem;border-radius:999px;font-weight:600;font-size:.95rem;text-decoration:none;border:none;cursor:pointer;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,background .25s}
.btn:focus-visible{outline:3px solid var(--laranja);outline-offset:3px}
.btn-amber{background:linear-gradient(135deg,var(--laranja-claro),var(--laranja));color:var(--verde-noite);box-shadow:0 10px 28px -8px rgba(244,116,43,.55)}
.btn-amber:hover{transform:translateY(-3px);box-shadow:0 16px 34px -8px rgba(244,116,43,.65)}
.btn-ghost{background:transparent;color:var(--verde-profundo);border:1.5px solid var(--verde)}
.btn-ghost:hover{border-color:var(--laranja);color:var(--laranja)}
@media(max-width:760px){.nav-links{display:none}}
@media(max-width:480px){.nav-right .btn{padding:.7rem 1.1rem;font-size:.85rem}.logo img{height:52px}nav.scrolled .logo img{height:48px}}

/* ---------- hero claro com aurora das cores da logo ---------- */
.hero{min-height:100svh;display:flex;align-items:center;position:relative;background:#fff;color:var(--tinta);overflow:hidden;padding:7rem 0 5rem}
.hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(ellipse 45% 38% at 82% 18%,rgba(70,189,174,.20),transparent 65%),
  radial-gradient(ellipse 40% 34% at 8% 30%,rgba(82,189,200,.16),transparent 65%),
  radial-gradient(ellipse 46% 40% at 16% 92%,rgba(244,116,43,.14),transparent 65%),
  radial-gradient(ellipse 38% 32% at 92% 88%,rgba(232,74,63,.10),transparent 65%);
  pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(15,133,118,.10) 1px,transparent 1px);background-size:26px 26px;mask-image:radial-gradient(ellipse at 72% 28%,#000 25%,transparent 70%);pointer-events:none}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center}
.hero-num{font-family:var(--display);font-weight:300;font-size:clamp(7rem,18vw,15rem);line-height:.9;background:linear-gradient(150deg,var(--laranja) 25%,var(--vermelho) 80%);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.04em}
.hero-num em{font-style:italic;font-weight:560}
.hero h1{font-size:clamp(1.8rem,3.6vw,2.9rem);max-width:18ch;margin:1.2rem 0 1rem}
.hero p.sub{color:var(--cinza);max-width:46ch;font-size:clamp(1rem,1.4vw,1.15rem)}
.hero-ctas{display:flex;gap:1rem;margin-top:2.2rem;flex-wrap:wrap}
.hero-card{justify-self:end;background:#fff;border:1px solid var(--borda);border-radius:24px;padding:1rem 1rem 1.6rem;max-width:400px;box-shadow:0 24px 60px -24px rgba(10,107,95,.35);animation:float 7s ease-in-out infinite}
.hero-card .foto{border-radius:18px;overflow:hidden;position:relative;box-shadow:0 18px 50px -18px rgba(12,73,67,.4)}
.hero-card .foto img{width:100%;height:340px;object-fit:cover;object-position:center top;display:block}
.hero-card .foto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(11,91,82,.82));pointer-events:none}
.hero-card .foto figcaption{position:absolute;bottom:.9rem;left:1.1rem;right:1.1rem;color:#fff;font-size:.85rem;line-height:1.4;z-index:2}
.hero-card .foto figcaption strong{display:block;font-family:var(--display);font-size:1.05rem;color:var(--laranja-claro)}
.hero-card blockquote{font-family:var(--display);font-style:italic;font-size:1.05rem;line-height:1.45;color:var(--tinta);padding:1.2rem 1rem 0}
.hero-card cite{display:block;margin-top:.7rem;font-style:normal;font-size:.8rem;color:var(--cinza);padding:0 1rem}
.hero .eyebrow{color:var(--verde-marca)}.hero .eyebrow::before{background:var(--verde-marca)}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.scroll-cue{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);color:#7FA59E;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:.5rem;z-index:2}
.scroll-cue::after{content:"";width:1px;height:42px;background:linear-gradient(var(--laranja),transparent);animation:drip 1.8s ease-in-out infinite}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media(max-width:880px){.hero .wrap{grid-template-columns:1fr}.hero-card{justify-self:start;animation:none}}

/* ---------- história ---------- */
.historia{background:var(--papel)}
.cap{display:grid;grid-template-columns:120px 1fr;gap:2rem;padding:2.6rem 0;border-top:1px solid var(--borda);align-items:start}
.cap:first-of-type{border-top:none}
.cap-ano{font-family:var(--display);font-style:italic;font-size:1.5rem;color:var(--verde-marca)}
.cap h3{font-size:clamp(1.35rem,2.4vw,1.8rem);margin-bottom:.7rem;color:var(--verde-profundo)}
.cap p{color:var(--cinza);max-width:62ch}
.cap strong{color:var(--tinta)}
.historia .eyebrow{color:var(--verde-marca)}.historia .eyebrow::before{background:var(--verde-marca)}
@media(max-width:640px){.cap{grid-template-columns:1fr;gap:.4rem}}
.foto-familia{margin-top:3.2rem;display:grid;grid-template-columns:.9fr 1.1fr;gap:0;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);background:var(--verde-noite)}
.foto-familia img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.foto-familia .texto{padding:clamp(1.8rem,3vw,3rem);color:#fff;display:flex;flex-direction:column;justify-content:center}
.foto-familia .texto p{font-family:var(--display);font-style:italic;font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.45;color:#EAF6F3}
.foto-familia .texto cite{margin-top:1.2rem;font-style:normal;font-size:.85rem;color:var(--laranja-claro)}
@media(max-width:760px){.foto-familia{grid-template-columns:1fr}.foto-familia img{max-height:380px}}

/* ---------- virada 1% → 100% (antes e depois arrastável) ---------- */
.virada{background:linear-gradient(180deg,#0B5B52,#1B9A8B);color:#fff;position:relative;padding:5rem 0 5.5rem}
.virada .eyebrow{color:#FFE7D6}.virada .eyebrow::before{background:#FFE7D6}
.virada-inner{display:flex;flex-direction:column;align-items:center;text-align:center}
.virada-num{font-family:var(--display);font-weight:300;font-size:clamp(3rem,8vw,4.6rem);line-height:1;letter-spacing:-.04em;background:linear-gradient(160deg,var(--laranja-claro),var(--laranja));-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums;margin-top:1.1rem}
.virada-label{font-size:clamp(1rem,1.9vw,1.35rem);color:#fff;max-width:44ch;margin:.4rem 0 0;min-height:3em;line-height:1.5}
.virada-grid{display:flex;flex-direction:column;align-items:center}
.ba-frame{position:relative;width:min(440px,100vw);aspect-ratio:4/5;margin-top:1.6rem;border-radius:22px;overflow:hidden;box-shadow:0 30px 70px -30px rgba(0,0,0,.55);user-select:none;-webkit-user-select:none}
.ba-frame img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;pointer-events:none}
@media(max-width:600px){.ba-frame{width:100vw;border-radius:0}}
@media(min-width:880px){
  .virada-grid{flex-direction:row;justify-content:center;gap:clamp(2.5rem,6vw,5rem);margin-top:.6rem}
  .ba-frame{width:auto;height:min(58vh,540px);margin-top:0;flex-shrink:0}
  .virada-copy{width:min(40ch,34vw);flex-shrink:0}
}
.ba-antes{position:absolute;inset:0;clip-path:inset(0 0 0 var(--d))}
.ba-badge{position:absolute;top:14px;padding:.3rem .7rem;border-radius:999px;background:rgba(0,0,0,.45);color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;pointer-events:none}
.ba-badge-antes{right:14px}
.ba-badge-depois{left:14px}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--d);width:0;pointer-events:none}
.ba-handle::before{content:'';position:absolute;top:0;bottom:0;left:-1.5px;width:3px;background:#fff;box-shadow:0 0 12px rgba(0,0,0,.5)}
.ba-knob{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:#fff;color:var(--verde-noite);display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;letter-spacing:-.05em;box-shadow:0 6px 20px rgba(0,0,0,.45);animation:ba-nudge 1.6s ease-in-out infinite;pointer-events:auto;cursor:grab;touch-action:none}
.ba-knob:active{cursor:grabbing}
.ba-frame.dragged .ba-knob{animation:none}
.ba-handle:focus-visible .ba-knob{outline:3px solid var(--laranja);outline-offset:2px}
@keyframes ba-nudge{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(calc(-50% + 12px),-50%)}}
.ba-hint{margin-top:.9rem;font-size:.85rem;color:rgba(255,255,255,.75)}
@media(prefers-reduced-motion:reduce){.ba-knob{animation:none}}

/* ---------- ameaça (clara, cartões brancos) ---------- */
.ameaca{background:#F2F9F7;color:var(--tinta);padding-top:0}
.ameaca .eyebrow{color:var(--vermelho)}.ameaca .eyebrow::before{background:var(--vermelho)}
.ameaca .intro{padding-top:clamp(4rem,8vw,6rem)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:3rem}
.stat{background:#fff;border:1px solid var(--borda);border-radius:var(--radius);padding:1.8rem 1.5rem;box-shadow:0 14px 36px -20px rgba(10,107,95,.25);transition:transform .35s cubic-bezier(.22,1,.36,1)}
.stat:hover{transform:translateY(-6px)}
.stat .num{font-family:var(--display);font-size:clamp(2.4rem,4vw,3.4rem);color:var(--laranja);line-height:1;font-variant-numeric:tabular-nums}
.stat .num small{font-size:.45em}
.stat p{margin-top:.8rem;font-size:.92rem;color:var(--cinza)}
@media(max-width:880px){.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.stats{grid-template-columns:1fr}}

/* ---------- quem somos ---------- */
.quem{background:var(--papel)}
.quem .eyebrow{color:var(--verde-marca)}.quem .eyebrow::before{background:var(--verde-marca)}
.quem-texto p{color:var(--cinza);margin-top:1.1rem;max-width:58ch}
.quem-texto .lead{margin-top:1.4rem;color:var(--verde-profundo)}
.quem-texto strong{color:var(--tinta)}
.quem-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.2rem}
.quem-col{border-top:3px solid var(--verde);padding-top:1.1rem}
.quem-col:nth-child(2){border-top-color:var(--laranja)}
.quem-col:nth-child(3){border-top-color:var(--vermelho)}
.quem-col h3{font-size:1.05rem;color:var(--tinta);font-weight:700;margin:0 0 .5rem}
.quem-col p{margin:0;max-width:none;font-size:1.02rem;line-height:1.65}
@media(max-width:880px){.quem-cols{grid-template-columns:1fr;gap:1.2rem}}
.quem-destaque{margin-top:2.4rem;background:linear-gradient(135deg,#F2F9F6,#fff);border:1.5px solid var(--borda);border-left:5px solid var(--verde-marca);border-radius:var(--radius);padding:1.6rem 1.8rem}
.quem-destaque h3{font-size:1.15rem;color:var(--verde-noite);font-weight:700;margin:0 0 .6rem}
.quem-destaque p{margin:0;max-width:none;font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.6;color:var(--verde-profundo)}
.quem-destaque strong{color:var(--verde-noite)}
.quem-destaque-link{display:inline-block;margin-top:.9rem;color:var(--verde-marca);font-weight:600;font-size:.92rem;text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:1px;transition:color .25s}
.quem-destaque-link:hover{color:var(--laranja)}
.quem-destaque-link:focus-visible{outline:3px solid var(--laranja);outline-offset:3px}

/* ---------- ações ---------- */
.acoes{background:var(--papel)}
.acoes .eyebrow{color:var(--verde-marca)}.acoes .eyebrow::before{background:var(--verde-marca)}
.acoes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;margin-top:3rem}
.acao{background:#fff;border-radius:var(--radius);padding:2.2rem;border:1px solid var(--borda);box-shadow:0 6px 24px -14px rgba(12,73,67,.18);position:relative;overflow:hidden;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s}
.acao:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.acao::before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--laranja),var(--verde));transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.acao:hover::before{transform:scaleX(1)}
.acao .ico{width:52px;height:52px;border-radius:14px;background:var(--verde-suave);display:grid;place-items:center;margin-bottom:1.2rem;font-size:1.4rem}
.acao h3{font-size:1.3rem;color:var(--verde-profundo);margin-bottom:.6rem}
.acao p{color:var(--cinza);font-size:.95rem}
@media(max-width:760px){.acoes-grid{grid-template-columns:1fr}}
.fotos-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;margin-top:3rem}
.fotos-strip figure{border-radius:16px;overflow:hidden;position:relative;box-shadow:0 12px 36px -16px rgba(12,73,67,.35);grid-column:span 2}
.fotos-strip figure:nth-child(4),.fotos-strip figure:nth-child(5){grid-column:span 3}
.fotos-strip img{width:100%;height:280px;object-fit:cover;transition:transform .6s cubic-bezier(.22,1,.36,1);display:block}
.fotos-strip figure:hover img{transform:scale(1.05)}
.fotos-strip figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.4rem 1.1rem .9rem;font-size:.78rem;line-height:1.4;color:#fff;background:linear-gradient(180deg,transparent,rgba(12,73,67,.9))}
@media(max-width:760px){.fotos-strip{grid-template-columns:1fr}.fotos-strip figure,.fotos-strip figure:nth-child(4),.fotos-strip figure:nth-child(5){grid-column:span 1}.fotos-strip img{height:230px}}

/* ---------- diretoria ---------- */
.diretoria{background:#F2F9F7}
.diretoria .eyebrow{color:var(--verde-marca)}.diretoria .eyebrow::before{background:var(--verde-marca)}
.dir-sub{margin-top:2.6rem;font-size:clamp(1.2rem,2vw,1.5rem);color:var(--verde-profundo)}
.dir-foto{margin:1.4rem auto 0;max-width:700px;border-radius:22px;overflow:hidden;position:relative;box-shadow:var(--shadow)}
.dir-foto img{width:100%;height:auto;display:block}
.dir-foto figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.4rem 1.2rem 1rem;font-size:.78rem;line-height:1.4;color:#fff;background:linear-gradient(180deg,transparent,rgba(12,73,67,.88));pointer-events:none;z-index:2}
.dir-foto figcaption strong{display:block;font-size:.95rem}
.dir-spot{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);background:transparent;border:0;padding:0;margin:0;cursor:pointer;border-radius:16px;-webkit-tap-highlight-color:transparent}
.dir-spot:focus{outline:none}
.dir-spot::after{content:'';position:absolute;inset:0;border-radius:16px;box-shadow:0 0 0 999em rgba(11,91,82,.55);opacity:0;transition:opacity .35s;pointer-events:none}
.dir-spot:hover::after,.dir-spot:focus-visible::after,.dir-spot.on::after{opacity:1}
.dir-spot:hover,.dir-spot:focus-visible,.dir-spot.on{z-index:2}
.dir-tag{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%) scale(.92);width:max-content;max-width:190px;background:#fff;color:var(--verde-noite);padding:.5rem .85rem;border-radius:12px;box-shadow:0 12px 30px -12px rgba(0,0,0,.5);font-size:.7rem;font-weight:600;line-height:1.35;text-align:center;opacity:0;transition:opacity .3s,transform .3s;pointer-events:none;z-index:1}
.dir-tag strong{display:block;font-size:.86rem}
.dir-spot:hover .dir-tag,.dir-spot:focus-visible .dir-tag,.dir-spot.on .dir-tag{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media(max-width:560px){.dir-tag{max-width:150px;font-size:.62rem;padding:.4rem .6rem}.dir-tag strong{font-size:.76rem}}
.dir-lista{display:none;list-style:none;margin:1.1rem auto 0;padding:0;max-width:700px;gap:.55rem}
.dir-lista button{width:100%;text-align:left;background:#fff;border:1.5px solid var(--borda);border-radius:14px;padding:.7rem .95rem;cursor:pointer;font-family:var(--body);transition:border-color .25s,background .25s}
.dir-lista button strong{display:block;font-size:.92rem;color:var(--tinta)}
.dir-lista button span{font-size:.78rem;color:var(--cinza);line-height:1.35}
.dir-lista button.on{border-color:var(--verde-marca);background:#F2F9F6}
.dir-lista button.on strong{color:var(--verde-marca)}
@media(hover:none){.dir-lista{display:grid}}
@media(prefers-reduced-motion:reduce){.dir-spot::after,.dir-tag{transition:none}}

/* ---------- parceiros ---------- */
.parceiros{background:var(--papel)}
.parceiros .eyebrow{color:var(--verde-marca)}.parceiros .eyebrow::before{background:var(--verde-marca)}
.parceiros-grid{list-style:none;display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:3rem;padding:0}
.parceiro{flex:1 1 180px;min-height:120px;background:#fff;border:1.5px solid var(--borda);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:1.4rem 1.6rem;transition:transform .3s,box-shadow .3s,border-color .3s}
.parceiro:hover{transform:translateY(-5px);border-color:var(--verde);box-shadow:0 14px 36px -18px rgba(10,107,95,.35)}
.parceiro img{max-height:52px;width:auto;max-width:160px;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter .3s,opacity .3s}
.parceiro:hover img{filter:none;opacity:1}
@media(hover:none){.parceiro img{filter:none;opacity:1}}
@media(max-width:760px){.parceiros-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.parceiro{min-height:110px;padding:1.1rem 1rem}}

/* ---------- números de resultados (dentro de "o que fazemos") ---------- */
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3.2rem}
.res{background:linear-gradient(170deg,#1B9A8B,#0F8576);color:#fff;border-radius:var(--radius);padding:1.4rem 1.3rem;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.res:hover{transform:translateY(-4px)}
.res .res-cat{font-size:.78rem;color:#FFE0C9;font-family:var(--body);font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.res .num{font-family:var(--display);font-size:clamp(1.9rem,3.2vw,2.6rem);line-height:1.05;color:#fff;font-variant-numeric:tabular-nums;margin-top:.45rem}
.res .num.num-sm{font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1.2}
.res p{margin-top:.35rem;font-size:.88rem;color:rgba(255,255,255,.85)}
.res .res-plus{margin-top:.6rem;padding-top:.55rem;border-top:1px solid rgba(255,255,255,.25);font-size:.82rem;color:rgba(255,255,255,.8)}
.res-note{margin-top:1rem;background:linear-gradient(135deg,#F2F9F6,#fff);border:1.5px solid var(--borda);border-left:5px solid var(--verde-marca);border-radius:var(--radius);padding:1.6rem 1.8rem}
.res-note-destaque{font-family:var(--display);font-style:italic;font-size:clamp(1.15rem,1.8vw,1.45rem);color:var(--verde-noite);line-height:1.3}
.res-note-sub{margin-top:.4rem;color:var(--cinza);font-size:.98rem;line-height:1.6}
@media(max-width:900px){.res-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.res-grid{grid-template-columns:1fr}}

/* ---------- doação ---------- */
.doar{background:linear-gradient(170deg,#0B5B52,#128173);color:#fff;position:relative;overflow:hidden}
.doar::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 50% 60% at 85% 20%,rgba(244,116,43,.16),transparent 65%);pointer-events:none}
.doar .eyebrow{color:#FFE7D6}.doar .eyebrow::before{background:#FFE7D6}
.doar .wrap{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.doar h2{color:#fff}
.doar .lead{color:rgba(255,255,255,.78)}
.doar-emocional blockquote{font-family:var(--display);font-style:italic;font-size:clamp(1.2rem,2vw,1.5rem);color:var(--verde-suave);border-left:3px solid var(--laranja);padding-left:1.2rem;margin:2rem 0}
.doar-card{background:#fff;color:var(--tinta);border-radius:24px;padding:2.4rem;box-shadow:0 30px 80px -20px rgba(0,0,0,.5)}
.doar-card h3{font-size:1.35rem;color:var(--verde-marca);margin-bottom:.4rem}
.doar-card .sub{font-size:.9rem;color:var(--cinza);margin-bottom:1.4rem}
.doar-btn{width:100%;justify-content:center;font-size:1.05rem;padding:1.05rem 1.7rem;margin-top:.4rem}
@media(max-width:880px){.doar .wrap{grid-template-columns:1fr}}

/* ---------- outras formas ---------- */
.outras{background:var(--papel)}
.outras .eyebrow{color:var(--verde-marca)}.outras .eyebrow::before{background:var(--verde-marca)}
.outras-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3rem}
.outra{border:1.5px solid var(--borda);border-radius:var(--radius);padding:2rem;background:#fff;text-align:center;transition:transform .3s,border-color .3s}
.outra:hover{transform:translateY(-5px);border-color:var(--verde)}
.outra .ico{font-size:2rem;margin-bottom:1rem}
.outra h3{font-size:1.15rem;color:var(--verde-profundo);margin-bottom:.5rem}
.outra p{font-size:.9rem;color:var(--cinza)}
.outra a,.outra .link-btn{display:inline-block;margin-top:1rem;color:var(--verde-marca);font-weight:600;font-size:.9rem;text-decoration:none;border-bottom:2px solid var(--laranja)}
.outra .link-btn{background:none;border:none;border-bottom:2px solid var(--laranja);padding:0 0 1px;cursor:pointer;font-family:var(--body);line-height:1.6}
.outra .link-btn:hover,.outra a:hover{color:var(--laranja)}
.outra .link-btn:focus-visible,.outra a:focus-visible{outline:3px solid var(--laranja);outline-offset:3px}
.outra .ico svg{display:inline-block;vertical-align:-7px}
@media(max-width:760px){.outras-grid{grid-template-columns:1fr}}

/* ---------- modais de contato (voluntário / empresa) ---------- */
dialog.modal{position:fixed;inset:0;margin:auto;border:none;border-radius:24px;padding:2.2rem;width:min(480px,92vw);max-height:90dvh;overflow-y:auto;color:var(--tinta);font-family:var(--body);box-shadow:0 30px 80px -20px rgba(0,0,0,.5)}
dialog.modal::backdrop{background:rgba(11,91,82,.55);backdrop-filter:blur(3px)}
.modal h3{font-size:1.4rem;color:var(--verde-marca);margin-bottom:.3rem;padding-right:2.2rem}
.modal-sub{font-size:.9rem;color:var(--cinza);margin-bottom:1.4rem}
.modal-close{position:absolute;top:1.1rem;right:1.1rem;width:36px;height:36px;border:none;border-radius:50%;background:var(--verde-suave);color:var(--verde-noite);font-size:1rem;cursor:pointer;display:grid;place-items:center;transition:background .25s}
.modal-close:hover{background:#D3EFE8}
.modal-close:focus-visible{outline:3px solid var(--laranja);outline-offset:2px}
.modal-form{display:grid;gap:.9rem}
.modal-form label{display:grid;gap:.3rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--cinza);font-weight:600}
.modal-form input,.modal-form textarea{border:1.5px solid #D3E8E3;border-radius:12px;padding:.75rem .9rem;font-family:var(--body);font-size:.95rem;color:var(--tinta);background:#F6FBFA;transition:border-color .25s;resize:vertical}
.modal-form input:focus,.modal-form textarea:focus{outline:none;border-color:var(--verde-marca)}
.modal-form input:focus-visible,.modal-form textarea:focus-visible{outline:3px solid var(--laranja);outline-offset:1px}
.modal-send{justify-content:center}
.modal-send:disabled{opacity:.6;cursor:wait;transform:none}
.modal-status{font-size:.9rem;margin:0}
.modal-status:empty{display:none}
.modal-status.ok{color:#1F8A5A;font-weight:600}
.modal-status.err{color:var(--vermelho)}

/* ---------- modal do Pix ---------- */
/* compacto por padrão (mobile): cabe sem rolagem mantendo o QR legível */
dialog.modal-pix{width:min(400px,92vw);padding:1.5rem}
.modal-pix .modal-sub{margin-bottom:1rem}
.pix-corpo{display:grid;gap:1rem}
.pix-qr{background:#fff;border:1.5px solid var(--borda);border-radius:16px;padding:.6rem;width:fit-content;margin:0 auto}
.pix-qr img{width:min(240px,58vw);height:auto;border-radius:6px}
.pix-infos{display:grid;gap:.8rem;min-width:0}
.pix-rot{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--cinza);font-weight:600}

.pix-chave{background:var(--verde-suave);border-radius:14px;padding:.7rem .85rem}
.pix-chave-topo{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;flex-wrap:wrap}
.pix-status{font-size:.72rem;font-weight:600;color:#1F8A5A}
.pix-status:empty{display:none}
.pix-status.err{color:var(--vermelho);flex:1 0 100%;font-weight:500;line-height:1.3}
.pix-linha{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.15rem}
.pix-valor{font-size:1.05rem;color:var(--verde-noite);min-width:0;overflow-wrap:anywhere}
.pix-copiar{flex:none;width:36px;height:36px;display:grid;place-items:center;border:none;border-radius:10px;background:#fff;color:var(--verde-marca);cursor:pointer;transition:background .2s,color .2s}
.pix-copiar svg{width:18px;height:18px}
.pix-copiar .ico-ok{display:none}
.pix-copiar:hover{background:var(--laranja);color:#fff}
.pix-copiar:focus-visible{outline:3px solid var(--laranja);outline-offset:2px}
.pix-copiar.copiado{background:#1F8A5A;color:#fff}
.pix-copiar.copiado .ico-copiar{display:none}
.pix-copiar.copiado .ico-ok{display:block}

/* dados bancários: 3 colunas no mobile para poupar altura */
.pix-banco{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.pix-banco dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--cinza);font-weight:600;margin-bottom:.1rem}
.pix-banco dd{font-size:.88rem;font-weight:600;color:var(--tinta);overflow-wrap:anywhere}
.pix-titular{font-size:.8rem;color:var(--cinza);line-height:1.35}

/* telas estreitas ou baixas: aperta os espaços, nunca o QR */
@media(max-width:380px),(max-height:720px){
  dialog.modal-pix{padding:1.15rem;max-height:94dvh}
  .modal-pix h3{font-size:1.25rem}
  .modal-pix .modal-sub{margin-bottom:.7rem}
  .pix-corpo{gap:.75rem}
  .pix-infos{gap:.6rem}
  .pix-qr{padding:.45rem}
  .pix-chave{padding:.6rem .7rem}
}

/* desktop: QR ao lado das informações, modal baixo o bastante para não rolar */
@media(min-width:620px){
  dialog.modal-pix{width:min(580px,92vw);padding:1.8rem}
  .pix-corpo{grid-template-columns:auto 1fr;gap:1.4rem;align-items:start}
  .pix-qr{margin:0}
  .pix-infos{align-content:start}
  .pix-banco{grid-template-columns:1fr;gap:.35rem}
  .pix-banco div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;border-bottom:1px dashed var(--borda);padding-bottom:.35rem}
  .pix-banco dt{margin-bottom:0}
}

/* ---------- footer ---------- */
footer{background:#fff;color:var(--cinza);padding:4rem 0 2.5rem;border-top:1px solid var(--borda)}
footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem}
footer h4{color:var(--tinta);font-family:var(--display);font-size:1.1rem;margin-bottom:1rem}
footer p,footer a{font-size:.9rem;line-height:1.9;text-decoration:none}
footer a:hover{color:var(--laranja)}
footer .logo-foot{height:76px;width:auto;margin-bottom:1rem;display:block}
.foot-contatos{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.foot-contatos li{display:flex;align-items:center;gap:.6rem;font-size:.9rem;line-height:1.5}
.foot-contatos svg{flex-shrink:0;color:var(--verde-marca)}
.foot-bottom{margin-top:3rem;padding-top:1.5rem;border-top:1px solid #E6F0EC;font-size:.78rem;color:#9AA3AF;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
@media(max-width:760px){footer .wrap{grid-template-columns:1fr}}

/* ---------- botão flutuante do WhatsApp ---------- */
.wa-float{position:fixed;bottom:1.2rem;right:1.2rem;z-index:110;width:56px;height:56px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 12px 30px -8px rgba(37,211,102,.65);transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s}
.wa-float:hover{transform:translateY(-3px);box-shadow:0 16px 36px -8px rgba(37,211,102,.75)}
.wa-float:focus-visible{outline:3px solid var(--laranja);outline-offset:3px}
.wa-float svg{width:30px;height:30px;fill:#fff}
.wa-tip{position:absolute;right:calc(100% + .8rem);top:50%;transform:translateY(-50%);background:var(--verde-noite);color:#fff;font-size:.8rem;font-weight:600;padding:.45rem .85rem;border-radius:10px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s}
.wa-tip::after{content:"";position:absolute;left:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-left-color:var(--verde-noite)}
.wa-float:hover .wa-tip,.wa-float:focus-visible .wa-tip{opacity:1}

.sticky-doe{position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%,140%);z-index:110;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.sticky-doe.show{transform:translate(-50%,0)}
.sticky-doe .btn{box-shadow:0 14px 40px -8px rgba(244,116,43,.7);padding:1rem 2.2rem;font-size:1rem}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}
