@keyframes ukUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes ukPan{from{transform:scale(1.06) translate3d(0,0,0)}to{transform:scale(1.17) translate3d(-3%,-2%,0)}}
@keyframes ukFloat{0%,100%{transform:translateY(0) rotate(-.4deg)}50%{transform:translateY(-12px) rotate(.4deg)}}
@keyframes ukShine{to{transform:translateX(420%) skewX(-20deg)}}
@keyframes ukGlow{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes ukDrift{from{background-position:0 0}to{background-position:180px 180px}}
.ukflag{vertical-align:middle}
.uk-hero{position:relative;overflow:hidden;isolation:isolate}
.uk-hero>.uk-bg{position:absolute;inset:-5%;z-index:-3;background-size:cover;background-position:center 40%;animation:ukPan 30s ease-in-out infinite alternate;will-change:transform}
.uk-hero>.uk-veil{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(10,15,27,.97) 0%,rgba(10,15,27,.88) 44%,rgba(10,15,27,.62) 100%),radial-gradient(circle at 88% 0,rgba(165,15,26,.42),transparent 52%)}
.uk-hero>.uk-glow{position:absolute;z-index:-1;width:520px;height:520px;right:-120px;bottom:-200px;border-radius:50%;background:radial-gradient(circle,rgba(255,201,51,.22),transparent 68%);animation:ukGlow 7s ease-in-out infinite;pointer-events:none}
.uk-grain{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.16;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");animation:ukDrift 14s linear infinite}
.uk-hero>.shell,.uk-hero>.uk-wrap{position:relative;z-index:2}
.uk-flagbar{position:absolute;left:0;right:0;bottom:0;height:7px;z-index:3;background:linear-gradient(90deg,#012169 0 32%,#fff 32% 36%,#c8102e 36% 64%,#fff 64% 68%,#012169 68%);overflow:hidden}
.uk-flagbar:after{content:"";position:absolute;top:0;left:-30%;width:25%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.7),transparent);animation:ukShine 6s ease-in-out infinite}
.uk-two{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:52px;align-items:center}
.uk-herovis{position:relative}
.uk-herovis img{display:block;width:100%;height:auto;border-radius:24px;box-shadow:0 34px 80px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.08);animation:ukFloat 8s ease-in-out infinite}
.uk-herovis:before{content:"";position:absolute;inset:-18px;border-radius:34px;background:linear-gradient(135deg,rgba(165,15,26,.5),rgba(255,201,51,.28),rgba(1,33,105,.5));filter:blur(34px);opacity:.55;z-index:-1}
@media(max-width:940px){.uk-two{grid-template-columns:1fr;gap:30px}.uk-herovis{max-width:620px}}
.uk-hero .eyebrow,.uk-hero h1,.uk-hero .hero-copy>p,.uk-hero .shell>div>p,.uk-hero .btn,.uk-hero .hero-proof,.uk-hero .hero-tools{animation:ukUp .85s cubic-bezier(.2,.7,.2,1) both}
.uk-hero h1{animation-delay:.08s}.uk-hero .hero-copy>p,.uk-hero .shell>div>p{animation-delay:.18s}.uk-hero .btn{animation-delay:.28s}.uk-hero .hero-proof{animation-delay:.36s}.uk-hero .hero-tools{animation-delay:.3s}
.uk-hero h1 em,.uk-hero h1 span{background:linear-gradient(100deg,#ff5a5f,#ffc933,#ff5a5f);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;animation:ukDrift 9s linear infinite}
.section.dark:not(.uk-hero),.cta,.dark:not(.uk-hero){background-image:radial-gradient(circle at 10% 0,rgba(165,15,26,.26),transparent 46%),radial-gradient(circle at 96% 100%,rgba(1,33,105,.45),transparent 50%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");background-blend-mode:normal,normal,overlay}
.section.soft{background-image:radial-gradient(rgba(22,35,58,.07) 1.2px,transparent 1.5px);background-size:24px 24px}
.idea,.appcard,.step,.role,.proof,.integration,.servicebox,.photostrip figure,.picture figure{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .4s}
.idea:hover,.appcard:hover,.step:hover,.role:hover,.proof:hover{transform:translateY(-7px);box-shadow:0 22px 46px rgba(22,35,58,.17);border-color:rgba(165,15,26,.45)}
.photostrip figure:hover,.picture figure:hover{transform:translateY(-6px) scale(1.015);box-shadow:0 26px 54px rgba(22,35,58,.22)}
.photostrip img[src$=".svg"],.picture img[src$=".svg"]{object-fit:cover;background:#16233a}
.hero-photo img[src$=".svg"]{object-fit:contain!important;background:linear-gradient(135deg,#1c2f52,#0b111d);width:100%;height:100%}
.btn{position:relative;overflow:hidden}
.btn:after{content:"";position:absolute;top:0;left:-70%;width:38%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);transform:skewX(-20deg)}
.btn:hover:after{animation:ukShine .9s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(165,15,26,.35)}
.uk-rv{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.uk-rv.in{opacity:1;transform:none}
.nav{backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px)}
.uk-scrollbar{position:fixed;top:0;left:0;height:3px;width:0;z-index:100;background:linear-gradient(90deg,#012169,#fff,#c8102e);box-shadow:0 0 8px rgba(200,16,46,.6)}
@media(prefers-reduced-motion:reduce){.uk-hero>.uk-bg,.uk-grain,.uk-herovis img,.uk-flagbar:after,.uk-hero>.uk-glow,.uk-hero h1 em,.uk-hero h1 span{animation:none!important}.uk-hero .eyebrow,.uk-hero h1,.uk-hero p,.uk-hero .btn,.uk-hero .hero-proof,.uk-hero .hero-tools{animation:none!important}.uk-rv{opacity:1;transform:none;transition:none}}