.ecs { --ecs-bg:#fff; --ecs-architecture:#e2e8f0; --ecs-orange:#a34f00; margin:0; color:var(--ecs-orange); background:var(--ecs-bg); overflow:hidden; }
.ecs-art { max-width:1774px; margin:auto; }
.ecs-svg { display:block; width:100%; height:auto; fill:none; stroke:var(--ecs-orange); stroke-width:.85; stroke-linecap:round; stroke-linejoin:round; }
.ecs-svg :is(path,rect,circle,line,polyline,polygon) { vector-effect:non-scaling-stroke; }
.ecs .ecs-architecture { fill:var(--ecs-architecture); stroke:var(--ecs-architecture); stroke-width:2; }
.ecs .ecs-architecture path { fill:none; }
.ecs .ecs-architecture .ecs-groove,.ecs .ecs-cornice { stroke:var(--ecs-bg); fill:var(--ecs-bg); stroke-width:2; }
.ecs .ecs-pillar-motion { fill:none; stroke:var(--ecs-orange); stroke-width:.65; }
.ecs .ecs-pillar-line { animation:ecs-pillar var(--ecs-duration,18s) linear var(--ecs-delay,0s) infinite var(--ecs-direction,normal); }
.ecs .ecs-wire { opacity:.52; }
.ecs .ecs-signal { stroke-dasharray:5 95; stroke-dashoffset:0; animation:ecs-flow var(--ecs-duration,18s) linear var(--ecs-delay,0s) infinite; }
.ecs .ecs-outline { opacity:.9; }
.ecs .ecs-trace { stroke-dasharray:12 160; stroke-dashoffset:0; animation:ecs-trace var(--ecs-duration,26s) linear var(--ecs-delay,0s) infinite; }
.ecs .ecs-text-ring { animation:ecs-turn 55s linear infinite; }
.ecs .ecs-network { animation:ecs-turn 45s linear infinite reverse; }
.ecs .ecs-foliage { transform-origin:0 -52px; animation:ecs-sway 10s ease-in-out -4s infinite alternate; }
.ecs .ecs-orbit-text { fill:var(--ecs-orange); stroke:none; font-family:Lato,sans-serif; font-size:9px; letter-spacing:2px; }
.ecs .ecs-label { fill:var(--ecs-orange); stroke:none; text-anchor:middle; font-family:Lato,sans-serif; font-size:16px; }
.ecs .ecs-junctions circle { fill:var(--ecs-bg); }
.ecs .ecs-controls { display:flex; align-items:center; justify-content:space-between; gap:1rem; max-width:1240px; margin:auto; padding:0 24px 24px; color:#e0d6c8; font-family:Lato,sans-serif; font-size:.875rem; }
.ecs .ecs-pause { font:inherit; color:#f5be94; border:1px solid #8b5b36; border-radius:4px; background:transparent; padding:.45rem .75rem; margin:0; line-height:1.5; min-height:36px; text-transform:none; letter-spacing:0; }
.ecs .ecs-pause:focus-visible { outline:2px solid var(--ecs-orange); outline-offset:4px; }
.ecs .ecs-svg--m { display:none; }
.ecs:is(.ecs-user-paused,.ecs-offscreen,.ecs-hidden) * { animation-play-state:paused !important; }
@keyframes ecs-pillar { to { transform:translateY(var(--ecs-travel,450px)); } }
@keyframes ecs-flow { to { stroke-dashoffset:-100; } }
@keyframes ecs-trace { to { stroke-dashoffset:-172; } }
@keyframes ecs-turn { to { transform:rotate(360deg); } }
@keyframes ecs-sway { from { transform:rotate(-.8deg); } to { transform:rotate(.8deg); } }
@media(max-width:549px) { .ecs .ecs-svg--d { display:none; } .ecs .ecs-svg--m { display:block; } .ecs .ecs-controls { padding:12px 20px 24px; align-items:flex-start; } }
@media(prefers-reduced-motion:reduce) { .ecs * { animation:none !important; } .ecs .ecs-signal { display:none; } .ecs .ecs-pause { display:none; } }
@media(max-width:549px) { .ecs .ecs-label { font-size:24px; } .ecs .ecs-orbit-text { font-size:11px; } }

.ecom-connected-scene-section { background:#fff; }
.ecs-section-heading { padding:64px 24px 0; margin:auto; max-width:960px; font-family:Lato,sans-serif; text-align:center; }
.ecs-section-heading h2 { color:#0f172a; font-size:clamp(1.75rem,1.4rem + 1.5vw,2.75rem); line-height:1.18; font-weight:700; letter-spacing:-.025em; margin:0 0 1.5rem; text-wrap:balance; }
.ecs-section-heading p { color:#74839b; font-size:clamp(1rem,.95rem + .2vw,1.125rem); line-height:1.6; margin:0; }
@media(max-width:549px) { .ecs-section-heading { padding:40px 20px 8px; } .ecs-section-heading h2 { font-size:1.75rem; } .ecs-section-heading p { font-size:1rem; } }

.ecs .ecs-pillar-motion { stroke:#f08a00; }
.ecs .ecs-signal,.ecs .ecs-trace { stroke:#f08a00; }
