/* TR InnovaTech — cross-page UX enhancements */

/* Skip link */
.skip-link{
  position:absolute;top:-100px;left:1rem;z-index:10000;
  background:var(--indigo,#065FD3);color:#fff;
  padding:10px 18px;border-radius:0 0 10px 10px;
  font-size:.82rem;font-weight:700;text-decoration:none;
  box-shadow:0 4px 16px rgba(6,95,211,.35);
  transition:top .2s;
}
.skip-link:focus{top:0;outline:2px solid #fff;outline-offset:2px}

/* Scroll progress */
.scroll-progress{
  position:fixed;top:0;left:0;height:3px;z-index:400;
  background:linear-gradient(90deg,var(--indigo,#065FD3),#3b82f6,var(--violet,#052666));
  width:100%;transform:scaleX(0);transform-origin:left center;
  box-shadow:0 0 12px rgba(6,95,211,.45);
  pointer-events:none;will-change:transform;
}

/* Lighter sticky header while scrolling — backdrop-filter is costly */
body.is-scrolling header{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  background:#fff!important;
}
body.is-scrolling header .hdr,
body.is-scrolling header .logo-img{
  transition:none!important;
}

/* Header scroll state */
header{
  transition:box-shadow .3s,border-color .3s;
}
header::after{
  content:'';position:absolute;bottom:0;left:10%;right:10%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(6,95,211,.2),transparent);
  pointer-events:none;opacity:.6;
}
header.header-scrolled{
  box-shadow:0 4px 24px rgba(7,38,109,.1);
  border-bottom-color:rgba(6,95,211,.12);
}
header.header-scrolled .hdr{height:60px}
header.header-scrolled .logo-img{height:36px}
header .hdr{transition:height .25s ease}
header .logo-img{transition:height .25s ease}

/* Active nav (homepage sections) */
.hdr-nav a.nav-active{color:var(--navy,#07266D);font-weight:600;position:relative}
.hdr-nav a.nav-active::after{
  content:'';position:absolute;bottom:-4px;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--indigo,#065FD3),var(--violet,#052666));
  border-radius:2px;
}

/* Back to top */
.back-top{
  position:fixed;bottom:6.5rem;left:1.5rem;z-index:998;
  width:44px;height:44px;border-radius:12px;
  background:#fff;border:1px solid var(--g200,#e2e8f0);
  color:var(--indigo,#065FD3);cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:.9rem;
  box-shadow:0 4px 16px rgba(7,38,109,.12);
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity .3s,visibility .3s,transform .3s,background .2s,color .2s,box-shadow .2s;
}
.back-top.show{opacity:1;visibility:visible;transform:translateY(0)}
.back-top:hover{
  background:linear-gradient(135deg,var(--indigo,#065FD3),var(--violet,#052666));
  color:#fff;border-color:transparent;
  box-shadow:0 6px 20px rgba(6,95,211,.3);
}

/* Scroll reveal */
.reveal{
  opacity:0;transform:translateY(24px);
  transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1);
}
.reveal.revealed{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}

@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .back-top{transition:opacity .2s,visibility .2s}
  header .hdr,header .logo-img{transition:none}
}

/* Tech / platform strip */
.tech-strip{
  background:#fff;border-top:1px solid var(--g200,#e2e8f0);
  border-bottom:1px solid var(--g200,#e2e8f0);
  padding:1.35rem 0;overflow:hidden;
}
.tech-strip-inner{max-width:var(--page-max,1280px);margin:0 auto;padding:0 var(--page-px,1.25rem)}
.tech-strip-label{
  text-align:center;font-size:.68rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--g400,#94a3b8);margin-bottom:.85rem;
}
.tech-marquee{
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.tech-track{
  display:flex;gap:2.5rem;width:max-content;
  animation:techScroll 32s linear infinite;
}
.tech-marquee:hover .tech-track{animation-play-state:paused}
@keyframes techScroll{to{transform:translateX(-50%)}}
.tech-item{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.82rem;font-weight:600;color:var(--g600,#475569);
  white-space:nowrap;flex-shrink:0;
}
.tech-item i{
  font-size:1rem;color:var(--indigo,#065FD3);opacity:.85;
  width:20px;text-align:center;
}

/* Focus visibility */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--indigo,#065FD3);
  outline-offset:2px;
}

@media(max-width:768px){
  .back-top{bottom:5.5rem;left:1rem;width:40px;height:40px}
  .tech-strip{padding:1rem 0}
  .tech-item{font-size:var(--text-sm,0.84rem)}
  .mob-nav{
    max-height:calc(100vh - 68px);overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding-bottom:max(1.25rem,env(safe-area-inset-bottom));
  }
}

/* AI-powered card shimmer on hover */
@keyframes aiShimmer{
  0%{background-position:-200% center}
  100%{background-position:200% center}
}
.glass,.ai-card,.svc-feat,.why-card,.res-card{
  transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,border-color .25s;
}

/* Improved image / media responsiveness */
img,video,iframe{max-width:100%;height:auto}
.contact-map iframe{min-height:220px}

@media(max-width:640px){
  .foot-top{grid-template-columns:1fr}
  .foot-cta-txt h3{font-size:clamp(1.15rem,5vw,1.4rem)}
}
