/* ===================== PRÉVIA · página Descarte ===================== */
@media(min-width:900px){.dg-types3{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
.dg-types3 .dg-type:hover{transform:none;border-color:#DBD6C6;box-shadow:none}

/* certificado */
.dx-cert-sec{background:#F5F3EC}
.dx-cert-in{display:grid;gap:36px;align-items:center}
@media(min-width:960px){.dx-cert-in{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px}}
.dx-cert-wrap{position:relative;max-width:460px;margin:0 auto;width:100%;padding:18px 0 0 18px}
.dx-mtr{position:absolute;left:0;top:0;width:78%;height:88%;background:#E9E4D6;border:1px solid #DBD6C6;border-radius:10px;transform:rotate(-4deg);padding:16px 18px;display:flex;flex-direction:column;gap:9px}
.dx-mtr b{font:700 12px "JetBrains Mono",monospace;color:#4B5262;letter-spacing:.1em}
.dx-mtr i{display:block;height:6px;border-radius:3px;background:#D4CDBA;width:70%}.dx-mtr i.s{width:45%}
.dx-cert{position:relative;background:#fff;border:1px solid #DBD6C6;border-radius:12px;padding:26px 26px 22px;box-shadow:0 30px 60px -34px rgba(22,35,61,.5);overflow:hidden}
.dx-cert::before{content:"";position:absolute;inset:8px;border:1px solid #DCEAE5;border-radius:8px;pointer-events:none}
.dx-tag{position:absolute;right:16px;top:16px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#4B5262;background:#F5F3EC;border-radius:999px;padding:4px 9px}
.dx-k{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#0E6B58}
.dx-cert h3{font-family:"Lora","Lora Fallback",Georgia,serif;font-weight:600;font-size:22px;line-height:1.2;color:#16233D;margin-top:6px;max-width:16ch}
.dx-cert dl{margin:18px 0 0;display:grid;gap:0}
.dx-cert dl div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px dashed #DBD6C6;font-size:14px}
.dx-cert dt{color:#6B7282}
.dx-cert dd{margin:0;color:#16233D;font-weight:600;text-align:right}
.dx-sign{margin-top:18px;display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.dx-sign svg{width:90px;height:auto}
.dx-sign small{font-size:12px;color:#6B7282;border-top:1px solid #16233D;padding-top:4px;min-width:150px}
.dx-stamp{position:absolute;right:22px;bottom:30px;font:800 15px/1 "Figtree","Figtree Fallback",Arial,sans-serif;letter-spacing:.12em;color:#0E6B58;border:2.5px solid #0E6B58;border-radius:6px;padding:9px 12px;transform:rotate(-12deg);opacity:.9}
.dx-stamp::after{content:"";position:absolute;right:-6px;top:-6px;width:12px;height:12px;border-radius:50%;background:#F2994A;border:2px solid #fff}
.js-rv .dx-cert-wrap:not(.in) .dx-stamp{opacity:0;transform:rotate(-12deg) scale(1.8)}
.dx-cert-wrap.in .dx-stamp{transition:opacity var(--nx-t2) var(--nx-t3),transform var(--nx-t2) var(--nx-t3) var(--nx-ease)}
.dx-proc{padding-top:clamp(56px,7vw,96px)!important}

/* banner descarte: ciclo leve */
.dg-hero-art .dgx-sheet{animation:dxSheet 8s 1s ease-in infinite both}
@keyframes dxSheet{0%{transform:translateY(-14px);opacity:0}15%{opacity:1}55%{transform:translateY(22px);opacity:1}62%,100%{transform:translateY(26px);opacity:0}}
.dg-hero-art .dgx-conf rect{animation:dxConf 8s 1s infinite both}
.dg-hero-art .dgx-conf rect:nth-child(3n){animation-delay:1.3s}.dg-hero-art .dgx-conf rect:nth-child(3n+1){animation-delay:1.6s}
@keyframes dxConf{0%,50%{transform:translateY(-3px);opacity:.3}70%,100%{transform:none;opacity:1}}
.dg-hero-art .dgx-conf rect{transform-box:fill-box}
.dg-hero-art .dgx-led{animation:bcLed 5s 1s infinite both}
.dg-hero-art .dgx-stamp{animation:dxStamp 8s 1s var(--nx-ease-confirm) infinite both;transform-box:fill-box;transform-origin:center}
@keyframes dxStamp{0%,62%{transform:scale(1.8);opacity:0}72%,100%{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.dg-hero-art [class*="dgx-"]{animation:none!important}.dg-hero-art .dgx-sheet{display:none}.js-rv .dx-cert-wrap .dx-stamp{opacity:.9;transform:rotate(-12deg)}}
@media(max-width:520px){.dx-cert-wrap{padding:14px 0 0 10px}.dx-mtr{transform:rotate(-2.5deg)}.dx-cert{padding:22px 18px 20px}.dx-sign small{min-width:110px}.dx-stamp{font-size:12.5px;padding:7px 9px;right:16px;bottom:24px}}

/* partículas caindo dentro do cesto, logo depois da folha entrar */
.dg-hero-art .dgx-fall{animation:dxFall 8s calc(1s + var(--fd)) var(--nx-ease-scene) infinite both}
@keyframes dxFall{0%,40%{transform:translateY(0);opacity:0}44%{opacity:1}70%{transform:translateY(16px);opacity:1}74%,100%{transform:translateY(17px);opacity:0}}
@media (prefers-reduced-motion:reduce){.dg-hero-art .dgx-fall{display:none}}

/* card corte cruzado: ciclo de 5s */
.tp-sheet,.tp-strip,.tp-bit,.tp-pile,.tp-seal{transform-box:fill-box}
.art-go .tp-sheet{animation:tpSheet 8s .4s ease-in infinite both}
@keyframes tpSheet{0%{transform:translateY(-14px);opacity:0}10%{opacity:1}40%{transform:translateY(22px);opacity:1}46%,100%{transform:translateY(26px);opacity:0}}
.art-go .tp-roll{animation:tpRoll 1.2s linear infinite;transform-box:fill-box;transform-origin:center}
.art-go .tp-rev{animation-direction:reverse}
@keyframes tpRoll{to{transform:rotate(360deg)}}
.art-go .tp-strip{animation:tpStrip 8s calc(.4s + var(--td)) ease-in infinite both}
@keyframes tpStrip{0%,34%{opacity:0;transform:translateY(-4px)}40%{opacity:1}54%{opacity:1;transform:translateY(6px)}58%,100%{opacity:0;transform:translateY(8px)}}
.art-go .tp-bit{animation:tpBit 8s calc(.4s + var(--td)) ease-in infinite both}
@keyframes tpBit{0%,50%{opacity:0;transform:translateY(-6px)}56%{opacity:1}74%{opacity:1;transform:translateY(20px)}80%,100%{opacity:0;transform:translateY(22px)}}
.art-go .tp-pile{transform-origin:50% 100%;animation:tpPile 8s .4s var(--nx-ease) infinite both}
@keyframes tpPile{0%,60%{transform:scaleY(.8)}80%,100%{transform:scaleY(1)}}
.art-go .tp-seal{transform-origin:center;animation:tpSeal 8s .4s var(--nx-ease-confirm) infinite both}
@keyframes tpSeal{0%,78%{transform:scale(0);opacity:0}86%,96%{transform:none;opacity:1}100%{transform:none;opacity:0}}
@media (prefers-reduced-motion:reduce){.tp-sheet,.tp-strip,.tp-bit{display:none}.tp-roll,.tp-pile,.tp-seal{animation:none!important;opacity:1!important;transform:none!important}}

/* card meio ambiente: esteira e folhinha */
.eco-belt{animation:ecoBelt 1.4s linear infinite}
@keyframes ecoBelt{to{stroke-dashoffset:-16}}
.eco-leaf{animation:ecoLeaf 3s var(--nx-ease-scene) 2}
@keyframes ecoLeaf{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(6deg)}}
@media (prefers-reduced-motion:reduce){.eco-belt,.eco-leaf{animation:none}}

/* símbolo de reciclagem: setas acendem em sequência e a etapa dá um pulinho */
.art-go .eco-fill{animation:ecoS 6s var(--ed) var(--nx-ease-scene) infinite}
.art-go .eco-fill2{animation:ecoF 6s var(--ed) var(--nx-ease-scene) infinite}
.eco-fill,.eco-fill2{animation-delay:inherit}
.eco-a .eco-fill,.eco-a .eco-fill2{animation-delay:var(--ed)}
@keyframes ecoS{0%{stroke:#0E6B58}6%,30%{stroke:#5FC2A8}38%,100%{stroke:#0E6B58}}
@keyframes ecoF{0%{fill:#0E6B58}6%,30%{fill:#5FC2A8}38%,100%{fill:#0E6B58}}
.eco-hop>*{transform-box:fill-box}
.art-go .eco-hop{animation:ecoHop 6s var(--ed) var(--nx-ease) infinite}
@keyframes ecoHop{0%{translate:0 0}6%{translate:0 -5px}12%,100%{translate:0 0}}
@media (prefers-reduced-motion:reduce){.eco-fill,.eco-fill2,.eco-hop{animation:none!important}}

/* card "cross-cut" (tdcut, cena 2D usada fora da própria página Descarte, ex.: Organização): folha entra, partículas chovem no cesto, a pilha cresce */
.tp .td-rain{opacity:0}
.tp .td-pile{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(.8)}
@media (prefers-reduced-motion:no-preference){
  .art-go .td-sheet{animation:dxIn .7s var(--nx-ease-scene) both}
  .art-go .td-led{animation:dgLed .3s steps(1) .4s 4}
  .art-go .td-rain{animation:tdRain .6s var(--nx-ease-scene) calc(.5s + var(--k) * 50ms) both}
  .art-go .td-pile{animation:tdPile .8s var(--nx-ease) .7s both}
}
@keyframes dxIn{0%{opacity:1;transform:none}20%{opacity:1;transform:translateY(-4px)}100%{opacity:0;transform:translateY(24px)}}
@keyframes tdRain{0%{opacity:0;transform:translateY(-10px)}20%{opacity:1}100%{opacity:0;transform:translateY(26px)}}
@keyframes tdPile{from{transform:scaleY(.8)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.tp .td-pile{transform:none}}
