/* CO2 debate page */
.co2 main{overflow-x:hidden}
.co2 .hero2{position:relative;min-height:78vh;display:flex;align-items:center;color:#fff;overflow:hidden;background:#06130b}
.co2 .hero2 .bg{position:absolute;inset:0;background:center/cover;animation:co2kb 26s ease-in-out infinite alternate;opacity:.75}
.co2 .hero2:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,19,11,.85),rgba(6,19,11,.2))}
@keyframes co2kb{from{transform:scale(1)}to{transform:scale(1.12) translateX(-2%)}}
.co2 .hero2 .in{position:relative;z-index:2;max-width:1100px;margin:0 auto;padding:6rem 1.5rem 5rem;width:100%}
.co2 .hero2 h1{font-family:'Fraunces',serif;font-size:clamp(2.4rem,6vw,4.6rem);line-height:1.05;margin:.5rem 0 1rem;max-width:760px}
.co2 .hero2 h1 em{color:#7fe3a0;font-style:italic}
.co2 .hero2 .lead{max-width:620px;font-size:1.15rem;color:#e3f2e7}
.co2 .eyebrow{letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;color:#7fe3a0}
.co2 .sec .eyebrow,.co2 .sec2 .eyebrow{color:#1a7a3e}
.co2 .btns{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}
.co2 .btn{display:inline-block;padding:.8rem 1.5rem;border-radius:99px;background:#1a7a3e;color:#fff;text-decoration:none;font-weight:600}
.co2 .btn.ghost{background:transparent;border:1.5px solid #7fe3a0;color:#fff}
.co2 .mol{position:absolute;right:6%;top:50%;transform:translateY(-50%);z-index:2;width:min(34vw,380px);animation:molfloat 6s ease-in-out infinite}
@keyframes molfloat{50%{transform:translateY(-56%) rotate(4deg)}}
.co2 .mol .o{fill:#e24a3b}.co2 .mol .c{fill:#222}.co2 .mol text{font:700 20px Inter,sans-serif;fill:#fff;text-anchor:middle}
.co2 .mol .bond{stroke:#fff;stroke-width:5;opacity:.8}
.co2 .mol .halo{fill:none;stroke:#7fe3a0;stroke-width:2;opacity:.5;transform-origin:200px 100px;animation:halo 3.5s ease-out infinite}
.co2 .mol .halo:nth-of-type(2){animation-delay:1.7s}
@keyframes halo{from{transform:scale(.6);opacity:.7}to{transform:scale(1.5);opacity:0}}
.co2 .ppmtag{position:absolute;right:6%;bottom:2rem;z-index:2;background:rgba(255,255,255,.12);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.3);padding:.6rem 1rem;border-radius:12px;color:#fff;font-size:.85rem}
.co2 .ppmtag b{font:700 1.6rem Fraunces,serif;color:#7fe3a0;display:block}
.co2 .sec{padding:4.5rem 1.5rem;background:#f3faf5}.co2 .sec2{padding:4.5rem 1.5rem;background:#fff}
.co2 .wrap{max-width:1050px;margin:0 auto}
.co2 h2{font-family:'Fraunces',serif;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.1;margin:.4rem 0 1rem;color:#06130b}
.co2 p{line-height:1.65;color:#223}
.co2 .two{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}
.co2 .two img,.co2 .vid{width:100%;border-radius:18px;box-shadow:0 12px 40px rgba(6,50,26,.2)}
.co2 .vid{aspect-ratio:16/9;border:0;background:#000}
.co2 .rv{opacity:0;transform:translateY(26px);transition:opacity .8s,transform .8s}
.co2 .rv.on,.co2.noanim .rv{opacity:1;transform:none}
/* bars */
.co2 .bars{margin-top:1.5rem}
.co2 .bar{margin:.9rem 0}
.co2 .bar .lb{display:flex;justify-content:space-between;font-size:.92rem;margin-bottom:.25rem}
.co2 .bar .lb b{color:#06130b}
.co2 .bar .tr{height:20px;background:#e3f2e7;border-radius:99px;overflow:hidden}
.co2 .bar .fl{height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#5cc23a,#1a7a3e);transition:width 1.6s cubic-bezier(.2,.8,.2,1)}
.co2 .bar.warn .fl{background:linear-gradient(90deg,#e8a33a,#c0392b)}
.co2 .bar.low .fl{background:linear-gradient(90deg,#8aa,#456352)}
.co2 .bars.on .fl{width:var(--w)}
.co2 .src{font-size:.8rem;color:#456352;margin-top:.8rem}
/* cycle */
.co2 .cycle{max-width:760px;margin:1.5rem auto 0;display:block}
.co2 .cycle .arr{stroke:#1a7a3e;stroke-width:3;fill:none;stroke-dasharray:8 8;animation:cdash 1.6s linear infinite}
@keyframes cdash{to{stroke-dashoffset:-32}}
.co2 .cycle .pt{fill:#7fe3a0;animation:rise 4s linear infinite}
@keyframes rise{from{transform:translateY(0);opacity:0}15%{opacity:1}to{transform:translateY(-70px);opacity:0}}
.co2 .cycle text{font:600 14px Inter,sans-serif;fill:#06130b}
.co2 .cycle .sun{animation:spinsun 30s linear infinite;transform-origin:90px 70px}
@keyframes spinsun{to{transform:rotate(360deg)}}
/* timeline */
.co2 .tl2{position:relative;margin-top:2rem;padding-left:2rem;border-left:3px solid #5cc23a}
.co2 .tl2 .it{margin:0 0 1.6rem;position:relative}
.co2 .tl2 .it:before{content:"";position:absolute;left:-2.55rem;top:.3rem;width:18px;height:18px;border-radius:50%;background:#1a7a3e;box-shadow:0 0 0 5px rgba(92,194,58,.3);animation:pls 2.5s infinite}
@keyframes pls{50%{box-shadow:0 0 0 11px rgba(92,194,58,0)}}
.co2 .tl2 b{font-family:Fraunces,serif;font-size:1.2rem;color:#0f5a2b}
/* claims */
.co2 .claims{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:1.6rem}
.co2 .cl1,.co2 .cl2{border-radius:18px;padding:1.5rem;box-shadow:0 8px 30px rgba(6,50,26,.1)}
.co2 .cl1{background:#fff;border-top:6px solid #1a7a3e}.co2 .cl2{background:#fff;border-top:6px solid #c0792b}
.co2 .cl1 h3,.co2 .cl2 h3{font-family:Fraunces,serif;margin:0 0 .6rem}
.co2 ul.pl{padding-left:1.1rem;line-height:1.6}
.co2 .quote{background:#06130b;color:#fff;padding:4rem 1.5rem;text-align:center;position:relative;overflow:hidden}
.co2 .quote blockquote{font-family:Fraunces,serif;font-size:clamp(1.4rem,3.2vw,2.4rem);max-width:820px;margin:0 auto;line-height:1.25;position:relative;z-index:2}
.co2 .quote blockquote em{color:#7fe3a0}
.co2 .quote .leaf{position:absolute;font-size:2rem;animation:drift 12s linear infinite;opacity:.35}
@keyframes drift{from{transform:translateY(110%) rotate(0)}to{transform:translateY(-130%) rotate(360deg)}}
.co2 .note{background:#e3f2e7;border-left:5px solid #1a7a3e;padding:1rem 1.2rem;border-radius:10px;font-size:.92rem;color:#345}
.co2 .strip{display:flex;gap:1rem;overflow:hidden;margin-top:2rem}
.co2 .counter{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem;text-align:center}
.co2 .counter div{background:#fff;border-radius:16px;padding:1.2rem;box-shadow:0 8px 24px rgba(6,50,26,.1)}
.co2 .counter b{display:block;font:700 2.2rem Fraunces,serif;color:#1a7a3e}
@media(max-width:800px){.co2 .two,.co2 .claims,.co2 .counter{grid-template-columns:1fr}.co2 .mol{display:none}.co2 .ppmtag{position:static;margin:1rem 1.5rem}}
@media(prefers-reduced-motion:reduce){.co2 *{animation:none!important}.co2 .rv{opacity:1;transform:none}.co2 .bar .fl{width:var(--w)!important;transition:none}}
