/* Kinetic poster direction: flat geometry, bold type, continuous composition. */
html,body{overflow-x:clip}
.hero{background:#081c24;isolation:isolate}.hero-image{display:none}.hero-shade{background:none}.hero-grid{opacity:.65;background-size:80px 80px;background-image:linear-gradient(#79d6d20b 1px,transparent 1px),linear-gradient(90deg,#79d6d20b 1px,transparent 1px);transform:translateY(calc(var(--scroll-y,0px)*.08))}.header{background:none}.hero-copy{width:59%;z-index:4}.hero h1{font-size:clamp(64px,7.2vw,123px);letter-spacing:-5px}.hero h1>span{display:inline-block;position:relative}.hero h1>span:after{content:'';position:absolute;left:0;right:0;height:5px;bottom:-7px;background:var(--mint);transform-origin:left;animation:underline 5s var(--ease) infinite}.hero-copy>.eyebrow{animation:enter .9s both}.hero h1{animation:enter 1.1s .1s both}.hero-lead,.hero-detail{animation:enter 1.1s .25s both}.hero-buttons{animation:enter 1.1s .4s both}.poster-word{position:absolute;font-size:clamp(120px,18vw,340px);font-weight:850;white-space:nowrap;letter-spacing:-10px;bottom:112px;left:0;line-height:.9;-webkit-text-stroke:1px #79d6d224;color:transparent;z-index:-1;animation:poster-drift 24s linear infinite alternate;pointer-events:none}.creative-device{top:23%;right:5%;width:36%;max-width:550px;min-height:480px;background:none;border:0;backdrop-filter:none;transform:translate(var(--pointer-x,0px),var(--pointer-y,0px));transition:transform .5s var(--ease);z-index:3}.creative-device:hover{transform:translate(var(--pointer-x,0px),var(--pointer-y,0px))}.creative-device:before{content:'';position:absolute;inset:30px -6px 40px;border:1px solid #79d6d23d;animation:frame-turn 18s ease-in-out infinite;pointer-events:none}.creative-device:after{content:'';position:absolute;inset:60px 25px 72px;border:1px dashed #79d6d22b;animation:frame-turn 24s ease-in-out infinite reverse;pointer-events:none}.device-top{padding:14px 0;border:0;color:var(--mint)}.device-top span:last-child{background:var(--mint);color:var(--ink);padding:6px 9px;font-size:11px}.device-bottom{position:relative;border:0;padding:15px 0;z-index:5}.device-bottom button{border:1px solid #79d6d25c;padding:10px 15px;background:var(--bg)}#recompose{position:relative;z-index:4;padding:6px 34px;height:390px}#recompose svg{height:100%;filter:none;overflow:visible}.piece{transition:transform 1.45s cubic-bezier(.5,0,.1,1),fill 1s;transform-box:fill-box;transform-origin:center}.creative-device[data-layout="1"] .p1{transform:translate(-9px,-14px) rotate(-9deg);fill:#f3f8fa}.creative-device[data-layout="1"] .p2{transform:translate(18px,0) rotate(12deg);fill:#79d6d2}.creative-device[data-layout="1"] .p3{transform:translate(0,14px) rotate(-7deg);fill:#007f87}.creative-device[data-layout="2"] .p1{transform:translate(18px,30px) rotate(90deg);fill:#007f87}.creative-device[data-layout="2"] .p2{transform:translate(-45px,-18px) rotate(-90deg);fill:#f3f8fa}.creative-device[data-layout="2"] .p3{transform:translate(38px,0) rotate(90deg);fill:#79d6d2}.hero-cross{position:absolute;color:var(--mint);font-size:30px;font-weight:200;animation:cross-turn 8s ease-in-out infinite}.cross-one{top:22%;right:44%;}.cross-two{bottom:21%;right:3%;animation-delay:-4s}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:var(--mint);transform:scaleX(var(--page-progress,0));transform-origin:left;z-index:100}.service-ribbon{background:var(--mint);border:0;padding:22px 0;transform:rotate(-1.4deg) scale(1.03);position:relative;z-index:5}.service-ribbon>div{color:var(--ink);font-size:20px;font-weight:650;letter-spacing:2px;animation-duration:25s}.service-ribbon b{color:var(--teal)}.services{padding-top:125px}.service-tabs button{transition:color .25s,background .25s,transform .3s}.service-tabs button:hover{transform:translateY(-4px)}.service-visual{background:#123a43}.service-visual:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent 49px,#79d6d20a 50px);animation:visual-grid 12s linear infinite}.visual-modules{animation:module-float 5s ease-in-out infinite}.partner-list>div{transition:background .3s,padding .3s}.partner-list>div:hover{background:#79d6d209;padding-left:22px}.contact-mark{animation:mark-pulse 8s ease-in-out infinite}.contact .contact-top h2{transition:color .3s}.contact .contact-top:hover h2{color:var(--mint)}.hero-bottom{z-index:5;background:#081c2490}.js-motion .reveal{transform:translateY(35px);transition-duration:.9s}
@keyframes enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes underline{0%,100%{transform:scaleX(.16)}45%,65%{transform:scaleX(1)}}@keyframes poster-drift{from{transform:translateX(4%)}to{transform:translateX(-35%)}}@keyframes frame-turn{0%,100%{transform:rotate(0deg) scale(.95)}50%{transform:rotate(12deg) scale(1.02)}}@keyframes cross-turn{0%,30%,100%{transform:rotate(0)}60%,80%{transform:rotate(90deg)}}@keyframes visual-grid{to{transform:translateX(50px)}}@keyframes module-float{50%{margin-top:-10px}}@keyframes mark-pulse{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(-8deg) scale(.9)}}
@media(max-width:1050px){.creative-device{right:4%;width:34%;top:29%;min-height:360px}#recompose{height:290px;padding:0 10px}.hero h1{font-size:clamp(63px,7.7vw,83px)}.creative-device:before{inset:25px -4px 40px}.cross-one{right:39%;top:27%}}
@media(max-width:720px){.hero{min-height:1060px;overflow:hidden}.hero-copy{width:100%}.hero h1{font-size:clamp(46px,10.8vw,75px);letter-spacing:-2.5px}.hero h1>span:after{height:3px}.creative-device{position:relative;right:auto;top:auto;width:100%;min-height:330px;margin-top:48px;transform:none!important}.creative-device:before{inset:22px 5px 45px}.creative-device:after{inset:37px 20px 65px}#recompose{height:255px;padding:0 21%}.device-top{padding:10px 0}.device-top span:first-child{font-size:10px}.device-top span:last-child{display:block}.device-bottom{padding:12px 0;font-size:11px}.device-bottom button{padding:8px 12px;font-size:11px}.poster-word{font-size:150px;bottom:120px;letter-spacing:-6px;opacity:.8}.hero-cross{font-size:22px}.cross-one{top:118px;right:7%}.cross-two{bottom:131px;right:4%}.service-ribbon>div{font-size:15px}.service-ribbon{padding:19px 0}.services{padding-top:80px}}
.no-motion .creative-device{transform:none}.no-motion .hero-grid{transform:none}.no-motion .hero h1>span:after{transform:scaleX(1)}
