/* an2: extra animations */
.an24{background:transparent;max-width:1100px;margin:0 auto}
.an24-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px;color:#3f3f46;margin-bottom:14px}
.an24-head b{color:#141414}
.an24-track{position:relative;height:56px;border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(20,20,20,.1);overflow:hidden}
.an24-staff{position:absolute;top:0;bottom:0;left:37.5%;width:37.5%;background:repeating-linear-gradient(135deg,rgba(20,20,20,.16) 0 8px,rgba(20,20,20,.07) 8px 16px)}
.an24-staff span{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;font-size:12.5px;font-weight:700;color:#3f3f46}
.an24-fill{position:absolute;inset:0;background:rgba(34,197,94,.28);transform-origin:left;transform:scaleX(0)}
.an24-dot{position:absolute;top:50%;left:0;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 6px rgba(22,163,74,.22)}
.an24-axis{display:flex;justify-content:space-between;font-size:12px;color:#52525b;margin:8px 2px 18px}
.an24-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.an24-chip{background:#fff;border-radius:12px;padding:14px 14px 13px;box-shadow:0 1px 2px rgba(20,20,20,.1);opacity:0}
.an24-chip i{color:#16a34a;font-size:16px;margin-bottom:8px;display:block}
.an24-chip b{display:block;font-size:13px;color:#141414}
.an24-chip span{font-size:12.5px;color:#3f3f46;line-height:1.4;display:block;margin-top:2px}
.an24.vis .an24-fill{animation:an24f 16.0s linear infinite}
.an24.vis .an24-dot{animation:an24d 16.0s linear infinite}
@keyframes an24f{0%{transform:scaleX(0)}85%,97%{transform:scaleX(1)}100%{transform:scaleX(1)}}
@keyframes an24d{0%{left:0}85%,97%{left:100%}100%{left:100%}}
@keyframes an24c0{0%,10.6%{opacity:0;transform:translateY(8px)}13.6%,93%{opacity:1;transform:none}98%,100%{opacity:0;transform:none}}
@keyframes an24c1{0%,26.3%{opacity:0;transform:translateY(8px)}29.3%,93%{opacity:1;transform:none}98%,100%{opacity:0;transform:none}}
@keyframes an24c2{0%,44.2%{opacity:0;transform:translateY(8px)}47.2%,93%{opacity:1;transform:none}98%,100%{opacity:0;transform:none}}
@keyframes an24c3{0%,70.5%{opacity:0;transform:translateY(8px)}73.5%,93%{opacity:1;transform:none}98%,100%{opacity:0;transform:none}}
.an24.vis .an24-chip:nth-child(1){animation:an24c0 16.0s linear infinite}
.an24.vis .an24-chip:nth-child(2){animation:an24c1 16.0s linear infinite}
.an24.vis .an24-chip:nth-child(3){animation:an24c2 16.0s linear infinite}
.an24.vis .an24-chip:nth-child(4){animation:an24c3 16.0s linear infinite}
/* sequence ring on step cards */
.steps[data-an2] .step{position:relative}
.steps[data-an2] .step::after{content:'';position:absolute;inset:-2px;border:2px solid #16a34a;border-radius:18px;opacity:0;pointer-events:none}
.steps[data-an2].vis .step::after{animation:an-seq 10s infinite}
.steps[data-an2] .step:nth-child(2)::after{animation-delay:2.5s}.steps[data-an2] .step:nth-child(3)::after{animation-delay:5s}.steps[data-an2] .step:nth-child(4)::after{animation-delay:7.5s}
@keyframes an-seq{0%{opacity:1}22%{opacity:1}28%{opacity:0}100%{opacity:0}}
/* duo + hub */
.an-duo{display:grid;grid-template-columns:auto 1fr;gap:56px;align-items:center;justify-content:center;margin-bottom:56px}
.an-duo .an-flow{max-width:480px;justify-self:start}
.an-hub{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.an-hub h2{margin-bottom:16px}
.an-hub ul{list-style:none;display:flex;flex-direction:column;gap:10px;margin-top:20px}
.an-hub li{font-size:15px;color:#141414;padding-left:22px;position:relative}
.an-hub li::before{content:'';position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:2px;background:#16a34a}
.an-hub figure{margin:0;border:1px solid rgba(20,20,20,.12);border-radius:16px;padding:20px}
.an-hub svg{width:100%;height:auto;display:block}
.an-hub text{font-family:'DM Sans',sans-serif;font-size:13px;fill:#141414;font-weight:600}
.an-hub .w{fill:#fff}.an-hub .nd{fill:#fff;stroke:#141414;stroke-width:1.2}.an-hub .core{fill:#141414}
.an-hub .ln{stroke:#16a34a;stroke-width:2;fill:none}.an-hub .pulse{fill:#16a34a}
/* climb chart */
.an-climb{max-width:760px;margin:0 auto 48px}
.an-climb figcaption{font-size:12px;color:#52525b;margin-top:6px;text-align:center}
.an-climb svg{width:100%;height:auto;display:block}
.an-climb text{font-family:'DM Sans',sans-serif;font-size:12px;fill:#3f3f46}
.an-climb .pt text{font-weight:700;fill:#141414;font-size:13px}
.an-climb .band{fill:rgba(34,197,94,.16)}
.an-climb .grid{stroke:rgba(20,20,20,.12);stroke-width:1}
.an-climb .path{fill:none;stroke:#16a34a;stroke-width:3.5;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100}
.an-climb .pt{opacity:0}
.an-climb .pt circle{fill:#fff;stroke:#16a34a;stroke-width:3}
.an-climb.vis .path{animation:an-draw 10s ease-in-out infinite}
@keyframes an-draw{0%{stroke-dashoffset:100}45%,92%{stroke-dashoffset:0}100%{stroke-dashoffset:100}}
@media(max-width:900px){.an-duo{grid-template-columns:1fr;gap:28px}.an-hub{grid-template-columns:1fr}.an24-chips{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.an24-chip{opacity:1}.an24-fill{transform:scaleX(1)}.an24-dot{left:100%}.an-climb .path{stroke-dashoffset:0}.an-climb .pt{opacity:1}.steps[data-an2] .step::after,.an-hub .pulse{animation:none;display:none}}
@keyframes an-pt0{0%,2%{opacity:0;transform:translateY(6px)}6%,92%{opacity:1;transform:none}98%,100%{opacity:0}}
.an-climb.vis .pt.p0{animation:an-pt0 10s infinite}
@keyframes an-pt1{0%,18%{opacity:0;transform:translateY(6px)}22%,92%{opacity:1;transform:none}98%,100%{opacity:0}}
.an-climb.vis .pt.p1{animation:an-pt1 10s infinite}
@keyframes an-pt2{0%,33%{opacity:0;transform:translateY(6px)}37%,92%{opacity:1;transform:none}98%,100%{opacity:0}}
.an-climb.vis .pt.p2{animation:an-pt2 10s infinite}
@keyframes an-pt3{0%,43%{opacity:0;transform:translateY(6px)}47%,92%{opacity:1;transform:none}98%,100%{opacity:0}}
.an-climb.vis .pt.p3{animation:an-pt3 10s infinite}



/* an-flow (shared) */
.an-flow{display:flex;flex-direction:column;width:100%;max-width:440px}
.an-node{position:relative;display:flex;align-items:center;gap:14px;background:#fff;border-radius:14px;padding:14px 16px;box-shadow:0 1px 2px rgba(20,20,20,.08)}
.an-node::after{content:'';position:absolute;inset:-2px;border:2px solid #16a34a;border-radius:16px;opacity:0;pointer-events:none}
.an-node i{width:38px;height:38px;border-radius:10px;background:#141414;color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.an-node strong{display:block;font-size:14px;color:#141414}
.an-node span{font-size:12px;color:#52525b}
.an-link{position:relative;width:2px;height:22px;background:rgba(20,20,20,.18);margin:0 0 0 35px;overflow:hidden}
.an-link::after{content:'';position:absolute;left:0;top:0;width:2px;height:10px;background:#16a34a;transform:translateY(-12px);opacity:0}
.an-flow.vis .an-node::after{animation:an-lit 10s infinite}
.an-flow.vis .an-link::after{animation:an-run 10s infinite}
.an-flow .an-node:nth-child(3)::after{animation-delay:2s}.an-flow .an-node:nth-child(5)::after{animation-delay:4s}.an-flow .an-node:nth-child(7)::after{animation-delay:6s}
.an-flow .an-link:nth-child(2)::after{animation-delay:1.6s}.an-flow .an-link:nth-child(4)::after{animation-delay:3.6s}.an-flow .an-link:nth-child(6)::after{animation-delay:5.6s}
@keyframes an-lit{0%{opacity:1}19%{opacity:1}22%{opacity:0}100%{opacity:0}}
@keyframes an-run{0%{opacity:1;transform:translateY(-12px)}4%{opacity:1;transform:translateY(24px)}5%,100%{opacity:0;transform:translateY(24px)}}
@media(prefers-reduced-motion:reduce){.an-flow.vis .an-node::after,.an-flow.vis .an-link::after{animation:none}}
/* mini scenes */
.an-mini{position:relative;width:100%;height:128px;background:#f4f4f1;border-radius:12px;overflow:hidden;margin-bottom:20px;display:flex;align-items:center;justify-content:center}
.an-sc{position:relative;width:150px;height:76px;transform:scale(1.6);flex-shrink:0}
.an-mini .mi{position:absolute;box-sizing:border-box}
.an-mini .drawp{stroke-dasharray:100;stroke-dashoffset:100}
.an-mini.vis .drawp{animation:an-mdraw 6s linear infinite}
@keyframes an-mdraw{0%,3%{stroke-dashoffset:100}35%,88%{stroke-dashoffset:0}95%,100%{stroke-dashoffset:100}}
.svc-card .an-mini+h3,.svc-card .an-mini+.svc-n{margin-top:0}
@media(prefers-reduced-motion:reduce){.an-mini .mi{opacity:1 !important;transform:none !important;animation:none !important}.an-mini .drawp{stroke-dashoffset:0;animation:none}.an-mini .mi[class*="d2"],.an-mini .mi[class*="p2"]{display:none}}
@keyframes m1{0%,5.0%{opacity:0;transform:translateY(6px) scale(.96)}12.5%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m2{0%,21.7%{opacity:0;transform:translateY(6px) scale(.96)}29.2%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m3{0%,41.7%{opacity:0;transform:translateY(6px) scale(.96)}49.2%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m4{0%,8.3%{opacity:0;transform:translateY(6px) scale(.96)}15.8%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m5{0%,25.0%{opacity:0;transform:translateY(6px) scale(.96)}32.5%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m6{0%,41.7%{opacity:0;transform:translateY(6px) scale(.96)}49.2%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m7{0%,16.7%{opacity:0;transform:translateY(6px) scale(.96)}24.2%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m8{0%,33.3%{opacity:0;transform:translateY(6px) scale(.96)}40.8%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m9{0%,6.7%{transform:scaleX(0)}14.2%,88.3%{transform:scaleX(1)}95.0%,100%{transform:scaleX(0)}}
@keyframes m10{0%,8.3%{opacity:0;transform:translateY(6px) scale(.96)}15.8%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m11{0%,26.7%{opacity:0;transform:translateY(6px) scale(.96)}34.2%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m12{0%,45.0%{opacity:0;transform:translateY(6px) scale(.96)}52.5%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m13{0%,6.7%{opacity:0;transform:translateY(6px) scale(.96)}14.2%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m14{0%,14.2%{opacity:0;transform:translateY(6px) scale(.96)}21.7%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m15{0%,21.7%{opacity:0;transform:translateY(6px) scale(.96)}29.2%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m16{0%,29.2%{opacity:0;transform:translateY(6px) scale(.96)}36.7%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m17{0%,36.7%{opacity:0;transform:translateY(6px) scale(.96)}44.2%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m18{0%,46.7%{opacity:0;transform:translateY(6px) scale(.96)}54.2%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m19{0%,5.0%{opacity:0;transform:translateY(6px) scale(.96)}12.5%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m20{0%,15.0%{transform:scaleX(0)}22.5%,88.3%{transform:scaleX(1)}95.0%,100%{transform:scaleX(0)}}
@keyframes m21{0%,21.7%{transform:scaleX(0)}29.2%,88.3%{transform:scaleX(1)}95.0%,100%{transform:scaleX(0)}}
@keyframes m22{0%,33.3%{transform:scaleX(0)}40.8%,88.3%{transform:scaleX(1)}95.0%,100%{transform:scaleX(0)}}
@keyframes m23{0%,45.0%{transform:scaleX(0)}52.5%,88.3%{transform:scaleX(1)}95.0%,100%{transform:scaleX(0)}}
@keyframes m24{0%,5.0%{transform:scaleY(0)}12.5%,88.3%{transform:scaleY(1)}95.0%,100%{transform:scaleY(0)}}
@keyframes m25{0%,12.5%{transform:scaleY(0)}20.0%,88.3%{transform:scaleY(1)}95.0%,100%{transform:scaleY(0)}}
@keyframes m26{0%,20.0%{transform:scaleY(0)}27.5%,88.3%{transform:scaleY(1)}95.0%,100%{transform:scaleY(0)}}
@keyframes m27{0%,27.5%{transform:scaleY(0)}35.0%,88.3%{transform:scaleY(1)}95.0%,100%{transform:scaleY(0)}}
@keyframes m28{0%,40.0%{opacity:0;transform:translateY(6px) scale(.96)}47.5%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m29{0%,5.0%{opacity:0;transform:translateY(6px) scale(.96)}12.5%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m30{0%,15.0%{transform:scaleX(0)}22.5%,88.3%{transform:scaleX(1)}95.0%,100%{transform:scaleX(0)}}
@keyframes m31{0%,23.3%{transform:scaleX(0)}30.8%,88.3%{transform:scaleX(1)}95.0%,100%{transform:scaleX(0)}}
@keyframes m32{0%,31.7%{transform:scaleX(0)}39.2%,88.3%{transform:scaleX(1)}95.0%,100%{transform:scaleX(0)}}
@keyframes m33{0%,43.3%{opacity:0;transform:translateY(6px) scale(.96)}50.8%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m34{0%,6.7%{transform:scaleX(0)}14.2%,88.3%{transform:scaleX(1)}95.0%,100%{transform:scaleX(0)}}
@keyframes m35{0%,15.0%{transform:scaleX(0)}22.5%,88.3%{transform:scaleX(1)}95.0%,100%{transform:scaleX(0)}}
@keyframes m36{0%,25.0%{opacity:0;transform:translateY(6px) scale(.96)}32.5%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m37{0%,36.7%{opacity:0;transform:translateY(6px) scale(.96)}44.2%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m38{0%,5.0%{opacity:0;transform:translateY(6px) scale(.96)}12.5%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m39{0%,15.0%{opacity:0;transform:translateY(6px) scale(.96)}22.5%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m40{0%,23.3%{opacity:.9;transform:scale(.4)}38.8%,100%{opacity:0;transform:scale(1.8)}}
@keyframes m41{0%,33.3%{opacity:0;transform:translateY(6px) scale(.96)}40.8%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m42{0%,53.3%{opacity:0;transform:translateY(6px) scale(.96)}60.8%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m43{0%,25.0%{opacity:.9;transform:scale(.4)}40.5%,100%{opacity:0;transform:scale(1.8)}}
@keyframes m44{0%,11.7%{opacity:0;transform:translateY(6px) scale(.96)}19.2%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m45{0%,38.3%{opacity:0;transform:translateY(6px) scale(.96)}45.8%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m46{0%,36.7%{opacity:0;transform:translateY(6px) scale(.96)}44.2%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
@keyframes m47{0%,43.3%{opacity:0;transform:translateY(6px) scale(.96)}50.8%,88.3%{opacity:1;transform:none}95.0%,100%{opacity:0;transform:translateY(6px) scale(.96)}}
.an-mini.vis .c1a{animation:m1 6.0s linear infinite}
.an-mini.vis .c1b{animation:m2 6.0s linear infinite}
.an-mini.vis .c1c{animation:m3 6.0s linear infinite}
.an-mini.vis .a0{animation:m4 6.0s linear infinite}
.an-mini.vis .a1{animation:m5 6.0s linear infinite}
.an-mini.vis .a2{animation:m6 6.0s linear infinite}
.an-mini.vis .b1{animation:m7 6.0s linear infinite}
.an-mini.vis .b2{animation:m8 6.0s linear infinite}
.an-mini.vis .f0{animation:m9 6.0s linear infinite}
.an-mini.vis .f1{animation:m10 6.0s linear infinite}
.an-mini.vis .f2{animation:m11 6.0s linear infinite}
.an-mini.vis .f3{animation:m12 6.0s linear infinite}
.an-mini.vis .r0{animation:m13 6.0s linear infinite}
.an-mini.vis .r1{animation:m14 6.0s linear infinite}
.an-mini.vis .r2{animation:m15 6.0s linear infinite}
.an-mini.vis .r3{animation:m16 6.0s linear infinite}
.an-mini.vis .r4{animation:m17 6.0s linear infinite}
.an-mini.vis .r9{animation:m18 6.0s linear infinite}
.an-mini.vis .k0{animation:m19 6.0s linear infinite}
.an-mini.vis .k1{animation:m20 6.0s linear infinite}
.an-mini.vis .k2{animation:m21 6.0s linear infinite}
.an-mini.vis .k3{animation:m22 6.0s linear infinite}
.an-mini.vis .k4{animation:m23 6.0s linear infinite}
.an-mini.vis .e0{animation:m24 6.0s linear infinite}
.an-mini.vis .e1{animation:m25 6.0s linear infinite}
.an-mini.vis .e2{animation:m26 6.0s linear infinite}
.an-mini.vis .e3{animation:m27 6.0s linear infinite}
.an-mini.vis .e9{animation:m28 6.0s linear infinite}
.an-mini.vis .o0{animation:m29 6.0s linear infinite}
.an-mini.vis .o1{animation:m30 6.0s linear infinite}
.an-mini.vis .o2{animation:m31 6.0s linear infinite}
.an-mini.vis .o3{animation:m32 6.0s linear infinite}
.an-mini.vis .o9{animation:m33 6.0s linear infinite}
.an-mini.vis .w1{animation:m34 6.0s linear infinite}
.an-mini.vis .w2{animation:m35 6.0s linear infinite}
.an-mini.vis .w3{animation:m36 6.0s linear infinite}
.an-mini.vis .w4{animation:m37 6.0s linear infinite}
.an-mini.vis .d0{animation:m38 6.0s linear infinite}
.an-mini.vis .d1{animation:m39 6.0s linear infinite}
.an-mini.vis .d2{animation:m40 6.0s linear infinite}
.an-mini.vis .d3{animation:m41 6.0s linear infinite}
.an-mini.vis .d4{animation:m42 6.0s linear infinite}
.an-mini.vis .p2{animation:m43 6.0s linear infinite}
.an-mini.vis .p1{animation:m44 6.0s linear infinite}
.an-mini.vis .p3{animation:m45 6.0s linear infinite}
.an-mini.vis .g1{animation:m46 6.0s linear infinite}
.an-mini.vis .g2{animation:m47 6.0s linear infinite}

/* grant band */
.grant-band{display:flex;gap:40px;align-items:center;background:#fff;border:1px solid #e4e4e7;border-radius:20px;padding:36px 40px;box-shadow:0 2px 12px rgba(0,0,0,.04)}
.grant-pct{flex-shrink:0;text-align:center;min-width:150px}
.grant-pct span{display:block;font-size:72px;font-weight:800;line-height:1;color:#16a34a;letter-spacing:-2px}
.grant-pct small{display:block;margin-top:8px;font-size:13px;color:#52525b}
.grant-txt h3{font-size:26px;line-height:1.25;margin:0 0 10px;color:#0a0a0a}
.grant-txt p{margin:0 0 18px;color:#3f3f46;font-size:15.5px;line-height:1.6}
.grant-row{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.grant-link{color:#16a34a;font-weight:600;font-size:14px;text-decoration:none}
@media(max-width:720px){.grant-band{flex-direction:column;text-align:center;padding:28px 22px;gap:18px}.grant-pct span{font-size:56px}.grant-txt h3{font-size:22px}.grant-row{justify-content:center}}
@keyframes ms1{0%,4%{opacity:0;transform:translateY(8px) scale(.96)}10%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px) scale(.96)}}
@keyframes my1{0%,4%{opacity:0;transform:scaleY(0)}10%,90%{opacity:1;transform:scaleY(1)}96%,100%{opacity:0;transform:scaleY(0)}}
@keyframes ms2{0%,18%{opacity:0;transform:translateY(8px) scale(.96)}24%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px) scale(.96)}}
@keyframes my2{0%,18%{opacity:0;transform:scaleY(0)}24%,90%{opacity:1;transform:scaleY(1)}96%,100%{opacity:0;transform:scaleY(0)}}
@keyframes ms3{0%,32%{opacity:0;transform:translateY(8px) scale(.96)}38%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px) scale(.96)}}
@keyframes my3{0%,32%{opacity:0;transform:scaleY(0)}38%,90%{opacity:1;transform:scaleY(1)}96%,100%{opacity:0;transform:scaleY(0)}}
@keyframes ms4{0%,46%{opacity:0;transform:translateY(8px) scale(.96)}52%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px) scale(.96)}}
@keyframes my4{0%,46%{opacity:0;transform:scaleY(0)}52%,90%{opacity:1;transform:scaleY(1)}96%,100%{opacity:0;transform:scaleY(0)}}
@keyframes ms5{0%,60%{opacity:0;transform:translateY(8px) scale(.96)}66%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px) scale(.96)}}
@keyframes my5{0%,60%{opacity:0;transform:scaleY(0)}66%,90%{opacity:1;transform:scaleY(1)}96%,100%{opacity:0;transform:scaleY(0)}}
@keyframes ms6{0%,74%{opacity:0;transform:translateY(8px) scale(.96)}80%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px) scale(.96)}}
@keyframes my6{0%,74%{opacity:0;transform:scaleY(0)}80%,90%{opacity:1;transform:scaleY(1)}96%,100%{opacity:0;transform:scaleY(0)}}

/* mini scenes v2 (readable) */
.an-m2{position:relative;height:176px;background:#f4f4f1;border-radius:12px;margin-bottom:20px;padding:14px 16px;display:flex;flex-direction:column;justify-content:center;gap:8px;overflow:hidden;font-family:inherit;font-size:12.5px;line-height:1.3;color:#141414;text-align:left}
.an-m2 .m2i{opacity:0}
.an-m2.vis .s1{animation:ms1 9s ease infinite}.an-m2.vis .s2{animation:ms2 9s ease infinite}.an-m2.vis .s3{animation:ms3 9s ease infinite}.an-m2.vis .s4{animation:ms4 9s ease infinite}.an-m2.vis .s5{animation:ms5 9s ease infinite}.an-m2.vis .s6{animation:ms6 9s ease infinite}
.an-m2.vis .bar.s1{animation:my1 9s ease infinite}.an-m2.vis .bar.s2{animation:my2 9s ease infinite}.an-m2.vis .bar.s3{animation:my3 9s ease infinite}.an-m2.vis .bar.s4{animation:my4 9s ease infinite}.an-m2.vis .bar.s5{animation:my5 9s ease infinite}.an-m2.vis .bar.s6{animation:my6 9s ease infinite}
.an-m2 .b{padding:8px 12px;border-radius:14px;max-width:82%;font-size:12.5px}
.an-m2 .cu{background:#fff;border:1px solid #d4d4d8;align-self:flex-start;border-bottom-left-radius:4px;color:#141414}
.an-m2 .ca{background:#141414;color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.an-m2 .ca b{color:#4ade80}.an-m2 .wide{max-width:92%}
.an-m2 .pill{align-self:flex-start;background:#16a34a;color:#fff;font-weight:700;padding:7px 12px;border-radius:999px;font-size:12.5px}
.an-m2 .chip{align-self:flex-start;background:#fff;border:1px solid #d4d4d8;padding:6px 11px;border-radius:999px;font-size:12px}
.an-m2 .m2row{display:flex;align-items:center;gap:10px;font-weight:600;font-size:13px}
.an-m2 .m2chk{position:relative;width:20px;height:20px;border-radius:6px;border:1.5px solid #a1a1aa;background:#fff;flex-shrink:0;display:block}
.an-m2 .tk{position:absolute;inset:-1.5px;background:#16a34a;color:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:11px}
.an-m2 .m2h{font-weight:700;font-size:13px}
.an-m2 .m2slots{display:flex;gap:8px}
.an-m2 .m2slots span{position:relative;flex:1;text-align:center;padding:8px 0;border-radius:8px;background:#fff;border:1px solid #d4d4d8;font-weight:600}
.an-m2 .slotfill{position:absolute;inset:-1px;border-radius:8px;background:#16a34a}
.an-m2 .pick{color:#141414}
.an-m2 .tl{background:#fff;border:1px solid #d4d4d8;border-left:3px solid #16a34a;border-radius:8px;padding:6px 10px;font-size:12.5px}
.an-m2 .m2stars{display:flex;gap:6px;color:#f59e0b;font-size:20px;min-height:22px}
.an-m2 .m2tbl{display:flex;flex-direction:column;gap:6px}
.an-m2 .tr{display:flex;justify-content:space-between;background:#fff;border:1px solid #d4d4d8;border-radius:8px;padding:6px 10px}
.an-m2 .tr span{color:#52525b}
.an-m2 .m2q{background:#fff;border:1px solid #d4d4d8;border-radius:999px;padding:7px 12px;font-weight:600}
.an-m2 .m2q i{color:#71717a;margin-right:6px}
.an-m2 .m2rank{position:relative;height:104px}
.an-m2 .rk{position:absolute;left:0;right:0;height:30px;border-radius:8px;background:#fff;border:1px solid #d4d4d8;padding:0 12px;display:flex;align-items:center;justify-content:space-between;color:#52525b}
.an-m2 .rk1{top:0;animation:none}.an-m2 .rk2{top:36px}.an-m2 .rk3{top:72px}
.an-m2 .rk.me{background:#16a34a;border-color:#16a34a;color:#fff}.an-m2 .rk.me b{color:#fff}
.an-m2 .rk.me em{font-style:normal;font-weight:800;position:absolute;right:12px}
.an-m2 .n1{opacity:0}
.an-m2.vis .rk1{animation:mrk1 9s ease-in-out infinite}.an-m2.vis .rk2{animation:mrk2 9s ease-in-out infinite}.an-m2.vis .rk3{animation:mrk3 9s ease-in-out infinite}
.an-m2.vis .n3{animation:mn3 9s linear infinite}.an-m2.vis .n1{animation:mn1 9s linear infinite}
@keyframes mrk1{0%,30%{transform:none}45%,90%{transform:translateY(72px)}98%,100%{transform:none}}
@keyframes mrk2{0%,30%{transform:none}45%,90%{transform:translateY(0)}}
@keyframes mrk3{0%,30%{transform:none}45%,90%{transform:translateY(-72px)}98%,100%{transform:none}}
@keyframes mn3{0%,32%{opacity:1}42%,92%{opacity:0}98%,100%{opacity:1}}
@keyframes mn1{0%,40%{opacity:0}50%,92%{opacity:1}98%,100%{opacity:0}}
.an-m2 .wh{font-size:15px}
.an-m2 .btn{align-self:flex-start;background:#141414;color:#fff;padding:7px 14px;border-radius:8px;font-weight:700}
.an-m2 .m2br{display:flex;align-items:center;gap:5px;background:#fff;border:1px solid #d4d4d8;border-radius:8px;padding:6px 10px}
.an-m2 .m2br i{width:8px;height:8px;border-radius:50%;background:#d4d4d8;display:block}
.an-m2 .m2br span{margin-left:8px;color:#52525b;font-size:12px}
.an-m2 .m2fun{display:flex;gap:8px;align-items:stretch}
.an-m2 .fn{flex:1;background:#fff;border:1px solid #d4d4d8;border-radius:10px;padding:10px 6px;text-align:center;display:flex;flex-direction:column;gap:4px}
.an-m2 .fn span{color:#52525b;font-size:11.5px}.an-m2 .fn b{font-size:16px}
.an-m2 .fn:last-child{background:#16a34a;border-color:#16a34a;color:#fff}.an-m2 .fn:last-child span{color:#dcfce7}
.an-m2 .m2map{position:relative;height:56px;border-radius:8px;background:#e7ece4;background-image:linear-gradient(#dfe5db 1px,transparent 1px),linear-gradient(90deg,#dfe5db 1px,transparent 1px);background-size:24px 24px;display:flex;align-items:center;justify-content:center}
.an-m2 .pin{color:#dc2626;font-size:26px;line-height:1}
.an-m2 .card{background:#fff;border:1px solid #d4d4d8;border-radius:8px;padding:6px 10px}
.an-m2 .card i{color:#f59e0b}
.an-m2 .m2bars{display:flex;align-items:flex-end;gap:8px;height:104px}
.an-m2 .bar{flex:1;background:#16a34a;border-radius:5px 5px 0 0;transform-origin:bottom}
.an-m2 .bar:nth-child(-n+3){background:#86d9a3}
.an-m2 .m2mods{display:flex;gap:8px}
.an-m2 .mod{flex:1;background:#fff;border:1px solid #d4d4d8;border-radius:8px;padding:9px 6px;text-align:center;font-weight:600;font-size:12px}
.an-m2 .mod i{display:block;color:#16a34a;font-size:16px;margin-bottom:4px}
@media(prefers-reduced-motion:reduce){.an-m2 .m2i,.an-m2 .n3{opacity:1 !important;transform:none !important;animation:none !important}.an-m2 .n1{display:none}.an-m2 .rk{animation:none !important}.an-m2 .rk1{transform:translateY(72px) !important}.an-m2 .rk3{transform:translateY(-72px) !important}.an-m2 .rk3 .n3{display:none}.an-m2 .rk3 .n1{display:block;opacity:1 !important}}
/* reset page-level .svc-card i rules inside scenes */
.svc-card .an-m2 i{display:inline-block;font-size:inherit;margin:0 5px 0 0;color:inherit;opacity:1;width:auto;height:auto}
.svc-card .an-m2 .m2br i{display:block;width:8px;height:8px;margin:0;background:#d4d4d8;border-radius:50%}
.svc-card .an-m2 .m2q i{color:#71717a;margin-right:6px}
.svc-card .an-m2 .tk i{margin:0;color:#fff;font-size:11px}
.svc-card .an-m2 .st i{margin:0;color:#f59e0b;font-size:20px}
.svc-card .an-m2 .pin i{margin:0;color:#dc2626;font-size:26px}
.svc-card .an-m2 .card i{color:#f59e0b;margin:0 2px}
.svc-card .an-m2 .mod i{display:block;margin:0 0 4px;color:#16a34a;font-size:16px}
.svc-card .an-m2 .pill i{color:#fff}
.svc-card .an-m2 .ca i{color:#4ade80}
.an-m2 .pill,.an-m2 .chip,.an-m2 .btn{display:inline-flex;align-items:center;white-space:nowrap}
.an-m2 .m2stars{gap:6px}.an-m2 .m2stars .st{display:block}
.an-m2{height:184px}
.an-m2 .m2map{height:46px;flex-shrink:0}
.an-m2 .m2i{flex-shrink:0}
