/* ==========================================================================
   INDIA INNOVATION — DIRECTIONAL SCROLL & MOTION ENGINE
   Pure motion, directional entrances (Left, Right, Bottom, Zoom, Flip)
   Preserves 100% of the original component colors and styles.
   ========================================================================== */

/* ==========================================================================
   1. CORE KEYFRAME DEFINITIONS
   ========================================================================== */

/* Hero Title Split Reveal */
@keyframes heroTextReveal {
  0% {
    opacity: 0;
    transform: translateY(28px);
    filter: blur(3px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

/* Subtle Text Gradient Shimmer on hero accents */
@keyframes textShimmer {
  0% {
    background-position: -200% center;
  }
  100% {
    background-position: 200% center;
  }
}

/* Radar & Live Status Ping */
@keyframes radarPing {
  0% {
    transform: scale(0.85);
    opacity: 0.8;
  }
  70% {
    transform: scale(2.2);
    opacity: 0;
  }
  100% {
    transform: scale(2.4);
    opacity: 0;
  }
}

/* Button Light Sweep */
@keyframes lightSweep {
  0% {
    left: -120%;
  }
  100% {
    left: 200%;
  }
}




/* Click Ripple Pulse */
@keyframes rippleSpread {
  0% {
    transform: scale(0);
    opacity: 0.35;
  }
  100% {
    transform: scale(3.5);
    opacity: 0;
  }
}


/* ==========================================================================
   2. TEXT & SECTION HEADINGS SCROLL REVEAL (ALL PAGES)
   ========================================================================== */

/* Hero Headlines Entrance */
.hero-headline,
.hero-headline span,
.hero-about h1,
.services-hero-bg h1,
.page-hero h1,
.hero-solutions h1,
.hero-tech h1,
.contact-hero-bg h1,
.contact-hero-bg span,
.contact-hero-bg p,
.careers-hero h1,
.case-detail-hero h1,
.cloud-hero-bg h1 {
  animation: heroTextReveal 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
  opacity: 1 !important;
  will-change: transform, opacity;
}

/* Eyebrows */
.section-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  opacity: 1;
  transform: translateX(0);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

.section-eyebrow .eyebrow-bar {
  display: inline-block;
  height: 2px;
  width: 24px;
  background-color: #E85D04;
  border-radius: 2px;
}

/* Live Status Radar Indicator */
.hero-impact-label {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.hero-impact-label::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #EE6C20;
  border-radius: 50%;
  box-shadow: 0 0 8px #EE6C20;
  position: relative;
}

.hero-impact-label::after {
  content: "";
  position: absolute;
  left: 0;
  width: 8px;
  height: 8px;
  background: rgba(238, 108, 32, 0.6);
  border-radius: 50%;
  animation: radarPing 2.5s cubic-bezier(0, 0, 0.2, 1) infinite;
}

/* Section Headings Scroll Reveal */
/* Section Headings & Text Scroll Transitions */
.section-heading,
.overview-text,
.final-cta-container,
.hero-desc {
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.anim-text-hidden {
  opacity: 0 !important;
  transform: translateY(20px) !important;
}

.anim-text-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}



/* ==========================================================================
   3. DIRECTIONAL SCROLL ENTRANCE CLASSES (EXTREMELY DIVERSE MOTION PROFILES)
   ========================================================================== */

/* Base transition properties for all animated cards */
.anim-card-item,
.anim-slide-left,
.anim-slide-right,
.anim-slide-up,
.anim-flip-in,
.anim-flip-x,
.anim-pop-bounce,
.anim-zoom-in,
.anim-rotate-in,
.anim-diagonal-left,
.anim-diagonal-right,
.anim-expand-horizontal,
.anim-curtain-drop,
.anim-image-cubic-left,
.anim-image-cubic-right,
.insight-metric-card,
.detail-res-card,
.detail-feed-card {
  transition: transform 0.85s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.35s ease,
              border-color 0.35s ease;
  will-change: transform, opacity;
}

/* 1. Slide In from LEFT */
.anim-slide-left:not(.anim-in):not(.animated):not(.anim-revealed) {
  opacity: 0 !important;
  transform: translate3d(-60px, 0, 0) rotate(-2.5deg) scale(0.95) !important;
}
.anim-slide-left.anim-in,
.anim-slide-left.animated,
.anim-slide-left.anim-revealed {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) rotate(0deg) scale(1) !important;
}

/* 2. Slide In from RIGHT */
.anim-slide-right:not(.anim-in):not(.animated):not(.anim-revealed) {
  opacity: 0 !important;
  transform: translate3d(60px, 0, 0) rotate(2.5deg) scale(0.95) !important;
}
.anim-slide-right.anim-in,
.anim-slide-right.animated,
.anim-slide-right.anim-revealed {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) rotate(0deg) scale(1) !important;
}

/* Premium Cinematic Cubic Slide In from RIGHT for Images */
.anim-image-cubic-right:not(.anim-in):not(.animated):not(.anim-revealed) {
  opacity: 0 !important;
  transform: translate3d(75px, 0, 0) scale(0.94) perspective(1000px) rotateY(-8deg) !important;
  transform-origin: right center;
  transition: transform 0.95s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.4s ease;
}
.anim-image-cubic-right.anim-in,
.anim-image-cubic-right.animated,
.anim-image-cubic-right.anim-revealed {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) scale(1) perspective(1000px) rotateY(0deg) !important;
}

/* Premium Cinematic Cubic Slide In from LEFT for Images */
.anim-image-cubic-left:not(.anim-in):not(.animated):not(.anim-revealed) {
  opacity: 0 !important;
  transform: translate3d(-75px, 0, 0) scale(0.94) perspective(1000px) rotateY(8deg) !important;
  transform-origin: left center;
  transition: transform 0.95s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.4s ease;
}
.anim-image-cubic-left.anim-in,
.anim-image-cubic-left.animated,
.anim-image-cubic-left.anim-revealed {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) scale(1) perspective(1000px) rotateY(0deg) !important;
}

/* 3. Slide Up from BOTTOM */
.anim-slide-up:not(.anim-in):not(.animated):not(.anim-revealed) {
  opacity: 0 !important;
  transform: translate3d(0, 50px, 0) scale(0.96) !important;
}
.anim-slide-up.anim-in,
.anim-slide-up.animated,
.anim-slide-up.anim-revealed {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
}

/* 4. Elastic Zoom-in */
.anim-zoom-in:not(.anim-in):not(.animated):not(.anim-revealed) {
  opacity: 0 !important;
  transform: scale(0.76) !important;
}
.anim-zoom-in.anim-in,
.anim-zoom-in.animated,
.anim-zoom-in.anim-revealed {
  opacity: 1 !important;
  transform: scale(1) !important;
  transition: transform 0.85s cubic-bezier(0.34, 1.56, 0.64, 1),
              opacity 0.75s ease !important;
}

/* 5. 3D Perspective Flip-In */
.anim-flip-in:not(.anim-in):not(.animated):not(.anim-revealed) {
  opacity: 0 !important;
  transform: perspective(1000px) rotateY(22deg) translateY(25px) scale(0.92) !important;
  transform-origin: left center;
}
.anim-flip-in.anim-in,
.anim-flip-in.animated,
.anim-flip-in.anim-revealed {
  opacity: 1 !important;
  transform: perspective(1000px) rotateY(0deg) translateY(0) scale(1) !important;
}

/* 6. 3D Perspective Flip-X */
.anim-flip-x:not(.anim-in):not(.animated):not(.anim-revealed) {
  opacity: 0 !important;
  transform: perspective(1000px) rotateX(25deg) translateY(30px) scale(0.9) !important;
  transform-origin: top center;
}
.anim-flip-x.anim-in,
.anim-flip-x.animated,
.anim-flip-x.anim-revealed {
  opacity: 1 !important;
  transform: perspective(1000px) rotateX(0deg) translateY(0) scale(1) !important;
}

/* 7. Rotate & Swirl Scale In */
.anim-rotate-in:not(.anim-in):not(.animated):not(.anim-revealed) {
  opacity: 0 !important;
  transform: rotate(-8deg) translateY(35px) scale(0.9) !important;
}
.anim-rotate-in.anim-in,
.anim-rotate-in.animated,
.anim-rotate-in.anim-revealed {
  opacity: 1 !important;
  transform: rotate(0deg) translateY(0) scale(1) !important;
}

/* 8. Super Spring Pop & Bounce */
.anim-pop-bounce:not(.anim-in):not(.animated):not(.anim-revealed) {
  opacity: 0 !important;
  transform: scale(0.6) translateY(30px) !important;
}
.anim-pop-bounce.anim-in,
.anim-pop-bounce.animated,
.anim-pop-bounce.anim-revealed {
  opacity: 1 !important;
  transform: scale(1) translateY(0) !important;
  transition: transform 0.85s cubic-bezier(0.34, 1.65, 0.64, 1),
              opacity 0.65s ease !important;
}

/* 9. Diagonal Slide Left */
.anim-diagonal-left:not(.anim-in):not(.animated):not(.anim-revealed) {
  opacity: 0 !important;
  transform: translate3d(-45px, 45px, 0) scale(0.94) !important;
}
.anim-diagonal-left.anim-in,
.anim-diagonal-left.animated,
.anim-diagonal-left.anim-revealed {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
}

/* 10. Diagonal Slide Right */
.anim-diagonal-right:not(.anim-in):not(.animated):not(.anim-revealed) {
  opacity: 0 !important;
  transform: translate3d(45px, 45px, 0) scale(0.94) !important;
}
.anim-diagonal-right.anim-in,
.anim-diagonal-right.animated,
.anim-diagonal-right.anim-revealed {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
}

/* 11. Accordion Horizontal Expand */
.anim-expand-horizontal:not(.anim-in):not(.animated):not(.anim-revealed) {
  opacity: 0 !important;
  transform: scaleX(0.75) translateX(-40px) !important;
  transform-origin: left center;
}
.anim-expand-horizontal.anim-in,
.anim-expand-horizontal.animated,
.anim-expand-horizontal.anim-revealed {
  opacity: 1 !important;
  transform: scaleX(1) translateX(0) !important;
}

/* 12. Curtain Drop from Top */
.anim-curtain-drop:not(.anim-in):not(.animated):not(.anim-revealed) {
  opacity: 0 !important;
  transform: perspective(900px) rotateX(-35deg) translateY(-40px) !important;
  transform-origin: top center;
}
.anim-curtain-drop.anim-in,
.anim-curtain-drop.animated,
.anim-curtain-drop.anim-revealed {
  opacity: 1 !important;
  transform: perspective(900px) rotateX(0deg) translateY(0) !important;
}

/* Approach Flow Step Nodes */
.approach-flow-node {
  transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform, opacity;
}

/* Tech Category Columns */
.tech-cat-col {
  transition: transform 0.75s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform, opacity;
}

/* Static Ecosystem Diagram (No Animation & Zero Motion on Refresh) */
.ecosystem-card-wrapper,
.ecosystem-card-wrapper *,
.ecosystem-svg-lines,
.ecosystem-svg-lines line,
.eco-node-center,
.eco-node-item,
.eco-node-circle,
.eco-node-label {
  animation: none !important;
  transition: none !important;
  opacity: 1 !important;
  will-change: auto !important;
}

.eco-node-center {
  transform: translate(-50%, -50%) !important;
}

.eco-node-item {
  transform: translate(-50%, -50%) !important;
}





/* ==========================================================================
   PARTNER LOGO MARQUEE SLIDER (SERVICES PAGE & UNIVERSAL)
   ========================================================================== */
.partner-slider-wrap {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 24px 0;
  mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}

.partner-slider-track {
  display: flex;
  align-items: center;
  gap: 85px;
  width: max-content;
  animation: partnerLogoScroll 36s linear infinite;
  will-change: transform;
}

.partner-slider-wrap:hover .partner-slider-track {
  animation-play-state: paused;
}

.partner-logo-item {
  display: inline-flex;
  align-items: center;
  font-weight: 700;
  font-size: 1.35rem;
  color: #E2E8F0;
  font-family: var(--font-heading);
  letter-spacing: 0.02em;
  white-space: nowrap;
  opacity: 0.9;
  transition: opacity 0.3s ease, transform 0.3s ease;
  user-select: none;
  padding: 6px 12px;
}

.partner-logo-item:hover {
  opacity: 1;
  transform: scale(1.1);
}

@keyframes partnerLogoScroll {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}





/* ==========================================================================
   ADVANCED 3D PERSPECTIVE & CYBER GLOW ENTRANCE FOR TECHNOLOGY CARDS
   ========================================================================== */
.anim-tech-card {
  position: relative;
  overflow: hidden;
  transition: transform 0.85s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.4s ease,
              border-color 0.4s ease !important;
}

.anim-tech-card:not(.anim-in):not(.animated):not(.anim-revealed) {
  opacity: 0;
  transform: translateY(30px);
}

.anim-tech-card.anim-in,
.anim-tech-card.animated,
.anim-tech-card.anim-revealed {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Staggered Tag reveal inside tech cards */
.anim-tech-card.anim-in .tech-tags span {
  animation: techTagEntrance 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.anim-tech-card.anim-in .tech-tags span:nth-child(1) { animation-delay: 0.15s; }
.anim-tech-card.anim-in .tech-tags span:nth-child(2) { animation-delay: 0.25s; }
.anim-tech-card.anim-in .tech-tags span:nth-child(3) { animation-delay: 0.35s; }
.anim-tech-card.anim-in .tech-tags span:nth-child(4) { animation-delay: 0.45s; }

@keyframes techTagEntrance {
  0% {
    opacity: 0;
    transform: translateY(12px) scale(0.9);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Tech card glowing top edge sweep and hover elevation */
.tech-block,
.anim-tech-card {
  position: relative;
  overflow: hidden;
}

.tech-block::before,
.anim-tech-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 3px;
  background: linear-gradient(90deg, #EE6C20, #F97316);
  transition: width 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 2;
}

.tech-block:hover::before,
.anim-tech-card:hover::before {
  width: 100%;
}

.tech-block:hover,
.anim-tech-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.08), 0 0 24px rgba(238, 108, 32, 0.14) !important;
  border-color: #EE6C20 !important;
}

.tech-block:hover .tech-tags span,
.anim-tech-card:hover .tech-tags span {
  background: #FFF7ED !important;
  border-color: rgba(238, 108, 32, 0.3) !important;
  color: #C2410C !important;
  transform: translateY(-2px);
  transition: all 0.3s ease;
}

/* ==========================================================================
   4. NATURAL CARD HOVER MICRO-ANIMATIONS (NO COLOR OVERRIDES)
   ========================================================================== */

/* Universal Card Base Transitions */
.stat-card,
.stat-node,
.stat-card-orange-top,
.solution-card,
.industry-card,
.industry-hero-card,
.tech-card,
.tech-block,
.tech-card-hover,
.tech-dark-card-hover,
.case-study-card,
.case-study-card-dark,
.featured-article-card,
.article-item-card,
.impact-featured-card,
.impact-side-card,
.leader-card,
.leader-card-featured-figma,
.leader-sub-card,
.leadership-card,
.value-card-figma,
.mission-vision-card,
.impact-grid-card,
.highlight-card,
.cert-card,
.cert-card-figma,
.infra-card,
.topology-card,
.scale-metric-box,
.result-case-card,
.engagement-card-figma,
.office-location-card,
.contact-info-card,
.job-card,
.benefit-card,
.culture-card,
.faq-contact-card,
.capability-tab-btn,
.standard-num-card,
.mv-block,
.ind-card-light,
.ind-trust-card,
.ind-case-card,
.ind-stack-layer,
.ind-city-card,
.ind-layer-card,
.ind-transport-card,
.ind-kpi-card,
.ind-banking-card,
.ind-dark-card,
.cs-process-step,
.cs-tier-row,
.cs-impact-large-card,
.cs-impact-small-card,
.cs-test-card,
.cs-eco-card,
.dept-card,
.telemetry-hub-card,
.contact-card-dark,
.sol-adv-card,
.sol-resource-card,
.sol-challenge-card,
.sol-impact-card,
.sol-tech-row,
.sol-step-node,
.sol-story-card,
.sol-featured-card,
.arch-stack-row,
.challenge-stacked-card,
.core-cap-card,
.delivery-step-card,
.industry-serve-card,
.impact-metric-card,
.testimonial-card-featured,
.testimonial-card-sub,
.related-service-card,
.methodology-step-item,
.csd-persp-card,
.csd-chal-card,
.csd-disc-step,
.csd-tier-row,
.csd-stack-card,
.csd-impact-card,
.csd-serv-card,
.csd-story-card,
.csd-res-card,
.insight-research-card,
.insight-lib-card,
.insight-read-card,
.tech-badge-card,
.exec-card,
.pub-item-row {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              background 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: transform, box-shadow;
}

/* Natural card hover lift */
.stat-card:hover,
.stat-node:hover,
.stat-card-orange-top:hover,
.solution-card:hover,
.industry-card:hover,
.industry-hero-card:hover,
.tech-card:hover,
.tech-block:hover,
.tech-card-hover:hover,
.tech-dark-card-hover:hover,
.case-study-card:hover,
.case-study-card-dark:hover,
.featured-article-card:hover,
.article-item-card:hover,
.impact-featured-card:hover,
.impact-side-card:hover,
.leader-card:hover,
.leader-card-featured-figma:hover,
.leader-sub-card:hover,
.leadership-card:hover,
.value-card-figma:hover,
.mission-vision-card:hover,
.impact-grid-card:hover,
.highlight-card:hover,
.cert-card:hover,
.cert-card-figma:hover,
.infra-card:hover,
.topology-card:hover,
.scale-metric-box:hover,
.result-case-card:hover,
.engagement-card-figma:hover,
.office-location-card:hover,
.contact-info-card:hover,
.job-card:hover,
.benefit-card:hover,
.culture-card:hover,
.faq-contact-card:hover,
.capability-tab-btn:hover,
.standard-num-card:hover,
.mv-block:hover,
.ind-card-light:hover,
.ind-trust-card:hover,
.ind-case-card:hover,
.ind-stack-layer:hover,
.ind-city-card:hover,
.ind-layer-card:hover,
.ind-transport-card:hover,
.ind-kpi-card:hover,
.ind-banking-card:hover,
.ind-dark-card:hover,
.cs-process-step:hover,
.cs-impact-large-card:hover,
.cs-impact-small-card:hover,
.cs-test-card:hover,
.cs-eco-card:hover,
.dept-card:hover,
.telemetry-hub-card:hover,
.contact-card-dark:hover,
.sol-adv-card:hover,
.sol-resource-card:hover,
.sol-challenge-card:hover,
.sol-impact-card:hover,
.sol-story-card:hover,
.sol-featured-card:hover,
.core-cap-card:hover,
.delivery-step-card:hover,
.impact-metric-card:hover,
.testimonial-card-featured:hover,
.testimonial-card-sub:hover,
.related-service-card:hover,
.csd-persp-card:hover,
.csd-disc-step:hover,
.csd-stack-card:hover,
.csd-impact-card:hover,
.csd-serv-card:hover,
.csd-story-card:hover,
.csd-res-card:hover,
.insight-research-card:hover,
.insight-lib-card:hover,
.insight-read-card:hover,
.exec-card:hover,
.arch-diag-card-ai:hover,
.arch-diag-card:hover,
.insight-metric-card:hover,
.detail-res-card:hover,
.detail-feed-card:hover {
  transform: translateY(-8px) !important;
}

.tech-badge-card:hover {
  transform: translateY(-6px) scale(1.03) !important;
  border-color: rgba(238, 108, 32, 0.4) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.3), 0 0 16px rgba(238, 108, 32, 0.1) !important;
}

/* Subtle border highlight and shadow glow on hover */
.ind-dark-card:hover,
.ind-city-card:hover,
.ind-layer-card:hover,
.ind-transport-card:hover,
.ind-kpi-card:hover,
.ind-banking-card:hover,
.ind-trust-card:hover,
.tech-dark-card-hover:hover,
.case-study-card-dark:hover,
.contact-card-dark:hover,
.sol-featured-card:hover,
.impact-metric-card:hover,
.related-service-card:hover,
.csd-stack-card:hover,
.csd-impact-card:hover,
.insight-research-card:hover,
.insight-lib-card:hover {
  border-color: rgba(238, 108, 32, 0.45) !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.35), 0 0 20px rgba(238, 108, 32, 0.12) !important;
}

.ind-card-light:hover,
.ind-case-card:hover,
.tech-card-hover:hover,
.cs-impact-large-card:hover,
.cs-impact-small-card:hover,
.cs-test-card:hover,
.cs-eco-card:hover,
.sol-adv-card:hover,
.sol-resource-card:hover,
.sol-challenge-card:hover,
.sol-impact-card:hover,
.sol-story-card:hover,
.core-cap-card:hover,
.testimonial-card-featured:hover,
.testimonial-card-sub:hover,
.csd-persp-card:hover,
.csd-disc-step:hover {
  border-color: rgba(238, 108, 32, 0.35) !important;
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.08), 0 4px 12px rgba(238, 108, 32, 0.06) !important;
}

/* Case Study Detail Specific Micro-Interactions */
.csd-chal-card {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.35s ease,
              background 0.35s ease,
              box-shadow 0.35s ease !important;
}

.csd-chal-card:hover {
  transform: translateX(10px) !important;
  border-color: rgba(238, 108, 32, 0.4) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25), 0 0 16px rgba(238, 108, 32, 0.1) !important;
}

.csd-chal-card .csd-chal-num {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), color 0.35s ease;
}

.csd-chal-card:hover .csd-chal-num {
  transform: scale(1.18);
  color: #EE6C20;
}

.csd-tier-row {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.35s ease,
              background 0.35s ease,
              box-shadow 0.35s ease !important;
}

.csd-tier-row:hover {
  transform: translateX(10px) !important;
  border-color: rgba(238, 108, 32, 0.4) !important;
  background: #08213F !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25), 0 0 16px rgba(238, 108, 32, 0.1) !important;
}

.csd-tier-pill {
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              background 0.25s ease,
              color 0.25s ease,
              border-color 0.25s ease !important;
  display: inline-block;
}

.csd-tier-pill:hover {
  transform: scale(1.08) translateY(-2px) !important;
  background: rgba(238, 108, 32, 0.2) !important;
  border-color: #EE6C20 !important;
  color: #FFFFFF !important;
}

.csd-stack-icon-box {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              background 0.35s ease,
              border-color 0.35s ease !important;
}

.csd-stack-card:hover .csd-stack-icon-box {
  transform: scale(1.15) !important;
  background: rgba(238, 108, 32, 0.15) !important;
  border-color: #EE6C20 !important;
}

.csd-stack-card:hover .csd-stack-icon-box svg {
  stroke: #EE6C20 !important;
  transform: scale(1.1);
}

.csd-impact-card .csd-impact-val {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), color 0.3s ease;
  display: inline-block;
}

.csd-impact-card:hover .csd-impact-val {
  transform: scale(1.08);
  color: #EE6C20;
}

.csd-persp-card:hover .csd-persp-tag {
  color: #EE6C20;
}

/* Core Engineering Capabilities Cards Hover */
.csd-serv-card:hover {
  border-color: rgba(238, 108, 32, 0.45) !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.35), 0 0 20px rgba(238, 108, 32, 0.12) !important;
}

.csd-serv-card .csd-serv-icon-box {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              background 0.35s ease,
              border-color 0.35s ease !important;
}

.csd-serv-card:hover .csd-serv-icon-box {
  transform: scale(1.18) rotate(12deg) !important;
  background: rgba(238, 108, 32, 0.2) !important;
  border-color: #EE6C20 !important;
}

.csd-serv-card .csd-serv-link {
  transition: transform 0.3s ease, color 0.3s ease;
  display: inline-block;
}

.csd-serv-card:hover .csd-serv-link {
  transform: translateX(6px);
  color: #FF7D29;
}

/* Success Stories Cards Hover */
.csd-story-card:hover {
  border-color: rgba(238, 108, 32, 0.45) !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.4), 0 0 24px rgba(238, 108, 32, 0.15) !important;
}

.csd-story-card .csd-story-img-wrap img {
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.csd-story-card:hover .csd-story-img-wrap img {
  transform: scale(1.1);
}

.csd-story-card .csd-story-metric-val {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), color 0.3s ease;
  display: inline-block;
}

.csd-story-card:hover .csd-story-metric-val {
  transform: scale(1.08);
  color: #EE6C20;
}

.csd-story-card .csd-story-link a {
  transition: transform 0.3s ease, color 0.3s ease;
  display: inline-block;
}

.csd-story-card:hover .csd-story-link a {
  transform: translateX(6px);
  color: #FF7D29 !important;
}

/* Executive Resource Cards Hover */
.csd-res-card:hover {
  border-color: rgba(238, 108, 32, 0.4) !important;
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.08), 0 4px 16px rgba(238, 108, 32, 0.08) !important;
}

.csd-res-card .csd-res-tag {
  transition: transform 0.3s ease, background 0.3s ease;
  display: inline-block;
}

.csd-res-card:hover .csd-res-tag {
  transform: scale(1.12);
  background: #EE6C20;
}

.csd-res-card .csd-res-btn {
  transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease !important;
}

.csd-res-card:hover .csd-res-btn {
  background: #EE6C20 !important;
  box-shadow: 0 6px 18px rgba(238, 108, 32, 0.35) !important;
}

.csd-res-card .csd-res-btn svg {
  transition: transform 0.3s ease !important;
}

.csd-res-card:hover .csd-res-btn svg {
  transform: translateY(3px);
}

/* Insights & Resources Specific Micro-Interactions */
.domain-pill {
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.25s ease,
              background 0.25s ease,
              color 0.25s ease !important;
}

.domain-pill:hover {
  transform: scale(1.08) translateY(-2px) !important;
  border-color: #EE6C20 !important;
  background: rgba(238, 108, 32, 0.12) !important;
  color: #EE6C20 !important;
}

.insight-research-card .insight-research-img-wrap img,
.insight-lib-card img,
.insight-read-card img {
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.insight-research-card:hover .insight-research-img-wrap img,
.insight-lib-card:hover img,
.insight-read-card:hover img {
  transform: scale(1.08);
}

.pub-item-row {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              background 0.3s ease,
              border-color 0.3s ease !important;
}

.pub-item-row:hover {
  transform: translateX(10px) !important;
  background: #FFF8F4 !important;
}

.pub-item-row:hover .pub-item-heading {
  color: #EE6C20 !important;
}

.pub-item-row .pub-item-arrow-box {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              background 0.3s ease,
              color 0.3s ease,
              border-color 0.3s ease !important;
}

.pub-item-row:hover .pub-item-arrow-box {
  transform: translateX(4px) scale(1.1);
  background: #EE6C20;
  color: #FFFFFF;
  border-color: #EE6C20;
}

.tech-badge-card .tech-badge-icon {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.tech-badge-card:hover .tech-badge-icon {
  transform: scale(1.18) rotate(10deg);
}

.exec-card {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.4s ease,
              border-color 0.4s ease !important;
}

.exec-card:hover {
  transform: perspective(900px) rotateX(4deg) rotateY(-2deg) translateY(-8px) !important;
  border-color: rgba(238, 108, 32, 0.4) !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.08), 0 0 16px rgba(238, 108, 32, 0.06) !important;
}

.exec-card img {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.exec-card:hover img {
  transform: scale(1.08);
  box-shadow: 0 0 0 2px #EE6C20;
}

/* Enterprise Cloud Stacked Challenge Cards Interaction */
.challenge-stacked-card {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.35s ease,
              box-shadow 0.35s ease !important;
}

.challenge-stacked-card:hover {
  transform: translateX(8px) translateY(-3px) !important;
  border-color: rgba(238, 108, 32, 0.35) !important;
  box-shadow: 0 10px 25px rgba(238, 108, 32, 0.08) !important;
}

.challenge-stacked-card .challenge-num-ring {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              background 0.35s ease,
              color 0.35s ease,
              border-color 0.35s ease,
              box-shadow 0.35s ease !important;
}

.challenge-stacked-card:hover .challenge-num-ring {
  transform: scale(1.15) !important;
  background: #EE6C20 !important;
  color: #FFFFFF !important;
  border-color: #EE6C20 !important;
  box-shadow: 0 0 14px rgba(238, 108, 32, 0.5) !important;
}

/* Enterprise Cloud Core Capabilities Card Micro-Interactions */
.core-cap-card .core-cap-icon {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              background 0.35s ease,
              color 0.35s ease,
              border-color 0.35s ease !important;
}

.core-cap-card:hover .core-cap-icon {
  transform: scale(1.15) translateY(-2px) !important;
  background: rgba(238, 108, 32, 0.12) !important;
  color: #EE6C20 !important;
  border-color: rgba(238, 108, 32, 0.3) !important;
}

.core-cap-pill {
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              background 0.25s ease,
              color 0.25s ease,
              border-color 0.25s ease !important;
  display: inline-block;
}

.core-cap-pill:hover {
  transform: scale(1.08) translateY(-2px) !important;
  background: rgba(238, 108, 32, 0.15) !important;
  color: #EE6C20 !important;
  border-color: #EE6C20 !important;
}

/* Enterprise Cloud Industries Serve List Interaction */
.industry-serve-card {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.35s ease,
              background 0.35s ease,
              box-shadow 0.35s ease !important;
}

.industry-serve-card:hover {
  transform: translateX(8px) !important;
  border-color: rgba(238, 108, 32, 0.4) !important;
  border-left: 4px solid #EE6C20 !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06) !important;
}

.industry-serve-arrow {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), color 0.3s ease !important;
  display: inline-block;
}

.industry-serve-card:hover .industry-serve-arrow {
  transform: translateX(6px) !important;
  color: #EE6C20 !important;
}

.related-service-btn {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), color 0.3s ease !important;
}

.related-service-card:hover .related-service-btn {
  transform: translateX(6px) !important;
  color: #EE6C20 !important;
}

/* Solutions Tech Rows Horizontal Shift & Glow */
.sol-tech-row {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.35s ease,
              background 0.35s ease,
              box-shadow 0.35s ease !important;
  cursor: default;
}

.sol-tech-row:hover {
  transform: translateX(10px) !important;
  border-color: rgba(238, 108, 32, 0.4) !important;
  background: #08213F !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25), 0 0 16px rgba(238, 108, 32, 0.1) !important;
}

.sol-tech-tag {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s ease,
              background 0.3s ease,
              color 0.3s ease !important;
  display: inline-block;
}

.sol-tech-tag:hover {
  transform: scale(1.08) translateY(-2px) !important;
  border-color: #EE6C20 !important;
  background: rgba(238, 108, 32, 0.15) !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 10px rgba(238, 108, 32, 0.3) !important;
}

/* Solutions Framework Stepper Node Interaction */
.sol-step-node {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  cursor: default;
}

.sol-step-node div[style*="border-radius: 50%"] {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              background 0.35s ease,
              border-color 0.35s ease,
              box-shadow 0.35s ease !important;
}

.sol-step-node:hover div[style*="border-radius: 50%"] {
  transform: scale(1.18) !important;
  border-color: #EE6C20 !important;
  background: #EE6C20 !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 16px rgba(238, 108, 32, 0.6) !important;
}

.sol-step-node:hover h3 {
  color: #EE6C20 !important;
  transition: color 0.3s ease;
}

/* Solutions Advantage & Resource Card Micro-Interactions */
.sol-adv-card .sol-adv-icon-box,
.sol-resource-card div[style*="border-radius: 8px"] {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              background 0.35s ease !important;
}

.sol-adv-card:hover .sol-adv-icon-box,
.sol-resource-card:hover div[style*="border-radius: 8px"] {
  transform: scale(1.14) translateY(-2px);
  background: rgba(238, 108, 32, 0.12) !important;
}

.sol-adv-card:hover .sol-adv-icon-box svg,
.sol-resource-card:hover svg {
  stroke: #EE6C20 !important;
  transform: scale(1.1);
  transition: all 0.3s ease;
}

.sol-resource-btn {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), color 0.3s ease !important;
}

.sol-resource-card:hover .sol-resource-btn {
  transform: translateX(6px);
}

.cs-tier-row:hover,
.arch-stack-row:hover {
  transform: translateX(8px) !important;
  border-color: rgba(232, 93, 4, 0.4) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.04) !important;
}

.service-card:hover {
  transform: translate(6px, -4px) !important;
}

/* Card Icon & SVG Hover Micro-animations */
.stat-card svg,
.solution-card svg,
.industry-card svg,
.tech-card svg,
.tech-card-hover svg,
.tech-dark-card-hover svg,
.ind-card-light svg,
.ind-city-card svg,
.ind-layer-card svg,
.ind-transport-card svg,
.ind-kpi-card svg,
.ind-banking-card svg,
.ind-trust-card svg,
.cs-impact-large-card svg,
.cs-impact-small-card svg,
.cs-eco-card svg,
.ind-trust-icon-box svg,
.sol-adv-card svg,
.sol-resource-card svg {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), stroke 0.35s ease;
  will-change: transform;
}

.stat-card:hover svg,
.solution-card:hover svg,
.industry-card:hover svg,
.tech-card:hover svg,
.tech-card-hover:hover svg,
.tech-dark-card-hover:hover svg,
.ind-card-light:hover svg,
.ind-city-card:hover svg,
.ind-layer-card:hover svg,
.ind-transport-card:hover svg,
.ind-kpi-card:hover svg,
.ind-banking-card:hover svg,
.ind-trust-card:hover svg,
.cs-impact-large-card:hover svg,
.cs-impact-small-card:hover svg,
.cs-eco-card:hover svg,
.sol-adv-card:hover svg,
.sol-resource-card:hover svg {
  transform: scale(1.18) translateY(-2px);
}

.ind-trust-card:hover .ind-trust-num,
.ind-card-light:hover span[style*="font-mono"],
.cs-process-step:hover .cs-process-num,
.sol-challenge-card:hover .sol-challenge-num,
.sol-impact-card:hover .sol-impact-val {
  transform: scale(1.12);
  transition: transform 0.3s ease;
  display: inline-block;
}

/* Image Zoom on Card Hover */
.featured-article-card img,
.impact-featured-card img,
.case-study-card img,
.case-study-card-dark img,
.service-card img,
.leader-card img,
.leader-sub-card img,
.overview-image img,
.topology-card img,
.result-case-card img,
.impact-grid-card img,
.ind-case-card img,
.ind-case-img-wrap img,
.tech-card-hover img,
.sol-story-card img,
.sol-featured-card img {
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}

.featured-article-card:hover img,
.impact-featured-card:hover img,
.case-study-card:hover img,
.case-study-card-dark:hover img,
.service-card:hover img,
.leader-card:hover img,
.leader-sub-card:hover img,
.overview-image:hover img,
.topology-card:hover img,
.result-case-card:hover img,
.impact-grid-card:hover img,
.ind-case-card:hover img,
.ind-case-img-wrap:hover img,
.tech-card-hover:hover img {
  transform: scale(1.06);
}

/* Arrow Movement on Hover */
.impact-link,
.service-explore,
.link-arrow,
.card-arrow,
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.impact-link .arrow,
.impact-link img,
.service-explore img,
.link-arrow img,
.btn img {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  display: inline-block;
}

.featured-article-card:hover .impact-link .arrow,
.featured-article-card:hover .impact-link img,
.article-item-card:hover .impact-link .arrow,
.impact-featured-card:hover .impact-link .arrow,
.impact-side-card:hover .impact-link .arrow,
.ind-case-card:hover a,
.service-card:hover .service-explore img,
.link-arrow:hover img,
.btn:hover img {
  transform: translateX(6px) scale(1.05);
}

/* Button Hover Shimmer */
.btn-primary {
  position: relative;
  overflow: hidden;
}

.btn-primary::after {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 70%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.35),
    transparent
  );
  transform: skewX(-25deg);
  pointer-events: none;
}

.btn-primary:hover::after {
  animation: lightSweep 0.85s ease-in-out;
}

/* Click Ripple */
.click-ripple {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.35);
  pointer-events: none;
  animation: rippleSpread 0.6s ease-out forwards;
}


/* Article Body Image & Code Box Animations */
.detail-article-img-wrap {
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #E2E8F0;
  margin-bottom: 10px;
}

.detail-article-img-wrap img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.detail-article-img-wrap:hover img {
  transform: scale(1.04);
}

.detail-code-box {
  transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}

.detail-code-box:hover {
  border-color: rgba(238, 108, 32, 0.35) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35) !important;
}

/* Floating Glass Badge in Newsletter Section */
@keyframes floatGlassBadge {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-7px);
  }
}

.newsletter-glass-badge {
  animation: floatGlassBadge 4s ease-in-out infinite;
  will-change: transform;
}

.newsletter-banner-wrap {
  border-radius: 20px;
  overflow: hidden;
  position: relative;
  height: 340px;
  box-shadow: 0 16px 40px rgba(0,0,0,0.3);
}

.newsletter-banner-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.newsletter-banner-wrap:hover img {
  transform: scale(1.03);
}

.arch-diag-card-ai,
.arch-diag-card {
  background: #FFFFFF !important;
  border-radius: 8px;
  padding: 14px 20px;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s ease,
              box-shadow 0.3s ease !important;
  cursor: pointer;
  box-sizing: border-box;
}

.arch-diag-card-ai {
  border: 1.5px solid #EE6C20 !important;
}

.arch-diag-card {
  border: 1px solid #E2E8F0 !important;
}

.arch-diag-title {
  color: #0B182B !important;
  font-family: var(--font-heading) !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  line-height: 1.2;
  display: block;
}

.arch-diag-icon-ai,
.arch-diag-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.arch-diag-card-ai:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 24px rgba(238, 108, 32, 0.25) !important;
}

.arch-diag-card:hover {
  transform: translateY(-4px) !important;
  border-color: #CBD5E1 !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2) !important;
}

.insight-metric-card {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  padding: 28px 24px;
  text-align: center;
  box-shadow: 0 4px 15px rgba(0,0,0,0.02);
  opacity: 0;
  transform: translate3d(0, 45px, 0);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.8s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.35s ease,
              box-shadow 0.35s ease !important;
  will-change: transform, opacity;
}

.insight-metric-card.anim-in {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
}

.insight-metric-card.anim-in:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(238, 108, 32, 0.4) !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.08), 0 0 16px rgba(238, 108, 32, 0.06) !important;
}

.insight-metric-card .metric-val {
  transition: color 0.3s ease, transform 0.3s ease;
}

.insight-metric-card:hover .metric-val {
  color: #EE6C20 !important;
  transform: scale(1.06);
}

.detail-res-card {
  opacity: 0;
  transform: translate3d(0, 50px, 0);
  transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.85s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.35s ease,
              box-shadow 0.35s ease !important;
  will-change: transform, opacity;
}

.detail-res-card.anim-in {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
}

.detail-res-card.anim-in:hover {
  transform: translateY(-8px) scale(1.02) !important;
  border-color: rgba(238, 108, 32, 0.6) !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.4), 0 0 20px rgba(238, 108, 32, 0.15) !important;
}

.detail-res-btn svg {
  transition: transform 0.3s ease;
}

.detail-res-card:hover .detail-res-btn svg {
  transform: translateY(3px);
}

.detail-feed-card {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 4px 15px rgba(0,0,0,0.02);
  opacity: 0;
  transform: translate3d(0, 50px, 0);
  transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.85s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.4s ease,
              border-color 0.4s ease !important;
  will-change: transform, opacity;
}

.detail-feed-card.anim-in {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
}

.detail-feed-card.anim-in:hover {
  transform: translateY(-10px) !important;
  border-color: rgba(238, 108, 32, 0.45) !important;
  box-shadow: 0 22px 48px rgba(15, 23, 42, 0.12), 0 4px 14px rgba(238, 108, 32, 0.08) !important;
}

.detail-feed-card:hover {
  transform: translateY(-10px) !important;
  border-color: rgba(238, 108, 32, 0.45) !important;
  box-shadow: 0 22px 48px rgba(15, 23, 42, 0.12), 0 4px 14px rgba(238, 108, 32, 0.08) !important;
}

.detail-feed-img-wrap {
  height: 180px;
  overflow: hidden;
  position: relative;
}

.detail-feed-img-wrap.h-200 {
  height: 200px;
}

.detail-feed-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.detail-feed-card:hover .detail-feed-img-wrap img {
  transform: scale(1.09);
}

.detail-feed-title {
  transition: color 0.3s ease !important;
}

.detail-feed-card:hover .detail-feed-title {
  color: #EE6C20 !important;
}

/* Action Case Study Link */
.detail-feed-link a {
  transition: transform 0.3s ease, color 0.3s ease !important;
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
}

.detail-feed-card:hover .detail-feed-link a {
  color: #EE6C20 !important;
  transform: translateX(6px);
}

/* Author Section Avatar & Tags Animations */
.author-portrait-wrap {
  display: inline-block;
  position: relative;
  border-radius: 50%;
  padding: 4px;
  opacity: 0;
  transform: scale(0.82);
  transition: opacity 0.8s cubic-bezier(0.34, 1.56, 0.64, 1),
              transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1),
              box-shadow 0.4s ease !important;
}

.author-portrait-wrap.anim-in {
  opacity: 1 !important;
  transform: scale(1) !important;
}

.author-portrait-wrap:hover {
  transform: scale(1.08) !important;
  box-shadow: 0 0 0 3px rgba(238, 108, 32, 0.4), 0 10px 25px rgba(238, 108, 32, 0.2);
}

.author-tag-pill {
  background: #F1F5F9;
  color: #334155;
  font-size: 0.8rem;
  padding: 7px 16px;
  border-radius: 20px;
  font-weight: 600;
  border: 1px solid transparent;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              background 0.3s ease,
              color 0.3s ease,
              border-color 0.3s ease,
              box-shadow 0.3s ease !important;
  cursor: default;
}

.author-tag-pill:hover {
  transform: translateY(-4px) scale(1.04) !important;
  background: rgba(238, 108, 32, 0.1) !important;
  color: #EE6C20 !important;
  border-color: rgba(238, 108, 32, 0.3) !important;
  box-shadow: 0 6px 16px rgba(238, 108, 32, 0.12) !important;
}

/* ==========================================================================
   CAREERS PAGE BESPOKE INTERACTIVE ANIMATIONS
   ========================================================================== */
.careers-stat-item {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), color 0.3s ease !important;
  cursor: default;
}

.careers-stat-item:hover {
  transform: translateY(-4px) !important;
}

.careers-stat-item:hover .careers-stat-val {
  color: #EE6C20 !important;
}

.careers-testimonial-card {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.4s ease,
              border-color 0.3s ease !important;
  cursor: default;
}

.careers-testimonial-card:hover {
  transform: translateY(-5px) !important;
  border-color: #CBD5E1 !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08) !important;
}

.careers-matrix-card {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.4s ease,
              border-color 0.3s ease !important;
  cursor: pointer;
}

.careers-matrix-card:hover {
  transform: translateY(-5px) scale(1.02) !important;
  border-color: #EE6C20 !important;
  box-shadow: 0 12px 30px rgba(238, 108, 32, 0.12) !important;
}

@keyframes pulseTimelineDot {
  0%, 100% {
    box-shadow: 0 0 0 2px rgba(238, 108, 32, 0.4);
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    box-shadow: 0 0 0 7px rgba(238, 108, 32, 0.15);
    transform: translate(-50%, -50%) scale(1.18);
  }
}

.careers-matrix-dot {
  animation: pulseTimelineDot 2.8s infinite ease-in-out;
}

.careers-job-card {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s ease,
              box-shadow 0.4s ease !important;
}

.careers-job-card:hover {
  transform: translateY(-4px) translateX(4px) !important;
  border-color: #EE6C20 !important;
  box-shadow: 0 14px 35px rgba(238, 108, 32, 0.12) !important;
}

.careers-job-btn {
  transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease !important;
}

.careers-job-card:hover .careers-job-btn {
  background: #EE6C20 !important;
  box-shadow: 0 6px 16px rgba(238, 108, 32, 0.3) !important;
  transform: scale(1.04) !important;
}

.careers-program-card {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s ease,
              box-shadow 0.4s ease !important;
}

.careers-program-card:hover {
  transform: translateY(-4px) !important;
  border-color: #EE6C20 !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06) !important;
}

.careers-program-card:hover .careers-program-num {
  background: #EE6C20 !important;
  color: #FFFFFF !important;
}

.careers-gallery-card img {
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.careers-gallery-card:hover img {
  transform: scale(1.08) !important;
}

.careers-faq-header {
  transition: color 0.25s ease;
}

.careers-faq-header:hover .careers-faq-title {
  color: #EE6C20 !important;
}

/* ==========================================================================
   CONTACT PAGE BESPOKE ANIMATIONS & HOVER DYNAMICS
   ========================================================================== */
.telemetry-hub-card {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s ease,
              box-shadow 0.35s ease !important;
}

.telemetry-hub-card:hover {
  transform: translateY(-3px) translateX(3px) !important;
  border-color: #EE6C20 !important;
  box-shadow: 0 10px 25px rgba(238, 108, 32, 0.12) !important;
}

.dept-card {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s ease,
              box-shadow 0.4s ease !important;
}

.dept-card:hover {
  transform: translateY(-6px) !important;
  border-color: #EE6C20 !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.08) !important;
}

.helpdesk-card {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s ease,
              box-shadow 0.4s ease !important;
}

.helpdesk-card:hover {
  transform: translateY(-6px) !important;
  border-color: #EE6C20 !important;
  box-shadow: 0 16px 36px rgba(238, 108, 32, 0.12) !important;
}

.curated-segment-card {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s ease,
              box-shadow 0.4s ease !important;
}

.curated-segment-card:hover {
  transform: translateY(-6px) !important;
  border-color: #EE6C20 !important;
  box-shadow: 0 16px 36px rgba(238, 108, 32, 0.15) !important;
}

.contact-faq-card {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s ease,
              box-shadow 0.35s ease !important;
  cursor: pointer;
}

.contact-faq-card:hover {
  transform: translateY(-4px) !important;
  border-color: #EE6C20 !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08) !important;
}

.contact-trust-metric {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s ease,
              box-shadow 0.4s ease !important;
}

.contact-trust-metric:hover {
  transform: translateY(-6px) scale(1.02) !important;
  border-color: #EE6C20 !important;
  box-shadow: 0 14px 30px rgba(238, 108, 32, 0.15) !important;
}

.contact-trust-metric:hover .contact-trust-val {
  color: #EE6C20 !important;
}

.contact-leader-card {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s ease,
              box-shadow 0.4s ease !important;
}

.contact-leader-card:hover {
  transform: translateY(-6px) !important;
  border-color: #EE6C20 !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.08) !important;
}

.contact-leader-card .contact-leader-img {
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.contact-leader-card:hover .contact-leader-img {
  transform: scale(1.05) !important;
}

.contact-workspace-card {
  overflow: hidden;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.4s ease !important;
}

.contact-workspace-card .contact-workspace-img {
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.contact-workspace-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.15) !important;
}

.contact-workspace-card:hover .contact-workspace-img {
  transform: scale(1.08) !important;
}

/* Map Location Highlight Boxes & Pins Entrance */
.map-highlight-item.anim-slide-left:not(.anim-in):not(.animated) {
  opacity: 0 !important;
  transform: translate3d(-60px, 0, 0) scale(0.9) !important;
}

.map-highlight-item.anim-slide-right:not(.anim-in):not(.animated) {
  opacity: 0 !important;
  transform: translate3d(60px, 0, 0) scale(0.9) !important;
}

.map-highlight-item.anim-in,
.map-highlight-item.animated {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
  transition: transform 0.85s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.3s ease !important;
}

.map-highlight-item.anim-in:hover {
  transform: translate3d(0, -6px, 0) scale(1.04) !important;
  z-index: 30 !important;
}

.map-highlight-item:hover .highlight-card {
  border-color: rgba(238, 108, 32, 0.6) !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.6), 0 0 20px rgba(238, 108, 32, 0.2) !important;
}

.highlight-dot {
  position: relative;
}

.highlight-dot::after {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  border: 1.5px solid #EE6C20;
  animation: radarPing 2.4s cubic-bezier(0, 0, 0.2, 1) infinite;
}

/* ==========================================================================
   PREMIUM HOVER & MICRO-INTERACTIONS FOR INDUSTRIES SECTIONS
   ========================================================================== */
.ind-layer-card {
  position: relative;
  overflow: hidden;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.35s ease,
              box-shadow 0.35s ease,
              background 0.35s ease !important;
}

.ind-layer-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 0%;
  background: linear-gradient(180deg, #EE6C20, #F97316);
  transition: height 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.ind-layer-card:hover {
  transform: translateX(8px) !important;
  border-color: rgba(238, 108, 32, 0.5) !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35), 0 0 20px rgba(238, 108, 32, 0.12) !important;
  background: #0D2849 !important;
}

.ind-layer-card:hover::before {
  height: 100%;
}

.ind-layer-card svg {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.ind-layer-card:hover svg {
  transform: scale(1.15) rotate(4deg);
}

/* Stack Architecture Layer */
.ind-stack-layer {
  position: relative;
  overflow: hidden;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.35s ease,
              box-shadow 0.35s ease,
              background 0.35s ease !important;
}

.ind-stack-layer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 3px;
  background: linear-gradient(90deg, #EE6C20, #F97316);
  transition: width 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.ind-stack-layer:hover {
  transform: translateY(-4px) translateX(6px) !important;
  border-color: rgba(238, 108, 32, 0.6) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4), 0 0 24px rgba(238, 108, 32, 0.15) !important;
  background: #0E2E56 !important;
}

.ind-stack-layer:hover::before {
  width: 100%;
}

/* Operational KPI Cards */
.ind-kpi-card {
  position: relative;
  overflow: hidden;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.35s ease,
              box-shadow 0.35s ease,
              background 0.35s ease !important;
}

.ind-kpi-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 3px;
  background: linear-gradient(90deg, #EE6C20, #F97316);
  transition: width 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.ind-kpi-card:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(238, 108, 32, 0.6) !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.4), 0 0 22px rgba(238, 108, 32, 0.18) !important;
  background: #0D2D54 !important;
}

.ind-kpi-card:hover::before {
  width: 100%;
}

/* ==========================================================================
   5. ACCESSIBILITY & PREFERS-REDUCED-MOTION
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .anim-slide-left,
  .anim-slide-right,
  .anim-slide-up,
  .anim-zoom-in,
  .anim-flip-in {
    opacity: 1 !important;
    transform: none !important;
  }
}
