.ecos:where(.astro-7b5z7ibz){position:relative;isolation:isolate;overflow:hidden;padding:96px 0 120px;background:linear-gradient(#fff,#f2f6fc 45%,#fff)}[data-theme=dark] .ecos:where(.astro-7b5z7ibz){background:linear-gradient(#0b0e14,#0d1524 45%,#0b0e14)}.ecos__inner:where(.astro-7b5z7ibz){position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:0 var(--container-padding)}.ecos__bg:where(.astro-7b5z7ibz){position:absolute;inset:0;z-index:1;pointer-events:none}.ecos__blob:where(.astro-7b5z7ibz){position:absolute;border-radius:50%;filter:blur(60px);opacity:.45}.ecos__blob--1:where(.astro-7b5z7ibz){width:480px;height:480px;top:-120px;left:-100px;background:radial-gradient(circle,#14b8a659,#0000 65%);animation:26s ease-in-out infinite alternate ecos-blob-drift}.ecos__blob--2:where(.astro-7b5z7ibz){width:520px;height:520px;top:20%;right:-140px;background:radial-gradient(circle,#3b82f64d,#0000 65%);animation:32s ease-in-out infinite alternate-reverse ecos-blob-drift}.ecos__blob--3:where(.astro-7b5z7ibz){width:440px;height:440px;bottom:-160px;left:30%;background:radial-gradient(circle,#ec489938,#0000 65%);animation:38s ease-in-out infinite alternate ecos-blob-drift}@keyframes ecos-blob-drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(50px,-36px,0) scale(1.1)}}.ecos__dots:where(.astro-7b5z7ibz){position:absolute;inset:0;background-image:radial-gradient(var(--color-border) 1px,transparent 1px);background-size:28px 28px;opacity:.55;-webkit-mask-image:radial-gradient(75% 65%,#000 20%,#0000 78%);mask-image:radial-gradient(75% 65%,#000 20%,#0000 78%)}[data-theme=dark] .ecos__dots:where(.astro-7b5z7ibz){background-image:radial-gradient(#ffffff24 1px,#0000 1px);opacity:.5}.ecos__stage:where(.astro-7b5z7ibz){position:relative;min-width:1080px;height:920px;margin:64px auto 0}.ecos__connectors:where(.astro-7b5z7ibz){position:absolute;inset:0;width:100%;height:100%;z-index:1}.ecos__conn:where(.astro-7b5z7ibz){transition:opacity .4s}.ecos__conn-base:where(.astro-7b5z7ibz){fill:none;stroke:var(--accent);stroke-width:1px;stroke-linecap:round;opacity:.14;animation:4.5s ease-in-out infinite ecos-conn-pulse;animation-delay:var(--delay)}.ecos__conn-glow:where(.astro-7b5z7ibz){fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;opacity:.08;filter:blur(2px);animation:4.5s ease-in-out infinite ecos-conn-pulse;animation-delay:var(--delay)}.ecos__conn-flow:where(.astro-7b5z7ibz){fill:none;stroke-width:1.2px;stroke-linecap:round;stroke-dasharray:3 9;opacity:.85;animation:3.6s linear infinite ecos-conn-flow;animation-delay:calc(var(--delay) * -1)}@keyframes ecos-conn-pulse{0%,to{opacity:.1}50%{opacity:.32}}@keyframes ecos-conn-flow{to{stroke-dashoffset:-72px}}.ecos__stage:where(.astro-7b5z7ibz)[data-hover] .ecos__conn:where(.astro-7b5z7ibz){opacity:.12}.ecos__stage:where(.astro-7b5z7ibz)[data-hover] .ecos__conn:where(.astro-7b5z7ibz)[data-conn]{opacity:1}.ecos__stage:where(.astro-7b5z7ibz)[data-hover] .ecos__conn:where(.astro-7b5z7ibz)[data-conn] .ecos__conn-base:where(.astro-7b5z7ibz){opacity:.5}.ecos__stage:where(.astro-7b5z7ibz)[data-hover] .ecos__conn:where(.astro-7b5z7ibz)[data-conn] .ecos__conn-glow:where(.astro-7b5z7ibz){opacity:.5}.ecos__core:where(.astro-7b5z7ibz){position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;width:280px;z-index:2;pointer-events:none}.ecos__core-logo:where(.astro-7b5z7ibz){position:relative;width:116px;height:auto;object-fit:contain;filter:drop-shadow(0 4px 18px #0da19859)}[data-theme=dark] .ecos__core-logo:where(.astro-7b5z7ibz){filter:invert() drop-shadow(0 4px 18px #0da19859)}.ecos__portal:where(.astro-7b5z7ibz){position:absolute;left:var(--x);top:var(--y);width:300px;transform:translate(-50%,-50%);z-index:3;border-radius:28px;padding:24px 26px 20px;background:#fff;border:1px solid var(--color-border);box-shadow:0 16px 40px #02061712;cursor:pointer;outline:none;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s,opacity .35s}[data-theme=dark] .ecos__portal:where(.astro-7b5z7ibz){background:#0e1526e6;border-color:#ffffff1a;box-shadow:0 16px 40px #02061780}.ecos__portal:where(.astro-7b5z7ibz):before{content:"";position:absolute;inset:0;border-radius:28px;padding:1.5px;background:linear-gradient(135deg,var(--accent),#fff6 45%,var(--accent));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;opacity:0;transition:opacity .35s;pointer-events:none}[data-theme=dark] .ecos__portal:where(.astro-7b5z7ibz):before{background:linear-gradient(135deg,var(--accent),#ffffff26 45%,var(--accent))}.ecos__portal:where(.astro-7b5z7ibz):hover,.ecos__portal:where(.astro-7b5z7ibz):focus-visible,.ecos__portal:where(.astro-7b5z7ibz).is-expanded{transform:translate(-50%,-50%) scale(1.03) translateY(-6px);box-shadow:0 28px 64px #0206171f,0 0 44px color-mix(in srgb,var(--accent) 20%,transparent)}[data-theme=dark] .ecos__portal:where(.astro-7b5z7ibz):hover,[data-theme=dark] .ecos__portal:where(.astro-7b5z7ibz):focus-visible,[data-theme=dark] .ecos__portal:where(.astro-7b5z7ibz).is-expanded{box-shadow:0 28px 64px #0206178c,0 0 44px color-mix(in srgb,var(--accent) 22%,transparent)}.ecos__portal:where(.astro-7b5z7ibz):hover:before,.ecos__portal:where(.astro-7b5z7ibz):focus-visible:before,.ecos__portal:where(.astro-7b5z7ibz).is-expanded:before{opacity:1}.ecos__stage:where(.astro-7b5z7ibz)[data-hover] .ecos__portal:where(.astro-7b5z7ibz){opacity:.45}.ecos__stage:where(.astro-7b5z7ibz)[data-hover] .ecos__portal:where(.astro-7b5z7ibz)[data-portal]{opacity:1}.ecos__portal-icon:where(.astro-7b5z7ibz){display:grid;place-items:center;width:52px;height:52px;margin-bottom:16px;border-radius:16px;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);transition:transform .45s cubic-bezier(.22,1,.36,1)}[data-theme=dark] .ecos__portal-icon:where(.astro-7b5z7ibz){background:color-mix(in srgb,var(--accent) 18%,transparent)}.ecos__portal:where(.astro-7b5z7ibz):hover .ecos__portal-icon:where(.astro-7b5z7ibz),.ecos__portal:where(.astro-7b5z7ibz):focus-visible .ecos__portal-icon:where(.astro-7b5z7ibz){transform:rotate(-5deg) scale(1.06)}.ecos__portal-title:where(.astro-7b5z7ibz){margin:0 0 6px;font-size:17px;font-weight:700;color:var(--color-text)}[data-theme=dark] .ecos__portal-title:where(.astro-7b5z7ibz){color:#fff}.ecos__portal-desc:where(.astro-7b5z7ibz){margin:0 0 14px;font-size:13px;font-weight:500;line-height:1.55;color:var(--color-text-secondary)}[data-theme=dark] .ecos__portal-desc:where(.astro-7b5z7ibz){color:#ffffffa8}.ecos__portal-features:where(.astro-7b5z7ibz){display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}.ecos__portal-feature:where(.astro-7b5z7ibz){padding:4px 10px;font-size:11.5px;font-weight:600;border-radius:999px;color:color-mix(in srgb,var(--accent) 70%,var(--color-text));background:color-mix(in srgb,var(--accent) 10%,transparent);transition:opacity .3s,max-height .3s}[data-theme=dark] .ecos__portal-feature:where(.astro-7b5z7ibz){color:color-mix(in srgb,var(--accent) 75%,#fff);background:color-mix(in srgb,var(--accent) 16%,transparent)}.ecos__portal-feature:where(.astro-7b5z7ibz)[data-extra=true]{display:none}.ecos__portal:where(.astro-7b5z7ibz).is-expanded .ecos__portal-feature:where(.astro-7b5z7ibz)[data-extra=true]{display:inline-block}.ecos__portal-link:where(.astro-7b5z7ibz){display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:13px;font-weight:700;color:var(--accent);text-decoration:none;transition:gap .25s}.ecos__portal-link:where(.astro-7b5z7ibz) svg:where(.astro-7b5z7ibz){transition:transform .25s}.ecos__portal-link:where(.astro-7b5z7ibz):hover svg:where(.astro-7b5z7ibz){transform:translate(3px)}@media(width>=1200px){.ecos__portal:where(.astro-7b5z7ibz){width:320px}.ecos__core:where(.astro-7b5z7ibz){width:300px}}@media(width<=1023px){.ecos__stage:where(.astro-7b5z7ibz){min-width:0;height:auto;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:22px;padding-top:12px}.ecos__connectors:where(.astro-7b5z7ibz){display:none}.ecos__core:where(.astro-7b5z7ibz){position:static;transform:none;width:min(320px,100%);margin-bottom:8px}.ecos__portal:where(.astro-7b5z7ibz){position:static;transform:none;width:min(360px,100%)}.ecos__portal:where(.astro-7b5z7ibz):hover,.ecos__portal:where(.astro-7b5z7ibz):focus-visible,.ecos__portal:where(.astro-7b5z7ibz).is-expanded{transform:none}.ecos__portal-feature:where(.astro-7b5z7ibz)[data-extra=true]{display:inline-block}}@media(prefers-reduced-motion:reduce){.ecos__blob:where(.astro-7b5z7ibz),.ecos__conn-base:where(.astro-7b5z7ibz),.ecos__conn-glow:where(.astro-7b5z7ibz),.ecos__conn-flow:where(.astro-7b5z7ibz){animation:none}}.pt-20:where(.astro-p2zdsw7h){padding-top:5rem}.page-title:where(.astro-p2zdsw7h){font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-3)}.page-desc:where(.astro-p2zdsw7h){font-size:var(--font-size-lg);color:var(--color-text-secondary);max-width:36rem;line-height:var(--line-height-relaxed)}.intro-split:where(.astro-p2zdsw7h){display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center}.intro-text-content:where(.astro-p2zdsw7h){order:1}.intro-image:where(.astro-p2zdsw7h){order:2}.intro-image:where(.astro-p2zdsw7h) img:where(.astro-p2zdsw7h){width:100%;height:auto;border-radius:var(--radius-xl);object-fit:cover;box-shadow:var(--shadow-lg)}@media(width<768px){.intro-split:where(.astro-p2zdsw7h){grid-template-columns:1fr;gap:var(--space-6)}.intro-image:where(.astro-p2zdsw7h){order:-1}}.service-grid:where(.astro-p2zdsw7h){display:grid;grid-template-columns:1fr;gap:var(--space-6);text-align:center}@media(width>=768px){.service-grid:where(.astro-p2zdsw7h){grid-template-columns:repeat(2,1fr)}}@media(width>=1024px){.service-grid:where(.astro-p2zdsw7h){grid-template-columns:repeat(3,1fr)}}.svc-icon:where(.astro-p2zdsw7h){display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;margin:0 auto var(--space-5);border-radius:var(--radius-lg);background:var(--color-primary-50);color:var(--color-primary-600)}.svc-icon:where(.astro-p2zdsw7h) svg{width:1.5rem;height:1.5rem}.service-title:where(.astro-p2zdsw7h){font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2)}.service-desc:where(.astro-p2zdsw7h){color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}#faq:where(.astro-p2zdsw7h){scroll-margin-top:2rem}.faq-list:where(.astro-p2zdsw7h){max-width:48rem;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-4)}.faq-item:where(.astro-p2zdsw7h){border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;background:var(--color-surface);transition:border-color .2s}.faq-item:where(.astro-p2zdsw7h):hover{border-color:var(--color-primary-200)}.faq-item:where(.astro-p2zdsw7h)[open]{border-color:var(--color-primary-300)}.faq-question:where(.astro-p2zdsw7h){display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-6);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);cursor:pointer;list-style:none}.faq-question:where(.astro-p2zdsw7h)::-webkit-details-marker{display:none}.faq-question:where(.astro-p2zdsw7h):after{content:"+";font-size:1.25rem;font-weight:var(--font-weight-bold);color:var(--color-primary-500);flex-shrink:0;transition:transform .2s}.faq-item:where(.astro-p2zdsw7h)[open] .faq-question:where(.astro-p2zdsw7h):after{transform:rotate(45deg)}.faq-answer:where(.astro-p2zdsw7h){padding:0 var(--space-6) var(--space-5)}.faq-answer:where(.astro-p2zdsw7h) p:where(.astro-p2zdsw7h){font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}
