.diorama{position:relative;width:100%;max-width:440px;aspect-ratio:1/1;margin-left:auto;container-type:inline-size;touch-action:pan-y;--u:1.15px}@media(max-width:900px){.diorama{max-width:300px;margin:0 auto;--u:0.78px}}@media(max-width:640px){.diorama{max-width:240px;--u:0.63px}}@supports(width:1cqw){.diorama{--u:calc(115cqw / 440)}}.diorama__scene{position:absolute;inset:0;perspective:calc(1500*var(--u));perspective-origin:50% 42%}.diorama__bob,.diorama__cam,.diorama__tilt,.diorama__turn{position:absolute;inset:0;transform-style:preserve-3d}.diorama__bob{animation:diorama-bob 9s ease-in-out infinite alternate}.diorama__cam{transform:translateY(calc(-14 * var(--u))) rotateX(-24deg) rotateY(-34deg)}.diorama__turn{animation:diorama-turn 18s ease-in-out infinite alternate}.diorama__ground{position:absolute;left:50%;top:50%;width:calc(300*var(--u));height:calc(200*var(--u));margin:calc(-100*var(--u)) 0 0 calc(-150*var(--u));transform:translateY(calc(70 * var(--u))) rotateX(90deg);background:#fff;border:1px solid #bfc5bd}.diorama__shadow{position:absolute;background:rgba(11,61,32,.12)}.diorama__shadow--browser{left:calc(7*var(--u));top:calc(45*var(--u));width:calc(250*var(--u));height:calc(10*var(--u))}.diorama__shadow--phone{left:calc(225*var(--u));top:calc(150.5*var(--u));width:calc(74*var(--u));height:calc(9*var(--u))}.obj{width:calc(var(--w)*var(--u));height:calc(var(--h)*var(--u));transform-style:preserve-3d;transform:translate(-50%,-50%) translate3d(calc(var(--x) * var(--u)),calc(var(--y) * var(--u)),calc(var(--z) * var(--u)))}.f,.obj{position:absolute;left:50%;top:50%}.f{background:#121513;border:1px solid #4b514d}.f--back,.f--front{width:calc(var(--w)*var(--u));height:calc(var(--h)*var(--u));margin:calc(var(--h)*var(--u)/-2) 0 0 calc(var(--w)*var(--u)/-2)}.f--front{transform:translateZ(calc(var(--d) * var(--u) / 2))}.f--back{transform:rotateY(180deg) translateZ(calc(var(--d) * var(--u) / 2))}.f--left,.f--right{width:calc(var(--d)*var(--u));height:calc(var(--h)*var(--u));margin:calc(var(--h)*var(--u)/-2) 0 0 calc(var(--d)*var(--u)/-2)}.f--right{transform:rotateY(90deg) translateZ(calc(var(--w) * var(--u) / 2))}.f--left{transform:rotateY(-90deg) translateZ(calc(var(--w) * var(--u) / 2))}.f--top{width:calc(var(--w)*var(--u));height:calc(var(--d)*var(--u));margin:calc(var(--d)*var(--u)/-2) 0 0 calc(var(--w)*var(--u)/-2);transform:rotateX(90deg) translateZ(calc(var(--h) * var(--u) / 2))}.browser{--w:250;--h:170;--d:10;--x:-18;--y:-15;--z:-50}.browser__front{background:#fff;border-color:#121513;transform-style:preserve-3d}.browser__bar{position:absolute;left:0;right:0;top:0;height:calc(22*var(--u));background:#121513;display:flex;align-items:center;gap:calc(5*var(--u));padding-left:calc(9*var(--u))}.browser__bar i{display:block;width:calc(6*var(--u));height:calc(6*var(--u));background:#f4f5f2}.browser__bar i:last-child{background:#0e7a3b}.browser__screen{position:absolute;left:0;right:0;top:calc(22*var(--u));bottom:0;transform-style:preserve-3d}.browser__layer{position:absolute;left:calc(14*var(--u));top:calc(16*var(--u));width:calc(122*var(--u));height:calc(96*var(--u));transition:transform .7s cubic-bezier(.32,.72,0,1)}.browser__layer--ink{background:#121513;transform:translate3d(calc(8 * var(--u)),calc(8 * var(--u)),calc(3 * var(--u)))}.browser__layer--green{background:#0e7a3b;transform:translateZ(calc(9 * var(--u)))}.phone{--w:74;--h:150;--d:9;--x:112;--y:-5;--z:55}.phone__front,.phone__screen{transform-style:preserve-3d}.phone__screen{position:absolute;left:calc(5*var(--u));right:calc(5*var(--u));top:calc(7*var(--u));bottom:calc(7*var(--u));background:#fff}.phone__block{position:absolute;left:calc(7*var(--u));top:calc(8*var(--u));width:calc(44*var(--u));height:calc(46*var(--u));transition:transform .7s cubic-bezier(.32,.72,0,1)}.phone__block--ink{background:#121513;transform:translate3d(calc(6 * var(--u)),calc(6 * var(--u)),calc(2 * var(--u)))}.phone__block--green{background:#0e7a3b;transform:translateZ(calc(6 * var(--u)))}.diorama:hover .browser__layer--ink{transform:translate3d(calc(8 * var(--u)),calc(8 * var(--u)),calc(6 * var(--u)))}.diorama:hover .browser__layer--green{transform:translateZ(calc(18 * var(--u)))}.diorama:hover .phone__block--ink{transform:translate3d(calc(6 * var(--u)),calc(6 * var(--u)),calc(4 * var(--u)))}.diorama:hover .phone__block--green{transform:translateZ(calc(12 * var(--u)))}@keyframes diorama-bob{0%{transform:translateY(0)}to{transform:translateY(calc(-8 * var(--u)))}}@keyframes diorama-turn{0%{transform:rotateY(-3deg)}to{transform:rotateY(3deg)}}@media(prefers-reduced-motion:reduce){.diorama__bob,.diorama__turn{animation:none}.browser__layer,.phone__block{transition:none}}.hero{position:relative;width:100%;padding:56px 0 104px;overflow:hidden}@media(max-width:900px){.hero{padding:40px 0 72px}}.hero:before{content:"";position:absolute;z-index:0;left:76%;top:34%;width:clamp(420px,56vw,900px);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;background:radial-gradient(closest-side at 40% 42%,rgba(126,255,161,.42) 0,rgba(126,255,161,0) 100%),radial-gradient(closest-side at 52% 52%,rgba(14,122,59,.16) 0,rgba(14,122,59,0) 100%);animation:glow-drift 16s ease-in-out infinite alternate;will-change:transform;animation-delay:-6s}@media(max-width:900px){.hero:before{left:50%;top:22%}}.hero__inner{width:100%;max-width:1280px;margin:0 auto;padding-left:24px;padding-right:24px;position:relative;z-index:1;display:flex;flex-direction:column}@media(max-width:640px){.hero__inner{padding-left:20px;padding-right:20px}}.hero__rise{animation:hero-rise .9s cubic-bezier(.32,.72,0,1) both;animation-delay:calc(var(--i)*90ms)}.hero__top{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-gap:48px;gap:48px;align-items:center;margin-bottom:56px}@media(max-width:900px){.hero__top{grid-template-columns:1fr;gap:32px;margin-bottom:36px}}.hero__copy{display:flex;flex-direction:column;min-width:0}.hero__visual{display:flex;justify-content:flex-end;min-width:0}@media(max-width:900px){.hero__visual{justify-content:center;order:-1}}.hero__title{font-size:clamp(40px,5.4vw,84px);font-weight:600;font-stretch:108%;letter-spacing:-.03em;line-height:1.02;color:#121513;text-wrap:balance;margin:0;max-width:14ch;line-height:.98}@media(max-width:900px){.hero__title{max-width:100%}}.hero__row{position:relative;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-gap:40px;gap:40px;align-items:end;padding-top:32px}.hero__row:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:#d7dbd5;transform:scaleX(0);transform-origin:left center;animation:hero-rule 1.1s cubic-bezier(.32,.72,0,1) both;animation-delay:.42s}@media(max-width:900px){.hero__row{grid-template-columns:1fr;gap:32px;padding-top:28px}}.hero__text{font-size:19px;line-height:1.55;color:#4b514d;margin:0;text-wrap:pretty;max-width:46ch}@media(max-width:640px){.hero__text{font-size:17px}}.hero__cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:900px){.hero__cta{justify-content:flex-start}}@media(max-width:420px){.hero__cta{flex-direction:column}.hero__cta .btn{width:100%}}@keyframes hero-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes hero-rule{to{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.hero:before,.hero__rise{animation:none}.hero__row:before{animation:none;transform:none}}.projects{list-style:none;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:64px 40px;gap:64px 40px}@media(max-width:900px){.projects{grid-template-columns:1fr;gap:48px}}.projects__item{grid-column:span 7;display:flex;flex-direction:column;gap:20px}.projects__item:nth-child(4n+2),.projects__item:nth-child(4n+3){grid-column:span 5}@media(max-width:900px){.projects__item{grid-column:1/-1!important}}.projects__media{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:#eaece7;border:1px solid #d7dbd5;transition:box-shadow .4s cubic-bezier(.32,.72,0,1)}.projects__media img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.32,.72,0,1)}.projects__wash{inset:0;background:#0b3d20;transition:opacity .4s cubic-bezier(.32,.72,0,1)}.projects__index,.projects__wash{position:absolute;opacity:0;pointer-events:none}.projects__index{left:18px;bottom:14px;font-size:clamp(40px,3vw + 16px,64px);font-weight:600;font-stretch:108%;letter-spacing:-.03em;line-height:1.02;color:#121513;text-wrap:balance;margin:0;color:#f4f5f2;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transform:translateY(12px);transition:opacity .4s cubic-bezier(.32,.72,0,1),transform .4s cubic-bezier(.32,.72,0,1)}.projects__item:hover .projects__media{box-shadow:0 32px 60px -36px rgba(11,61,32,.5)}.projects__item:hover .projects__media img{transform:scale(1.06)}.projects__item:hover .projects__wash{opacity:.32}.projects__item:hover .projects__index{opacity:1;transform:none}.projects__meta{display:flex;flex-direction:column;gap:8px}.projects__meta__row{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.projects__title{font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.2;color:#121513;margin:0}.projects__title span{position:relative;display:inline-block}.projects__title span:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:#0e7a3b;transform:scaleX(0);transform-origin:left center;transition:transform .4s cubic-bezier(.32,.72,0,1)}.projects__item:hover .projects__title span:after{transform:scaleX(1)}.projects__visit{display:inline-flex;align-items:center;gap:4px;font-size:15px;font-weight:500;white-space:nowrap;color:#121513;text-decoration:none;transition:color .2s cubic-bezier(.32,.72,0,1)}.projects__visit svg{width:16px;height:16px;transition:transform .4s cubic-bezier(.32,.72,0,1)}.projects__item:hover .projects__visit,.projects__visit:hover{color:#0e7a3b}.projects__item:hover .projects__visit svg{transform:translate(3px,-3px)}.projects__summary{font-size:16px;line-height:1.55;color:#4b514d;margin:0;text-wrap:pretty;max-width:56ch}.projects__tags{font-size:14px;color:#676e69;margin:0}.work__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:56px}@media(max-width:640px){.work__head{flex-direction:column;align-items:flex-start;margin-bottom:40px}}.work__all-wrap{padding-bottom:6px}.work__all{font-size:16px;font-weight:500;white-space:nowrap}.stack{overflow:hidden;padding:72px 0}@media(max-width:900px){.stack{padding:56px 0}}.stack__rows{display:flex;flex-direction:column;gap:16px;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}@media(max-width:640px){.stack__rows{gap:12px}}.stack__shift,.stack__track{width:max-content;will-change:transform}.stack__track{display:flex;animation:stack-drift var(--dur,60s) linear infinite}.stack__track--reverse{animation-direction:reverse}.stack__rows:hover .stack__track{animation-play-state:paused}.stack__lane{list-style:none;margin:0;padding:0 0 0 16px;display:flex;gap:16px;flex-shrink:0}@media(max-width:640px){.stack__lane{padding-left:12px;gap:12px}}.stack__chip{display:flex;flex-direction:column;gap:6px;padding:16px 22px 14px;border:1px solid #121513;background:#fff;white-space:nowrap;transition:background .2s cubic-bezier(.32,.72,0,1),color .2s cubic-bezier(.32,.72,0,1),transform .4s cubic-bezier(.32,.72,0,1),box-shadow .4s cubic-bezier(.32,.72,0,1)}.stack__chip:hover{background:#121513;transform:translateY(-6px);box-shadow:0 22px 40px -22px rgba(11,61,32,.55)}.stack__chip:hover .stack__chip__name{color:#f4f5f2}.stack__chip:hover .stack__chip__tag{color:#7effa1}.stack__chip__name{font-size:22px;font-weight:600;font-stretch:108%;letter-spacing:-.03em;line-height:1.02;color:#121513;text-wrap:balance;margin:0;letter-spacing:-.02em;line-height:1.1;transition:color .2s cubic-bezier(.32,.72,0,1)}@media(max-width:640px){.stack__chip__name{font-size:18px}}.stack__chip__tag{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#676e69;transition:color .2s cubic-bezier(.32,.72,0,1)}@keyframes stack-drift{to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.stack__rows{mask-image:none;-webkit-mask-image:none;width:100%;max-width:1280px;margin:0 auto;padding-left:24px;padding-right:24px}}@media(prefers-reduced-motion:reduce)and (max-width:640px){.stack__rows{padding-left:20px;padding-right:20px}}@media(prefers-reduced-motion:reduce){.stack__track{animation:none;width:auto}.stack__lane{flex-wrap:wrap;padding-left:0}.stack__lane[aria-hidden=true]{display:none}}.iso-glyph{display:block;overflow:visible;flex-shrink:0}.iso-glyph polygon{vector-effect:non-scaling-stroke}.iso-glyph__lift{transition:transform .5s cubic-bezier(.32,.72,0,1)}@media(prefers-reduced-motion:reduce){.iso-glyph__lift{transition:none}}.help__list{display:flex;flex-direction:column;gap:56px}@media(max-width:900px){.help__list{gap:40px}}.help__row{position:relative;display:grid;grid-template-columns:64px minmax(0,6fr) minmax(0,1fr) minmax(0,5fr);grid-column-gap:24px;column-gap:24px;align-items:start}@media(max-width:900px){.help__row{grid-template-columns:52px minmax(0,1fr);column-gap:16px;row-gap:12px}}.help__row:before{content:attr(data-index);grid-column:3;grid-row:1;justify-self:end;align-self:start;z-index:0;font-size:clamp(88px,8.5vw,150px);font-weight:600;font-stretch:108%;letter-spacing:-.03em;line-height:1.02;color:#121513;text-wrap:balance;margin:0;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:transparent;-webkit-text-stroke:1px #bfc5bd;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:-webkit-text-stroke-color .4s cubic-bezier(.32,.72,0,1),transform .4s cubic-bezier(.32,.72,0,1)}@media(max-width:900px){.help__row:before{position:absolute;right:0;top:-.3em;margin:0;font-size:72px;-webkit-text-stroke-width:.75px;opacity:.55}}.help__row>*{position:relative;z-index:1}.help__row:hover:before{-webkit-text-stroke-color:#0e7a3b;transform:translateY(-6px)}.help__row:hover .iso-glyph__lift{transform:translateY(-4px)}.help__row:hover .help__q{color:#0e7a3b}.help__glyph-wrap{margin-top:-6px}@media(max-width:900px){.help__glyph-wrap{margin-top:-2px}.help__glyph{width:52px;height:52px}}.help__q{font-size:clamp(24px,1.4vw + 12px,32px);font-weight:600;font-stretch:108%;letter-spacing:-.03em;line-height:1.02;color:#121513;text-wrap:balance;margin:0;letter-spacing:-.025em;line-height:1.1;max-width:20ch;padding-top:10px;transition:color .4s cubic-bezier(.32,.72,0,1)}@media(max-width:900px){.help__q{padding-top:6px}}.help__a{font-size:17px;line-height:1.55;color:#4b514d;margin:0;text-wrap:pretty;grid-column:4;max-width:40ch;padding-top:14px}@media(max-width:900px){.help__a{grid-column:2;padding-top:0}}@media(prefers-reduced-motion:reduce){.help__row:hover .iso-glyph__lift,.help__row:hover:before{transform:none}}.reviews__list{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0 72px;gap:0 72px}@media(max-width:900px){.reviews__list{grid-template-columns:1fr;gap:48px}}.reviews__item{position:relative;display:flex;flex-direction:column;gap:24px;min-width:0}.reviews__item:before{content:"“";position:absolute;left:-.08em;top:-.32em;z-index:0;font-size:clamp(160px,14vw,240px);font-weight:600;font-stretch:108%;letter-spacing:-.03em;line-height:1.02;color:#121513;text-wrap:balance;margin:0;line-height:1;color:#0e7a3b;opacity:.08;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:opacity .4s cubic-bezier(.32,.72,0,1),transform .4s cubic-bezier(.32,.72,0,1)}.reviews__item>*{position:relative;z-index:1}.reviews__item:hover:before{opacity:.14;transform:translate(-4px,-6px)}.reviews__item+.reviews__item{padding-left:72px;border-left:1px solid #d7dbd5}.reviews__item+.reviews__item:before{left:calc(72px - .08em)}@media(max-width:900px){.reviews__item+.reviews__item{padding-left:0;border-left:0;padding-top:48px;border-top:1px solid #d7dbd5}.reviews__item+.reviews__item:before{left:-.08em;top:calc(48px - .32em)}}.reviews__stars{gap:2px;color:#0e7a3b}.reviews__stars,.reviews__stars span{display:inline-flex}.reviews__stars svg{width:22px;height:22px}.reviews__quote{margin:0}.reviews__quote p{font-size:clamp(20px,.6vw + 14px,24px);font-weight:600;font-stretch:108%;letter-spacing:-.03em;line-height:1.02;text-wrap:balance;font-weight:500;font-stretch:100%;letter-spacing:-.015em;line-height:1.4;color:#121513;text-wrap:pretty;margin:0}.reviews__quote p:before{content:"“"}.reviews__quote p:after{content:"”"}.reviews__source{display:flex;flex-direction:column;gap:4px;margin-top:auto;font-size:14px}.reviews__source__who{font-weight:500;color:#121513}.reviews__source__where{color:#676e69}@media(prefers-reduced-motion:reduce){.reviews__item:hover:before{transform:none}}.faq__inner{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,1fr) minmax(0,6fr);align-items:start}@media(max-width:900px){.faq__inner{grid-template-columns:1fr;gap:44px}}.faq__intro{position:-webkit-sticky;position:sticky;top:104px;display:flex;flex-direction:column;gap:18px}@media(max-width:900px){.faq__intro{position:static}}.faq__list{grid-column:3;display:flex;flex-direction:column;gap:40px;margin:0}@media(max-width:900px){.faq__list{grid-column:1;gap:32px}}.faq__item{position:relative;display:flex;flex-direction:column;gap:10px;padding-left:28px;border-left:1px solid #d7dbd5}.faq__item:before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:2px;background:#0e7a3b;transform:scaleY(0);transform-origin:top center;transition:transform .4s cubic-bezier(.32,.72,0,1)}.faq__item:hover:before{transform:scaleY(1)}.faq__item:hover .faq__num{color:#0e7a3b}.faq__item:hover .faq__q{transform:translateX(6px)}.faq__num{display:inline-block;margin-right:14px;font-size:13px;font-weight:600;letter-spacing:.06em;color:#676e69;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;vertical-align:.2em;transition:color .4s cubic-bezier(.32,.72,0,1)}.faq__q{font-size:20px;font-weight:600;letter-spacing:-.02em;line-height:1.3;color:#121513;transition:transform .4s cubic-bezier(.32,.72,0,1)}.faq__a{font-size:16px;line-height:1.55;color:#4b514d;margin:0;text-wrap:pretty;max-width:52ch}@media(prefers-reduced-motion:reduce){.faq__item:hover .faq__q{transform:none}}.closing{position:relative;width:100%;background:#0b3d20;color:#f4f5f2;padding:112px 0 120px;overflow:hidden}@media(max-width:900px){.closing{padding:80px 0 88px}}.closing ::selection{background:#7effa1;color:#0b3d20}.closing:before{content:"";position:absolute;z-index:0;left:18%;top:40%;width:clamp(520px,70vw,1100px);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;background:radial-gradient(closest-side at 50% 50%,rgba(126,255,161,.22) 0,rgba(126,255,161,0) 100%),radial-gradient(closest-side at 60% 46%,rgba(14,122,59,.55) 0,rgba(14,122,59,0) 100%);animation:closing-drift 22s ease-in-out infinite alternate;will-change:transform}@media(max-width:900px){.closing:before{left:40%;top:30%}}.closing__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,1fr) minmax(0,5fr);align-items:end}@media(max-width:900px){.closing__inner{grid-template-columns:1fr;gap:48px}}.closing__copy{display:flex;flex-direction:column;gap:20px}.closing__title{font-size:clamp(36px,3.4vw + 12px,64px);font-weight:600;font-stretch:108%;letter-spacing:-.03em;line-height:1.02;color:#121513;text-wrap:balance;margin:0;color:#f4f5f2;max-width:14ch}.closing__text{font-size:18px;line-height:1.55;color:#4b514d;margin:0;text-wrap:pretty;color:hsla(80,13%,95%,.78);max-width:40ch}.closing__contact{grid-column:3;display:flex;flex-direction:column;align-items:flex-start;gap:8px}@media(max-width:900px){.closing__contact{grid-column:1}}.closing__email{position:relative;font-size:clamp(26px,2vw + 10px,40px);font-weight:600;font-stretch:108%;letter-spacing:-.03em;line-height:1.02;color:#121513;text-wrap:balance;margin:0;color:#7effa1;text-decoration:none;letter-spacing:-.02em;padding-bottom:4px;overflow-wrap:anywhere}.closing__email:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#7effa1;transform:scaleX(0);transform-origin:right center;transition:transform .4s cubic-bezier(.32,.72,0,1)}.closing__email:hover:after{transform:scaleX(1);transform-origin:left center}.closing__phone{font-size:18px;color:hsla(80,13%,95%,.78);text-decoration:none;transition:color .2s cubic-bezier(.32,.72,0,1)}.closing__phone:hover{color:#f4f5f2}.closing__btn-wrap{margin-top:28px}@keyframes closing-drift{0%{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-38%,-58%) scale(1.15)}}@media(prefers-reduced-motion:reduce){.closing:before{animation:none}}