:root{--ecl-motion-fast:160ms;--ecl-motion-normal:280ms;--ecl-motion-slow:520ms;--ecl-motion-ease:cubic-bezier(0.2,0.8,0.2,1);--ecl-motion-distance:16px}.ecl-button,.site-nav>ul>li>a,.site-nav-cta a,.mobile-nav-cta a,.ecl-section-link,.footer-nav a,.footer-contact a,.site-footer-bottom a{transition-duration:var(--ecl-motion-fast);transition-timing-function:var(--ecl-motion-ease)}.ecl-button,.site-nav-cta a,.mobile-nav-cta a{transition-property:background-color,border-color,color,box-shadow,transform}.ecl-button:hover,.site-nav-cta a:hover,.mobile-nav-cta a:hover{transform:translateY(-2px)}.ecl-button:active,.site-nav-cta a:active,.mobile-nav-cta a:active{transform:translateY(0);transition-duration:80ms}.ecl-button span[aria-hidden="true"],.ecl-section-link span[aria-hidden="true"],.project-card-more span[aria-hidden="true"]{display:inline-block;transition:transform var(--ecl-motion-fast) var(--ecl-motion-ease)}.ecl-button:hover span[aria-hidden="true"],.ecl-section-link:hover span[aria-hidden="true"],.project-card:hover .project-card-more span[aria-hidden="true"]{transform:translateX(4px)}.site-header,.site-header .navbar,.mainSite .site-header .logo{transition-duration:var(--ecl-motion-normal);transition-timing-function:var(--ecl-motion-ease)}.site-header{transition-property:background-color,border-color,box-shadow}.site-header .navbar{transition-property:min-height,padding}.mainSite .site-header .logo{transition-property:height,opacity}.project-card,.ecl-news-card{transition:border-color var(--ecl-motion-normal) var(--ecl-motion-ease),box-shadow var(--ecl-motion-normal) var(--ecl-motion-ease),transform var(--ecl-motion-normal) var(--ecl-motion-ease)}.project-card:hover,.project-card:focus-visible,.ecl-news-card:hover,.ecl-news-card:focus-visible{border-color:rgba(17,138,55,0.26);transform:translateY(-4px)}.ecl-news-image img{transition:transform 420ms var(--ecl-motion-ease)}.ecl-news-card:hover .ecl-news-image img,.ecl-news-card:focus-visible .ecl-news-image img{transform:scale(1.03)}html.ecl-motion-active .ecl-hero-copy>*{animation:ecl-motion-hero-copy var(--ecl-motion-slow) var(--ecl-motion-ease) both}html.ecl-motion-active .ecl-hero-copy>*:nth-child(2){animation-delay:80ms}html.ecl-motion-active .ecl-hero-copy>*:nth-child(3){animation-delay:160ms}html.ecl-motion-active .ecl-hero-copy>*:nth-child(4){animation-delay:240ms}html.ecl-motion-active .ecl-hero-copy>*:nth-child(n+5){animation-delay:300ms}html.ecl-motion-active .ecl-hero-media{animation:ecl-motion-hero-media 700ms var(--ecl-motion-ease) both}@keyframes ecl-motion-hero-copy{from{opacity:0;transform:translateY(var(--ecl-motion-distance))}to{opacity:1;transform:translateY(0)}}@keyframes ecl-motion-hero-media{from{opacity:0;transform:scale(1.025)}to{opacity:0.88;transform:scale(1)}}.ecl-network-motion{height:100%;inset:0;overflow:hidden;pointer-events:none;position:absolute;width:100%;z-index:1}.ecl-network-motion[hidden]{display:none}.ecl-network-pulse{animation:ecl-network-pulse var(--ecl-network-pulse-duration,3600ms) linear both;fill:none;filter:drop-shadow(0 0 4px rgba(94,209,125,0.7));opacity:0;stroke:var(--ecl-green-light);stroke-dasharray:0.1 1.2;stroke-dashoffset:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;vector-effect:non-scaling-stroke}.ecl-network-pulse-node{animation-duration:var(--ecl-network-pulse-duration,3600ms);animation-fill-mode:both;animation-timing-function:var(--ecl-motion-ease);fill:rgba(94,209,125,0.24);filter:drop-shadow(0 0 5px rgba(94,209,125,0.8));opacity:0;stroke:var(--ecl-green-light);stroke-width:1.25px;transform-box:fill-box;transform-origin:center;vector-effect:non-scaling-stroke}.ecl-network-pulse-node--source{animation-name:ecl-network-source-node}.ecl-network-pulse-node--target{animation-name:ecl-network-target-node}@keyframes ecl-network-pulse{0%{opacity:0;stroke-dashoffset:0.1}9%,88%{opacity:0.92}100%{opacity:0;stroke-dashoffset:-1.1}}@keyframes ecl-network-source-node{0%{opacity:0;transform:scale(0.65)}8%{opacity:0.95;transform:scale(1.55)}22%{opacity:0.36;transform:scale(1)}38%,100%{opacity:0;transform:scale(0.9)}}@keyframes ecl-network-target-node{0%,72%{opacity:0;transform:scale(0.65)}84%{opacity:0.95;transform:scale(1.65)}94%{opacity:0.48;transform:scale(1)}100%{opacity:0;transform:scale(0.9)}}@media (max-width:767.98px){.ecl-network-motion{display:none}}html.ecl-motion-active .ecl-reveal{opacity:0;transform:translateY(var(--ecl-motion-distance));transition:opacity var(--ecl-motion-slow) var(--ecl-motion-ease),transform var(--ecl-motion-slow) var(--ecl-motion-ease);transition-delay:var(--ecl-reveal-delay,0ms)}html.ecl-motion-active .ecl-reveal.is-visible{opacity:1;transform:translateY(0)}@media (min-width:768px){html.ecl-motion-active .ecl-reveal-from-left{transform:translateX(calc(var(--ecl-motion-distance) * -1))}html.ecl-motion-active .ecl-reveal-from-right{transform:translateX(var(--ecl-motion-distance))}html.ecl-motion-active .ecl-reveal-from-left.is-visible,html.ecl-motion-active .ecl-reveal-from-right.is-visible{transform:translateX(0)}}.ecl-submit[aria-busy="true"]::after{animation:ecl-motion-spin 700ms linear infinite;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;content:"";height:1em;width:1em}@keyframes ecl-motion-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){html.ecl-motion-active .ecl-hero-copy>*{animation-duration:var(--ecl-motion-slow) !important}html.ecl-motion-active .ecl-hero-media,html.ecl-motion-active .ecl-submit[aria-busy="true"]::after{animation-duration:700ms !important}html.ecl-motion-active .ecl-network-pulse,html.ecl-motion-active .ecl-network-pulse-node{animation-duration:var(--ecl-network-pulse-duration,3600ms) !important;animation-iteration-count:1 !important}html.ecl-motion-active .ecl-submit[aria-busy="true"]::after{animation-iteration-count:infinite !important}html.ecl-motion-active .ecl-reveal,html.ecl-motion-active .ecl-reveal-from-left,html.ecl-motion-active .ecl-reveal-from-right{transition-duration:var(--ecl-motion-slow) !important}html.ecl-motion-active .ecl-button,html.ecl-motion-active .site-nav>ul>li>a,html.ecl-motion-active .site-nav-cta a,html.ecl-motion-active .mobile-nav-cta a,html.ecl-motion-active .ecl-section-link,html.ecl-motion-active .footer-nav a,html.ecl-motion-active .footer-contact a,html.ecl-motion-active .site-footer-bottom a,html.ecl-motion-active .ecl-button span[aria-hidden="true"],html.ecl-motion-active .ecl-section-link span[aria-hidden="true"],html.ecl-motion-active .project-card-more span[aria-hidden="true"]{transition-duration:var(--ecl-motion-fast) !important}html.ecl-motion-active .site-header,html.ecl-motion-active .site-header .navbar,html.ecl-motion-active .mainSite .site-header .logo,html.ecl-motion-active .project-card,html.ecl-motion-active .ecl-news-card{transition-duration:var(--ecl-motion-normal) !important}html.ecl-motion-active .ecl-news-image img{transition-duration:420ms !important}}