/* Shared styles for the Solutions detail pages (Engyn design system). */
html { background:#0b2521; }
body { font-family:'Space Grotesk',system-ui,sans-serif; color:#f2efe5; background:#0b2521; overflow-x:hidden; -webkit-font-smoothing:antialiased; }
::selection { background:#34c28d; color:#0b2521; }
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--rd,0ms);}
[data-reveal].in{opacity:1;transform:translateY(0);}
[data-reveal].reveal-instant{transition:none !important;opacity:1 !important;transform:none !important;}
[data-stagger] > *{opacity:0;transform:translateY(20px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1);}
[data-stagger].in > *{opacity:1;transform:translateY(0);}
[data-stagger].in > *:nth-child(2){transition-delay:60ms}[data-stagger].in > *:nth-child(3){transition-delay:120ms}[data-stagger].in > *:nth-child(4){transition-delay:180ms}[data-stagger].in > *:nth-child(5){transition-delay:240ms}[data-stagger].in > *:nth-child(6){transition-delay:300ms}
[data-stagger].reveal-instant > *{transition:none !important;opacity:1 !important;transform:none !important;}
.grid-tex{background-size:60px 60px;background-image:linear-gradient(to right,rgba(52,194,141,0.08) 1px,transparent 1px),linear-gradient(to bottom,rgba(52,194,141,0.08) 1px,transparent 1px);}
.grid-tex-sm{background-size:20px 20px;background-image:linear-gradient(to right,rgba(52,194,141,0.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(52,194,141,0.06) 1px,transparent 1px);}
html.lenis,html.lenis body{height:auto;}
.lenis.lenis-smooth{scroll-behavior:auto !important;}
a:focus-visible,button:focus-visible,input:focus-visible{outline:1px solid #34c28d;outline-offset:2px;}
@keyframes float-y{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
@keyframes blink-soft{50%{opacity:.3;}}
@keyframes shimmer{0%{background-position:-200% 0;}100%{background-position:200% 0;}}
@keyframes pulse-soft{0%,100%{opacity:1}50%{opacity:.5}}
.fx-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
.fx-particles span{position:absolute;width:2px;height:2px;background:#34c28d;border-radius:50%;opacity:0;animation:float-y 6s ease-in-out infinite,blink-soft 4s ease-in-out infinite;}
.scroll-progress{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,transparent,#34c28d 50%,transparent);background-size:200% 100%;z-index:60;width:0%;transition:width 80ms linear;animation:shimmer 3s linear infinite;}
.cta-arrow{display:inline-block;transition:transform .4s cubic-bezier(.2,.7,.2,1);}
.group:hover .cta-arrow,a:hover .cta-arrow{transform:translateX(4px);}
.hexnode{clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.001s !important;animation-iteration-count:1 !important;}[data-reveal],[data-stagger] > *{opacity:1 !important;transform:none !important;}}
