/* CTA-only CSS 3D cloud ecosystem. No hero or global design tokens are modified. */
.cta.cta-v4 .cta-v4__art.cta3d{position:relative;inset:auto;height:auto;min-height:0;overflow:visible;transform:none;align-self:center}
.cta3d-stage{position:relative;height:300px;pointer-events:none}
.ecos3d-world{position:absolute;left:50%;top:55%;width:380px;height:340px;--scene-scale:.82;transform-style:preserve-3d;transform:translate(-50%,-50%) scale(var(--scene-scale)) rotateX(53deg) rotateZ(-35deg)}
.ecos3d-object,.ecos3d-contact{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);transform:translateZ(var(--z)) rotateZ(var(--angle,0deg));transform-style:preserve-3d}
.ecos3d-object{border-radius:var(--radius);--top-start:#d3efdf;--top-end:#118d62}
.ecos3d-skin,.ecos3d-top{position:absolute;inset:0;border-radius:inherit;backface-visibility:hidden}
.ecos3d-skin{display:block;background:var(--slice-color);transform:translateZ(calc(var(--slice)*var(--thickness)/6));border:1px solid #0c684840}
.ecos3d-skin:first-child{inset:1px}.ecos3d-top{background:linear-gradient(135deg,var(--top-start),var(--top-end));border:1px solid #3f9b70;transform:translateZ(var(--thickness));overflow:hidden;display:grid;place-items:center;color:#0c4e38;transition:border-color .32s ease}
.ecos3d-top:before{content:'';position:absolute;inset:1px;border:1px solid #e6f5ee70;border-radius:inherit;pointer-events:none}
.ecos3d-inset{position:absolute;inset:7px;border:1px solid #e6f5ee80;border-radius:calc(var(--radius) - 4px);pointer-events:none}
.ecos3d-mint{--top-start:#f7fff9;--top-end:#b6e4ca}.ecos3d-dark{--top-start:#458d63;--top-end:#0b3b27}
.ecos3d-contact{border-radius:18px;background:#0b2d1f;opacity:var(--shadow-opacity);filter:blur(var(--blur));transform:translateZ(var(--z));pointer-events:none}
.ecos3d-glyph{width:52%;height:52%;max-height:54px;stroke:#0d714e;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none;position:relative;z-index:1;background:#e6f5ee;border:1px solid #76b991;border-radius:8px;padding:4px;box-shadow:-2px 3px 0 #0d714e30}
.cta3d-service .ecos3d-glyph{width:64%;height:64%;padding:4px;border-radius:6px;box-shadow:none;background:transparent;border:0}
.ecos3d-board-label{position:absolute;left:18px;bottom:13px;font-size:12px;line-height:16px;letter-spacing:.04em;color:#e6f5ee;font-weight:400}
.ecos3d-plate-caption{position:absolute;bottom:9px;left:0;right:0;text-align:center;font-size:12px;line-height:16px;letter-spacing:.02em;color:#0c4e38;font-weight:600}
.ecos3d-leds{position:absolute;right:8px;bottom:8px;display:flex;gap:4px}.ecos3d-leds i{width:3px;height:3px;background:#29ae87;border-radius:50%;transition:background .32s ease,box-shadow .32s ease}
.cta3d-routes{position:absolute;inset:0;width:380px;height:340px;transform:translateZ(-5px);fill:none;stroke:#8bc6a7;stroke-width:1.5}
.cta3d-connection{opacity:.45;stroke-dasharray:7 9;animation:ecos3d-signal 1.2s linear infinite;animation-play-state:paused;transition:opacity .32s ease,stroke .32s ease,stroke-width .32s ease}
.cta3d[data-motion-active=true] .cta3d-connection{animation-play-state:running}
.cta3d[data-entered=true] .ecos3d-object{animation:ecos3d-assemble .65s cubic-bezier(.22,1,.36,1) calc(var(--order)*45ms) 1 both;animation-play-state:paused}
.cta3d[data-motion-active=true] .ecos3d-object{animation-play-state:running}
@keyframes ecos3d-assemble{from{translate:0 0 12px}to{translate:0 0 0}}
@keyframes ecos3d-signal{to{stroke-dashoffset:-32}}
@media(max-width:1200px){.ecos3d-world{--scene-scale:.7}}
@media(max-width:900px){.ecos3d-world{--scene-scale:.9}.cta3d-stage{height:310px}}
@media(max-width:600px){.ecos3d-world{--scene-scale:.63}.cta3d-stage{height:240px}}
@media(max-width:360px){.ecos3d-world{--scene-scale:.56}}
@media(max-width:340px){.ecos3d-world{--scene-scale:.5}}
@media(prefers-reduced-motion:reduce){.cta3d .ecos3d-object,.cta3d .cta3d-connection{animation:none!important;translate:none!important;transition:none!important}}

.cta3d[data-selected="0"] .ecos3d-object[data-service-index="0"]{--active-lift:5px}
.cta3d[data-selected="0"] .ecos3d-object[data-service-index="0"] .ecos3d-top:after{opacity:1}
.cta3d[data-selected="0"] .ecos3d-object[data-service-index="0"] .ecos3d-top{border-color:#118d62}
.cta3d[data-selected="0"] .ecos3d-object[data-service-index="0"] .ecos3d-leds i{background:#ffffff;box-shadow:0 0 5px #e6f5ee70}
.cta3d[data-selected="0"] .cta3d-connection[data-route="0"]{opacity:1;stroke:#29ae87;stroke-width:2.5;}

.cta3d[data-selected="1"] .ecos3d-object[data-service-index="1"]{--active-lift:5px}
.cta3d[data-selected="1"] .ecos3d-object[data-service-index="1"] .ecos3d-top:after{opacity:1}
.cta3d[data-selected="1"] .ecos3d-object[data-service-index="1"] .ecos3d-top{border-color:#118d62}
.cta3d[data-selected="1"] .ecos3d-object[data-service-index="1"] .ecos3d-leds i{background:#ffffff;box-shadow:0 0 5px #e6f5ee70}
.cta3d[data-selected="1"] .cta3d-connection[data-route="1"]{opacity:1;stroke:#29ae87;stroke-width:2.5;}

.cta3d[data-selected="2"] .ecos3d-object[data-service-index="2"]{--active-lift:5px}
.cta3d[data-selected="2"] .ecos3d-object[data-service-index="2"] .ecos3d-top:after{opacity:1}
.cta3d[data-selected="2"] .ecos3d-object[data-service-index="2"] .ecos3d-top{border-color:#118d62}
.cta3d[data-selected="2"] .ecos3d-object[data-service-index="2"] .ecos3d-leds i{background:#ffffff;box-shadow:0 0 5px #e6f5ee70}
.cta3d[data-selected="2"] .cta3d-connection[data-route="2"]{opacity:1;stroke:#29ae87;stroke-width:2.5;}

.cta3d[data-selected="3"] .ecos3d-object[data-service-index="3"]{--active-lift:5px}
.cta3d[data-selected="3"] .ecos3d-object[data-service-index="3"] .ecos3d-top:after{opacity:1}
.cta3d[data-selected="3"] .ecos3d-object[data-service-index="3"] .ecos3d-top{border-color:#118d62}
.cta3d[data-selected="3"] .ecos3d-object[data-service-index="3"] .ecos3d-leds i{background:#ffffff;box-shadow:0 0 5px #e6f5ee70}
.cta3d[data-selected="3"] .cta3d-connection[data-route="3"]{opacity:1;stroke:#29ae87;stroke-width:2.5;}

.cta3d[data-selected="4"] .ecos3d-object[data-service-index="4"]{--active-lift:5px}
.cta3d[data-selected="4"] .ecos3d-object[data-service-index="4"] .ecos3d-top:after{opacity:1}
.cta3d[data-selected="4"] .ecos3d-object[data-service-index="4"] .ecos3d-top{border-color:#118d62}
.cta3d[data-selected="4"] .ecos3d-object[data-service-index="4"] .ecos3d-leds i{background:#ffffff;box-shadow:0 0 5px #e6f5ee70}
.cta3d[data-selected="4"] .cta3d-connection[data-route="4"]{opacity:1;stroke:#29ae87;stroke-width:2.5;}

.cta3d[data-selected="5"] .ecos3d-object[data-service-index="5"]{--active-lift:5px}
.cta3d[data-selected="5"] .ecos3d-object[data-service-index="5"] .ecos3d-top:after{opacity:1}
.cta3d[data-selected="5"] .ecos3d-object[data-service-index="5"] .ecos3d-top{border-color:#118d62}
.cta3d[data-selected="5"] .ecos3d-object[data-service-index="5"] .ecos3d-leds i{background:#ffffff;box-shadow:0 0 5px #e6f5ee70}
.cta3d[data-selected="5"] .cta3d-connection[data-route="5"]{opacity:1;stroke:#29ae87;stroke-width:2.5;}

@media(prefers-reduced-motion:reduce){.cta3d .ecos3d-object,.cta3d .cta3d-connection{animation:none!important;translate:none!important;transition:none!important}}


.ecos3d-link-riser{position:absolute;width:1px;height:77px;background:#29ae8766;transform-origin:50% 0;transform:translateZ(-5px) rotateX(90deg);pointer-events:none;transition:background .32s ease,height .48s cubic-bezier(.22,1,.36,1)}
.cta3d[data-selected="0"] .ecos3d-link-riser[data-riser="0"]{background:#9bdfbe;height:82px}
.cta3d[data-selected="1"] .ecos3d-link-riser[data-riser="1"]{background:#9bdfbe;height:82px}
.cta3d[data-selected="2"] .ecos3d-link-riser[data-riser="2"]{background:#9bdfbe;height:82px}
.cta3d[data-selected="3"] .ecos3d-link-riser[data-riser="3"]{background:#9bdfbe;height:82px}
.cta3d[data-selected="4"] .ecos3d-link-riser[data-riser="4"]{background:#9bdfbe;height:82px}
.cta3d[data-selected="5"] .ecos3d-link-riser[data-riser="5"]{background:#9bdfbe;height:82px}

/* Crossfade materials; keep the camera and the six shared elevations stable. */
.cta3d-service{transform:translateZ(calc(var(--z) + var(--active-lift,0px))) rotateZ(var(--angle,0deg));transition:transform .48s cubic-bezier(.22,1,.36,1)}
.cta3d-service .ecos3d-top:after{content:'';position:absolute;inset:1px;border-radius:inherit;background:linear-gradient(135deg,#e6f5ee,#29ae87);opacity:0;transition:opacity .42s cubic-bezier(.22,1,.36,1);pointer-events:none}
.cta3d-service .ecos3d-inset,.cta3d-service .ecos3d-leds{z-index:1}
@media(prefers-reduced-motion:reduce){
 .cta3d .ecos3d-object,.cta3d .cta3d-connection{animation:none!important;translate:none!important}
 .cta3d .cta3d-service{--active-lift:0px!important}
 .cta3d .ecos3d-link-riser{height:77px!important}
 .cta3d *,.cta3d *:before,.cta3d *:after{transition:none!important}
}
