﻿:root{--ink:#071525;--deep:#0e2c3e;--lime:#c9ff4a;--aqua:#68ead7;--paper:#f4f1eb;--muted:#637583}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}.top{height:78px;padding:0 7vw;display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:#fff;gap:25px}.brand{font-size:12px;font-weight:800;letter-spacing:1px}.brand b{color:var(--lime);font-size:20px}.top a{color:inherit;text-decoration:none;font-size:12px;font-weight:800}.top-links{display:flex;align-items:center;gap:22px}.home-link{color:var(--lime)!important}.article-hero{position:relative;isolation:isolate;padding:95px 7vw 85px;background:var(--deep);color:#fff;overflow:hidden}.article-hero:before,.article-hero:after{content:"";position:absolute;z-index:-1;left:42%;width:72vw;height:23vw;border:2px solid rgba(104,234,215,.22);border-radius:50%;transform:rotate(-16deg);pointer-events:none}.article-hero:before{top:138px}.article-hero:after{top:149px;left:41.4%;border-color:rgba(201,255,74,.14)}.eyebrow{font:11px "DM Mono",monospace;letter-spacing:1px;color:var(--aqua)}h1{max-width:900px;margin:24px 0;font-size:clamp(48px,7vw,96px);line-height:.9;letter-spacing:-.075em}h1 em{font:400 1em Georgia,serif;color:var(--lime)}.lead{max-width:820px;color:#d1dfe4;font-size:18px;line-height:1.7}.visual{margin:55px auto -145px;max-width:1150px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(120deg,#071525,#12354a);overflow:hidden}.diagram{position:relative;min-height:380px;padding:40px;display:flex;align-items:center;justify-content:space-between;gap:30px}.diagram:before{content:"";position:absolute;left:12%;right:12%;top:50%;height:2px;background:repeating-linear-gradient(90deg,var(--aqua) 0 10px,transparent 10px 22px);opacity:.72;animation:flow 2.8s linear infinite}.node{position:relative;z-index:2;display:grid;place-content:center;width:155px;min-height:112px;padding:16px;border:1px solid rgba(104,234,215,.6);background:#0b2233;color:#fff;text-align:center;font-size:12px;font-weight:800;letter-spacing:.04em;box-shadow:0 0 0 9px rgba(104,234,215,.06)}.node b{display:block;margin-bottom:8px;color:var(--lime);font-size:22px;letter-spacing:-.06em}.node.core{border-radius:50%;width:170px;height:170px;background:var(--aqua);color:var(--ink);border:0;box-shadow:0 0 0 18px rgba(104,234,215,.12),0 0 55px rgba(104,234,215,.35)}.node.core b{color:var(--ink);font-size:28px}.node.active{animation:nodePulse 2.8s ease-in-out infinite}.diagram .signal{position:absolute;z-index:3;width:13px;height:13px;border-radius:50%;background:var(--lime);box-shadow:0 0 18px var(--lime);animation:signal 3.8s linear infinite}
/* Architecture */.ecosystem{min-height:420px;display:grid;place-items:center}.ecosystem:before{display:none}.ecosystem .core{position:relative;z-index:3}.app-ring{position:absolute;inset:25px;z-index:1;border:2px solid rgba(104,234,215,.25);border-radius:50%;transform:scaleY(.55) rotate(-8deg)}.app-ring:after{content:"";position:absolute;inset:10px;border:2px solid rgba(201,255,74,.18);border-radius:50%}.app{position:absolute;z-index:3;display:grid;place-content:center;width:88px;height:88px;border-radius:50%;border:1px solid rgba(104,234,215,.7);background:#0b2233;color:white;text-align:center;font-size:11px;font-weight:800;cursor:default;transition:.25s}.app b{color:var(--lime);font-size:15px}.app small{display:none;position:absolute;left:50%;bottom:calc(100% + 12px);width:190px;padding:11px;background:#f4f1eb;color:var(--ink);font:600 11px/1.4 Manrope;box-shadow:0 10px 25px rgba(0,0,0,.25);transform:translateX(-50%)}.app:hover{z-index:7;transform:scale(1.16);background:var(--aqua);color:var(--ink);border-color:var(--aqua)}.app:hover b{color:var(--ink)}.app:hover small{display:block}.app.crm{left:9%;top:34%}.app.hcm{left:20%;top:68%}.app.cmms{left:35%;top:8%}.app.eqms{right:35%;bottom:8%}.app.lims{right:20%;top:68%}.app.tms{right:9%;top:34%}.app.tpl{right:30%;top:6%}.ecosystem .signal{animation:ecosignal 8s linear infinite}
/* ALM */.alm{min-height:360px;align-items:center;justify-content:center;gap:0}.alm:before{display:none}.alm-step{position:relative;z-index:2;display:grid;place-content:center;width:155px;height:125px;padding:18px 28px;background:#0b2233;color:#fff;text-align:center;border:1px solid rgba(104,234,215,.55);clip-path:polygon(0 0,86% 0,100% 50%,86% 100%,0 100%,12% 50%);transition:.25s;cursor:default}.alm-step:first-child{clip-path:polygon(0 0,86% 0,100% 50%,86% 100%,0 100%)}.alm-step b{color:var(--lime);font-size:18px}.alm-step small{display:none;font-size:11px;line-height:1.35}.alm-step:hover{z-index:5;transform:scale(1.13);background:var(--aqua);color:var(--ink);clip-path:polygon(0 0,86% 0,100% 50%,86% 100%,0 100%,12% 50%)}.alm-step:hover b{color:var(--ink)}.alm-step:hover small{display:block}.alm-flow{position:absolute;left:11%;right:11%;top:50%;height:4px;background:repeating-linear-gradient(90deg,var(--lime) 0 22px,transparent 22px 44px);animation:flow 1.2s linear infinite;opacity:.9}
/* IA */.agentic{min-height:390px;justify-content:center;gap:80px}.agentic:before{display:none}.agentic .core{width:180px;height:180px}.agentic .agent-lobe{position:absolute;z-index:2;width:145px;min-height:105px;padding:16px;border:1px solid rgba(104,234,215,.65);background:#0b2233;color:#fff;text-align:center;font-size:12px;transition:.25s}.agentic .agent-lobe b{display:block;color:var(--lime);font-size:18px;margin-bottom:7px}.agentic .agent-lobe:hover{background:var(--aqua);color:var(--ink);transform:translateY(-8px) scale(1.06)}.agentic .agent-lobe:hover b{color:var(--ink)}.agentic .observe{left:10%;top:23%}.agentic .tools{right:10%;top:23%}.agentic .govern{left:calc(50% - 72px);bottom:7%}.agentic .agent-link{position:absolute;height:1px;background:rgba(104,234,215,.6);transform-origin:left}.agentic .link-a{width:30%;left:20%;top:45%;transform:rotate(14deg)}.agentic .link-b{width:30%;right:20%;top:45%;transform:rotate(166deg)}.agentic .link-c{width:17%;left:47%;top:66%;transform:rotate(90deg)}
main{max-width:1320px;margin:0 auto;padding:190px 7vw 100px}.content{display:grid;grid-template-columns:minmax(0,1fr) .34fr;gap:7vw}.content h2{font-size:34px;line-height:1.1;letter-spacing:-.05em;margin:0 0 18px}.content h3{margin:38px 0 12px;font-size:20px}.content p,.content li{font-size:17px;line-height:1.8;color:#425464}.points{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:38px 0}.points div{padding:24px;background:#d8eef3;border-top:3px solid var(--aqua);font-size:14px;line-height:1.6;color:#17384b}.points b{display:block;margin-bottom:9px;color:var(--ink);font-size:16px}.quote{margin:0;padding:29px;border-left:4px solid var(--aqua);background:#dbe7e6;color:#17384b;font:italic 25px/1.35 Georgia,serif}.cta{margin-top:75px;padding:42px;background:var(--lime);display:flex;justify-content:space-between;align-items:center;gap:20px}.cta h2{margin:0;font-size:34px;letter-spacing:-.05em}.cta a{color:var(--ink);font-weight:800}@keyframes flow{to{background-position:160px 0}}@keyframes nodePulse{50%{transform:translateY(-6px);box-shadow:0 15px 35px rgba(104,234,215,.22)}}@keyframes signal{0%{left:14%;top:calc(50% - 6px)}48%{left:84%;top:calc(50% - 6px)}100%{left:14%;top:calc(50% - 6px)}}@keyframes ecosignal{0%{left:11%;top:42%}20%{left:35%;top:14%}43%{left:70%;top:12%}64%{left:88%;top:42%}82%{left:60%;top:76%}100%{left:11%;top:42%}}@media(max-width:700px){.top{padding:0 6vw}.top-links{gap:12px}.article-hero{padding:65px 6vw}.article-hero:before,.article-hero:after{width:125vw;height:52vw;left:22%;top:225px}.article-hero:after{top:234px}.visual{margin:40px auto -75px}.diagram{min-height:440px;padding:25px;flex-direction:column;justify-content:space-between}.diagram .signal{display:none}.ecosystem{min-height:600px}.app{width:65px;height:65px;font-size:9px}.app b{font-size:12px}.app.crm{left:4%;top:38%}.app.hcm{left:12%;top:70%}.app.cmms{left:31%;top:9%}.app.eqms{right:31%;bottom:9%}.app.lims{right:12%;top:70%}.app.tms{right:4%;top:38%}.app.tpl{right:26%;top:12%}.alm{min-height:560px;padding:35px}.alm-step{width:185px;height:85px;clip-path:none!important}.alm-flow{left:50%;top:13%;bottom:13%;width:4px;height:auto;background:repeating-linear-gradient(180deg,var(--lime) 0 22px,transparent 22px 44px)}.agentic{min-height:560px}.agentic .agent-lobe{width:120px}.agentic .observe{left:4%;top:18%}.agentic .tools{right:4%;top:18%}.agentic .govern{bottom:8%}.agentic .agent-link{display:none}.content{grid-template-columns:1fr}.points{grid-template-columns:1fr}.cta{display:block}.cta a{display:block;margin-top:15px}main{padding:115px 6vw 75px}}

/* Keep the migration journey vertical. */
.diagram.vertical{justify-content:center;gap:48px}.diagram.vertical:before{left:50%;right:auto;top:11%;bottom:11%;height:auto;width:2px;background:repeating-linear-gradient(180deg,var(--aqua) 0 10px,transparent 10px 22px)}
@media(max-width:700px){.diagram.vertical{justify-content:space-between;gap:0}}

/* Insight banners reuse the oversized concentric arcs of the home hero. */
@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap");
.article-hero:before,.article-hero:after{left:auto;right:-310px;top:28px;width:880px;height:880px;transform:none;border:1px solid rgba(104,234,215,.16)}
.article-hero:before{box-shadow:0 0 0 90px rgba(104,234,215,.025),0 0 0 180px rgba(104,234,215,.018)}
.article-hero:after{display:none}.visual{margin:55px auto -190px;overflow:visible}.article-hero{padding-bottom:85px}main{padding-top:235px}
/* Architecture: centered ERP, unobstructed contextual cards and a real stream of data. */
.ecosystem{overflow:visible}.ecosystem .core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.app small{font-family:Manrope,Arial,sans-serif;font-weight:600}.app.cmms small,.app.tpl small{bottom:auto;top:calc(100% + 12px)}.data-particles{position:absolute;inset:0;pointer-events:none;z-index:2}.data-particles span{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px var(--lime);animation:particle 5s linear infinite}.data-particles span:nth-child(3n){background:var(--aqua);box-shadow:0 0 10px var(--aqua)}.data-particles span:nth-child(2){animation-delay:-.5s}.data-particles span:nth-child(3){animation-delay:-1s}.data-particles span:nth-child(4){animation-delay:-1.5s}.data-particles span:nth-child(5){animation-delay:-2s}.data-particles span:nth-child(6){animation-delay:-2.5s}.data-particles span:nth-child(7){animation-delay:-3s}.data-particles span:nth-child(8){animation-delay:-3.5s}.data-particles span:nth-child(9){animation-delay:-4s}.data-particles span:nth-child(10){animation-delay:-4.5s}.data-particles span:nth-child(11){animation-delay:-1.2s}.data-particles span:nth-child(12){animation-delay:-2.7s}.data-particles span:nth-child(13){animation-delay:-3.8s}.data-particles span:nth-child(14){animation-delay:-.9s}.data-particles span:nth-child(15){animation-delay:-2.1s}.data-particles span:nth-child(16){animation-delay:-4.2s}.data-particles span:nth-child(17){animation-delay:-3.1s}.data-particles span:nth-child(18){animation-delay:-1.8s}@keyframes particle{0%{left:10%;top:42%;opacity:0}8%{opacity:1}30%{left:35%;top:15%}52%{left:69%;top:13%}75%{left:89%;top:43%}92%{opacity:1}100%{left:10%;top:42%;opacity:0}}
/* ALM interaction */.alm:has(.alm-step:hover) .alm-step:not(:hover){transform:scale(.72);opacity:.36}.alm .alm-step:hover{transform:scale(1.36);box-shadow:0 0 0 7px rgba(104,234,215,.12),0 18px 40px rgba(0,0,0,.35)}
/* Agentic loop: three round capabilities orbit the D365 F&O core at the same velocity. */
.agentic{position:relative;display:block;overflow:hidden}.agentic .core{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%)}.agent-orbit{position:absolute;z-index:2;left:50%;top:50%;width:1px;height:1px;transform-origin:0 0;animation:agent-orbit 26s linear infinite}.agent-orbit:before{content:"";position:absolute;width:560px;height:200px;left:-280px;top:-100px;border:1px solid rgba(104,234,215,.27);border-radius:50%;pointer-events:none}.agent-orbit .agent-lobe{position:absolute;left:280px;top:-55px;width:110px;height:110px;min-height:0;padding:13px;border-radius:50%;display:grid;place-content:center;background:#0b2233;box-shadow:0 0 0 9px rgba(104,234,215,.08),0 0 20px rgba(104,234,215,.24);font-size:10px}.agent-orbit .agent-lobe b{font-size:15px}.agent-orbit .agent-lobe:hover{transform:scale(1.22);box-shadow:0 0 0 12px rgba(104,234,215,.16),0 0 35px rgba(104,234,215,.38)}.agent-orbit .agent-lobe{animation:agent-counter 26s linear infinite}.agent-orbit.two{animation-delay:-8.66s}.agent-orbit.two .agent-lobe{animation-delay:-8.66s}.agent-orbit.three{animation-delay:-17.33s}.agent-orbit.three .agent-lobe{animation-delay:-17.33s}.agentic .agent-link{display:none}@keyframes agent-orbit{from{transform:rotate(-14deg) scaleY(.58)}to{transform:rotate(346deg) scaleY(.58)}}@keyframes agent-counter{from{transform:rotate(14deg) scaleY(1.72)}to{transform:rotate(-346deg) scaleY(1.72)}}
/* Migration workflow */.migration-flow{min-height:355px;justify-content:center;gap:0}.migration-flow:before{display:none}.migration-step{position:relative;z-index:2;display:grid;place-content:center;width:190px;height:125px;padding:18px 28px;text-align:center;background:#0b2233;color:#fff;border:1px solid rgba(104,234,215,.55);clip-path:polygon(0 0,86% 0,100% 50%,86% 100%,0 100%,12% 50%)}.migration-step:first-child{clip-path:polygon(0 0,86% 0,100% 50%,86% 100%,0 100%)}.migration-step b{display:block;color:var(--lime);font-size:18px;margin-bottom:6px}.migration-flow .alm-flow{top:50%}
@media(max-width:700px){.article-hero:before{right:-460px;top:50px}.visual{margin-bottom:-115px}.article-hero{padding-bottom:65px}main{padding-top:155px}.app.cmms small,.app.tpl small{top:calc(100% + 12px);bottom:auto}.agentic{min-height:530px}.agent-orbit:before{width:410px;height:260px;left:-205px;top:-130px}.agent-orbit .agent-lobe{left:205px;top:-48px;width:96px;height:96px;font-size:9px}.migration-flow{min-height:520px;padding:30px}.migration-step{width:190px;height:78px;clip-path:none!important}.migration-flow .alm-flow{left:50%;top:12%;bottom:12%;width:4px;height:auto;background:repeating-linear-gradient(180deg,var(--lime) 0 22px,transparent 22px 44px)}}

/* Let the diagram intentionally cross the hero/content boundary. */
.article-hero{overflow:visible;z-index:1}.article-hero .visual{position:relative;z-index:4}.article-hero + main{position:relative;z-index:2}

/* Decorative hero arcs must never create a horizontal page overflow. */
html,body{width:100%;overflow-x:hidden}


/* Dense, non-linear data traffic: every particle travels only between D365 F&O and one satellite system. */
.data-particles span{left:50%;top:50%;animation-duration:6.5s;animation-timing-function:ease-in-out}.data-particles span:nth-child(7n+1){animation-name:to-crm}.data-particles span:nth-child(7n+2){animation-name:to-hcm}.data-particles span:nth-child(7n+3){animation-name:to-cmms}.data-particles span:nth-child(7n+4){animation-name:to-eqms}.data-particles span:nth-child(7n+5){animation-name:to-lims}.data-particles span:nth-child(7n+6){animation-name:to-tms}.data-particles span:nth-child(7n){animation-name:to-3pl}.data-particles span:nth-child(3n+1){animation-direction:reverse}.data-particles span:nth-child(4n+1){animation-duration:8.2s}.data-particles span:nth-child(5n+2){animation-duration:5.4s}@keyframes to-crm{0%,100%{left:50%;top:50%;opacity:0}10%,90%{opacity:1}26%{left:42%;top:42%}47%{left:31%;top:47%}68%{left:18%;top:43%}}@keyframes to-hcm{0%,100%{left:50%;top:50%;opacity:0}10%,90%{opacity:1}27%{left:44%;top:61%}48%{left:32%;top:69%}70%{left:23%;top:74%}}@keyframes to-cmms{0%,100%{left:50%;top:50%;opacity:0}10%,90%{opacity:1}24%{left:47%;top:36%}48%{left:41%;top:23%}70%{left:37%;top:13%}}@keyframes to-eqms{0%,100%{left:50%;top:50%;opacity:0}10%,90%{opacity:1}27%{left:54%;top:63%}49%{left:61%;top:74%}70%{left:67%;top:84%}}@keyframes to-lims{0%,100%{left:50%;top:50%;opacity:0}10%,90%{opacity:1}26%{left:58%;top:61%}48%{left:69%;top:70%}70%{left:78%;top:75%}}@keyframes to-tms{0%,100%{left:50%;top:50%;opacity:0}10%,90%{opacity:1}25%{left:61%;top:44%}48%{left:73%;top:49%}70%{left:84%;top:43%}}@keyframes to-3pl{0%,100%{left:50%;top:50%;opacity:0}10%,90%{opacity:1}24%{left:54%;top:35%}47%{left:61%;top:22%}70%{left:68%;top:12%}}

/* Keep lower orbital applications above the white content: the entire circle is interactive. */
.article-hero{z-index:3}.article-hero + main{z-index:2}.ecosystem .app{z-index:6;box-shadow:0 0 0 8px rgba(104,234,215,.06),0 0 24px rgba(104,234,215,.22)}.ecosystem .app:hover{z-index:9;box-shadow:0 0 0 12px rgba(104,234,215,.14),0 0 34px rgba(104,234,215,.45)}
/* A moving, open double orbital trail, always below the application bubbles. */
.app-ring{z-index:1;border:0!important;transform:scaleY(.55) rotate(-8deg);background:conic-gradient(from 12deg,transparent 0 12%,rgba(104,234,215,.48) 18% 44%,transparent 54% 100%);-webkit-mask:radial-gradient(transparent 0 61%,#000 62% 64%,transparent 65%);mask:radial-gradient(transparent 0 61%,#000 62% 64%,transparent 65%);animation:orbit-trail 12s linear infinite}.app-ring:after{inset:10px;border:0!important;background:conic-gradient(from 192deg,transparent 0 14%,rgba(201,255,74,.42) 20% 47%,transparent 57% 100%);-webkit-mask:radial-gradient(transparent 0 61%,#000 62% 64%,transparent 65%);mask:radial-gradient(transparent 0 61%,#000 62% 64%,transparent 65%);animation:orbit-trail 9s linear infinite reverse}@keyframes orbit-trail{to{transform:rotate(360deg)}}

/* Single orbital comet trail: one ellipse, half-circumference and no second belt. */
.app-ring{background:conic-gradient(from 18deg,transparent 0 7%,rgba(104,234,215,.12) 12%,rgba(104,234,215,.55) 28%,rgba(104,234,215,.38) 47%,rgba(104,234,215,.05) 57%,transparent 60% 100%)!important;animation:orbit-trail 12s linear infinite}.app-ring:after{display:none!important}

/* Calibrated orbital geometry: the trail crosses the centre of every satellite bubble. */
.app-ring{transform:scaleY(.55)!important;background:conic-gradient(from 18deg,transparent 0 4%,rgba(104,234,215,.10) 8%,rgba(104,234,215,.54) 26%,rgba(104,234,215,.42) 58%,rgba(104,234,215,.08) 77%,transparent 82% 100%)!important}.app.crm{top:24%}.app.hcm{top:60%}.app.cmms{top:15%}.app.eqms{top:64%;bottom:auto}.app.lims{top:60%;bottom:auto}.app.tms{top:24%;bottom:auto}.app.tpl{top:17%}

/* Preserve the ellipse while the comet trail completes its rotation. */
@keyframes orbit-trail{from{transform:scaleY(.55) rotate(0deg)}to{transform:scaleY(.55) rotate(360deg)}}

/* Rotate the open section of the trail itself, independently from the ellipse geometry. */
@property --trail-angle{syntax:"<angle>";inherits:false;initial-value:18deg}.app-ring{--trail-angle:18deg;transform:scaleY(.55)!important;animation:trail-sweep 12s linear infinite!important;background:conic-gradient(from var(--trail-angle),transparent 0 4%,rgba(104,234,215,.10) 8%,rgba(104,234,215,.54) 26%,rgba(104,234,215,.42) 58%,rgba(104,234,215,.08) 77%,transparent 82% 100%)!important}@keyframes trail-sweep{to{--trail-angle:378deg}}
/* Re-synchronised routes from the ERP core to the recalibrated satellite centres. */
@keyframes to-crm{0%,100%{left:50%;top:50%;opacity:0}10%,90%{opacity:1}26%{left:42%;top:42%}47%{left:31%;top:38%}68%{left:18%;top:35%}}@keyframes to-hcm{0%,100%{left:50%;top:50%;opacity:0}10%,90%{opacity:1}27%{left:44%;top:61%}48%{left:32%;top:67%}70%{left:23%;top:71%}}@keyframes to-cmms{0%,100%{left:50%;top:50%;opacity:0}10%,90%{opacity:1}24%{left:47%;top:36%}48%{left:41%;top:29%}70%{left:37%;top:25%}}@keyframes to-eqms{0%,100%{left:50%;top:50%;opacity:0}10%,90%{opacity:1}27%{left:54%;top:63%}49%{left:61%;top:70%}70%{left:67%;top:75%}}@keyframes to-lims{0%,100%{left:50%;top:50%;opacity:0}10%,90%{opacity:1}26%{left:58%;top:61%}48%{left:69%;top:67%}70%{left:78%;top:71%}}@keyframes to-tms{0%,100%{left:50%;top:50%;opacity:0}10%,90%{opacity:1}25%{left:61%;top:42%}48%{left:73%;top:38%}70%{left:84%;top:35%}}@keyframes to-3pl{0%,100%{left:50%;top:50%;opacity:0}10%,90%{opacity:1}24%{left:54%;top:38%}47%{left:61%;top:31%}70%{left:68%;top:28%}}
/* Perspective: close applications grow, distant ones recede. */
.ecosystem .app{--depth:1;transform:scale(var(--depth))}.ecosystem .app:hover{transform:scale(calc(var(--depth) * 1.16))}.ecosystem .app.hcm,.ecosystem .app.eqms,.ecosystem .app.lims{--depth:1.18;z-index:7}.ecosystem .app.crm,.ecosystem .app.tms{--depth:1.07}.ecosystem .app.cmms,.ecosystem .app.tpl{--depth:.84;opacity:.88}

/* Keep EQMS deliveries contained within the enlarged foreground bubble. */
@keyframes to-eqms{0%,100%{left:50%;top:50%;opacity:0}10%,90%{opacity:1}27%{left:54%;top:62%}49%{left:60%;top:68%}70%{left:64%;top:72%}}

/* Agentic insight reuses the orbital ecosystem model. */
.agentic-ecosystem .agent-observe{left:14%;top:24%}.agentic-ecosystem .agent-tools{right:14%;top:24%}.agentic-ecosystem .agent-govern{left:calc(50% - 44px);top:64%}.agentic-ecosystem .agent-govern small{bottom:calc(100% + 12px);top:auto}.agentic-ecosystem .agent-observe{--depth:1.06}.agentic-ecosystem .agent-tools{--depth:1.06}.agentic-ecosystem .agent-govern{--depth:1.2;z-index:7}.agent-data span:nth-child(3n+1){animation-name:to-agent-observe}.agent-data span:nth-child(3n+2){animation-name:to-agent-tools}.agent-data span:nth-child(3n){animation-name:to-agent-govern}@keyframes to-agent-observe{0%,100%{left:50%;top:50%;opacity:0}10%,90%{opacity:1}28%{left:42%;top:42%}50%{left:30%;top:37%}70%{left:18%;top:35%}}@keyframes to-agent-tools{0%,100%{left:50%;top:50%;opacity:0}10%,90%{opacity:1}28%{left:58%;top:42%}50%{left:70%;top:37%}70%{left:82%;top:35%}}@keyframes to-agent-govern{0%,100%{left:50%;top:50%;opacity:0}10%,90%{opacity:1}28%{left:50%;top:57%}50%{left:50%;top:66%}70%{left:50%;top:73%}}@media(max-width:700px){.agentic-ecosystem .agent-observe{left:8%;top:29%}.agentic-ecosystem .agent-tools{right:8%;top:29%}.agentic-ecosystem .agent-govern{top:62%}}

/* IA diagram: keep the orbital model without data particles. */
.agentic-ecosystem .agent-data{display:none}

