@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&family=Fraunces:ital,wght@0,100;0,300;0,400;0,500;0,700;1,100;1,300;1,400;1,500;1,700&family=Instrument+Sans:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&family=Inter:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap");*,:after,:before{margin:0;padding:0;box-sizing:border-box}:root{--title-font:"Inter",sans-serif;--body-font:"Inter",sans-serif;--title-weight:300;--body-weight:400;--lime:#22c55e;--lime-d:#15803d;--lime-b:#16a34a;--lime-soft:#4ade80;--ink:#052e16;--muted:#166534;--soft-green:#bbf7d0;--bg:#fff;--bg2:#f8fffe;--bg3:#f0fdf4;--text-primary:#052e16;--text-muted:#4b7a5e;--border:#d1fae5;--border-mid:#86efac}body,html{width:100%;background:#fff;font-family:var(--body-font);font-weight:var(--body-weight);overflow-x:hidden;cursor:none}h1,h2,h3,h4,h5,h6{font-family:var(--title-font)!important;font-weight:var(--title-weight)!important}a,button,input,label,li,p,select,small,span,textarea{font-family:var(--body-font)!important;font-weight:var(--body-weight)!important}#cur{width:6px;height:6px;background:var(--lime-d);border-radius:50%;z-index:100001}#cur,#cur-ring{position:fixed;pointer-events:none;transform:translate(-50%,-50%)}#cur-ring{width:30px;height:30px;border:1px solid rgba(22,163,74,.3);border-radius:50%;z-index:100000;transition:width .22s,height .22s,border-color .22s}#cur-ring.big{width:52px;height:52px;border-color:var(--lime-d)}#ld{position:fixed;inset:0;z-index:9999;background:#fff;display:flex;align-items:center;justify-content:center;transition:opacity .8s ease,visibility .8s ease}#ld.out{opacity:0;visibility:hidden;pointer-events:none}.ldts{display:flex;gap:8px}.ldt{width:8px;height:8px;border-radius:50%;background:var(--lime);animation:ldb 1.2s ease-in-out infinite}.ldt:nth-child(2){animation-delay:.2s}.ldt:nth-child(3){animation-delay:.4s}@keyframes ldb{0%,to{transform:scale(.3);opacity:.2}50%{transform:scale(1);opacity:1}}#main-nav{position:fixed;inset:0 0 auto;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.5rem 3.5rem;transition:background .4s,box-shadow .4s,-webkit-backdrop-filter .4s;transition:background .4s,backdrop-filter .4s,box-shadow .4s;transition:background .4s,backdrop-filter .4s,box-shadow .4s,-webkit-backdrop-filter .4s}#main-nav.stuck{background:hsla(0,0%,100%,.92);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 1px 0 var(--border)}.nav-logo{font-family:Bebas Neue,sans-serif;font-size:1.05rem;letter-spacing:.26em;color:var(--lime-d);text-decoration:none;display:inline-flex;align-items:center}.nav-brand-logo{display:block;width:auto;height:30px}.nav-links{display:flex;gap:2.2rem;list-style:none}.nav-links a{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;transition:color .2s}.nav-btn,.nav-links a.active,.nav-links a:hover,.nav-mobile-menu a.active{color:var(--lime-d)}.nav-btn{font-family:Space Mono,monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:.65rem 1.6rem;border:1px solid var(--soft-green);background:transparent;cursor:none;transition:background .2s,color .2s,border-color .2s}.nav-btn:hover{background:var(--lime-d);border-color:var(--lime-d);color:#fff}.nav-toggle{display:none;width:40px;height:40px;border:1px solid var(--soft-green);background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:4px;cursor:none}.nav-toggle span{width:16px;height:1px;background:var(--lime-d);transition:transform .2s ease,opacity .2s ease}.nav-toggle.open span:first-child{transform:translateY(5px) rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.nav-mobile-menu{display:none;position:fixed;top:72px;left:1rem;right:1rem;background:hsla(0,0%,100%,.98);border:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:.75rem;z-index:180;opacity:0;transform:translateY(-10px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}.nav-mobile-menu a{display:block;padding:.7rem .6rem;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);text-decoration:none}.nav-mobile-menu.open{opacity:1;transform:translateY(0);pointer-events:auto}#banner{position:relative;width:100%;height:100vh;overflow:hidden;background:#fff}canvas#c{width:100%;height:100%;cursor:none;z-index:0}#ov,canvas#c{position:absolute;inset:0}#ov{z-index:1;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,80,30,.004) 0,rgba(0,80,30,.004) 4px)}#ov,.hero{pointer-events:none}.hero{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 8vw}.badge{display:inline-flex;align-items:center;gap:.6rem;font-family:Space Mono,monospace;font-size:.52rem;letter-spacing:.26em;text-transform:uppercase;color:var(--lime-d);border:1px solid var(--soft-green);padding:.35rem .85rem;margin-bottom:1.8rem;opacity:0;animation:fadeUp .7s ease 1.2s forwards}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--lime);animation:pulse 1.8s ease infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.6)}}.headline{font-family:Bebas Neue,sans-serif;font-size:clamp(3.2rem,7.5vw,7rem);line-height:.96;color:var(--ink);letter-spacing:.01em;opacity:0;animation:fadeUp .9s cubic-bezier(.16,1,.3,1) 1.5s forwards}.headline em{font-style:normal;color:var(--lime-d);display:inline-block;position:relative}.headline em:after{content:"";position:absolute;bottom:4px;left:0;right:0;height:3px;background:var(--lime);transform:scaleX(0);transform-origin:left;animation:lineIn .6s ease 2.6s forwards}@keyframes lineIn{to{transform:scaleX(1)}}.sub{font-size:clamp(.8rem,1.4vw,1rem);font-weight:300;color:var(--muted);max-width:440px;line-height:1.75;margin-top:1.6rem;opacity:0;animation:fadeUp .8s ease 2s forwards}.cta-row{display:flex;align-items:center;gap:1.5rem;margin-top:2.4rem;pointer-events:all;opacity:0;animation:fadeUp .8s ease 2.3s forwards}.btn-primary{font-family:Space Mono,monospace;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:#fff;background:var(--lime-d);border:none;padding:.85rem 2rem;cursor:none;transition:background .2s,transform .15s;text-decoration:none;display:inline-block}.btn-primary:hover{background:var(--lime);transform:translateY(-2px)}.btn-ghost{font-family:Space Mono,monospace;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--lime-d);background:transparent;border:1px solid var(--soft-green);padding:.85rem 2rem;cursor:none;transition:border-color .2s,color .2s,transform .15s;text-decoration:none;display:inline-block}.btn-ghost:hover{border-color:var(--lime-d);transform:translateY(-2px)}.stats{position:absolute;bottom:7rem;right:8vw;z-index:10;display:flex;gap:2.8rem;align-items:center;opacity:0;animation:fadeUp .8s ease 2.6s forwards;pointer-events:none}.stat{text-align:right}.stat-n{font-family:Bebas Neue,sans-serif;font-size:1.55rem;letter-spacing:.08em;color:var(--lime-d);display:block}.stat-l{font-size:.44rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);opacity:.6;display:block;margin-top:-3px}.stat-div{width:1px;height:32px;background:var(--soft-green)}.scroll-btn{position:absolute;bottom:2.2rem;left:50%;transform:translateX(-50%);z-index:20;display:flex;flex-direction:column;align-items:center;gap:.6rem;cursor:none;pointer-events:all;text-decoration:none;opacity:0;animation:fadeUp 1s ease 3.2s forwards;transition:opacity .2s}.scroll-btn:hover{opacity:.6}.scroll-label{font-family:Space Mono,monospace;font-size:.44rem;letter-spacing:.36em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.scroll-track{width:1px;height:48px;background:linear-gradient(to bottom,var(--soft-green),transparent);position:relative;overflow:hidden}.scroll-track:after{content:"";position:absolute;top:-8px;left:0;width:1px;height:12px;background:var(--lime);animation:scrollLine 1.6s ease infinite}@keyframes scrollLine{0%{top:-12px;opacity:1}80%{top:52px;opacity:.2}to{top:52px;opacity:0}}#banner .ticker-wrap{position:absolute;bottom:0;left:0;right:0;z-index:15;height:34px;background:var(--ink);overflow:hidden;display:flex;align-items:center;pointer-events:none;opacity:0;animation:fadeUp .5s ease 3.5s forwards}.ticker-inner{display:flex;white-space:nowrap;animation:ticker 28s linear infinite}.ticker-item{font-family:Space Mono,monospace;font-size:.46rem;letter-spacing:.28em;text-transform:uppercase;color:var(--soft-green);padding:0 3rem;opacity:.6}.ticker-sep{color:var(--lime);opacity:.8;font-size:.5rem;padding:0 .5rem}@keyframes ticker{0%{transform:translateX(0)}to{transform:translateX(-50%)}}#services{padding:7rem 3.5rem;background:var(--bg2);border-top:1px solid var(--border)}.section-label{display:flex;align-items:center;gap:10px;font-family:Space Mono,monospace;font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--lime-d);margin-bottom:1rem}.section-label:before{content:"";width:20px;height:1px;background:var(--lime-d)}.section-h2{font-family:Fraunces,serif;font-weight:300;font-size:clamp(2rem,4vw,3.4rem);color:var(--ink);letter-spacing:-.015em;line-height:1.1}.section-h2 em{font-style:italic;color:var(--lime-d)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:3.5rem;border:1px solid var(--border)}.svc{padding:2.6rem 2.2rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border);position:relative;overflow:hidden;transition:background .3s;background:#fff}a.svc{display:block;color:inherit;text-decoration:none}.svc:hover{background:var(--bg3)}.svc:before{content:"";position:absolute;left:0;top:0;width:2px;height:0;background:var(--lime-d);transition:height .4s ease}.svc:hover:before{height:100%}.svc-n{font-family:Fraunces,serif;font-weight:300;font-size:.72rem;color:var(--lime-d);letter-spacing:.15em;margin-bottom:1.4rem}.svc-ico{margin-bottom:1.3rem}.svc-ico svg{width:32px;height:32px;stroke:var(--lime-d);fill:none;stroke-width:1.4;stroke-linecap:round}.svc h3{font-family:Fraunces,serif;font-size:1.3rem;color:var(--ink);margin-bottom:.8rem}.svc h3,.svc p{font-weight:300}.svc p{font-size:.84rem;color:var(--text-muted);line-height:1.75}.svc-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:1.3rem}.svc-tag{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border:1px solid var(--border);color:var(--muted)}#work{padding:7rem 3.5rem;background:#fff;border-top:1px solid var(--border)}.work-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.2rem;gap:1.2rem;margin-top:3.5rem}.wcard{position:relative;overflow:hidden;background:var(--bg3);border:1px solid var(--border);padding:2rem;cursor:none;aspect-ratio:16/9;display:flex;flex-direction:column;justify-content:flex-end;transition:border-color .3s,box-shadow .3s}a.wcard{text-decoration:none}.wcard:hover{border-color:var(--lime-d);box-shadow:0 4px 24px rgba(21,128,61,.08)}.wcard-bg{position:absolute;inset:0;opacity:.72;transition:opacity .4s,transform .6s cubic-bezier(.16,1,.3,1);background-size:cover;background-position:50%;background-repeat:no-repeat;filter:saturate(1.08) contrast(1.08) brightness(1.04)}.wcard:hover .wcard-bg{opacity:.86;transform:scale(1.04)}.wcard:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,46,22,.42) 0,rgba(5,46,22,.2) 42%,rgba(5,46,22,.04));z-index:1;pointer-events:none}.wtag{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--lime-d);margin-bottom:.5rem;font-family:Space Mono,monospace}.wcard h3,.wtag{position:relative;z-index:2}.wcard h3{font-family:Fraunces,serif;font-weight:300;font-size:1.5rem;color:#fff}.wcard-num{top:1.4rem;font-size:.62rem;letter-spacing:.2em;color:hsla(0,0%,100%,.86);font-family:Space Mono,monospace;opacity:.75}.warr,.wcard-num{position:absolute;right:1.6rem;z-index:2}.warr{bottom:1.6rem;width:34px;height:34px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;transition:background .25s,border-color .25s}.wcard:hover .warr{background:var(--lime-d);border-color:var(--lime-d)}.warr svg{width:12px;height:12px;stroke:var(--lime-d);fill:none;stroke-width:2}.wcard:hover .warr svg{stroke:#fff}#about-wrap{background:var(--bg2);border-top:1px solid var(--border)}#cin{position:fixed;inset:0;z-index:500;pointer-events:none;display:flex;align-items:center;justify-content:center;opacity:0}#cin.flash{animation:cinFlash .55s cubic-bezier(.16,1,.3,1) forwards}@keyframes cinFlash{0%{opacity:0}15%{opacity:1;background:rgba(21,128,61,.03)}to{opacity:0;background:transparent}}#cin-num{font-family:Bebas Neue,sans-serif;font-size:40vw;line-height:1;color:transparent;-webkit-text-stroke:2px rgba(21,128,61,.06);transform:scale(2.5);opacity:0}#cin.flash #cin-num{animation:numSlam .55s cubic-bezier(.16,1,.3,1) forwards}@keyframes numSlam{0%{transform:scale(2.5);opacity:0}30%{transform:scale(1.1);opacity:1}to{transform:scale(.8);opacity:0}}#counter{position:fixed;bottom:32px;right:36px;font-family:Space Mono,monospace;font-size:.65rem;letter-spacing:.3em;color:var(--text-muted);z-index:1000;opacity:0;transition:opacity .5s}#counter.on{opacity:1}#counter b{color:var(--lime-d);font-weight:400}#about{max-width:calc(900px + 14vw);margin:0 auto;position:relative;padding:100px 7vw 120px;overflow:hidden}.ph{margin-bottom:64px;opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.ph.on{opacity:1;transform:none}.ph-eyebrow{font-family:Space Mono,monospace;font-size:.58rem;letter-spacing:.45em;text-transform:uppercase;color:var(--lime-d);opacity:.7;margin-bottom:10px;display:flex;align-items:center;gap:12px}.ph-eyebrow:before{content:"";width:28px;height:1px;background:currentColor;opacity:.5}.ph h2{font-family:Fraunces,serif;font-weight:300;font-size:clamp(1.5rem,2.8vw,2.4rem);color:var(--ink);line-height:1.15}.ph h2 em{font-style:italic;color:var(--lime-d)}.ps{position:relative;display:flex;flex-direction:column}.ps:before{content:"";position:absolute;left:52px;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,var(--soft-green) 85%,transparent);transform:scaleY(0);transform-origin:top;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}.ps.spine:before{transform:scaleY(1)}.step{position:relative;display:grid;grid-template-columns:104px 90px 1fr;padding:52px 0;border-bottom:1px solid transparent;overflow:hidden;transition:border-color .4s,background .4s;cursor:default}.step.on{border-color:var(--border)}.step:hover{background:rgba(22,163,74,.02)}.step:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(22,163,74,.012) 0,rgba(22,163,74,.012) 4px);opacity:0;pointer-events:none;z-index:1}.step.glitch-in:after{animation:stripeFlash .35s ease-out forwards}@keyframes stripeFlash{0%{opacity:1}to{opacity:0}}.sn{grid-row:1;grid-column:1;font-family:Space Mono,monospace;font-size:.62rem;letter-spacing:.25em;color:var(--text-muted);padding-top:10px;opacity:0;transform:translateX(-16px);transition:color .3s;position:relative;z-index:2}.step.on .sn{animation:snIn .5s cubic-bezier(.16,1,.3,1) forwards}@keyframes snIn{0%{opacity:.1;transform:translateX(-16px) skewX(-12deg)}40%{opacity:1;transform:translateX(5px) skewX(4deg)}70%{opacity:.8;transform:translateX(-3px)}to{opacity:1;transform:translateX(0) skewX(0)}}.step:hover .sn{color:var(--lime-d)}.sdot{position:absolute;left:47px;top:56px;width:11px;height:11px;border-radius:50%;background:#fff;border:2px solid var(--soft-green);z-index:5;transform:scale(0);transition:transform .5s cubic-bezier(.34,1.6,.64,1) .35s,border-color .3s,box-shadow .3s}.step.on .sdot{transform:scale(1)}.step:hover .sdot{border-color:var(--lime-d);box-shadow:0 0 12px rgba(22,163,74,.25)}.sicon{grid-row:1/3;grid-column:2;width:72px;height:72px;position:relative;z-index:2}.sicon svg{width:100%;height:100%;overflow:visible}.ic{fill:none;stroke:var(--soft-green);stroke-width:1;stroke-dasharray:202;stroke-dashoffset:202}.step.on .ic{animation:drawPath .8s cubic-bezier(.16,1,.3,1) .1s forwards}.ip{fill:none;stroke:var(--lime-d);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5;filter:drop-shadow(0 0 3px rgba(22,163,74,.15))}@keyframes drawPath{to{stroke-dashoffset:0}}.step.on .sicon svg{animation:bloom .5s ease-out 1.5s both}@keyframes bloom{0%{filter:drop-shadow(0 0 0 var(--lime-d))}50%{filter:drop-shadow(0 0 16px rgba(22,163,74,.35))}to{filter:drop-shadow(0 0 4px rgba(22,163,74,.08))}}.scontent{grid-row:1/3;grid-column:3;padding-left:32px;position:relative;z-index:2}.step h4{font-family:Bebas Neue,sans-serif;font-size:clamp(2.4rem,5.5vw,4.5rem);letter-spacing:.04em;color:var(--ink);line-height:.95;display:inline-block;-webkit-clip-path:inset(0 101% 0 0);clip-path:inset(0 101% 0 0);position:relative}.step.on h4{animation:titleWipe .7s cubic-bezier(.16,1,.3,1) .18s forwards}@keyframes titleWipe{0%{-webkit-clip-path:inset(0 101% 0 0);clip-path:inset(0 101% 0 0)}to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}.step h4:after{content:"";position:absolute;bottom:-4px;left:0;height:2px;width:0;background:var(--lime-d);transition:width .8s cubic-bezier(.16,1,.3,1) .88s}.step.on h4:after{width:100%}.sdesc{font-size:clamp(.72rem,1.3vw,.84rem);color:var(--text-muted);line-height:1.95;max-width:480px;margin-top:13px;opacity:0;transform:translateY(14px);transition:opacity .55s .75s,transform .55s .75s}.step.on .sdesc{opacity:1;transform:none}.stags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.stag{font-family:Space Mono,monospace;font-size:.56rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);padding:3px 11px;border-radius:2px;opacity:0;transform:translateY(8px);transition:color .25s,border-color .25s,background .25s}.stag:hover{color:var(--lime-d);border-color:var(--soft-green);background:var(--bg3)}.step.on .stag:first-child{animation:tagIn .4s ease .9s forwards}.step.on .stag:nth-child(2){animation:tagIn .4s ease 1.05s forwards}.step.on .stag:nth-child(3){animation:tagIn .4s ease 1.2s forwards}@keyframes tagIn{0%{opacity:0;transform:translateY(8px) scale(.88)}to{opacity:1;transform:none}}.sbg{position:absolute;right:2vw;top:50%;transform:translateY(-50%) translateX(60px);font-family:Bebas Neue,sans-serif;font-size:clamp(7rem,18vw,16rem);color:transparent;-webkit-text-stroke:1px rgba(22,163,74,.21);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:0;line-height:1;transition:opacity .8s ease .25s,transform .8s ease .25s}.step.on .sbg{opacity:1;transform:translateY(-50%) translateX(0)}.sarc{position:absolute;inset:0;pointer-events:none;overflow:visible;opacity:0;z-index:0}.sarc path{fill:none;stroke:rgba(22,163,74,.06);stroke-width:1;stroke-dasharray:1200;stroke-dashoffset:1200}.step.on .sarc path{animation:arcDraw .8s ease-out .05s forwards}@keyframes arcDraw{0%{stroke-dashoffset:1200;opacity:.8}80%{stroke-dashoffset:0;opacity:.4}to{stroke-dashoffset:0;opacity:0}}#testi{background:#fff;border-top:1px solid var(--border);padding:0}.rvt__section{width:100%;max-width:860px;padding:80px 6vw;position:relative;margin:0 auto}.rvt__label{font-family:Space Mono,monospace;font-size:.58rem;letter-spacing:.45em;text-transform:uppercase;color:var(--lime-d);opacity:.7;margin-bottom:10px;display:flex;align-items:center;gap:12px}.rvt__label:before{content:"";width:28px;height:1px;background:var(--lime-d);opacity:.5;flex-shrink:0}.rvt__heading{font-family:Fraunces,serif;font-weight:300;font-size:clamp(1.6rem,3vw,2.6rem);color:var(--ink);margin-bottom:52px;line-height:1.15}.rvt__heading em{font-style:italic;color:var(--lime-d)}.rvt__slider{position:relative;overflow:hidden;min-height:220px}.rvt__card{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:40px 44px;border:1px solid var(--border);border-radius:3px;background:var(--bg3);opacity:0;pointer-events:none}.rvt__card.rvt__active{opacity:1;pointer-events:auto;position:relative}.rvt__card.rvt__enter-left{animation:rvtEnterLeft .55s cubic-bezier(.16,1,.3,1) forwards}.rvt__card.rvt__enter-right{animation:rvtEnterRight .55s cubic-bezier(.16,1,.3,1) forwards}.rvt__card.rvt__exit-left{animation:rvtExitLeft .45s cubic-bezier(.4,0,1,1) forwards}.rvt__card.rvt__exit-right{animation:rvtExitRight .45s cubic-bezier(.4,0,1,1) forwards}@keyframes rvtEnterLeft{0%{opacity:0;transform:translateX(-60px) skewX(3deg)}to{opacity:1;transform:none}}@keyframes rvtEnterRight{0%{opacity:0;transform:translateX(60px) skewX(-3deg)}to{opacity:1;transform:none}}@keyframes rvtExitLeft{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-50px)}}@keyframes rvtExitRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(50px)}}.rvt__card:before{content:"\201C";position:absolute;top:-10px;left:32px;font-family:Fraunces,serif;font-size:8rem;line-height:1;color:var(--soft-green);pointer-events:none;opacity:.7}.rvt__text{font-family:Fraunces,serif;font-weight:300;font-size:clamp(1.1rem,2.2vw,1.4rem);color:var(--ink);line-height:1.65;letter-spacing:.01em;margin-bottom:32px}.rvt__author,.rvt__text{position:relative;z-index:1}.rvt__author{gap:14px}.rvt__author,.rvt__avatar{display:flex;align-items:center}.rvt__avatar{width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid var(--soft-green);justify-content:center;font-size:.65rem;color:var(--lime-d);flex-shrink:0}.rvt__avatar,.rvt__name{font-family:Space Mono,monospace;letter-spacing:.1em}.rvt__name{font-size:.75rem;color:var(--ink);margin-bottom:3px}.rvt__role{font-family:Space Mono,monospace;font-size:.6rem;letter-spacing:.12em;color:var(--text-muted);text-transform:uppercase}.rvt__controls{justify-content:space-between;margin-top:28px}.rvt__controls,.rvt__dots{display:flex;align-items:center}.rvt__dots{gap:8px}.rvt__dot{width:20px;height:2px;background:var(--border);border-radius:2px;cursor:none;transition:background .3s,width .3s}.rvt__dot.rvt__dot-active{width:36px;background:var(--lime-d)}.rvt__counter{font-family:Space Mono,monospace;font-size:.6rem;letter-spacing:.25em;color:var(--text-muted)}.rvt__counter b{color:var(--lime-d);font-weight:400}.rvt__arrows{display:flex;gap:10px}.rvt__arr{width:40px;height:40px;border:1px solid var(--border);border-radius:2px;background:#fff;cursor:none;display:flex;align-items:center;justify-content:center;transition:border-color .25s,background .25s;color:var(--text-muted)}.rvt__arr:hover{border-color:var(--lime-d);background:var(--bg3);color:var(--lime-d)}.rvt__arr svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.rvt__progress{position:absolute;bottom:0;left:0;height:1px;background:var(--lime-d);width:0}.rvt__progress.rvt__running{animation:rvtProgRun var(--rvt-dur,4s) linear forwards}@keyframes rvtProgRun{0%{width:0}to{width:100%}}#contact{padding:7rem 3.5rem;background:var(--bg2);border-top:1px solid var(--border);position:relative;overflow:hidden}#contact-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.45}.content-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;grid-gap:5rem;gap:5rem;align-items:start;max-width:1100px;margin:0 auto}.contact-left .eyebrow{font-family:Space Mono,monospace;font-size:.72rem;letter-spacing:.35em;text-transform:uppercase;color:var(--lime-d);margin-bottom:1.2rem}.contact-left h2{font-family:Fraunces,serif;font-weight:300;font-size:clamp(2.4rem,5vw,4rem);line-height:1.05;color:var(--ink)}.contact-left h2 em{font-style:italic;color:var(--lime-d)}.contact-left .subtitle{font-size:.9rem;color:var(--text-muted);margin-top:1.5rem;line-height:1.75}.contact-details{margin-top:2.4rem;display:flex;flex-direction:column;gap:.9rem}.contact-detail{display:flex;align-items:center;gap:.75rem;font-size:.8rem;color:var(--text-muted)}.contact-detail .icon{width:30px;height:30px;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#fff}.contact-detail .icon svg{width:13px;height:13px;stroke:var(--lime-d);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.form-card{background:#fff;border:1px solid var(--border);border-radius:4px;padding:2.4rem 2rem;box-shadow:0 4px 32px rgba(22,163,74,.05)}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.field{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1.1rem}.field label{font-family:Space Mono,monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}.field input,.field select,.field textarea{background:var(--bg2);border:1px solid var(--border);border-radius:2px;color:var(--ink);font-family:Instrument Sans,sans-serif;font-size:.82rem;padding:.7rem .9rem;outline:none;transition:border-color .22s,box-shadow .22s;resize:none;width:100%}.field input::placeholder,.field textarea::placeholder{color:var(--border-mid)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--soft-green);box-shadow:0 0 0 3px rgba(22,163,74,.06)}.field select option{background:#fff;color:var(--ink)}.field textarea{height:90px}.btn-submit{width:100%;font-family:Space Mono,monospace;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;padding:.95rem 2rem;background:var(--lime-d);color:#fff;border:none;cursor:none;border-radius:2px;margin-top:.4rem;transition:background .25s,transform .18s,box-shadow .25s}.btn-submit:hover{background:var(--lime);transform:translateY(-2px);box-shadow:0 8px 28px rgba(22,163,74,.18)}footer{background:var(--ink);padding:2.5rem 3.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.flogo{font-family:Fraunces,serif;font-weight:100;font-size:1.2rem;color:hsla(0,0%,100%,.5)}.flogo b{font-style:italic;font-weight:100;color:var(--lime-soft)}.flogo,.logo{display:inline-flex;align-items:center;text-decoration:none}.brand-logo{display:block;width:auto;height:36px}.brand-logo-footer{display:block;width:auto;height:30px}.flinks{display:flex;gap:1.8rem;list-style:none}.flinks a{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:hsla(0,0%,100%,.35);text-decoration:none;transition:color .2s}.flinks a:hover{color:var(--lime-soft)}.fcopy{font-family:Space Mono,monospace;font-size:.62rem;color:hsla(0,0%,100%,.22)}body #about-footer.site-footer,body #contact-footer.site-footer,body #sd-footer.site-footer,body #services-footer.site-footer,body #wd-footer.site-footer,body #work-footer.site-footer,footer.site-footer{padding:2.8rem 3.5rem;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;grid-gap:2.2rem;gap:2.2rem;align-items:start}body #about-footer.site-footer .footer-col,body #contact-footer.site-footer .footer-col,body #sd-footer.site-footer .footer-col,body #services-footer.site-footer .footer-col,body #wd-footer.site-footer .footer-col,body #work-footer.site-footer .footer-col,footer.site-footer .footer-col{min-width:0}body #about-footer.site-footer .footer-brand,body #contact-footer.site-footer .footer-brand,body #sd-footer.site-footer .footer-brand,body #services-footer.site-footer .footer-brand,body #wd-footer.site-footer .footer-brand,body #work-footer.site-footer .footer-brand,footer.site-footer .footer-brand{display:flex;flex-direction:column;gap:.9rem}body #about-footer.site-footer .footer-caption,body #contact-footer.site-footer .footer-caption,body #sd-footer.site-footer .footer-caption,body #services-footer.site-footer .footer-caption,body #wd-footer.site-footer .footer-caption,body #work-footer.site-footer .footer-caption,footer.site-footer .footer-caption{color:hsla(0,0%,100%,.62);font-size:.85rem;line-height:1.7;max-width:34ch;margin:0}body #about-footer.site-footer .fhead,body #contact-footer.site-footer .fhead,body #sd-footer.site-footer .fhead,body #services-footer.site-footer .fhead,body #wd-footer.site-footer .fhead,body #work-footer.site-footer .fhead,footer.site-footer .fhead{margin:0 0 .8rem;font-size:.67rem;letter-spacing:.18em;text-transform:uppercase;color:hsla(0,0%,100%,.74)}body #about-footer.site-footer .flinks,body #contact-footer.site-footer .flinks,body #sd-footer.site-footer .flinks,body #services-footer.site-footer .flinks,body #wd-footer.site-footer .flinks,body #work-footer.site-footer .flinks,footer.site-footer .flinks{display:flex;flex-direction:column;gap:.56rem;list-style:none;margin:0;padding:0}body #about-footer.site-footer .flinks a,body #contact-footer.site-footer .flinks a,body #sd-footer.site-footer .flinks a,body #services-footer.site-footer .flinks a,body #wd-footer.site-footer .flinks a,body #work-footer.site-footer .flinks a,footer.site-footer .flinks a{font-size:.86rem;letter-spacing:.02em;text-transform:none;color:hsla(0,0%,100%,.54);text-decoration:none}body #about-footer.site-footer .flinks a:hover,body #contact-footer.site-footer .flinks a:hover,body #sd-footer.site-footer .flinks a:hover,body #services-footer.site-footer .flinks a:hover,body #wd-footer.site-footer .flinks a:hover,body #work-footer.site-footer .flinks a:hover,footer.site-footer .flinks a:hover{color:var(--lime-soft)}body #about-footer.site-footer .fmeta,body #contact-footer.site-footer .fmeta,body #sd-footer.site-footer .fmeta,body #services-footer.site-footer .fmeta,body #wd-footer.site-footer .fmeta,body #work-footer.site-footer .fmeta,footer.site-footer .fmeta{color:hsla(0,0%,100%,.54);font-size:.86rem}body #about-footer.site-footer .f-socials,body #contact-footer.site-footer .f-socials,body #sd-footer.site-footer .f-socials,body #services-footer.site-footer .f-socials,body #wd-footer.site-footer .f-socials,body #work-footer.site-footer .f-socials,footer.site-footer .f-socials{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:.8rem}body #about-footer.site-footer .f-socials a,body #contact-footer.site-footer .f-socials a,body #sd-footer.site-footer .f-socials a,body #services-footer.site-footer .f-socials a,body #wd-footer.site-footer .f-socials a,body #work-footer.site-footer .f-socials a,footer.site-footer .f-socials a{color:hsla(0,0%,100%,.46);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}body #about-footer.site-footer .f-socials a:hover,body #contact-footer.site-footer .f-socials a:hover,body #sd-footer.site-footer .f-socials a:hover,body #services-footer.site-footer .f-socials a:hover,body #wd-footer.site-footer .f-socials a:hover,body #work-footer.site-footer .f-socials a:hover,footer.site-footer .f-socials a:hover{color:var(--lime-soft)}.rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}.rv.on{opacity:1;transform:none}.rv1{transition-delay:.08s}.rv2{transition-delay:.16s}.rv3{transition-delay:.24s}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (max-width:960px){body.menu-open{overflow:hidden}#main-nav{padding:1.1rem 1.5rem}#main-nav .nav-btn,#main-nav .nav-links{display:none}#main-nav .nav-toggle{display:inline-flex}#main-nav .nav-mobile-menu{display:block}}@media (max-width:860px){nav{padding:1.2rem 1.5rem}.nav-links{display:none}#contact,#services,#work{padding:5rem 1.5rem}.content-inner,.form-row,.services-grid,.work-grid{grid-template-columns:1fr}footer{padding:2rem 1.5rem;flex-direction:column;text-align:center}.flinks{justify-content:center}.hero{padding:0 6vw}.stats{right:6vw;gap:1.6rem;bottom:5.5rem}.sbg{display:none}.step{grid-template-columns:72px 68px minmax(0,1fr);padding:38px 0}.sicon{width:56px;height:56px}}@media (max-width:960px){body #about-footer.site-footer,body #contact-footer.site-footer,body #sd-footer.site-footer,body #services-footer.site-footer,body #wd-footer.site-footer,body #work-footer.site-footer,footer.site-footer{padding:2rem 1.5rem;grid-template-columns:1fr;gap:1.5rem}}@media (min-width:961px){#work .wcard:first-child:nth-last-child(odd){grid-column:1/-1;aspect-ratio:21/9}}footer.site-footer p.footer-partner{margin:0;color:hsla(0,0%,100%,.62);font-size:.78rem;letter-spacing:.02em}footer.site-footer p.footer-partner a{color:var(--lime-soft);text-decoration:none;border-bottom:1px solid rgba(74,222,128,.4);transition:border-color .2s}footer.site-footer p.footer-partner a:hover{border-bottom-color:var(--lime-soft)}#work .work-more{margin-top:2.5rem;text-align:center}@media (max-width:480px){.step{grid-template-columns:44px 52px minmax(0,1fr)}.scontent{padding-left:16px;min-width:0}.step h4{font-size:clamp(1.7rem,9vw,2.4rem)}.sicon{width:44px;height:44px}}@media (max-width:860px){#banner .scroll-btn{display:none}#banner .stats{left:6vw;right:6vw;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;grid-gap:0;gap:0}#banner .stat{text-align:center;padding:0 .4rem}#banner .stat-l{letter-spacing:.18em;margin-top:2px}}.pj-modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:99999;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .3s cubic-bezier(.16,1,.3,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pj-modal-container{background:#fff;border-radius:20px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 24px 60px rgba(0,0,0,.1),0 0 0 1px rgba(0,0,0,.05);animation:slideUp .4s cubic-bezier(.16,1,.3,1);padding:2.5rem}@keyframes slideUp{0%{transform:translateY(20px) scale(.98);opacity:0}to{transform:none;opacity:1}}.pj-modal-close{position:absolute;top:1.5rem;right:1.5rem;background:#f1f5f9;border:none;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#64748b;transition:all .2s ease}.pj-modal-close:hover{background:#e2e8f0;color:#0f172a}.pj-modal-head h2{font-size:2rem;font-weight:500;letter-spacing:-.03em;margin:0 0 .5rem;color:#020617}.pj-modal-head p{font-size:1.05rem;color:#475569;margin:0}.pj-form-card{margin-top:2rem}.pj-step-indicator{justify-content:space-between;margin-bottom:2.5rem}.pj-si-step,.pj-step-indicator{display:flex;align-items:center}.pj-si-step{gap:.5rem;font-size:.85rem;font-weight:500;color:#94a3b8;transition:all .3s ease}.pj-si-step.active{color:#0f172a}.pj-si-step.done{color:#16a34a}.pj-si-num{width:20px;height:20px;border-radius:50%;background:#f1f5f9;color:#64748b;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}.pj-si-step.active .pj-si-num{background:#0f172a;color:#fff}.pj-si-step.done .pj-si-num{background:#16a34a;color:#fff}.pj-si-line{flex:1 1;height:1px;background:#e2e8f0;margin:0 1rem}.pj-form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.pj-field{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.4rem}.pj-field label{font-size:.85rem;font-weight:500;color:#0f172a}.req{color:#b91c1c}.pj-field input,.pj-field textarea{width:100%;padding:.85rem 1rem;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;font-size:.95rem;color:#0f172a;box-sizing:border-box;transition:all .2s ease;outline:none}.pj-field input:focus,.pj-field textarea:focus{background:#fff;border-color:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.1)}.pj-field textarea{height:140px;resize:vertical}.pj-char-counter{font-size:.75rem;color:#94a3b8;text-align:right;margin-top:-.2rem}.pj-form-nav{display:flex;align-items:center;justify-content:space-between;padding-top:1.5rem;border-top:1px solid #e2e8f0;margin-top:1rem}.pj-step-count{font-size:.85rem;color:#64748b}.pj-step-count b{color:#0f172a;font-weight:600}.pj-btn-next,.pj-btn-prev{background:transparent;border:none;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.pj-btn-next{color:#16a34a}.pj-btn-next:hover{color:#15803d}.pj-btn-prev{color:#64748b}.pj-btn-prev:hover{color:#0f172a}.pj-svc-checks{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.pj-svc-check{padding:.65rem 1rem;border-radius:40px;border:1px solid #e2e8f0;font-size:.85rem;color:#475569;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pj-svc-check:hover{background:#f8fafc;border-color:#cbd5e1;color:#0f172a}.pj-svc-check.checked{background:#f0fdf4;border-color:#22c55e;color:#15803d;font-weight:500}.pj-svc-check-box{width:14px;height:14px;border-radius:4px;border:1px solid #cbd5e1;display:flex;align-items:center;justify-content:center}.pj-svc-check.checked .pj-svc-check-box{background:#22c55e;border-color:#22c55e}.pj-btn-submit-main{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:1rem;background:#22c55e;color:#fff;font-size:1rem;font-weight:500;border:none;border-radius:10px;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1)}.pj-btn-submit-main:hover:not(:disabled){background:#16a34a;transform:translateY(-2px);box-shadow:0 10px 20px -5px rgba(22,163,74,.4)}.pj-btn-submit-main:disabled{opacity:.7;cursor:not-allowed}.pj-error{color:#b91c1c;font-size:.85rem;margin-top:.5rem}.pj-form-success{text-align:center;padding:2rem 0;animation:fadeIn .4s ease}.pj-success-icon{width:64px;height:64px;border-radius:50%;background:#f0fdf4;color:#22c55e;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.pj-success-icon svg{width:32px;height:32px;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;fill:none}.pj-form-success h3{font-size:1.5rem;font-weight:500;margin:0 0 .5rem;color:#020617;letter-spacing:-.02em}.pj-form-success p{color:#475569;font-size:1rem;line-height:1.6;max-width:400px;margin:0 auto}@media (max-width:600px){.pj-form-row{grid-template-columns:1fr;gap:0}.pj-modal-container{padding:2rem 1.5rem}}