/* Industry ecosystem — isolated overrides loaded after the main theme. */
.ecosystem{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(92px,9vw,144px);background:radial-gradient(circle at 22% 40%,rgba(23,118,189,.16),transparent 34%),radial-gradient(circle at 78% 58%,rgba(39,151,218,.1),transparent 38%),#071b31!important;color:#f5f8fc!important}
.ecosystem-grid{position:absolute;z-index:-1;inset:0;opacity:.045;background-image:linear-gradient(rgba(103,186,234,.7) 1px,transparent 1px),linear-gradient(90deg,rgba(103,186,234,.7) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 84%,transparent)}
.ecosystem .shell{position:relative;z-index:1}.ecosystem-heading{max-width:1040px;margin-bottom:clamp(52px,6vw,82px)}
.ecosystem-heading .eyebrow{display:block!important;margin-bottom:22px;color:#32c5ff!important;font-size:clamp(14px,1.05vw,16px)!important;font-weight:650;letter-spacing:.16em}
.ecosystem-heading h2{max-width:1020px;margin:0;color:#f5f8fc!important;font-size:clamp(36px,4.2vw,66px)!important;line-height:1.12;letter-spacing:-.045em;text-wrap:balance}
.ecosystem-heading>p:last-child{max-width:760px;margin:24px 0 0;color:rgba(226,235,245,.72)!important;font-size:clamp(17px,1.4vw,22px)!important;line-height:1.75}
.ecosystem-viewport{position:relative;margin-inline:-22px;padding:18px 22px 28px;overflow:hidden}.ecosystem-viewport:before,.ecosystem-viewport:after{content:"";position:absolute;z-index:5;top:0;bottom:8px;width:34px;pointer-events:none;opacity:0;transition:opacity .2s}.ecosystem-viewport:before{left:0;background:linear-gradient(90deg,#071b31,transparent)}.ecosystem-viewport:after{right:0;background:linear-gradient(-90deg,#071b31,transparent)}
.ecosystem .partner-logos{--ecosystem-orb-x:0px;position:relative;display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:clamp(12px,1.2vw,20px)!important;min-width:0;padding:0!important;border:0!important;overflow:visible!important;background:transparent!important}
.ecosystem-line{position:absolute;z-index:0;inset:50% -18px auto;width:calc(100% + 36px);height:80px;overflow:visible;transform:translateY(-50%);pointer-events:none}.ecosystem-line-base,.ecosystem-line-draw{fill:none;stroke-width:1;vector-effect:non-scaling-stroke}.ecosystem-line-base{stroke:rgba(50,197,255,.22)}.ecosystem-line-draw{stroke:#32c5ff;stroke-dasharray:1;stroke-dashoffset:1}
.ecosystem-line,.ecosystem-orb{display:none!important}
.ecosystem-nodes circle{fill:#32c5ff;stroke:rgba(50,197,255,.35);stroke-width:0;opacity:.2;transform-box:fill-box;transform-origin:center}.ecosystem-nodes circle.is-active{opacity:1;fill:#d9f8ff;stroke:#32c5ff;stroke-width:3}.ecosystem-nodes circle.is-pulsing{animation:ecosystem-node-ring .6s cubic-bezier(.16,1,.3,1)}
.ecosystem-orb{position:absolute;z-index:1;left:0;top:50%;width:7px;height:7px;border-radius:50%;background:#d9f8ff;box-shadow:0 0 0 5px rgba(50,197,255,.12),0 0 18px rgba(50,197,255,.72);opacity:0;transform:translate3d(var(--ecosystem-orb-x),-50%,0);transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .2s;pointer-events:none}.ecosystem.has-active .ecosystem-orb{opacity:1}
.ecosystem .partner-logos>.partner-logo{position:relative;z-index:2;display:flex!important;align-items:center!important;justify-content:center!important;min-width:0;max-width:none;min-height:clamp(136px,10.5vw,176px)!important;padding:clamp(22px,2.1vw,34px)!important;border:1px solid rgba(255,255,255,.65)!important;border-radius:16px!important;outline:0;overflow:hidden;background:rgba(248,251,255,.94)!important;box-shadow:0 15px 34px rgba(0,12,28,.28),inset 0 1px 0 rgba(255,255,255,.8)!important;filter:none;opacity:1;transform:translateZ(0);transition:transform .25s cubic-bezier(.16,1,.3,1),border-color .25s,box-shadow .25s,filter .25s!important;cursor:pointer}
.ecosystem .partner-logo:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(50,197,255,0);pointer-events:none;transition:box-shadow .25s}
.ecosystem .partner-logo img{display:block;width:var(--logo-size,76%)!important;max-width:100%;height:74px!important;object-fit:contain;filter:saturate(.9) contrast(1.04)!important;opacity:1!important;transform:none!important;transition:filter .25s!important}
.ecosystem .partner-logo:nth-of-type(2) img,.ecosystem .partner-logo:nth-of-type(4) img{filter:brightness(0) saturate(100%) invert(12%) sepia(28%) saturate(1560%) hue-rotate(171deg) brightness(88%) contrast(98%)!important}
.ecosystem .partner-logo:is(.is-active,:focus-visible){border-color:rgba(50,197,255,.75)!important;box-shadow:0 18px 38px rgba(0,12,28,.3),0 0 22px rgba(50,197,255,.16),inset 0 1px 0 rgba(255,255,255,.9)!important}.ecosystem .partner-logo:is(.is-active,:focus-visible):after{box-shadow:inset 0 0 0 1px rgba(50,197,255,.32)}.ecosystem .partner-logo:is(.is-active,:focus-visible) img{filter:saturate(1.08) contrast(1.14)!important}.ecosystem.has-active .partner-logo:not(.is-active){filter:brightness(.92)}
.ecosystem .partner-logo:nth-of-type(2):is(.is-active,:focus-visible) img,.ecosystem .partner-logo:nth-of-type(4):is(.is-active,:focus-visible) img{filter:brightness(0) saturate(100%) invert(14%) sepia(38%) saturate(1660%) hue-rotate(171deg) brightness(82%) contrast(103%)!important}
.ecosystem.is-motion-ready:not(.is-entered) .ecosystem-heading{opacity:0}.ecosystem.is-motion-ready:not(.is-entered) .partner-logo{opacity:.42;filter:brightness(.76);transform:translateY(8px)}
.ecosystem.is-entered .ecosystem-heading{animation:ecosystem-heading-in .5s cubic-bezier(.16,1,.3,1) both}.ecosystem.is-entered .ecosystem-line-draw{animation:ecosystem-line-in .9s cubic-bezier(.16,1,.3,1) both}.ecosystem.is-entered .ecosystem-nodes circle{animation:ecosystem-node-in .34s cubic-bezier(.16,1,.3,1) both}.ecosystem.is-entered .ecosystem-nodes circle:nth-child(1){animation-delay:.1s}.ecosystem.is-entered .ecosystem-nodes circle:nth-child(2){animation-delay:.18s}.ecosystem.is-entered .ecosystem-nodes circle:nth-child(3){animation-delay:.26s}.ecosystem.is-entered .ecosystem-nodes circle:nth-child(4){animation-delay:.34s}.ecosystem.is-entered .ecosystem-nodes circle:nth-child(5){animation-delay:.42s}.ecosystem.is-entered .ecosystem-nodes circle:nth-child(6){animation-delay:.5s}
.ecosystem.is-entered .partner-logo{animation:ecosystem-card-in .55s cubic-bezier(.16,1,.3,1) both}.ecosystem.is-entered .partner-logo:nth-of-type(2){animation-delay:.07s}.ecosystem.is-entered .partner-logo:nth-of-type(3){animation-delay:.14s}.ecosystem.is-entered .partner-logo:nth-of-type(4){animation-delay:.21s}.ecosystem.is-entered .partner-logo:nth-of-type(5){animation-delay:.28s}.ecosystem.is-entered .partner-logo:nth-of-type(6){animation-delay:.35s}.ecosystem.is-entered .partner-logo:nth-of-type(7){animation-delay:.42s}
@keyframes ecosystem-heading-in{from{opacity:0}to{opacity:1}}@keyframes ecosystem-line-in{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes ecosystem-node-in{from{opacity:.15;transform:scale(.55)}to{opacity:.72;transform:scale(1)}}@keyframes ecosystem-card-in{from{opacity:.42;filter:brightness(.76);transform:translateY(8px)}to{opacity:1;filter:brightness(1);transform:translateY(0)}}@keyframes ecosystem-node-ring{0%{stroke-width:2;stroke-opacity:.95}100%{stroke-width:16;stroke-opacity:0}}
@media(hover:hover) and (pointer:fine){.ecosystem .partner-logo:hover{transform:translateY(-4px)!important;border-color:rgba(50,197,255,.75)!important;background:rgba(248,251,255,.98)!important;box-shadow:0 20px 40px rgba(0,12,28,.32),0 0 22px rgba(50,197,255,.18)!important}.ecosystem .partner-logo:hover img{filter:saturate(1.08) contrast(1.14)!important;transform:none!important}}
@media(max-width:1199px){.ecosystem-viewport:before,.ecosystem-viewport:after{opacity:1}.ecosystem-viewport{overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:22px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.ecosystem-viewport::-webkit-scrollbar{display:none}.ecosystem .partner-logos{display:flex!important;width:max-content;min-width:100%;gap:16px!important;padding-inline:2px!important}.ecosystem .partner-logo{flex:0 0 calc((100vw - 64px)/3.5);scroll-snap-align:start}}
@media(max-width:767px){.ecosystem{padding-block:76px 88px}.ecosystem-heading{margin-bottom:40px}.ecosystem-heading h2{font-size:clamp(34px,10vw,48px)!important}.ecosystem-heading>p:last-child{font-size:16px!important}.ecosystem-viewport{margin-inline:-14px;padding-inline:14px;scroll-padding-inline:14px}.ecosystem-viewport:before,.ecosystem-viewport:after{width:22px}.ecosystem .partner-logos{gap:12px!important}.ecosystem .partner-logo{flex-basis:calc((100vw - 38px)/1.25);min-height:156px!important;padding:28px!important}.ecosystem .partner-logo img{height:68px!important}}
@media(prefers-reduced-motion:reduce){.ecosystem-heading,.ecosystem .partner-logo,.ecosystem-line-draw,.ecosystem-nodes circle,.ecosystem-orb{animation:none!important;transition:opacity .16s,border-color .16s!important}.ecosystem.is-motion-ready:not(.is-entered) .ecosystem-heading,.ecosystem.is-motion-ready:not(.is-entered) .partner-logo{opacity:.7;filter:none;transform:none}.ecosystem-line-draw{stroke-dashoffset:0!important}.ecosystem .partner-logo:hover{transform:none!important}.ecosystem-orb{display:none}}
/* Partner cards: subtle staggered drop on first viewport entry. */
.ecosystem.is-motion-ready:not(.is-entered) .partner-logo {
  opacity: .18;
  filter: brightness(.88);
  transform: translate3d(0, -14px, 0);
}

.ecosystem.is-entered .partner-logo {
  animation: ecosystem-card-drop .68s cubic-bezier(.16, 1, .3, 1) both;
}

.ecosystem.is-entered .partner-logo:nth-of-type(2) { animation-delay: .08s; }
.ecosystem.is-entered .partner-logo:nth-of-type(3) { animation-delay: .16s; }
.ecosystem.is-entered .partner-logo:nth-of-type(4) { animation-delay: .24s; }
.ecosystem.is-entered .partner-logo:nth-of-type(5) { animation-delay: .32s; }
.ecosystem.is-entered .partner-logo:nth-of-type(6) { animation-delay: .40s; }

@keyframes ecosystem-card-drop {
  from {
    opacity: .18;
    filter: brightness(.88);
    transform: translate3d(0, -14px, 0);
  }
  to {
    opacity: 1;
    filter: brightness(1);
    transform: translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ecosystem.is-motion-ready:not(.is-entered) .partner-logo,
  .ecosystem.is-entered .partner-logo {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    animation: none !important;
  }
}
