.one-ecosystem {
  --oe-paper: #0b1020;
  --oe-ink: #f7f8fc;
  --oe-muted: #aeb8cf;
  --oe-line: #293651;
  --oe-champagne: #91aaff;
  background: radial-gradient(ellipse at 50% 51%, #1a2b474d, transparent 60%), var(--oe-paper);
  color: var(--oe-ink);
  padding: 96px 5.5% 88px;
  font: 400 15px/1.7 'DM Sans', sans-serif;
  scroll-margin-top: 82px;
  overflow: clip;
}
.one-ecosystem *, .one-ecosystem *::before, .one-ecosystem *::after { box-sizing: border-box; }
.one-ecosystem h2, .one-ecosystem h3, .one-ecosystem p { margin: 0; }
.one-ecosystem button { font: inherit; cursor: pointer; }
.one-ecosystem :focus-visible { outline: 2px solid var(--oe-champagne); outline-offset: 6px; }
.oe-system-container { max-width: 1200px; margin: 0 auto; }
.oe-system-heading { display: grid; grid-template-columns: 1.2fr 1fr; gap: 65px; align-items: end; }
.oe-system-eyebrow { color: #a8bcff; font-size: 10px; font-weight: 500; letter-spacing: .14em; margin-bottom: 22px !important; }
.oe-system-heading h2 { font: 600 clamp(36px, 4.25vw, 61px)/1.13 'Manrope', sans-serif; letter-spacing: -.055em; }
.oe-system-heading h2 span { color: #a6baff; }
.oe-system-introduction { color: var(--oe-muted); font-size: 15px; line-height: 1.9; max-width: 440px; padding-bottom: 5px; }
.oe-system-stage { position: relative; width: 100%; height: 440px; margin-top: 40px; isolation: isolate; }
.oe-system-light { position: absolute; inset: -4% 16% 0 11%; z-index: -2; background: radial-gradient(ellipse at 49% 50%, #87aeff17 0, #3157ff08 30%, transparent 65%); pointer-events: none; }
/* A stationary optical lens gives the connections a physical plane. */
.oe-system-lens { position: absolute; left: 50%; top: 50%; width: 54%; height: 230px; transform: translate(-50%, -50%) rotate(-16deg); border-radius: 50%; border: 1px solid #dce9ff26; background: linear-gradient(175deg, #bcd7ff08, #15213c00 42%, #b5cfff06 88%, #eaf2ff14); box-shadow: inset 0 1px 0 #eff6ff1f, 0 14px 0 -13px #b8d2ff33, 0 15px 35px #03081733; pointer-events: none; z-index: -1; }
.oe-system-lens > i { position: absolute; inset: 20px 29px; border: 1px solid #bed3ff12; border-radius: 50%; }
.oe-system-lens > i:nth-child(2) { inset: 42px 62px; border-color: #bed3ff0d; }
.oe-system-lens > span { position: absolute; left: 17%; right: 17%; top: 50%; height: 1px; background: linear-gradient(90deg, transparent, #d6e7ff35, transparent); }
.oe-system-links { position: absolute; width: 100%; height: 100%; inset: 0; overflow: visible; pointer-events: none; z-index: 0; }
.oe-system-links--mobile { display: none; }
.oe-system-link { fill: none; stroke: #6377988c; stroke-width: 1; vector-effect: non-scaling-stroke; }
.oe-system-signal { fill: #f7f8fc; stroke: #8facff; stroke-width: .7; filter: drop-shadow(0 0 4px #3157ff) drop-shadow(0 0 10px #80a7ff); }
.oe-system-node { position: absolute; transform: translate(-50%, -50%); width: 15%; min-height: 75px; display: flex; align-items: center; gap: 12px; padding: 14px 15px; background: linear-gradient(135deg, #dce9ff15, #c2d5ff05 43%, #dae6ff0a), #10182be6; border: 1px solid #c7d9f72b; border-top-color: #dce9ff66; border-radius: 16px; box-shadow: 0 12px 26px #0206124d, inset 0 1px 0 #eff5ff14, inset 1px 0 0 #e4edff0a; transition: border-color .6s, box-shadow .6s, color .6s; z-index: 2; backdrop-filter: blur(10px); }
.oe-system-node > svg { width: 22px; height: 22px; flex-shrink: 0; fill: none; stroke: #9db5ff; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.oe-system-node strong { display: block; font: 550 14px/1.5 'Manrope', sans-serif; letter-spacing: -.025em; }
.oe-system-node div > span { display: block; color: #aeb8cf; font-size: 10px; line-height: 1.55; margin-top: 3px; }
.oe-system-node--mail { left: 13%; top: 32.5%; }
.oe-system-node--chat { left: 13%; top: 67.5%; }
.oe-system-node--crm { left: 30.833%; top: 14.77%; }
.oe-system-node--agenda { left: 30.833%; top: 85.23%; }
.oe-system-node--documents { left: 69.167%; top: 14.77%; }
.oe-system-node--projects { left: 69.167%; top: 85.23%; }
.oe-system-center { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 152px; height: 152px; z-index: 3; text-align: center; }
.oe-system-center::before { content: ''; position: absolute; inset: -14px; border: 1px solid #bcd2ff29; border-top-color: #e5efff6b; border-bottom-color: #7899ff12; border-radius: 50%; box-shadow: 0 0 0 7px #d8e6ff03; pointer-events: none; }
.oe-system-orb { position: relative; width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 50%; background: radial-gradient(ellipse at 31% 15%, #fff 0, #e9f2ffde 19%, transparent 53%), radial-gradient(ellipse at 76% 84%, #486ce9 0, #9bb7ed99 31%, transparent 62%), linear-gradient(160deg, #cad8eb 5%, #edf4ff 45%, #b2c8f0 65%, #597fda); border: 1px solid #eef6ffc7; box-shadow: inset 2px 3px 8px #fff, inset -2px -5px 9px #3e5d9454, 0 18px 35px #02071980, 0 0 42px #88adff1a; }
.oe-system-orb::before { content: ''; position: absolute; inset: 6px; border-radius: 50%; border-top: 1px solid #fff; border-right: 1px solid #e7f1ff66; box-shadow: inset 0 10px 19px #fff3; pointer-events: none; }
.oe-system-orb::after { content: ''; position: absolute; width: 78%; height: 13px; left: 11%; bottom: -22px; background: #7f9bcf21; border-radius: 50%; filter: blur(9px); z-index: -1; }
.oe-system-orb > span { position: relative; font: 550 42px/1.1 'Manrope', sans-serif; letter-spacing: -.085em; color: #111b32; text-shadow: 0 1px 1px #fff7; }
.oe-system-orb small { position: relative; font-size: 6.8px; letter-spacing: .13em; line-height: 1.6; color: #2c477f; margin-top: 8px; }
.oe-system-context { position: absolute; top: calc(100% + 28px); left: 50%; transform: translateX(-50%); width: max-content; max-width: 260px; color: #a8bcff; background: #0b1020f2; border-radius: 30px; padding: 5px 11px; font-size: 10px; line-height: 1.5; }
.oe-system-outcome { position: absolute; left: 74.25%; top: 50%; transform: translateY(-50%); width: 24%; padding: 22px 20px 20px; border-left: 1px solid #3d589a; z-index: 2; background: linear-gradient(90deg, #0b1020f5, #0b102000); }
.oe-system-outcome-label { display: block; color: #a8bcff; font-size: 8px; letter-spacing: .1em; margin-bottom: 12px; }
.oe-system-outcome h3 { font: 550 27px/1.25 'Manrope', sans-serif; letter-spacing: -.045em; }
.oe-system-outcome > p { font-size: 12px; color: #aeb8cf; line-height: 1.8; margin-top: 15px; min-height: 43px; }
.oe-system-validation { display: flex; gap: 6px; align-items: flex-start; font-size: 9px; color: #aeb8cf; line-height: 1.6; margin-top: 18px; }
.oe-system-validation > svg { width: 13px; height: 13px; margin-top: 1px; flex-shrink: 0; fill: none; stroke: #9ab3ff; stroke-width: 1.1; stroke-linecap: round; }
.one-ecosystem[data-oe-step="0"] .oe-system-node--mail,
.one-ecosystem[data-oe-step="1"] .oe-system-node--crm,
.one-ecosystem[data-oe-step="1"] .oe-system-node--documents { border-color: #bfd3ff91; border-top-color: #eff5ffe6; box-shadow: 0 12px 26px #02071666, 0 0 24px #91b0ff0d, inset 0 1px 0 #f0f5ff26; }
.one-ecosystem[data-oe-step="0"] .oe-system-path--mail,
.one-ecosystem[data-oe-step="1"] .oe-system-path--context,
.one-ecosystem[data-oe-step="2"] .oe-system-path--action { stroke: #b1c9ff; stroke-width: 1.4; }
.one-ecosystem[data-oe-step="2"] .oe-system-outcome { border-left-color: #3157ff; }
.one-ecosystem[data-oe-step="2"] .oe-system-outcome > p { color: #f7f8fc; }
.oe-system-controls { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 48px; border-top: 1px solid var(--oe-line); border-bottom: 1px solid var(--oe-line); gap: 36px; }
.oe-system-controls > button { position: relative; display: flex; align-items: center; gap: 17px; text-align: left; color: #aeb8cf; border: 0; padding: 24px 0; background: transparent; min-height: 78px; }
.oe-system-controls > button > span { font-size: 10px; color: #a8bcff; letter-spacing: .06em; }
.oe-system-controls strong { font: 500 21px/1.4 'Manrope', sans-serif; letter-spacing: -.035em; }
.oe-system-controls i { font-style: normal; font-size: 20px; margin-left: auto; color: #91a3c7; }
.oe-system-controls > button::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: #3157ff; transform: scaleX(0); transform-origin: left; transition: transform .3s; }
.oe-system-controls > button[aria-pressed="true"] { color: var(--oe-ink); }
.oe-system-controls > button[aria-pressed="true"]::after { transform: scaleX(1); }
.oe-system-controls > button[aria-pressed="true"] i { color: var(--oe-champagne); }
.oe-system-controls > button:hover { color: var(--oe-ink); }
.oe-system-explanation-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 45px; padding-top: 25px; }
.oe-system-explanation { font-size: 14px; line-height: 1.85; color: var(--oe-muted); max-width: 750px; min-height: 52px; }
.oe-system-replay { flex-shrink: 0; display: inline-flex; align-items: center; gap: 8px; min-height: 34px; color: #aeb8cf; border: 0; background: none; padding: 3px 0; font-size: 10px !important; }
.oe-system-replay > span { font-size: 18px; }
.oe-system-replay:hover { color: var(--oe-ink); }
@media (max-width: 1050px) and (min-width: 721px) {
  .one-ecosystem { padding-left: 5%; padding-right: 5%; }
  .oe-system-heading { gap: 45px; }
  .oe-system-introduction { font-size: 14px; }
  .oe-system-node { width: 17%; gap: 8px; padding: 12px 10px; }
  .oe-system-node > svg { width: 18px; height: 18px; }
  .oe-system-node strong { font-size: 12px; }
  .oe-system-node div > span { font-size: 9px; }
  .oe-system-center { width: 130px; height: 130px; }
  .oe-system-orb > span { font-size: 34px; }
  .oe-system-orb small { font-size: 6px; }
  .oe-system-outcome { padding-left: 17px; padding-right: 0; width: 24%; }
  .oe-system-outcome h3 { font-size: 23px; }
  .oe-system-outcome > p { font-size: 11px; }
  .oe-system-validation { font-size: 8px; }
  .oe-system-controls { gap: 24px; }
  .oe-system-controls strong { font-size: 19px; }
}
@media (max-width: 720px) {
  .one-ecosystem { padding: 65px 24px 60px; scroll-margin-top: 74px; }
  .oe-system-heading { display: block; }
  .oe-system-eyebrow { font-size: 9px; margin-bottom: 20px !important; }
  .oe-system-heading h2 { font-size: clamp(34px, 8vw, 48px); line-height: 1.15; }
  .oe-system-introduction { font-size: 14px; line-height: 1.85; max-width: 500px; padding: 0; margin-top: 23px !important; }
  .oe-system-stage { height: 590px; max-height: 640px; max-width: 470px; margin: 25px auto 0; }
  .oe-system-light { inset: 8% -10% 10%; background: radial-gradient(ellipse at 50% 36%, #547dff1c 0, #3157ff17 28%, transparent 61%); }
  .oe-system-lens { top: 39%; width: 93%; height: 305px; transform: translate(-50%, -50%) rotate(-16deg); opacity: .7; }
  .oe-system-lens > i { inset: 25px 17px; }
  .oe-system-lens > i:nth-child(2) { inset: 52px 37px; }
  .oe-system-links--desktop { display: none; }
  .oe-system-links--mobile { display: block; }
  .oe-system-link { stroke: #6377988c; }
  .oe-system-node { width: 28%; max-width: 130px; min-height: 76px; height: auto; padding: 11px 7px; gap: 6px; flex-direction: column; align-items: center; text-align: center; border-radius: 11px; }
  .oe-system-node > svg { width: 18px; height: 18px; }
  .oe-system-node strong { font-size: 12px; line-height: 1.4; }
  .oe-system-node div > span { font-size: 9.5px; line-height: 1.45; margin-top: 3px; }
  .oe-system-node--mail { left: 15%; top: 13.05%; }
  .oe-system-node--chat { left: 15%; top: 38.98%; }
  .oe-system-node--crm { left: 15%; top: 65.08%; }
  .oe-system-node--agenda { left: 85%; top: 13.05%; }
  .oe-system-node--documents { left: 85%; top: 38.98%; }
  .oe-system-node--projects { left: 85%; top: 65.08%; }
  .oe-system-center { left: 50%; top: 38.98%; width: 34%; height: auto; aspect-ratio: 1; }
  .oe-system-center::before { inset: -8px; box-shadow: 0 0 0 9px #3157ff0c; }
  .oe-system-orb { box-shadow: inset 2px 3px 8px #fff, inset -2px -5px 9px #3e5d9454, 0 14px 28px #02071980, 0 0 35px #88adff1a; }
  .oe-system-orb > span { font-size: 32px; }
  .oe-system-orb small { font-size: 5.5px; letter-spacing: .1em; margin-top: 6px; }
  .oe-system-context { top: calc(100% + 23px); max-width: 185px; font-size: 9px; padding: 5px 8px; }
  .oe-system-outcome { left: 50%; top: 77%; transform: translateX(-50%); width: 86%; max-width: 310px; padding: 15px 0 0; text-align: center; border: 0; border-top: 1px solid #3d589a; background: linear-gradient(0deg, #0b1020, #0b1020f2); }
  .oe-system-outcome-label { font-size: 7px; margin-bottom: 8px; }
  .oe-system-outcome h3 { font-size: 22px; line-height: 1.3; }
  .oe-system-outcome h3 br { display: none; }
  .oe-system-outcome h3 br::after { content: ' '; }
  .oe-system-outcome > p { font-size: 11px; line-height: 1.7; min-height: 38px; margin-top: 9px; }
  .oe-system-validation { font-size: 8px; margin-top: 10px; justify-content: center; }
  .oe-system-validation > svg { width: 12px; height: 12px; margin-top: 0; }
  .one-ecosystem[data-oe-step="2"] .oe-system-outcome { border-top-color: #3157ff; }
  .oe-system-controls { gap: 16px; margin-top: 52px; }
  .oe-system-controls > button { min-height: 84px; padding: 17px 0; flex-wrap: wrap; column-gap: 6px; row-gap: 7px; align-content: center; }
  .oe-system-controls > button > span { font-size: 9px; width: calc(100% - 22px); }
  .oe-system-controls strong { font-size: clamp(13px, 3.5vw, 18px); order: 3; width: 100%; }
  .oe-system-controls i { font-size: 15px; }
  .oe-system-explanation-row { display: block; padding-top: 21px; }
  .oe-system-explanation { font-size: 12px; line-height: 1.85; min-height: 66px; }
  .oe-system-replay { margin-top: 9px; min-height: 38px; }
}
@media (max-width: 370px) {
  .one-ecosystem { padding-left: 20px; padding-right: 20px; }
  .oe-system-orb > span { font-size: 29px; }
  .oe-system-node strong { font-size: 11px; }
  .oe-system-node div > span { font-size: 9px; }
  .oe-system-controls { gap: 11px; }
  .oe-system-outcome h3 { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .one-ecosystem *, .one-ecosystem *::before, .one-ecosystem *::after { animation: none !important; transition: none !important; }
  .oe-system-signal { display: none; }
}
