:root{--ease-out:cubic-bezier(.16,1,.3,1)}
body{background:#f1f3f0}.site-header{transition:height .45s var(--ease-out),background-color .45s var(--ease-out)}.site-header:after{content:"";position:absolute;bottom:-1px;left:0;width:0;height:2px;background:var(--red);transition:width .7s var(--ease-out)}.site-header:hover:after{width:100%}
.hero{min-height:calc(100vh - 82px);isolation:isolate}.hero:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(4,19,44,.92),rgba(11,43,89,.74) 53%,rgba(10,32,68,.87));background-size:180% 100%;animation:atmosphere 13s ease-in-out infinite alternate}.hero-copy{animation:hero-in .9s .1s var(--ease-out) both}.hero-copy .eyebrow{position:relative;padding-left:51px}.hero-copy .eyebrow:before{content:"";position:absolute;width:37px;height:2px;background:var(--red);left:0;top:50%;transform-origin:left;animation:line-grow .9s .38s var(--ease-out) both}.hero h1{font-size:clamp(46px,5.2vw,84px);max-width:780px;letter-spacing:-.09em;text-wrap:balance}.hero h1 br{display:none}.hero p{animation:hero-in .9s .23s var(--ease-out) both}.hero .button{animation:hero-in .9s .37s var(--ease-out) both;transition:transform .3s var(--ease-out),background .3s}.hero .button:hover{transform:translateY(-4px)}.hero-art{background:radial-gradient(circle at 65% 22%,rgba(45,95,166,.72),transparent 38%),linear-gradient(143deg,#183f79 0%,#08204a 72%);}.hero-art:before{content:"";position:absolute;inset:-30%;background-image:linear-gradient(rgba(186,210,246,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(186,210,246,.1) 1px,transparent 1px);background-size:46px 46px;transform:rotate(-19deg);animation:grid-drift 18s linear infinite}.hero-art:after{content:"";position:absolute;z-index:1;width:52%;aspect-ratio:1;border:1px solid rgba(255,255,255,.28);border-radius:50%;right:22%;top:15%;box-shadow:0 0 0 37px rgba(255,255,255,.027),0 0 0 78px rgba(255,255,255,.018);animation:radar 5s ease-in-out infinite}.road{animation:route-slide 6s linear infinite}.warehouse{z-index:2;animation:warehouse-rise 1.2s .5s var(--ease-out) both}.route-dot{z-index:3;animation:signal 2.8s ease-in-out infinite}.route-dot.two{animation-delay:.75s}.route-dot.three{animation-delay:1.45s}.hero-stamp{z-index:3;animation:fade-up 1s .9s var(--ease-out) both}
.proof{position:relative;z-index:4;box-shadow:0 14px 45px rgba(10,32,68,.08)}.proof-item{transition:background .35s var(--ease-out),color .35s var(--ease-out),transform .35s var(--ease-out)}.proof-item:hover{background:var(--ink);color:var(--white);transform:translateY(-5px)}.proof-item:hover span{color:#ced9ea}.proof-item strong{font-size:clamp(27px,2.3vw,42px)}
.section{position:relative}.section-head h2{max-width:720px}.service-strip{overflow:hidden}.service-tile{position:relative;overflow:hidden;isolation:isolate}.service-tile:before{content:"";position:absolute;z-index:-1;width:210%;aspect-ratio:1;left:-55%;bottom:-120%;background:var(--red);border-radius:50%;transition:transform .7s var(--ease-out)}.service-tile:hover:before{transform:translateY(-52%)}.service-icon{display:block;width:46px;height:46px;color:var(--ink);transition:color .35s var(--ease-out),transform .5s var(--ease-out)}.service-icon svg,.cap-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.service-tile:hover .service-icon{color:var(--white);transform:translateY(-5px) rotate(-5deg)}.tile-arrow{position:absolute;right:22px;top:24px;font-size:23px;opacity:0;transform:translate(-10px,10px);transition:.35s var(--ease-out)}.service-tile:hover .tile-arrow{opacity:1;transform:none}.service-cn{transition:transform .35s var(--ease-out)}.service-tile:hover .service-cn{transform:translateX(5px)}
.digital{background:linear-gradient(145deg,#e6e7e2,#e1e7ed);overflow:hidden}.digital:after{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(16,39,79,.14);border-radius:50%;right:-190px;bottom:-230px;box-shadow:0 0 0 55px rgba(16,39,79,.035),0 0 0 110px rgba(16,39,79,.025)}.digital>*{position:relative;z-index:1}.digital-list div{transition:padding-left .35s var(--ease-out),color .35s var(--ease-out)}.digital-list div:hover{padding-left:15px}.digital-list div:hover strong{color:var(--red)}.map{background:linear-gradient(119deg,#061832,#112f60)}.map .city{transition:transform .35s var(--ease-out),background .35s var(--ease-out),border-color .35s}.map .city:hover{transform:translateY(-5px);background:var(--red);border-color:var(--red)}.client-wall div{transition:background .35s var(--ease-out),color .35s var(--ease-out)}.client-wall div:hover{background:var(--ink);color:var(--white)}.post{transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out)}.post:hover{transform:translateY(-9px);box-shadow:0 22px 40px rgba(16,39,79,.13)}.post .read{color:var(--red)}.cta{position:relative;overflow:hidden}.cta:after{content:"";position:absolute;width:520px;aspect-ratio:1;border:1px solid rgba(255,255,255,.3);border-radius:50%;right:-10%;bottom:-170px;box-shadow:0 0 0 50px rgba(255,255,255,.08),0 0 0 100px rgba(255,255,255,.05);animation:cta-drift 10s ease-in-out infinite}.cta>*{position:relative;z-index:1}
.page-hero{position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;width:45vw;aspect-ratio:1;border:1px solid rgba(255,255,255,.18);right:-10vw;top:-19vw;transform:rotate(22deg);box-shadow:0 0 0 50px rgba(255,255,255,.025),0 0 0 105px rgba(255,255,255,.02)}.page-hero>*{position:relative;z-index:1}.service-detail{transition:background .35s var(--ease-out),padding .35s var(--ease-out)}.service-detail:hover{background:rgba(16,39,79,.035);padding-left:18px;padding-right:18px}.service-detail .glyph{transition:color .35s var(--ease-out),transform .35s var(--ease-out)}.service-detail:hover .glyph{color:var(--ink);transform:scale(1.06)}.news-row{transition:padding .35s var(--ease-out),background .35s var(--ease-out)}.news-row:hover{padding-left:18px;padding-right:18px;background:var(--white)}.news-row:hover h2{color:var(--red)}.activity,.culture-card,.cert,.contact-card{transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out)}.activity:hover,.culture-card:not(.wide):hover,.cert:hover,.contact-card:hover{transform:translateY(-7px);box-shadow:0 20px 34px rgba(16,39,79,.11)}
.reveal{opacity:0;transform:translate3d(0,28px,0);transition:opacity .75s var(--ease-out) var(--delay,0ms),transform .75s var(--ease-out) var(--delay,0ms)}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}
@keyframes hero-in{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes fade-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes line-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes atmosphere{to{background-position:100% 0}}@keyframes grid-drift{to{transform:rotate(-19deg) translate(46px,46px)}}@keyframes route-slide{to{transform:rotate(-38deg) translateX(-10%)}}@keyframes warehouse-rise{from{opacity:0;transform:translateY(45px) skewY(3deg)}to{opacity:1;transform:none}}@keyframes signal{50%{transform:scale(1.35);box-shadow:0 0 0 20px rgba(207,38,54,0)}}@keyframes radar{50%{transform:scale(1.07);opacity:.55}}@keyframes cta-drift{50%{transform:translate(-28px,-22px)}}
@media(max-width:800px){.hero h1{font-size:clamp(44px,12vw,62px)}.hero-art:after{right:10%;top:11%}.service-icon{width:39px;height:39px}.service-tile:before{display:none}.service-tile:hover{background:var(--ink)}.service-tile:hover .service-icon{color:var(--white)}.tile-arrow{display:none}.reveal{transform:translate3d(0,16px,0)}}
