*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{cursor:none;overflow-x:hidden;-webkit-font-smoothing:antialiased;overscroll-behavior:none;background:#f0ece2}.grain-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9990;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px 200px;animation:grainMove .3s steps(1) infinite}@keyframes grainMove{0%{transform:translate(0)}20%{transform:translate(-2%,-2%)}40%{transform:translate(2%,1%)}60%{transform:translate(-1%,2%)}80%{transform:translate(1%,-1%)}to{transform:translate(0)}}.cursor-wrap{position:fixed;top:0;left:0;z-index:9999;pointer-events:none}.cursor-outer{width:40px;height:40px;border-radius:50%;border:1.5px solid #0f0e0c;position:absolute;transform:translate(-50%,-50%);mix-blend-mode:multiply;transition:width .4s cubic-bezier(.16,1,.3,1),height .4s cubic-bezier(.16,1,.3,1),border-color .3s,background .3s,opacity .3s}.cursor-inner{width:6px;height:6px;border-radius:50%;background:#0f0e0c;position:absolute;transform:translate(-50%,-50%);transition:transform .1s}.cursor-label{position:absolute;transform:translate(20px,-50%);font-family:Syne,sans-serif;font-size:.55rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;background:#0f0e0c;color:#f0ece2;padding:6px 14px;border-radius:20px;opacity:0;transition:opacity .3s;white-space:nowrap}body.cur-hover .cursor-outer{width:72px;height:72px;background:#0f0e0c;opacity:.12}body.cur-view .cursor-label{opacity:1}body.cur-view .cursor-outer{width:90px;height:90px;background:#0f0e0c;opacity:.08}.scroll-progress{position:fixed;top:0;left:0;height:2px;background:#3d7a56;z-index:200;transition:width .1s linear}.reveal{opacity:0;transform:translateY(32px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal.from-left{transform:translate(-32px)}.reveal.from-left.visible{transform:translate(0)}.reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.2s}.reveal.d3{transition-delay:.3s}.reveal.d4{transition-delay:.45s}.loader-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:#0f0e0c;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:clip-path 1s cubic-bezier(.16,1,.3,1);clip-path:inset(0 0 0 0)}.loader-root.out{clip-path:inset(0 0 100% 0)}.loader-logo-span{display:inline-block;transform:translateY(100%);transition:transform .8s cubic-bezier(.16,1,.3,1)}.loader-logo-span.up{transform:translateY(0)}.h-inner{display:block;transform:translateY(110%) rotate(3deg);opacity:0;transition:transform 1.1s cubic-bezier(.16,1,.3,1),opacity .6s}.h-inner.up{transform:translateY(0) rotate(0);opacity:1}.h-inner.delay-0{transition-delay:.05s}.h-inner.delay-1{transition-delay:.18s}.h-inner.delay-2{transition-delay:.31s}@keyframes scrollThumb{0%{top:-50%}to{top:150%}}.scroll-thumb{animation:scrollThumb 2.2s ease-in-out infinite}@keyframes navDot{0%,to{transform:scale(1)}50%{transform:scale(1.4)}}.nav-dot-pulse{animation:navDot 3s ease-in-out infinite}.nav-btn-pulse{animation:navDot 2s ease-in-out infinite}@keyframes marqueeAnim{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee-track{display:flex;animation:marqueeAnim 32s linear infinite;white-space:nowrap}.marquee-track:hover{animation-play-state:paused}.wk-arrow{opacity:0;transform:scale(.6);transition:opacity .35s,transform .35s cubic-bezier(.16,1,.3,1)}.work-card:hover .wk-arrow{opacity:1;transform:scale(1)}.wk-bg-inner{transition:transform .7s cubic-bezier(.16,1,.3,1)}.work-card:hover .wk-bg-inner{transform:scale(1.06)}.sr-reveal-bar{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff08;transform:translate(-100%);transition:transform .5s cubic-bezier(.16,1,.3,1)}.service-row:hover .sr-reveal-bar{transform:translate(0)}.sr-preview-box{opacity:0;transform:translateY(-50%) scale(.8);transition:all .4s cubic-bezier(.16,1,.3,1)}.service-row:hover .sr-preview-box{opacity:1;transform:translateY(-50%) scale(1)}.process-step-bar{transform:scaleY(0);transform-origin:top;transition:transform .4s cubic-bezier(.16,1,.3,1)}.process-step:hover .process-step-bar{transform:scaleY(1)}.manifesto-box-line{transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.16,1,.3,1)}.manifesto-box:hover .manifesto-box-line{transform:scaleX(1)}.testi-top-line{transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.16,1,.3,1)}.testi-card:hover .testi-top-line{transform:scaleX(1)}.ft-link-dot{display:inline-block;width:0;height:1px;background:#3d7a56;transition:width .2s;vertical-align:middle;margin-right:0}a:hover .ft-link-dot{width:12px;margin-right:6px}.nav-link{position:relative}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:1px;background:#3d7a56;transform:scaleX(0);transform-origin:right;transition:transform .3s cubic-bezier(.16,1,.3,1)}.nav-link:hover:after{transform:scaleX(1);transform-origin:left}@keyframes ctaRing{0%{box-shadow:0 0 #3d7a5633}50%{box-shadow:0 0 0 16px #3d7a5600}to{box-shadow:0 0 #3d7a5600}}.hero-cta-btn{animation:ctaRing 3s ease-in-out infinite}@keyframes floatBadge{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.hero-badge{animation:floatBadge 4s ease-in-out infinite}@keyframes barGrow{0%{transform:scaleY(0);transform-origin:bottom}to{transform:scaleY(1)}}.chart-bar{animation:barGrow .6s ease both}
