/* Ecosystem: three linked nodes; the line draws in when the block enters (core reveal adds .is-in). */
.sdo-w--ecosystem .sdo-eco__mottowrap{position:relative;margin:clamp(28px,5vw,48px) 0 0;padding-top:28px}
.sdo-w--ecosystem .sdo-eco__wave{--wm:150px;position:absolute;top:0;inset-inline-start:0}
.sdo-w--ecosystem .sdo-eco__motto{margin:0;font-family:var(--sdo-head-ff);text-wrap:balance;font-size:clamp(1.35rem,3.4vw,2.4rem);font-weight:600;line-height:1.5;color:var(--sdo-wine)}
.sdo-tone--dark .sdo-eco__motto{color:var(--sdo-sand)}
.sdo-w--ecosystem .sdo-eco{position:relative;list-style:none;margin:clamp(36px,6vw,64px) 0 0;padding:0;display:grid;gap:28px}
.sdo-w--ecosystem .sdo-eco::before,.sdo-w--ecosystem .sdo-eco::after{content:"";position:absolute;inset-inline-start:22.5px;top:24px;bottom:24px;width:1px;background:var(--sdo-line)}
.sdo-w--ecosystem .sdo-eco::after{width:2px;inset-inline-start:22px;background:var(--sdo-sand);transform:scaleY(0);transform-origin:top;transition:transform 1.8s var(--sdo-ease) .2s}
.sdo-w--ecosystem .sdo-eco.is-in::after{transform:scaleY(1)}
.sdo-w--ecosystem .sdo-eco__node{position:relative;padding-inline-start:68px;opacity:0;transform:translate3d(0,18px,0);transition:opacity .9s var(--sdo-ease),transform 1s var(--sdo-ease);transition-delay:calc(.25s + var(--i) * .35s)}
.sdo-w--ecosystem .sdo-eco.is-in .sdo-eco__node{opacity:1;transform:none}
.sdo-w--ecosystem .sdo-eco__dot{position:absolute;inset-inline-start:0;top:0;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;font-size:21px;color:var(--sdo-accent);background:var(--sdo-surface,#fff);border:1px solid var(--sdo-sand);z-index:1}
.sdo-w--ecosystem .sdo-eco__role{display:block;font-size:.85rem;color:var(--sdo-sand-deep)}
.sdo-tone--dark .sdo-eco__role{color:var(--sdo-sand)}
.sdo-w--ecosystem .sdo-eco__node h3{margin:6px 0 6px;font-size:clamp(1.25rem,2.4vw,1.7rem);font-weight:600;color:var(--sdo-ink)}
.sdo-w--ecosystem .sdo-eco__node p{margin:0;color:var(--sdo-muted);line-height:1.85}
.sdo-w--ecosystem .is-focus{padding:24px 28px;padding-inline-start:68px;border-radius:22px;background:var(--sdo-wine);--sdo-ink:#fff;--sdo-muted:color-mix(in srgb,var(--sdo-ivory) 82%,transparent)}
.sdo-w--ecosystem .is-focus .sdo-eco__role{color:var(--sdo-sand)}
.sdo-w--ecosystem .is-focus .sdo-eco__dot{inset-inline-start:12px;top:22px;background:var(--sdo-wine);border-color:var(--sdo-sand);color:var(--sdo-sand)}
@media(min-width:900px){
	.sdo-w--ecosystem .sdo-eco{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding-top:72px}
	.sdo-w--ecosystem .sdo-eco::before,.sdo-w--ecosystem .sdo-eco::after{inset-inline:23px;top:23px;bottom:auto;width:auto;height:1px}
	.sdo-w--ecosystem .sdo-eco::after{height:2px;top:22.5px;transform:scaleX(0);transform-origin:right center}
	html:not([dir=rtl]) .sdo-w--ecosystem .sdo-eco::after{transform-origin:left center}
	.sdo-w--ecosystem .sdo-eco.is-in::after{transform:scaleX(1)}
	.sdo-w--ecosystem .sdo-eco__node{padding-inline-start:0;padding-top:0}
	.sdo-w--ecosystem .sdo-eco__dot{top:-72px}
	.sdo-w--ecosystem .is-focus{padding:28px}
	.sdo-w--ecosystem .is-focus .sdo-eco__dot{top:-72px;inset-inline-start:0}
}
.sdo-editor .sdo-w--ecosystem .sdo-eco__node{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.sdo-w--ecosystem .sdo-eco__node{opacity:1;transform:none;transition:none}.sdo-w--ecosystem .sdo-eco::after{transform:none;transition:none}}
.sdo-w--ecosystem .sdo-eco__node h3{font-family:var(--sdo-head-ff)}
