.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:100;background:transparent;pointer-events:none}
.scroll-progress span{display:block;height:100%;width:100%;background:#176bff;transform:scaleX(0);transform-origin:left center;will-change:transform}
.site-header{position:sticky;top:0;transition:height .35s,box-shadow .35s,background-color .35s;isolation:isolate}
.site-header.is-scrolled{height:70px;box-shadow:0 12px 38px rgba(1,8,18,.1);background:rgba(255,255,255,.94);backdrop-filter:blur(14px)}
.site-header nav a{position:relative;padding:.6rem 0}
.site-header nav a::after{content:"";position:absolute;left:0;right:0;bottom:.18rem;height:2px;background:#176bff;transform:scaleX(0);transform-origin:right;transition:transform .25s}
.site-header nav a:hover::after,.site-header nav a.is-active::after,.site-header nav a[aria-current="location"]::after{transform:scaleX(1);transform-origin:left}
.hero-image{transform:scale(1.04);will-change:transform}
.capability-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#07111d,#0c2542)}
.capability-card::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(23,107,255,.34),transparent 70%);transform:translateX(-110%);animation:card-sweep 6s ease-in-out infinite}
.capability-card>*{position:relative;z-index:1}
@keyframes card-sweep{0%,55%{transform:translateX(-110%)}80%,100%{transform:translateX(110%)}}
.service-item,.edge-grid article,.contact-card{position:relative;overflow:hidden}
.service-item::before,.edge-grid article::before,.contact-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(340px circle at var(--x,50%) var(--y,50%),rgba(70,141,255,.16),transparent 55%);opacity:0;transition:opacity .3s}
.service-item:hover::before,.edge-grid article:hover::before,.contact-card:hover::before{opacity:1}
.service-item>* ,.edge-grid article>* ,.contact-card>*{position:relative;z-index:1}
.back-to-top{position:fixed;right:1.35rem;bottom:1.35rem;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#07111d;color:#fff;z-index:40;box-shadow:0 10px 28px rgba(1,8,18,.24);opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .25s,transform .25s,background .25s}
.back-to-top.is-visible{opacity:1;transform:none;pointer-events:auto}
.back-to-top:hover{background:#176bff}
@media(max-width:900px){.site-header.is-scrolled{height:66px}.site-header.open nav{top:66px}.back-to-top{width:44px;height:44px;right:1rem;bottom:1rem}}
@media(prefers-reduced-motion:reduce){.capability-card::before{animation:none}.hero-image{transform:none!important}.scroll-progress{display:none}}
