.home-page{background:#fdfdfd;color:#171717}
.home-page main .shell{width:min(1240px,calc(100% - 80px))}
.home-page main section[id]{scroll-margin-top:100px}
.home-page .site-header{height:150px}
.home-page .site-header.is-sticky{height:88px}
.home-page .site-header__inner{width:min(1220px,calc(100% - 80px))}
.home-page .brand img{width:89px;height:106px}
.home-page .primary-nav{gap:38px;font-size:15px}
.home-page .primary-nav a[aria-current="page"]{color:#fff}
.home-page .primary-nav a[aria-current="page"]::after{background:#6cc551}
.binary{position:absolute;color:#a6d2f0;font-size:20px;font-weight:700;line-height:2;letter-spacing:14px;opacity:.72;user-select:none;z-index:0}

.home-hero{position:relative;height:1160px;overflow:hidden}
.home-hero__shape{position:absolute;right:0;top:0;width:1064px;height:920px;object-fit:fill;z-index:0}
.home-hero__inner{position:relative;height:100%}
.home-hero__copy{position:absolute;top:318px;left:0;z-index:3}
.home-hero__copy h1{margin:0 0 36px;font-size:58px;line-height:1.06;letter-spacing:-2.2px;font-weight:700}
.home-hero__copy h1 span{display:block;white-space:nowrap}
.home-hero__copy p{margin:0 0 38px;font-size:27px;line-height:1.85;font-weight:400}
.home-hero__copy .button{min-width:290px;min-height:76px;border-radius:13px;font-size:24px}
.home-hero__robot{position:absolute;right:0;top:188px;width:600px;max-height:900px;object-fit:contain;z-index:2;filter:drop-shadow(0 24px 20px rgba(0,0,0,.18))}
.binary--hero{left:-28px;top:472px}

.home-expertise{position:relative;z-index:0;isolation:isolate;height:1250px;overflow:visible;padding-top:60px}
.home-expertise>.shell{position:relative;z-index:2}
.home-expertise__blob{position:absolute;left:0;top:0;width:620px;height:862px;background:url('../images/may/Vector-1.png') left top/100% 100% no-repeat;z-index:0}
.home-section-title{position:relative;margin-left:0;z-index:2}
.home-section-title h2{position:relative;display:flex;align-items:baseline;gap:25px;margin:0;font-size:86px;line-height:1;text-transform:uppercase;letter-spacing:-3px}
.home-section-title h2 span{font-size:45px}
.home-section-title h2 strong{font-weight:800}
.home-section-title h2::after{content:"";position:absolute;width:465px;height:72px;left:228px;top:20px;background:#6cc551;z-index:-1}
.home-section-title p{margin:40px 0 0 42px;font-size:22px;line-height:1.75}
.home-services{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 55px;width:790px;margin:0 0 0 270px}
.home-service{position:relative;min-height:365px;padding:34px 30px 27px;border-radius:18px;background:#fff;box-shadow:0 24px 55px rgba(0,0,0,.1)}
.home-service:nth-child(even){top:105px}
.home-service img{width:76px;height:76px;object-fit:contain;margin-bottom:14px}
.home-service h3{margin:0 0 20px;color:#1e1d35;font-size:26px;line-height:1.08}
.home-service p{margin:0 0 20px;font-size:14px;line-height:1.75;color:#282828}
.home-service a{color:#ad4e42;font-size:14px;font-weight:700}
.home-chain{position:absolute;left:-90px;top:700px;width:calc(100vw + 180px);max-width:none;z-index:0;pointer-events:none}
.binary--expertise{right:-35px;top:320px;color:#d0d0d0}

.home-ubbu{position:relative;z-index:2;height:1160px;padding-top:115px;overflow:hidden}
.home-ubbu__grid{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:130px;align-items:start}
.home-ubbu__copy h2{margin:0 0 54px;font-size:60px;line-height:1;text-transform:uppercase;font-weight:800}
.home-ubbu__copy>img{width:520px}
.home-ubbu__badge{display:table;margin:22px 0 0;padding:9px 16px;border:1px solid #087789;border-radius:999px;color:#087789;font-size:14px;line-height:1;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.home-ubbu__copy p{margin:70px 0 62px;font-size:23px;line-height:2}
.home-ubbu__copy .button{min-width:275px;min-height:62px;font-size:22px}
.home-ubbu__features{display:grid;gap:44px;padding-top:170px}
.home-ubbu__features>div{display:grid;grid-template-columns:110px 1fr;gap:42px;align-items:center}
.home-ubbu__features img{width:104px;height:104px;object-fit:contain}
.home-ubbu__features h3{margin:0;font-size:30px;line-height:1.2}

.home-cases{position:relative;height:1260px;overflow:visible;padding-top:45px}
.home-cases__intro{position:relative;z-index:3}
.home-cases__intro h2{position:relative;width:max-content;margin:0;font-size:64px;line-height:1;text-transform:uppercase;font-weight:800;z-index:1}
.home-cases__intro h2::after{content:"";position:absolute;left:480px;top:15px;width:590px;height:54px;background:#ad4e42;z-index:-1}
.home-cases__intro h2 span{font-size:39px}
.home-cases__intro p{margin:28px 0 0;font-size:19px;line-height:1.85}
.home-cases__grid{display:grid;grid-template-columns:1fr 1fr;height:auto;align-items:start;margin-top:42px}
.home-case-list{position:relative;z-index:2;display:grid;gap:28px;width:920px;margin-left:calc((100vw - 1240px)/-2)}
.home-case{display:grid;align-items:center;height:180px}
.home-case--teal{grid-template-columns:520px 1fr}.home-case--green{grid-template-columns:470px 1fr}.home-case--red{grid-template-columns:650px 1fr}.home-case--blue{grid-template-columns:565px 1fr}
.home-case span{height:100%;display:flex;justify-content:flex-end;align-items:center;padding-right:44px;border-radius:0 90px 90px 0}
.home-case span img{width:104px;height:104px;object-fit:contain;filter:brightness(0) invert(1)}
.home-case strong{padding-left:30px;font-size:24px;line-height:1.45}
.home-case--teal span{background:#087789}.home-case--green span{background:#6cc551}.home-case--red span{background:#ad4e42}.home-case--blue span{background:#72b5e8}
.home-case-list__button{position:relative;left:calc(50vw - 135px);width:270px;margin:24px 0 0;line-height:1.2;text-align:center}
.home-cases__art{position:absolute;right:-230px;top:70px;width:770px;height:1350px;z-index:1}
.home-cases__art::before{content:"";position:absolute;right:75px;top:420px;width:610px;height:740px;background:#087789;border-radius:44% 56% 58% 42% / 56% 39% 61% 44%;z-index:-1}
.home-cases__art img{width:720px;height:100%;object-fit:contain}
.binary--cases{right:-55px;top:140px;color:#d9a49d}

.home-about{position:relative;min-height:1130px;padding-top:80px;overflow:hidden}
.home-about__title{position:relative;display:flex;align-items:baseline;gap:28px;width:max-content;margin-left:40px;z-index:2;text-transform:uppercase}
.home-about__title::after{content:"";position:absolute;left:380px;top:18px;width:480px;height:72px;background:#6cc551;z-index:-1}
.home-about__title span{font-size:45px;font-weight:800}.home-about__title h2{margin:0;font-size:82px;line-height:1;font-weight:800}
.home-about__lead{display:grid;grid-template-columns:520px 1fr;gap:70px;align-items:center;margin-top:30px}
.home-about__lead img{width:520px}
.home-about__lead h3{margin:0;color:#6cc551;font-size:50px;line-height:1.62;font-weight:700}
.home-about__body{max-width:1120px;margin:30px auto 0;font-size:18px;line-height:2.6;text-align:justify}
.binary--about{right:-40px;top:0;color:#aedfa8}

.home-testimonials{position:relative;height:1140px;padding-top:175px;overflow:hidden}
.home-testimonials__shape{position:absolute;left:0;top:0;width:430px;height:1060px;background:url('../images/may/Vector2.png') left top/100% 100% no-repeat;z-index:0}
.home-testimonials__title{position:relative;z-index:2;margin-left:40px}
.home-testimonials__title h2{position:relative;width:max-content;margin:0;font-size:67px;line-height:1;text-transform:uppercase;font-weight:800}
.home-testimonials__title h2::before{content:"";position:absolute;left:-55px;top:-22px;width:420px;height:72px;background:#087789;z-index:-1}
.home-testimonials__title h2 span{font-size:41px}
.home-testimonials__title p{margin:32px 0 0;font-size:21px;line-height:1.9}
.home-quotes{position:relative;height:700px;margin-top:35px;z-index:2}
.home-quote{position:absolute;margin:0;padding:50px 45px;border-radius:18px;color:#fff;overflow:hidden;isolation:isolate}
.home-quote h3{margin:0 0 34px;font-size:28px}.home-quote p{margin:0;font-size:16px;line-height:2.05}
.home-quote--green{left:15px;top:15px;width:530px;min-height:300px;background:#6cc551}
.home-quote--red{right:25px;top:145px;width:540px;min-height:300px;background:#ad4e42}
.home-quote--teal{left:55px;top:400px;width:560px;min-height:300px;background:#087789}
.binary--testimonials{left:-15px;bottom:-40px;color:#d9a49d}

.home-cta{height:896px;padding-top:55px;overflow:hidden}
.home-cta__grid{display:grid;grid-template-columns:480px 1fr;gap:70px;align-items:center}
.home-cta__grid>img{width:430px;max-height:820px;object-fit:contain;align-self:start}
.home-cta__grid>div{text-align:right;padding-top:125px}
.home-cta__grid p{margin:0 0 14px;font-size:38px;line-height:1;text-transform:uppercase;font-weight:800}
.home-cta__grid h2{position:relative;margin:0;font-size:75px;line-height:1.05;text-transform:uppercase;font-weight:800;z-index:1}
.home-cta__grid h2::before{content:"";position:absolute;right:100px;top:57px;width:465px;height:72px;background:#6cc551;z-index:-1}
.home-cta__grid span{display:block;margin:46px 0 34px;font-size:17px;line-height:1.7}
.home-cta__grid .button{min-width:180px}

@media(max-width:1200px){
  .home-services{width:790px;margin-left:80px}.home-case-list{margin-left:-40px}.home-about__lead h3{font-size:43px}.home-cta__grid h2{font-size:66px}
}
@media(max-width:980px){
  .home-page main .shell{width:min(100% - 36px,760px)}
  .home-page .site-header__inner{width:calc(100% - 36px)}.home-page .primary-nav{font-size:inherit}.home-page .primary-nav a[aria-current="page"]{color:#fa7772}
  .home-hero{height:auto;min-height:1040px}.home-hero__shape{width:760px;height:auto;right:-250px}.home-hero__copy{top:260px}.home-hero__copy h1{font-size:46px}.home-hero__copy p{font-size:21px}.home-hero__robot{right:-20px;top:470px;width:410px}.binary--hero{top:460px}
  .home-expertise{height:auto;min-height:1350px;padding-top:95px}.home-section-title{margin-left:0}.home-section-title h2{font-size:66px}.home-section-title h2 span{font-size:34px}.home-section-title h2::after{left:175px;width:370px}.home-services{width:100%;grid-template-columns:repeat(2,1fr);margin:70px 0 0}.home-service:nth-child(n){top:0}.home-chain{top:auto;bottom:0}
  .home-ubbu{height:auto;min-height:1000px}.home-ubbu__grid{gap:60px}.home-ubbu__features{padding-top:90px}.home-ubbu__features>div{grid-template-columns:80px 1fr;gap:20px}.home-ubbu__features img{width:75px;height:75px}.home-ubbu__features h3{font-size:23px}
  .home-cases{height:1450px}.home-cases__intro h2{font-size:52px}.home-cases__intro h2 span{font-size:31px}.home-cases__intro h2::after{left:375px;width:400px;height:48px}.home-cases__grid{grid-template-columns:1.1fr .9fr}.home-case-list{width:680px;margin-left:calc((760px - 100vw)/2)}.home-case.home-case--teal{grid-template-columns:390px 1fr}.home-case.home-case--green{grid-template-columns:350px 1fr}.home-case.home-case--red{grid-template-columns:480px 1fr}.home-case.home-case--blue{grid-template-columns:420px 1fr}.home-case-list__button{left:calc(50vw - 135px)}.home-cases__art{right:-340px;top:165px}
  .home-about__title{margin-left:0}.home-about__title span{font-size:34px}.home-about__title h2{font-size:65px}.home-about__title::after{left:290px;width:390px}.home-about__lead{grid-template-columns:410px 1fr}.home-about__lead h3{font-size:34px}.home-about__body{font-size:16px}
  .home-testimonials__title{margin-left:20px}.home-testimonials__title h2{font-size:54px}.home-testimonials__title h2 span{font-size:31px}.home-quote--green{width:46%}.home-quote--red{width:47%}.home-quote--teal{width:49%}
  .home-cta__grid{grid-template-columns:350px 1fr}.home-cta__grid>img{width:340px}.home-cta__grid p{font-size:26px}.home-cta__grid h2{font-size:48px}.home-cta__grid h2::before{right:45px;top:35px;width:350px;height:55px}
}
@media(max-width:796px) and (min-width:621px){.home-case-list{margin-left:-18px}}
@media(max-width:620px){
  .home-page main .shell{width:calc(100% - 30px)}
  .home-page .site-header{height:92px}.home-page .brand img{width:62px;height:62px}.binary{font-size:12px;letter-spacing:7px}
  .home-hero{min-height:790px}.home-hero__shape{width:540px;right:-250px}.home-hero__copy{top:205px}.home-hero__copy h1{font-size:30px;line-height:1.08;letter-spacing:-.9px}.home-hero__copy p{font-size:14px;line-height:1.7;margin-bottom:25px}.home-hero__copy .button{min-width:165px;min-height:50px;font-size:15px}.home-hero__robot{width:250px;top:410px;right:6px}.binary--hero{left:-15px;top:330px}
  .home-expertise{min-height:2050px;padding-top:65px}.home-expertise__blob{width:330px;height:380px;left:-170px}.home-section-title h2{display:block;font-size:45px;line-height:1.05}.home-section-title h2 span{font-size:24px}.home-section-title h2::after{left:85px;top:34px;width:230px;height:36px}.home-section-title p{margin:22px 0 0;font-size:15px;line-height:1.55}.home-services{grid-template-columns:1fr;gap:24px;margin-top:55px}.home-service{min-height:330px;padding:30px 25px}.home-service:nth-child(n){top:0}.home-service h3{font-size:24px}.home-chain{left:-130px;bottom:10px;width:900px}
  .home-ubbu{min-height:1110px;padding-top:65px}.home-ubbu__grid{grid-template-columns:1fr;gap:25px}.home-ubbu__copy h2{font-size:38px;margin-bottom:35px}.home-ubbu__copy>img{width:330px}.home-ubbu__badge{margin-top:16px;padding:8px 12px;font-size:11px}.home-ubbu__copy p{margin:35px 0;font-size:16px;line-height:1.7}.home-ubbu__copy .button{min-width:160px;min-height:50px;font-size:15px}.home-ubbu__features{padding-top:20px;gap:22px}.home-ubbu__features>div{grid-template-columns:70px 1fr}.home-ubbu__features img{width:65px;height:65px}.home-ubbu__features h3{font-size:20px}
  .home-cases{height:1540px;padding-top:35px}.home-cases__intro h2{width:100%;font-size:30px;line-height:1.05;white-space:nowrap}.home-cases__intro h2 span{font-size:20px}.home-cases__intro h2::after{left:118px;top:23px;width:225px;height:30px}.home-cases__intro p{margin-top:20px;font-size:14px;line-height:1.65}.home-cases__grid{display:block;margin-top:32px}.home-case-list{width:calc(100% + 15px);margin-left:-15px;gap:15px}.home-case{height:118px}.home-case.home-case--teal{grid-template-columns:52% 48%}.home-case.home-case--green{grid-template-columns:45% 55%}.home-case.home-case--red{grid-template-columns:67% 33%}.home-case.home-case--blue{grid-template-columns:57% 43%}.home-case span{padding-right:22px;border-radius:0 60px 60px 0}.home-case span img{width:72px;height:72px}.home-case strong{padding-left:16px;font-size:15px;line-height:1.35}.home-case-list__button{left:calc(50vw - 80px);width:160px;min-height:52px;margin:22px 0 0;font-size:13px}.home-cases__art{position:absolute;width:430px;height:710px;right:-135px;top:760px}.home-cases__art::before{width:330px;height:430px;right:52px;top:210px}.binary--cases{top:680px}
  .home-about{min-height:1130px;padding-top:50px}.home-about__title{display:block}.home-about__title span{font-size:23px}.home-about__title h2{font-size:48px}.home-about__title::after{left:116px;top:32px;width:230px;height:40px}.home-about__lead{grid-template-columns:1fr;gap:25px;margin-top:35px}.home-about__lead img{width:320px;margin:auto}.home-about__lead h3{font-size:30px;line-height:1.45}.home-about__body{margin-top:28px;font-size:14px;line-height:1.9;text-align:left}.binary--about{display:none}
  .home-testimonials{height:1310px;padding-top:90px}.home-testimonials__shape{left:-180px;width:430px;height:1150px}.home-testimonials__title{margin-left:0}.home-testimonials__title h2{font-size:34px;line-height:1.05}.home-testimonials__title h2 span{display:block;font-size:25px}.home-testimonials__title h2::before{left:-15px;top:-12px;width:260px;height:42px}.home-testimonials__title p{font-size:15px;line-height:1.7}.home-quotes{height:1020px;margin-top:35px}.home-quote{position:relative!important;inset:auto!important;width:90%!important;min-height:0!important;margin:0 0 24px!important;padding:30px 25px}.home-quote:nth-child(2){margin-left:auto!important}.home-quote:nth-child(3){margin-left:20px!important}.home-quote h3{font-size:23px;margin-bottom:20px}.home-quote p{font-size:13px;line-height:1.8}
  .home-cta{height:850px;padding-top:20px}.home-cta__grid{grid-template-columns:42% 58%;gap:0}.home-cta__grid>img{width:240px;max-width:none;margin-left:-50px;padding-top:60px}.home-cta__grid>div{padding-top:105px}.home-cta__grid p{font-size:17px}.home-cta__grid h2{font-size:31px;line-height:1.08}.home-cta__grid h2::before{right:0;top:23px;width:190px;height:33px}.home-cta__grid span{font-size:11px;margin:28px 0 22px}.home-cta__grid .button{min-width:120px;min-height:44px;font-size:13px}
}

/* Homepage motion choreography */
.js .home-hero__shape{clip-path:inset(0 0 100% 0);transform:scale(1.035);transform-origin:top right;transition:clip-path 1050ms var(--motion-ease),transform 1200ms var(--motion-ease)}
.js.motion-ready .home-hero__shape{clip-path:inset(0);transform:scale(1)}
.js .home-hero__copy[data-reveal]{opacity:1;transform:none;filter:none;transition:none}
.js .home-hero__copy h1 span{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(22px);transition:opacity 700ms var(--motion-ease),clip-path 820ms var(--motion-ease),transform 820ms var(--motion-ease)}
.js .home-hero__copy h1 span:nth-child(2){transition-delay:100ms}
.js .home-hero__copy>p,.js .home-hero__copy>.button{opacity:0;transform:translateY(18px);transition:opacity 600ms var(--motion-ease),transform 700ms var(--motion-ease),box-shadow var(--motion-base) var(--motion-ease),background var(--motion-base) ease}
.js .home-hero__copy>p{transition-delay:220ms}
.js .home-hero__copy>.button{transition-delay:0ms}
.js .home-hero__copy.is-visible h1 span{opacity:1;clip-path:inset(0);transform:translateY(0)}
.js .home-hero__copy.is-visible>p,.js .home-hero__copy.is-visible>.button{opacity:1;transform:translateY(0)}
.js .home-hero__robot[data-reveal]{--reveal-x:38px;--reveal-y:18px;transform:translate3d(var(--reveal-x),var(--reveal-y),0) scale(.92) rotate(2deg);transition-duration:var(--motion-hero);transition-delay:180ms}
.js .home-hero__robot[data-reveal].is-visible{transform:translate3d(0,0,0) scale(1) rotate(0)}

.js .home-chain[data-reveal]{opacity:1;clip-path:inset(0 100% 0 0);transform:none;filter:none;transition:clip-path 1250ms var(--motion-ease)}
.js .home-chain[data-reveal].is-visible{clip-path:inset(0)}
.js .home-section-title h2::after,.js .home-cases__intro h2::after,.js .home-about__title::after,.js .home-testimonials__title h2::before,.js .home-cta__grid h2::before{transform:scaleX(0);transform-origin:left center;transition:transform 850ms var(--motion-ease) 160ms}
.js .home-section-title.is-visible h2::after,.js .home-cases__intro.is-visible h2::after,.js .home-about__title.is-visible::after,.js .home-testimonials__title.is-visible h2::before,.js .home-cta__grid>div.is-visible h2::before{transform:scaleX(1)}

.home-service,.home-ubbu__features>div,.home-case,.home-quote{backface-visibility:hidden}
.home-service{transition:transform var(--motion-base) var(--motion-ease),box-shadow var(--motion-base) var(--motion-ease)}
.home-service img,.home-ubbu__features img,.home-case span img{transition:transform 520ms var(--motion-spring),filter var(--motion-base) ease}
.home-ubbu__features>div{transition:transform var(--motion-base) var(--motion-ease)}
.home-case{transition:transform var(--motion-base) var(--motion-ease),filter var(--motion-base) ease}
.home-case span{transition:filter var(--motion-base) ease}
.home-quote{transition:transform var(--motion-base) var(--motion-ease),box-shadow var(--motion-base) var(--motion-ease)}

.binary.motion-ambient{animation:binary-breathe 7s ease-in-out infinite}
.home-expertise__blob.motion-ambient{animation:blob-breathe 9s ease-in-out infinite}
.home-testimonials__shape.motion-ambient{animation:blob-breathe 11s ease-in-out infinite reverse}
@keyframes binary-breathe{0%,100%{opacity:.48}50%{opacity:.78}}
@keyframes blob-breathe{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.025) rotate(.7deg)}}

@media(hover:hover) and (pointer:fine){
  .js .home-hero__copy.is-visible>.button:hover{transform:translateY(-3px)}
  .js .home-hero__copy.is-visible>.button:active{transform:translateY(-1px) scale(.975)}
  .home-service:hover{transform:translateY(-9px);box-shadow:0 32px 68px rgba(15,48,54,.16)}
  .home-service:hover img{transform:translateY(-5px) rotate(-4deg) scale(1.08)}
  .home-ubbu__features>div:hover{transform:translateX(9px)}
  .home-ubbu__features>div:hover img{transform:rotate(-5deg) scale(1.08)}
  .home-case:hover{transform:translateX(8px);filter:saturate(1.08)}
  .home-case:hover span{filter:brightness(1.06)}
  .home-case:hover span img{transform:rotate(-5deg) scale(1.08)}
  .home-quote:hover{transform:translateY(-8px);box-shadow:0 28px 54px rgba(24,44,48,.2)}
}

@media(max-width:980px){
  .motion-parallax{translate:none!important}
}

@media(prefers-reduced-motion:reduce){
  .js .home-hero__shape,.js .home-hero__copy h1 span,.js .home-hero__copy>p,.js .home-hero__copy>.button,.js .home-hero__robot[data-reveal],.js .home-chain[data-reveal]{opacity:1!important;clip-path:none!important;transform:none!important;transition:none!important}
  .js .home-section-title h2::after,.js .home-cases__intro h2::after,.js .home-about__title::after,.js .home-testimonials__title h2::before,.js .home-cta__grid h2::before{transform:none!important;transition:none!important}
}
