@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400&display=swap');

:root {
  --primary-blue: #1163fb;
  --primary-blue-hover: #0c4fcb;
  --bg-dark: #070709;
  --card-bg: rgba(18, 18, 24, 0.65);
  --card-border: rgba(255, 255, 255, 0.12);
}

/* Global Font: Poppins */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}
.tech-pill-badge
{
  font-size: 10px;
}
.btn-open-industry-modal{
  display:none !important;
}
html, body {
  font-family: 'Poppins', sans-serif !important;
  background-color: var(--bg-dark);
  color: #ffffff;
  overflow-x: clip;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  line-height: 1.2;
  letter-spacing: -0.015em;
}

p, span, a, button, input, textarea, select, label, div {
  font-family: 'Poppins', sans-serif;
}



/* Protect FontAwesome Icons from font-family overrides */
.fa, .fas, .far, .fab, .fal, .fad, .fa-solid, .fa-regular, .fa-light, .fa-duotone, .fa-brands, [class*="fa-"] {
  font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", "FontAwesome" !important;
}

.fa::before, .fas::before, .far::before, .fab::before, .fal::before, .fad::before, .fa-solid::before, .fa-regular::before, .fa-light::before, .fa-duotone::before, .fa-brands::before, [class*="fa-"]::before {
  font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", "FontAwesome" !important;
}






/* Promo Stripe Animation */
@keyframes promoHeaderStripeBg {
  0%, 100% { background-color: #fff950; color: #000; }
  25% { background-color: #89f7ff; color: #000; }
  50% { background-color: #ffb3cc; color: #000; }
  75% { background-color: #cfff75; color: #000; }
}

.promo-header-stripe {
  animation: promoHeaderStripeBg 12s linear infinite;
}

/* Gradient Text Effect */
.gradient-text {
  background: linear-gradient(135deg, #ffffff 0%, #a5c2ff 50%, #1163fb 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.gradient-accent-text {
  background: linear-gradient(110deg, #60a5fa 0%, #3b82f6 50%, #93c5fd 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Custom Glassmorphism */
.glass-panel {
  background: var(--card-bg);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid var(--card-border);
}

.glass-panel:hover {
  border-color: rgba(17, 99, 251, 0.4);
  box-shadow: 0 10px 30px -10px rgba(17, 99, 251, 0.25);
}

.custom-scrollbar {
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.25) transparent;
}

.custom-scrollbar::-webkit-scrollbar {
  width: 6px;
}

.custom-scrollbar::-webkit-scrollbar-track {
  background: transparent;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, 0.25);
  border-radius: 999px;
}

.custom-scrollbar::-webkit-scrollbar-thumb:hover {
  background-color: rgba(255, 255, 255, 0.45);
}

/* Subtle tech dot-grid backdrop, used behind dark "product/solution" showcase panels */
.tech-dot-grid {
  background-image: radial-gradient(rgba(255, 255, 255, 0.14) 1px, transparent 1px);
  background-size: 26px 26px;
  mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, black 40%, transparent 90%);
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, black 40%, transparent 90%);
}

/* Marquee Animations */
@keyframes marquee {
  0% { transform: translateX(0%); }
  100% { transform: translateX(-50%); }
}

.animate-marquee {
  display: flex;
  width: max-content;
  animation: marquee 30s linear infinite;
}

.animate-marquee:hover {
  animation-play-state: paused;
}

/* Animated 3D Holographic Globe */
@keyframes globeRotate {
  0% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(180deg) scale(1.06); }
  100% { transform: rotate(360deg) scale(1); }
}

@keyframes globePulse {
  0%, 100% { box-shadow: 0 0 30px rgba(0, 210, 255, 0.3), inset 0 0 20px rgba(0, 210, 255, 0.2); }
  50% { box-shadow: 0 0 60px rgba(17, 99, 251, 0.6), inset 0 0 40px rgba(17, 99, 251, 0.4); }
}

.animate-globe-rotate {
  animation: globeRotate 35s linear infinite;
}

.animate-globe-pulse {
  animation: globePulse 4s ease-in-out infinite;
}

/* Alternate Marquee Right */
@keyframes marqueeRight {
  0% { transform: translateX(-50%); }
  100% { transform: translateX(0%); }
}

.animate-marquee-right {
  display: flex;
  width: max-content;
  animation: marqueeRight 35s linear infinite;
}

.animate-marquee-right:hover {
  animation-play-state: paused;
}

/* Award Marquee Smooth Track */
@keyframes awardMarquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.award-track {
  display: flex;
  width: max-content;
  animation: awardMarquee 25s linear infinite;
}

.award-track:hover {
  animation-play-state: paused;
}

/* Custom Interactive Button Hover (Dual Icon Shift) */
.swap-text-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 16px 32px;
  background-color: var(--primary-blue);
  color: #ffffff;
  font-weight: 600;
  border-radius: 9999px;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.swap-text-button:hover {
  background-color: #0c4eeb;
  box-shadow: 0 0 25px rgba(17, 99, 251, 0.5);
  transform: translateY(-2px);
}

.swap-text-button .icon-arrow {
  transition: transform 0.3s ease;
}

.swap-text-button:hover .icon-arrow {
  transform: translate(4px, -4px);
}

/* Search input expansion styling */
.search-wrapper {
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  width: 42px;
  overflow: hidden;
}

.search-wrapper.expanded {
  width: 320px;
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.3);
}

/* Phone Swing Animation on Contact Button Hover */
@keyframes phoneSwing {
  20% { transform: rotate(15deg); }
  40% { transform: rotate(-10deg); }
  60% { transform: rotate(5deg); }
  80% { transform: rotate(-5deg); }
  100% { transform: rotate(0deg); }
}

.contact-btn:hover .phone-icon {
  animation: phoneSwing 0.5s ease-in-out;
}

/* Video Overlay Gradient */
.hero-gradient-overlay {
  background: radial-gradient(circle at 70% 30%, rgba(17, 99, 251, 0.25) 0%, transparent 65%),
              linear-gradient(180deg, rgba(7, 7, 9, 0.65) 0%, rgba(7, 7, 9, 0.35) 50%, rgba(7, 7, 9, 0.95) 100%);
}

/* Mega Menu Dropdown */
.mega-dropdown {
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.nav-item:hover .mega-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* What We Do Section Styles */
.service-card {
  position: relative;
  background: rgba(18, 18, 24, 0.6);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 1.5rem;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  overflow: hidden;
}

.service-card:hover {
  transform: translateY(-8px);
  border-color: rgba(17, 99, 251, 0.45);
  box-shadow: 0 20px 40px -15px rgba(17, 99, 251, 0.3);
}

.service-card .card-glow-spot {
  position: absolute;
  top: var(--mouse-y, 50%);
  left: var(--mouse-x, 50%);
  transform: translate(-50%, -50%);
  width: 250px;
  height: 250px;
  background: radial-gradient(circle, rgba(17, 99, 251, 0.2) 0%, transparent 70%);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.service-card:hover .card-glow-spot {
  opacity: 1;
}

.service-icon-box {
  width: 56px;
  height: 56px;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  transition: all 0.3s ease;
}

.service-card:hover .service-icon-box {
  transform: scale(1.1) rotate(-3deg);
}

.filter-tab {
  padding: 10px 24px;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 600;
  color: #9ca3af;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: all 0.3s ease;
  cursor: pointer;
}

.filter-tab:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
}

.filter-tab.active {
  color: #ffffff;
  background: #1163fb;
  border-color: #1163fb;
  box-shadow: 0 0 20px rgba(17, 99, 251, 0.4);
}

/* Portfolio Showcase Card Styling */
.portfolio-slider-wrapper {
  overflow: hidden;
  width: 100%;
  position: relative;
}

.portfolio-slider-track {
  display: flex;
  transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  gap: 2rem;
}

.portfolio-slide-item {
  flex: 0 0 calc(33.333% - 1.333rem);
  min-width: 0;
}

@media (max-width: 1024px) {
  .portfolio-slide-item {
    flex: 0 0 calc(50% - 1rem);
  }
}

@media (max-width: 640px) {
  .portfolio-slide-item {
    flex: 0 0 100%;
  }
}

.portfolio-card {
  position: relative;
  border-radius: 2rem;
  background: rgba(15, 15, 20, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.12);
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.portfolio-card:hover {
  transform: translateY(-8px);
  border-color: rgba(17, 99, 251, 0.5);
  box-shadow: 0 25px 50px -12px rgba(17, 99, 251, 0.25);
}

.portfolio-card .card-image-wrap {
  position: relative;
  overflow: hidden;
  height: 260px;
}

.portfolio-card .card-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.portfolio-card:hover .card-image-wrap img {
  transform: scale(1.08);
}

/* Strategic Alliances Card & Marquee Styles */
@keyframes marquee-left {
  0% { transform: translateX(0%); }
  100% { transform: translateX(-50%); }
}

@keyframes marquee-right {
  0% { transform: translateX(-50%); }
  100% { transform: translateX(0%); }
}

.animate-marquee-left {
  display: flex;
  width: max-content;
  animation: marquee-left 35s linear infinite;
}

.animate-marquee-right {
  display: flex;
  width: max-content;
  animation: marquee-right 35s linear infinite;
}

.alliance-marquee-wrapper:hover .animate-marquee-left,
.alliance-marquee-wrapper:hover .animate-marquee-right {
  animation-play-state: paused;
}

.alliance-card {
  position: relative;
  background: rgba(18, 18, 24, 0.75);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 1.25rem;
  padding: 1.5rem;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  overflow: hidden;
}

.alliance-card:hover {
  transform: translateY(-6px);
  border-color: rgba(17, 99, 251, 0.45);
  box-shadow: 0 20px 40px -15px rgba(17, 99, 251, 0.3);
}

.alliance-logo-box {
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 1rem;
}

.alliance-logo-box img {
  height: 100%;
  max-height: 36px;
  width: auto;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.9;
  transition: all 0.3s ease;
}

.alliance-card:hover .alliance-logo-box img {
  opacity: 1;
  transform: scale(1.05);
}

/* Ultra-Futuristic Cyberpunk HUD Industry Radar Styles */
.cyber-industry-card {
  position: relative;
  background: rgba(12, 14, 24, 0.8);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 1.75rem;
  padding: 2rem;
  transition: all 0.45s cubic-bezier(0.165, 0.84, 0.44, 1);
  overflow: hidden;
}

.cyber-industry-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.08), transparent);
  transition: left 0.6s ease;
}

.cyber-industry-card:hover::before {
  left: 100%;
}

.cyber-industry-card:hover {
  transform: translateY(-10px) scale(1.02);
  border-color: rgba(17, 99, 251, 0.6);
  box-shadow: 0 25px 60px -15px rgba(17, 99, 251, 0.35);
}

/* Corner HUD Brackets */
.hud-corner {
  position: absolute;
  width: 12px;
  height: 12px;
  border-color: rgba(17, 99, 251, 0.5);
  pointer-events-none: none;
  transition: all 0.3s ease;
}

.hud-tl { top: 12px; left: 12px; border-top: 2px solid; border-left: 2px solid; }
.hud-tr { top: 12px; right: 12px; border-top: 2px solid; border-right: 2px solid; }
.hud-bl { bottom: 12px; left: 12px; border-bottom: 2px solid; border-left: 2px solid; }
.hud-br { bottom: 12px; right: 12px; border-bottom: 2px solid; border-right: 2px solid; }

.cyber-industry-card:hover .hud-corner {
  border-color: #38bdf8;
  width: 16px;
  height: 16px;
}

/* Hologram Icon Ring */
.holo-icon-ring {
  position: relative;
  width: 64px;
  height: 64px;
  border-radius: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
  margin-bottom: 1.5rem;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.cyber-industry-card:hover .holo-icon-ring {
  transform: scale(1.15) rotate(6deg);
}

/* Pulsing Status Dot */
.cyber-status-pulse {
  width: 8px;
  height: 8px;
  border-radius: 9999px;
  display: inline-block;
  position: relative;
}

.cyber-status-pulse::after {
  content: '';
  position: absolute;
  inset: -3px;
  border-radius: 9999px;
  background: inherit;
  opacity: 0.6;
  animation: cyberPulse 2s infinite ease-in-out;
}

@keyframes cyberPulse {
  0% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(2.2); opacity: 0; }
  100% { transform: scale(1); opacity: 0.8; }
}

/* Client Logos & Global Impact Showcase Styles */
.client-logo-card {
  position: relative;
  background: rgba(16, 18, 28, 0.75);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 1.5rem;
  padding: 2rem;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  overflow: hidden;
}

.client-logo-card:hover {
  transform: translateY(-8px);
  border-color: rgba(17, 99, 251, 0.5);
  box-shadow: 0 25px 50px -15px rgba(17, 99, 251, 0.3);
}

.client-logo-header {
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}

.client-logo-header img {
  height: 100%;
  max-height: 36px;
  width: auto;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.9;
  transition: all 0.3s ease;
}

.client-logo-card:hover .client-logo-header img {
  opacity: 1;
  transform: scale(1.05);
}

.client-quote-text {
  font-size: 0.875rem;
  line-height: 1.625;
  color: #d1d5db;
  font-style: italic;
}

/* Client Testimonials Slider Styles */
.testimonial-card {
  position: relative;
  background: rgba(15, 17, 26, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 1.75rem;
  padding: 2.25rem;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  overflow: hidden;
}

.testimonial-card:hover {
  border-color: rgba(17, 99, 251, 0.5);
  box-shadow: 0 25px 50px -15px rgba(17, 99, 251, 0.25);
  transform: translateY(-6px);
}

.testimonial-slider-track {
  display: flex;
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.testimonial-slide-item {
  flex: 0 0 100%;
  max-width: 100%;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

@media (min-width: 768px) {
  .testimonial-slide-item {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (min-width: 1024px) {
  .testimonial-slide-item {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
}
.animate-fade-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.animate-fade-up.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #070709;
}
::-webkit-scrollbar-thumb {
  background: #22222e;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--primary-blue);
}

/* Deep Technical Expertise Domain Tabs */
.domain-tab {
  padding: 8px 16px;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 700;
  font-family: monospace;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #9ca3af;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  cursor: pointer;
}

.domain-tab:hover {
  color: #ffffff;
  border-color: rgba(17, 99, 251, 0.4);
  background: rgba(17, 99, 251, 0.15);
}

.domain-tab.active {
  background: #1163fb;
  color: #ffffff;
  border-color: #1163fb;
  box-shadow: 0 0 20px rgba(17, 99, 251, 0.4);
}

/* Blueprint Cable Connectors */
.blueprint-connector {
  position: relative;
  height: 2px;
  width: 28px;
  background: rgba(255, 255, 255, 0.15);
  flex-shrink: 0;
  overflow: hidden;
}

.pulse-dot {
  position: absolute;
  top: -2px;
  left: -10px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #38bdf8;
  box-shadow: 0 0 8px #38bdf8;
  animation: pulseMove 1.8s infinite linear;
}

@keyframes pulseMove {
  0% { left: -10px; opacity: 0; }
  20% { opacity: 1; }
  80% { opacity: 1; }
  100% { left: 100%; opacity: 0; }
}

/* Tech Filter Tabs */
.tech-filter-tab {
  padding: 6px 14px;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #9ca3af;
  transition: all 0.3s ease;
  cursor: pointer;
}

.tech-filter-tab:hover {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.25);
}

.tech-filter-tab.active {
  background: rgba(17, 99, 251, 0.2);
  border-color: #1163fb;
  color: #60a5fa;
}

/* Tech Card Elevation */
.tech-card {
  transition: all 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.tech-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px -15px rgba(17, 99, 251, 0.3);
}

/* Code Editor Syntax Colors */
.code-editor-box pre {
  font-family: 'Fira Code', 'Cascadia Code', Consolas, Monaco, monospace;
}

/* AI/ML Roadmap Card Styling */
.roadmap-card {
  transition: all 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.roadmap-card:hover {
  transform: translateY(-6px);
}

.roadmap-card.active-step {
  border-color: rgba(17, 99, 251, 0.6);
  background: rgba(17, 99, 251, 0.1);
  box-shadow: 0 15px 35px -10px rgba(17, 99, 251, 0.3);
}

/* Insights Section Styling */
.insight-filter-tab {
  padding: 6px 16px;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #9ca3af;
  transition: all 0.3s ease;
  cursor: pointer;
}

.insight-filter-tab:hover {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.25);
}

.insight-filter-tab.active {
  background: rgba(17, 99, 251, 0.2);
  border-color: #1163fb;
  color: #60a5fa;
}

.insight-card {
  transition: all 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* Infinite Marquee Animation for Client Logos */
@keyframes marqueeScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.marquee-container {
  overflow: hidden;
  position: relative;
  width: 100%;
  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);
}

.marquee-track {
  display: flex;
  align-items: center;
  gap: 5rem;
  width: max-content;
  animation: marqueeScroll 25s linear infinite;
}

/* Ultra-Smooth Infinite Falling Image Rain Animation */
@keyframes fallingRain {
  0% {
    transform: translate3d(0, -260px, 0) scale(0.95);
    opacity: 0;
  }
  12% {
    opacity: 0.85;
  }
  88% {
    opacity: 0.85;
  }
  100% {
    transform: translate3d(0, 115vh, 0) scale(1.05);
    opacity: 0;
  }
}

.falling-tile {
  position: absolute;
  top: 0;
  transform: translate3d(0, -260px, 0);
  opacity: 0;
  animation: fallingRain 14s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite;
  will-change: transform, opacity;
  pointer-events: auto;
}

.falling-tile:hover {
  animation-play-state: paused;
  z-index: 30;
  opacity: 1;
}

.falling-tile-1 { left: 4%;  animation-delay: 0s;   animation-duration: 13s; }
.falling-tile-2 { left: 82%; animation-delay: 3s;    animation-duration: 15s; }
.falling-tile-3 { left: 10%; animation-delay: 6s;    animation-duration: 12s; }
.falling-tile-4 { left: 88%; animation-delay: 1.5s;  animation-duration: 16s; }
.falling-tile-5 { left: 18%; animation-delay: 4.5s;  animation-duration: 14s; }
.falling-tile-6 { left: 74%; animation-delay: 7.5s;  animation-duration: 13s; }
.falling-tile-7 { left: 34%; animation-delay: 2s;    animation-duration: 11s; }
.falling-tile-8 { left: 58%; animation-delay: 8.5s;  animation-duration: 15s; }

/* Fixed Background Attachment Utility for Fullscreen Slider */
.bg-fixed-cover {
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Vertical Dual-Column Marquee Animations (Up-to-Down and Down-to-Up) */
@keyframes verticalMarqueeDown {
  0% { transform: translateY(-50%); }
  100% { transform: translateY(0%); }
}

@keyframes verticalMarqueeUp {
  0% { transform: translateY(0%); }
  100% { transform: translateY(-50%); }
}

.animate-vertical-marquee-down {
  animation: verticalMarqueeDown 18s linear infinite;
}

.animate-vertical-marquee-up {
  animation: verticalMarqueeUp 18s linear infinite;
}

.animate-vertical-marquee-down:hover,
.animate-vertical-marquee-up:hover {
  animation-play-state: paused;
}










/* Services console (tabbed_offerings, rich variant): slow scan line over the visual */
@keyframes svc-scan {
  0%   { transform: translateY(-100%); }
  100% { transform: translateY(420%); }
}
.svc-scan { animation: svc-scan 7s linear infinite; }
@media (prefers-reduced-motion: reduce) {
  .svc-scan { animation: none; opacity: 0; }
}
