/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•

   CONFIABLE TECHNOCRAFT — Dark Theme Stylesheet

   dark-theme.css  (default & dark-mode base styles)

   This file contains:
   — CSS variables (:root)
   — All base/component styles (dark by default)
   — body:not(.light-mode) overrides
   — @keyframes, @media etc.

â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

/* â”€â”€ ROOT VARIABLES â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

:root {

  --black: #050608;

  --dark: #0d0f14;

  --dark2: #14161d;

  --card-dark: #181b23;

  --card-light: #ffffff;

  --section-light: #f4f6fc;

  --section-mid: #eef1f9;

  --border-dark: rgba(255, 255, 255, 0.08);

  --border-light: rgba(10, 20, 60, 0.1);

  --white: #ffffff;

  --ink: #0a0f1e;

  --ink-soft: #3d4460;

  --muted-dark: #7a7f95;

  --muted-light: #6b7280;

  --blue: #2563eb;

  --blue-mid: #3b82f6;

  --blue-light: #60a5fa;

  --blue-glow: rgba(37, 99, 235, 0.22);

  --blue-pale: rgba(37, 99, 235, 0.08);

  --orange: #f97316;

  --orange-glow: rgba(249, 115, 22, 0.18);

  --teal: #0ea5e9;

  --grad-blue: linear-gradient(135deg, #2563eb 0%, #1d4ed8 60%, #1e3a8a 100%);

  --grad-warm: linear-gradient(135deg, #cc5500 0%, #e65c00 100%);

  --grad-cool: linear-gradient(135deg, #0ea5e9 0%, #2563eb 100%);

  --grad-hero: linear-gradient(135deg, #0a0f1e 0%, #0d1b3e 50%, #0a0f1e 100%);

  --font-head: 'Poppins', sans-serif;

  --font-body: 'Poppins', sans-serif;

  --radius-sm: 8px;

  --radius-md: 14px;

  --radius-lg: 20px;

  --shadow-dark: 0 24px 64px rgba(0, 0, 0, 0.45);

  --shadow-blue: 0 12px 40px var(--blue-glow);

  --shadow-card: 0 4px 24px rgba(0, 0, 0, 0.06);

}

/* â”€â”€ THEME TOGGLE (BASE) â”€â”€ */

.theme-switch {

  position: fixed;

  bottom: 102px !important;

  right: 32px;

  width: 54px;
  height: 54px;

  background: var(--grad-blue);

  border: none;

  border-radius: 50%;

  color: white;

  cursor: pointer;

  z-index: 9999;

  display: flex;
  align-items: center;
  justify-content: center;

  box-shadow: 0 10px 30px rgba(37, 99, 235, 0.3);

  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);

}

.theme-switch:hover {
  transform: scale(1.1) rotate(15deg);
}

.theme-switch svg {
  transition: transform 0.5s;
}

/* â”€â”€ TEMPORARY HIDE SECTIONS â”€â”€ */

#services,
#solutions {
  display: none !important;
}

/* â”€â”€ RESET & BASE â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html,
body {

  width: 100%;

  overflow-x: hidden !important;

  position: relative;

}

body {
  font-family: var(--font-body);
  background: var(--black);
  color: #e2e5f0;
  line-height: 1.3;
}

p,
.hero-sub,
.section-desc,
.ft-desc,
.wwd-card-desc,
.hww-step-desc {
  max-width: 680px;
}

/* Global Responsive Fix for Overflow */

img,
video,
iframe,
picture {

  max-width: 100%;

  height: auto;

  box-sizing: border-box;

}

/* Custom scrollbar */

::-webkit-scrollbar {
  width: 4px;
}

::-webkit-scrollbar-track {
  background: var(--dark);
}

::-webkit-scrollbar-thumb {
  background: var(--blue);
  border-radius: 2px;
}

/* Selection */

::selection {
  background: var(--blue);
  color: #fff;
}

/* â”€â”€ CURSOR GLOW â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

#cursor-glow {

  position: fixed;

  width: 50px;
  height: 50px;

  pointer-events: none;

  /* Shifted slightly up (-30px) and right (25px) to be clearly 'on top' of the mouse tip */

  transform: translate(-10%, -100%);

  z-index: 100000;
  /* Highest priority */

  display: flex;

  align-items: center;

  justify-content: center;

  transition: transform 0.05s linear;
  /* Zero lag tracking */

}

#cursor-glow img {

  width: 45px;
  height: 45px;

  object-fit: contain;

  /* DEFAULT (Dark sections): Clean White Logo */

  filter: invert(1) hue-rotate(180deg) brightness(1.5);

  transition: filter 0.3s ease;

}

/* LIGHT SECTION (when over white): Shows Original Blue Logo */

#cursor-glow.light-cursor img {

  filter: drop-shadow(0 0 10px rgba(37, 99, 235, 0.2)) !important;

}

/* â”€â”€ LOADING SCREEN â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

#loader {

  position: fixed;
  inset: 0;
  z-index: 99999;

  background: var(--black);

  display: flex;
  flex-direction: column;

  align-items: center;
  justify-content: center;

  transition: opacity 0.6s, visibility 0.6s;

}

#loader.hidden {
  opacity: 0;
  visibility: hidden;
}

.loader-logo {

  font-family: var(--font-head);

  font-size: 28px;
  font-weight: 720;
  color: var(--white);

  display: flex;
  align-items: center;
  gap: 12px;

  margin-bottom: 32px;

}

.loader-logo-img {

  height: 450px;

  width: 400px;

  max-width: 90vw;
  /* Added for mobile responsiveness */

  object-fit: contain;

  filter: invert(1) hue-rotate(180deg) brightness(1.5);

}

.loader-bar {

  width: 200px;
  height: 2px;

  background: var(--border-dark);

  border-radius: 2px;
  overflow: hidden;

}

.loader-bar-fill {

  height: 100%;
  width: 50%;

  background: var(--grad-blue);

  border-radius: 2px;

  animation: loaderFill 1.6s ease forwards;

}

@keyframes loaderFill {

  0% {
    width: 0;
  }

  60% {
    width: 80%;
  }

  100% {
    width: 100%;
  }

}

.loader-text {

  margin-top: 14px;

  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;

  text-transform: uppercase;
  color: var(--muted-dark);

}

/* â”€â”€ NAVBAR â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

nav {

  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;

  padding: 0 6%;

  height: 190px;
  /* Further increased to accommodate huge logo */

  display: flex;
  align-items: center;
  justify-content: space-between;

  transition: all 0.4s ease;

}

nav.scrolled {

  background: rgba(5, 6, 8, 0.95);

  backdrop-filter: blur(20px);

  -webkit-backdrop-filter: blur(20px);

  border-bottom: 1px solid var(--border-dark);

  height: 120px;

}

nav.scrolled .nav-links a {
  color: #ffffff;
}

nav.scrolled .logo-img {
  filter: invert(1) hue-rotate(180deg) brightness(1.5);
}

/* Overrides for when navigating over Light/White sections */

nav.light-mode {

  background: rgba(255, 255, 255, 0.98) !important;

  border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;

  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;

}

nav.light-mode .logo-img {

  filter: none !important;
  /* Show original blue/dark logo */

}

nav.light-mode .nav-links a {

  color: var(--black) !important;

}

nav.light-mode .nav-links a:hover {

  color: var(--blue) !important;

}

nav.light-mode .nav-phone {

  color: var(--blue) !important;

}

nav.light-mode .hamburger span {

  background: var(--black) !important;

}

.nav-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  flex-shrink: 0;
}

.logo-img {

  height: 180px;
  /* Huge logo size for visibility */

  width: auto;

  object-fit: contain;

  transition: transform 0.3s ease, height 0.4s ease;

  filter: invert(1) hue-rotate(180deg) brightness(1.5);
  /* Converts black parts to white */

  flex-shrink: 0;

}

nav.scrolled .logo-img {

  height: 110px;
  /* Bigger logo even in scrolled state */

}

.nav-logo:hover .logo-img {

  transform: scale(1.1);

}

.nav-logo-text {

  font-family: var(--font-head);
  font-weight: 630;
  font-size: 17px;

  color: var(--white);
  line-height: 1.1;

}

.nav-logo-text span {
  color: var(--blue-mid);
}

/* Light mode for scrolling over white sections */

nav.light-mode {

  background: rgba(255, 255, 255, 0.97) !important;

  backdrop-filter: blur(20px);

  -webkit-backdrop-filter: blur(20px);

  border-bottom: 1px solid rgba(0, 0, 0, 0.08);

  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);

}

nav.light-mode .logo-img {

  filter: none;
  /* Turn off white filter, show original dark logo */

}

nav.light-mode .nav-links a {

  color: var(--black);

}

nav.light-mode .nav-links a:hover {

  color: var(--blue) !important;

}

nav.light-mode .nav-phone {

  color: var(--blue) !important;

}

nav.light-mode .hamburger span {

  background: var(--black);

}

nav.light-mode .dropdown-menu {

  background: #ffffff;

  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);

}

.nav-links {
  display: flex;
  align-items: center;
  gap: 4px;
  list-style: none;
}

.nav-links a {

  color: #ffffff;
  text-decoration: none;

  font-size: 15px;
  font-weight: 630;

  padding: 8px 18px;
  border-radius: 8px;

  transition: all 0.3s ease;

  position: relative;

}

.nav-links a::after {

  content: '';
  position: absolute;
  bottom: 4px;
  left: 50%;
  transform: translateX(-50%);

  width: 0;
  height: 2px;
  background: var(--blue-mid);
  border-radius: 2px;

  transition: width 0.3s ease;

}

.nav-links a:hover {
  color: var(--white);
}

.nav-links a:hover::after {
  width: 20px;
}

/* -- DROPDOWN STYLES -- */

.nav-links li {

  position: relative;

}

.dropdown-menu {

  position: absolute;

  top: 100%;

  left: 0;

  background: var(--section-light);

  border-radius: var(--radius-sm);

  box-shadow: var(--shadow-dark);

  padding: 10px 0;

  min-width: 260px;

  list-style: none;

  opacity: 0;

  visibility: hidden;

  transform: translateY(15px);

  transition: all 0.3s ease;

  z-index: 1000;

  border: 1px solid var(--border-light);

}

li.dropdown:hover .dropdown-menu {

  opacity: 1;

  visibility: visible;

  transform: translateY(0);

}

.dropdown-menu li {

  padding: 0;

}

.dropdown-menu li a {

  display: block;

  padding: 10px 20px;

  color: var(--ink) !important;

  font-size: 14px;

  font-weight: 500;

  border-radius: 0;

  transition: all 0.3s ease;

}

.dropdown-menu li a::after {

  display: none !important;

}

.dropdown-menu li a:hover {

  background: var(--blue-pale);

  color: var(--blue-mid) !important;

  transform: translateX(4px);

}

/* -- MOBILE DROPDOWN STYLES -- */

.mob-dropdown-toggle {

  display: flex !important;

  justify-content: space-between;

  align-items: center;

}

.mob-dropdown-menu {

  display: none;

  padding-left: 15px;

  background: rgba(255, 255, 255, 0.02);

  border-radius: var(--radius-sm);

  margin-top: 5px;

}

.mob-dropdown.active .mob-dropdown-menu {

  display: block;

}

.mob-dropdown-menu a {

  padding: 10px 0 !important;

  font-size: 14px !important;

  border-bottom: none !important;

  color: rgba(255, 255, 255, 0.8) !important;

}

.nav-cta {

  background: var(--grad-blue) !important;

  color: #fff !important;
  padding: 9px 22px !important;

  border-radius: var(--radius-sm) !important;
  font-weight: 600 !important;

  box-shadow: var(--shadow-blue) !important;

  transition: transform 0.2s, box-shadow 0.2s, opacity 0.2s !important;

}

.nav-cta::after {
  display: none !important;
}

.nav-cta:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 48px var(--blue-glow) !important;
}

.hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  padding: 6px;
}

.hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--white);
  border-radius: 2px;
  transition: all 0.35s;
}

.hamburger.open span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

.hamburger.open span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}

.hamburger.open span:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

.mobile-menu {

  display: none;

  position: fixed;

  top: 0;

  left: 0;

  right: 0;

  bottom: 0;

  background: rgba(5, 6, 8, 0.98);

  backdrop-filter: blur(28px);

  -webkit-backdrop-filter: blur(28px);

  padding: 100px 8% 40px;

  z-index: 999;

  flex-direction: column;

  overflow-y: auto;
  /* ENABLE SCROLLING */

  -webkit-overflow-scrolling: touch;

  opacity: 0;

  visibility: hidden;

  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);

}

.mobile-menu.open {

  display: flex;

  opacity: 1;

  visibility: visible;

}

.mobile-menu a {

  display: block;

  color: #ffffff;

  text-decoration: none;

  font-size: 20px;

  font-weight: 600;

  padding: 15px 0;

  border-bottom: 1px solid rgba(255, 255, 255, 0.08);

  transition: all 0.3s;

}

.nav-phone {

  color: #ffffff !important;

  font-weight: 700 !important;

  transition: all 0.3s ease;

  font-size: 15px;

}

.nav-phone:hover {

  transform: translateY(-2px);

  color: var(--white) !important;

}

.mob-phone {

  display: block;

  padding: 15px 0;

  color: var(--blue-light) !important;

  font-weight: 700;

  border-bottom: 1px solid var(--border-dark);

  text-decoration: none;

}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•

   HERO — DARK SECTION

â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â•â•â•â• HERO SLIDER â•â•â•â• */

.hero-slider {

  position: absolute;

  inset: 0;

  z-index: -1;

  overflow: hidden;

}

.hero-slide {

  position: absolute;

  inset: 0;

  background-size: cover;

  background-position: center;

  background-repeat: no-repeat;

  opacity: 0;

  transition: opacity 3s cubic-bezier(0.4, 0, 0.2, 1), transform 15s linear;

  transform: scale(1.1);

  z-index: 1;

  will-change: opacity, transform;

}

.hero-slide.active {

  opacity: 1;

  transform: scale(1);

  z-index: 2;

}

.hero-slide.prev {

  opacity: 1;

  z-index: 1;

  transition: none;

}

.hero-overlay {

  position: absolute;

  inset: 0;

  background: linear-gradient(to right, rgba(5, 6, 8, 0.85), rgba(5, 6, 8, 0.45));

  z-index: 2;

}

/* Subpage Hero Slider */

.sub-hero-slider {

  position: absolute;

  inset: 0;

  z-index: -1;

  overflow: hidden;

}

.sub-hero-slide {

  position: absolute;

  inset: 0;

  background-size: cover;

  background-position: center;

  background-repeat: no-repeat;

  opacity: 0;

  transition: opacity 2.5s ease-in-out;

  z-index: 1;

}

.sub-hero-slide.active {

  opacity: 1;

  z-index: 2;

}

.sub-hero-slide.prev {

  opacity: 1;

  z-index: 1;

}

#home {

  min-height: 100vh;

  height: auto;

  background: transparent;

  /* display reset by DPDP hero */

  align-items: flex-start;
  /* Start from top below logo */

  position: relative;

  overflow: hidden;
  /* Clips slider and orbs */

  /* padding reset by DPDP hero */
  /* Adjusted padding to ensure bottom content fits */

}

/* Animated orbs */

.orb {

  position: absolute;
  border-radius: 50%;

  pointer-events: none;
  filter: blur(60px);

}

.orb-1 {

  width: 600px;
  height: 600px;
  top: -100px;
  right: -100px;

  background: radial-gradient(circle, rgba(37, 99, 235, 0.18) 0%, transparent 70%);

  animation: orbFloat 8s ease-in-out infinite;

}

.orb-2 {

  width: 400px;
  height: 400px;
  bottom: -50px;
  left: 10%;

  background: radial-gradient(circle, rgba(249, 115, 22, 0.08) 0%, transparent 70%);

  animation: orbFloat 10s ease-in-out infinite reverse;

}

.orb-3 {

  width: 300px;
  height: 300px;
  top: 40%;
  left: 35%;

  background: radial-gradient(circle, rgba(14, 165, 233, 0.07) 0%, transparent 70%);

  animation: orbFloat 12s ease-in-out infinite;

}

@keyframes orbFloat {

  0%,
  100% {
    transform: translate(0, 0) scale(1);
  }

  33% {
    transform: translate(20px, -30px) scale(1.05);
  }

  66% {
    transform: translate(-15px, 20px) scale(0.97);
  }

}

/* Grid overlay */

.hero-grid {

  position: absolute;
  inset: 0;
  z-index: 0;

  background-image:

    linear-gradient(rgba(255, 255, 255, 0.028) 1px, transparent 1px),

    linear-gradient(90deg, rgba(255, 255, 255, 0.028) 1px, transparent 1px);

  background-size: 56px 56px;

  mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, black 20%, transparent 75%);

  -webkit-mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, black 20%, transparent 75%);

}

/* Floating particles */

.particles {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}

.particle {

  position: absolute;
  border-radius: 50%;

  background: rgba(96, 165, 250, 0.5);

  animation: particleDrift linear infinite;

}

@keyframes particleDrift {

  0% {
    transform: translateY(100vh) scale(0);
    opacity: 0;
  }

  10% {
    opacity: 1;
  }

  90% {
    opacity: 0.6;
  }

  100% {
    transform: translateY(-20px) scale(1);
    opacity: 0;
  }

}

.hero-content {
  position: relative;
  z-index: 2;
  max-width: 680px;
}

.hero-badge {

  display: inline-flex;
  align-items: center;
  gap: 8px;

  background: rgba(37, 99, 235, 0.14);

  border: 1px solid rgba(59, 130, 246, 0.35);

  padding: 7px 16px;
  border-radius: 100px;

  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;

  color: var(--blue-light);
  text-transform: uppercase;

  margin-bottom: 28px;

  opacity: 0;
  animation: slideUp 0.7s 0.2s ease forwards;

}

.badge-dot {

  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #4ade80;

  box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.2);

  animation: pulse 2.5s ease infinite;

}

@keyframes pulse {

  0%,
  100% {
    box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.2);
  }

  50% {
    box-shadow: 0 0 0 7px rgba(74, 222, 128, 0.08);
  }

}

h1.hero-title {

  font-family: var(--font-head);

  font-size: clamp(26px, 4.5vw, 52px);

  font-weight: 630;

  color: var(--white);

  line-height: 1.15;

  margin-bottom: 24px;

  min-height: 190px;
  /* Incremented space slightly */

  width: 100%;

  opacity: 0;

  animation: slideUp 0.8s 0.35s ease forwards;

}

#typed-text {

  display: inline-block;

  min-height: 1em;

  max-width: 100%;

  vertical-align: middle;

}

h1.hero-title .blue {
  color: var(--blue-light);
}

.typed-link {

  position: relative;

  transition: all 0.3s ease;

}

.typed-link::after {

  content: '';

  position: absolute;

  bottom: -2px;

  left: 0;

  width: 0;

  height: 2px;

  background: var(--blue-light);

  transition: width 0.3s ease;

}

.typed-link:hover {

  text-shadow: 0 0 15px var(--blue-glow);

}

.typed-link:hover::after {

  width: 100%;

}

h1.hero-title .orange {

  background: var(--grad-warm);

  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  background-clip: text;

}

.hero-sub {

  font-size: 18px;
  color: rgba(255, 255, 255, 0.6);

  line-height: 1.75;
  max-width: 540px;
  margin-bottom: 40px;

  opacity: 0;
  animation: slideUp 0.8s 0.5s ease forwards;

}

.hero-actions {

  display: flex;
  gap: 14px;
  flex-wrap: wrap;

  opacity: 0;
  animation: slideUp 0.8s 0.65s ease forwards;

}

.btn-primary {

  display: inline-flex;
  align-items: center;
  gap: 8px;

  background: var(--grad-blue);
  color: #fff;

  padding: 14px 28px;
  border-radius: 10px;
  font-weight: 600;
  font-size: 15px;

  text-decoration: none;
  box-shadow: var(--shadow-blue);

  transition: transform 0.25s, box-shadow 0.25s;

  position: relative;
  overflow: hidden;

}

.btn-primary::before {

  content: '';
  position: absolute;
  inset: 0;

  background: linear-gradient(135deg, rgba(255, 255, 255, 0.12), transparent);

  opacity: 0;
  transition: opacity 0.3s;

}

.btn-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 56px var(--blue-glow);
}

.btn-primary:hover::before {
  opacity: 1;
}

.btn-ghost {

  display: inline-flex;
  align-items: center;
  gap: 8px;

  background: rgba(255, 255, 255, 0.07);
  color: var(--white);

  border: 1px solid rgba(255, 255, 255, 0.15);

  padding: 14px 28px;
  border-radius: 10px;
  font-weight: 600;
  font-size: 15px;

  text-decoration: none;
  transition: background 0.25s, border-color 0.25s, transform 0.25s;

}

.btn-ghost:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.28);
  transform: translateY(-2px);
}

.hero-stats {

  display: flex;
  gap: 44px;
  flex-wrap: wrap;
  margin-top: 40px;
  flex-wrap: nowrap;
  text-align: center;
  opacity: 0;
  animation: slideUp 0.8s 0.8s ease forwards;

}

.stat-num {

  font-family: var(--font-head);
  font-size: 38px;
  font-weight: 800;

  color: var(--white);
  line-height: 1;

}

.stat-num .accent {
  color: var(--blue-light);
}

.stat-label {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.45);
  margin-top: 5px;
  letter-spacing: 0.02em;
}

/* Floating hero cards */

.hero-cards {

  position: absolute;
  right: 5%;
  top: 210px;

  width: min(500px, 42vw);
  z-index: 2;

  opacity: 0;
  animation: fadeIn 1s 0.6s ease forwards;

  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-end;

}

.hcard {

  position: relative;
  background: rgba(20, 22, 29, 0.85);

  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;

  padding: 14px 18px;
  backdrop-filter: blur(20px);

  box-shadow: 0 15px 45px rgba(0, 0, 0, 0.4);

  text-decoration: none;

  display: block;

  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);

}

.hcard:hover {

  transform: scale(1.03);

  border-color: rgba(59, 130, 246, 0.6);

  box-shadow: 0 25px 60px rgba(37, 99, 235, 0.22);

  z-index: 10;

}

.hcard-1 {
  width: 270px;
  margin-right: 0;
}

.hcard-2 {
  width: 250px;
  margin-right: 50px;
  background: rgba(37, 99, 235, 0.15);
  border-color: rgba(59, 130, 246, 0.3);
}

.hcard-3 {
  width: 260px;
  margin-right: 5px;
}

.hcard-emoji {
  margin-bottom: 6px;
}

.hcard-emoji svg {
  width: 24px;
  height: 24px;
}

.hcard-title {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 14px;
  color: #fff;
  margin-bottom: 4px;
}

.hcard-text {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.4;
}

.hcard-pill {

  display: inline-block;
  margin-top: 6px;

  background: rgba(37, 99, 235, 0.25);
  color: var(--blue-light);

  border: 1px solid rgba(59, 130, 246, 0.3);
  padding: 3px 10px;

  border-radius: 100px;
  font-size: 10px;
  font-weight: 700;

}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•

   PARTNER STRIP

   Modified: Light theme background

â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

.partners-strip {

  background: var(--section-light);

  border-top: 1px solid var(--border-light);

  border-bottom: 1px solid var(--border-light);

  padding: 22px 0;
  overflow: hidden;

  position: relative;

  z-index: 5;

}

.partners-track {

  display: flex;
  gap: 60px;
  align-items: center;

  animation: scrollLeft 35s linear infinite;

  width: max-content;

}

.partners-strip:hover .partners-track {
  animation-play-state: paused;
}

@keyframes scrollLeft {

  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }

}

.p-item {

  display: flex;
  align-items: center;
  gap: 9px;

  overflow: hidden;

}

.p-logo {

  height: 48px;

  width: 130px;

  object-fit: contain;

  transition: all 0.3s ease;

}

.p-item:hover .p-logo {

  transform: scale(1.08);

}

.p-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--blue-mid);
  margin-left: 16px;
  opacity: 0.5;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•

   SECTION SHARED — LIGHT BACKGROUND

â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

.section-light {
  background: var(--dark);
  color: #e2e5f0;
  transition: all 0.4s ease;
}

.section-mid {
  background: var(--dark2);
  color: #e2e5f0;
  transition: all 0.4s ease;
}



.section-dark {

  background: var(--dark);

  color: #e2e5f0;

}

.section-black {

  background: var(--black);

  color: #e2e5f0;

}

section {
  padding: 100px 4%;
  width: 100%;
}

.reveal {

  max-width: 1440px;

  margin: 0 auto;

}

.section-tag {

  display: inline-flex;
  align-items: center;
  gap: 10px;

  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;

  text-transform: uppercase;
  color: var(--blue);

  margin-bottom: 14px;

}

.section-tag::before {

  content: '';
  display: block;
  width: 24px;
  height: 2px;

  background: var(--blue);
  border-radius: 2px;

}

/* On dark sections, tags stay blue-light */

.section-dark .section-tag,

.section-black .section-tag {
  color: var(--blue-light);
}

.section-dark .section-tag::before,

.section-black .section-tag::before {
  background: var(--blue-light);
}

.section-title {

  font-family: var(--font-head);

  font-size: clamp(30px, 3.5vw, 52px);
  font-weight: 700;

  line-height: 1.1;
  margin-bottom: 14px;

}

.section-light .section-title,

.section-mid .section-title {
  color: var(--ink);
}

.section-dark .section-title,

.section-black .section-title {
  color: var(--white);
}

.section-sub {
  font-size: 16px;
  line-height: 1.75;
  max-width: 540px;
}

.section-light .section-sub,

.section-mid .section-sub {
  color: var(--ink-soft);
}

.section-dark .section-sub,

.section-black .section-sub {
  color: var(--muted-dark);
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•

   SERVICES — LIGHT SECTION

â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

#services {
  background: var(--section-light);
}

.services-header {

  display: flex;
  justify-content: space-between;
  align-items: flex-end;

  flex-wrap: wrap;
  gap: 24px;
  margin-bottom: 60px;

}

.services-grid {

  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;

}

.service-card {

  background: var(--white);

  border: 1px solid var(--border-light);

  border-radius: var(--radius-lg);
  padding: 34px;

  position: relative;
  overflow: hidden;

  box-shadow: var(--shadow-card);

  transition: transform 0.35s cubic-bezier(.34, 1.56, .64, 1), box-shadow 0.35s, border-color 0.35s;

  cursor: default;

}

.service-card::before {

  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;

  background: var(--grad-blue);
  transform: scaleX(0);
  transform-origin: left;

  transition: transform 0.4s cubic-bezier(.34, 1.56, .64, 1);

}

.service-card::after {

  content: '';
  position: absolute;
  bottom: -60px;
  right: -40px;

  width: 140px;
  height: 140px;
  border-radius: 50%;

  background: radial-gradient(circle, var(--blue-pale) 0%, transparent 70%);

  transition: transform 0.5s ease, opacity 0.4s;

  opacity: 0;

}

.service-card:hover {

  transform: translateY(-8px);

  box-shadow: 0 24px 60px rgba(37, 99, 235, 0.12), 0 4px 16px rgba(0, 0, 0, 0.06);

  border-color: rgba(37, 99, 235, 0.2);

}

.service-card:hover::before {
  transform: scaleX(1);
}

.service-card:hover::after {
  opacity: 1;
  transform: scale(1.3);
}

.svc-icon {

  width: 54px;
  height: 54px;

  background: linear-gradient(135deg, rgba(37, 99, 235, 0.1), rgba(59, 130, 246, 0.06));

  border: 1px solid rgba(37, 99, 235, 0.15);
  border-radius: 14px;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 24px;
  margin-bottom: 22px;

  transition: background 0.3s, transform 0.3s;

}

.service-card:hover .svc-icon {

  background: linear-gradient(135deg, rgba(37, 99, 235, 0.18), rgba(59, 130, 246, 0.12));

  transform: scale(1.08) rotate(-3deg);

}

.svc-title {

  font-family: var(--font-head);
  font-weight: 700;
  font-size: 18px;

  color: var(--ink);
  margin-bottom: 10px;

}

.svc-desc {
  font-size: 14px;
  color: var(--ink-soft);
  line-height: 1.7;
}

.svc-link {

  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 22px;

  font-size: 13px;
  font-weight: 600;
  color: var(--blue);
  text-decoration: none;

  transition: gap 0.25s, color 0.25s;

}

.service-card:hover .svc-link {
  gap: 10px;
  color: var(--blue-mid);
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•

   WHY US — DARK SECTION

â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

#why {

  background: var(--dark);

  position: relative;
  overflow: hidden;

}

.why-blob {

  position: absolute;
  top: -200px;
  right: -200px;

  width: 700px;
  height: 700px;
  pointer-events: none;

  background: radial-gradient(circle, rgba(37, 99, 235, 0.07) 0%, transparent 70%);

}

.why-layout {

  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;

}

.why-points {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.why-point {

  background: rgba(255, 255, 255, 0.03);

  border: 1px solid var(--border-dark);

  border-radius: var(--radius-md);
  padding: 26px;

  transition: border-color 0.3s, background 0.3s, transform 0.35s cubic-bezier(.34, 1.56, .64, 1);

  position: relative;
  overflow: hidden;

}

.why-point::before {

  content: '';
  position: absolute;
  inset: 0;
  border-radius: var(--radius-md);

  background: linear-gradient(135deg, rgba(37, 99, 235, 0.05), transparent);

  opacity: 0;
  transition: opacity 0.3s;

}

.why-point:hover {
  border-color: rgba(37, 99, 235, 0.35);
  background: rgba(37, 99, 235, 0.05);
  transform: translateY(-4px);
}

.why-point:hover::before {
  opacity: 1;
}

.wp-icon {
  font-size: 30px;
  margin-bottom: 14px;
  display: block;
}

.wp-title {
  font-family: var(--font-head);
  font-size: 15px;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 8px;
}

.wp-desc {
  font-size: 13px;
  color: var(--muted-dark);
  line-height: 1.6;
}

.why-left .btn-primary {
  margin-top: 36px;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•

   ABOUT — LIGHT SECTION

â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

#about {
  background: var(--section-mid);
}

.about-layout {

  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;

}

.about-visual {
  position: relative;
}

.about-card-main {

  background: var(--white);
  border: 1px solid var(--border-light);

  border-radius: var(--radius-lg);
  padding: 40px;

  box-shadow: var(--shadow-card);

  text-align: center;

}

.about-emoji {
  font-size: 72px;
  margin-bottom: 16px;
  display: block;
}

.about-card-title {

  font-family: var(--font-head);
  font-size: 20px;
  font-weight: 800;
  color: var(--ink);
  margin-bottom: 6px;

}

.about-card-sub {
  font-size: 14px;
  color: var(--ink-soft);
}

.about-nums {

  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 16px;

}

.anum-box {

  background: var(--white);
  border: 1px solid var(--border-light);

  border-radius: var(--radius-sm);
  padding: 18px 12px;
  text-align: center;

  box-shadow: var(--shadow-card);

  transition: transform 0.3s, box-shadow 0.3s;

}

.anum-box:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(37, 99, 235, 0.1);
}

.anum {
  font-family: var(--font-head);
  font-size: 26px;
  font-weight: 800;
  color: var(--ink);
  line-height: 1;
}

.anum span {
  color: var(--blue);
}

.anum-lbl {
  font-size: 10px;
  color: var(--ink-soft);
  margin-top: 4px;
  letter-spacing: 0.02em;
}

.about-text .section-title {
  margin-top: 0;
}

.about-body {
  font-size: 15px;
  color: var(--ink-soft);
  line-height: 1.8;
  margin: 18px 0;
}

.about-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 24px;
}

.atag {

  background: rgba(37, 99, 235, 0.08);
  border: 1px solid rgba(37, 99, 235, 0.18);

  color: var(--blue);
  font-size: 12px;
  font-weight: 600;

  padding: 6px 16px;
  border-radius: 100px;

  transition: background 0.2s, transform 0.2s;

}

.atag:hover {
  background: rgba(37, 99, 235, 0.15);
  transform: translateY(-2px);
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•

   SOLUTIONS — DARK

â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

#solutions {
  background: var(--black);
}

.solutions-intro {

  text-align: center;
  max-width: 600px;
  margin: 0 auto 60px;

}

.solutions-grid {

  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;

}

.sol-card {

  background: var(--card-dark);
  border: 1px solid var(--border-dark);

  border-radius: var(--radius-md);
  padding: 28px;

  position: relative;
  overflow: hidden;

  transition: transform 0.35s cubic-bezier(.34, 1.56, .64, 1), border-color 0.3s, box-shadow 0.3s;

  cursor: default;

}

.sol-card-glow {

  position: absolute;
  top: 0;
  right: 0;

  width: 100px;
  height: 100px;

  background: radial-gradient(circle at top right, rgba(37, 99, 235, 0.14), transparent 70%);

  transition: opacity 0.3s;

}

.sol-card:hover {

  transform: translateY(-6px);

  border-color: rgba(59, 130, 246, 0.3);

  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);

}

.sol-card:hover .sol-card-glow {
  opacity: 2;
}

.sol-icon {
  font-size: 34px;
  margin-bottom: 18px;
  display: block;
}

.sol-name {

  font-family: var(--font-head);
  font-size: 16px;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 10px;

}

.sol-desc {
  font-size: 13px;
  color: var(--muted-dark);
  line-height: 1.65;
}

.sol-badge {

  display: inline-block;
  margin-top: 16px;

  background: rgba(37, 99, 235, 0.14);
  color: var(--blue-light);

  border: 1px solid rgba(59, 130, 246, 0.2);

  font-size: 10px;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 100px;

  letter-spacing: 0.04em;
  text-transform: uppercase;

}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•

   TESTIMONIALS — LIGHT

â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

#testimonials {
  background: var(--section-light);
}

.testimonials-intro {
  text-align: center;
  max-width: 580px;
  margin: 0 auto 56px;
}

.testimonials-grid {

  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;

}

.testimonials-row {

  display: flex;
  gap: 24px;
  overflow-x: auto;

  padding: 20px 10px 40px;
  scroll-snap-type: x mandatory;

  scrollbar-width: none;

  -ms-overflow-style: none;

  scroll-behavior: smooth;

}

.testimonials-row::-webkit-scrollbar {
  display: none;
}

.tcard {

  background: var(--white);
  border: 1px solid var(--border-light);

  border-radius: var(--radius-lg);
  padding: 40px 30px;

  box-shadow: var(--shadow-card);

  transition: transform 0.35s cubic-bezier(.34, 1.56, .64, 1), box-shadow 0.35s;

  position: relative;
  overflow: hidden;

  width: calc((100% - 48px) / 3);
  /* Exactly 3 cards with 2 gaps of 24px */

  min-height: 480px;
  /* Increased height for length */

  display: flex;
  flex-direction: column;

  flex-shrink: 0;

  scroll-snap-align: start;

}

.tcard::before {

  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;

  background: var(--grad-blue);
  transform: scaleX(0);
  transform-origin: left;

  transition: transform 0.4s ease;

}

.tcard:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(37, 99, 235, 0.1);
}

.tcard:hover::before {
  transform: scaleX(1);
}

.tcard-q {
  font-size: 58px;
  line-height: 1;
  color: #000000 !important;
  margin-bottom: 15px;
  font-family: Georgia, serif;
  opacity: 1 !important;
}

.tcard-stars {
  color: #f59e0b;
  font-size: 13px;
  margin-bottom: 12px;
}

.tcard-text {
  font-size: 16px;
  color: var(--ink-soft);
  line-height: 1.8;
  margin-bottom: 24px;
  flex-grow: 1;
  overflow-y: auto;
}

.tcard-author {
  display: flex;
  align-items: center;
  gap: 12px;
}

.tcard-av {

  width: 40px;
  height: 40px;
  border-radius: 50%;

  background: var(--grad-blue);

  display: flex;
  align-items: center;
  justify-content: center;

  font-family: var(--font-head);
  font-weight: 700;
  font-size: 13px;
  color: #fff;
  flex-shrink: 0;

}

.tcard-name {
  font-weight: 600;
  font-size: 14px;
  color: var(--ink);
}

.tcard-co {
  font-size: 12px;
  color: var(--ink-soft);
}

.testimonials-arrows {

  display: flex;
  gap: 16px;
  justify-content: flex-start;
  margin-top: 30px;

}

.t-arrow {

  width: 48px;
  height: 48px;
  border-radius: 50%;

  background: var(--white);
  border: 1px solid var(--border-light);

  display: flex;
  align-items: center;
  justify-content: center;

  cursor: pointer;
  color: var(--blue);
  box-shadow: var(--shadow-card);

  transition: all 0.3s ease;

}

.t-arrow:hover {

  background: var(--blue);
  color: var(--white);

  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(37, 99, 235, 0.25);

}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•

   TEAM — DARK

â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

#team {
  background: var(--dark);
}

.team-intro {
  text-align: center;
  max-width: 580px;
  margin: 0 auto 56px;
}

.team-view-container {
  position: relative;
}

.team-grid {

  display: flex;
  gap: 20px;

  overflow-x: auto;

  scroll-behavior: smooth;

  scroll-snap-type: x mandatory;

  scrollbar-width: none;

  padding-bottom: 20px;

  margin-bottom: 10px;

}

.team-grid::-webkit-scrollbar {
  display: none;
}

.team-card {

  flex: 0 0 calc((100% - 60px) / 4);
  /* Exactly 4 cards with 3 gaps of 20px */

  scroll-snap-align: start;

  background: #ffffff;

  border: 1px solid #e5e7eb;

  border-radius: 6px;

  position: relative;

  overflow: hidden;

  text-align: center;

  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.08);

  transition: transform 0.3s;

  padding: 100px 20px 40px;
  /* Increased top padding for larger photo */

  min-height: 520px;
  /* Further increased for larger photo and length */

}

.team-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.tc-shape-top {

  position: absolute;

  top: -60px;
  right: -50px;

  width: 150px;
  height: 150px;

  background: #00bfff;

  border-radius: 50%;

  z-index: 1;

}

.tc-shape-bottom {

  position: absolute;

  bottom: -60px;
  left: -50px;

  width: 150px;
  height: 150px;

  background: #cccccc;

  border-radius: 50%;

  z-index: 1;

  opacity: 0.6;

}

.team-img-wrap {

  width: 160px;
  height: 160px;
  /* Significantly increased from 120px */

  border-radius: 50%;

  margin: 0 auto 30px;

  position: relative;

  z-index: 2;

  border: 6px solid #ffffff;
  /* Thicker border for premium look */

  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);

  overflow: hidden;

  background: #f3f4f6;

}

.team-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.team-info {
  position: relative;
  z-index: 2;
}

.team-name {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 15px;
  color: #111827;
  margin-bottom: 4px;
  line-height: 1.3;
}

/* Dark Mode Overrides for Team */
body:not(.light-mode) .team-card {
  background: #1a1e2d !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3) !important;
}

body:not(.light-mode) .team-name {
  color: #ffffff !important;
}

body:not(.light-mode) .team-img-wrap {
  border-color: rgba(255, 255, 255, 0.2) !important;
}

.team-role {
  font-size: 13px;
  color: #00bfff;
  font-weight: 600;
  margin-bottom: 15px;
  line-height: 1.3;
}

.team-socials {
  display: flex;
  justify-content: center;
  gap: 12px;
}

.team-socials a {
  color: #e9ebee;
  transition: color 0.2s;
}

.team-socials a:hover {
  color: var(--blue-mid);
}

/* Team Arrows */

.team-arrows {

  display: flex;
  gap: 15px;
  justify-content: flex-start;

  margin-top: 15px;
  margin-left: 20px;

}

.team-arrow {

  background: #2563eb;
  color: white;

  border: none;
  border-radius: 50%;
  width: 45px;
  height: 45px;

  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;

  transition: background 0.3s, transform 0.3s;

}

.team-arrow:hover {
  background: #1d4ed8;
  transform: translateY(-2px);
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•

   CTA BANNER — BOLD DARK

â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

#cta {

  background-color: var(--black);

  position: relative;
  overflow: hidden;
  text-align: center;
  padding: 40px 4%;

  /* Parallax effect */

  background-attachment: fixed;

  background-size: cover;

  background-position: center;

}

.cta-inner {

  position: relative;

  z-index: 3;

  max-width: 1400px;

  margin: 0 auto;

  padding: 20px;

}

.cta-slider {
  display: none;
}

.cta-slide {
  display: none;
}

.cta-slide.active {
  opacity: 1;
  transform: scale(1);
  z-index: 2;
}

.cta-slide.prev {
  opacity: 1;
  z-index: 1;
  transition: none;
}

.cta-overlay {

  position: absolute;
  inset: 0;
  z-index: 2;

  background: rgba(0, 0, 0, 0.5);

}

.cta-title {

  font-family: var(--font-head);

  font-size: clamp(28px, 3.5vw, 42px);
  font-weight: 700;
  color: #ffffff;

  line-height: 1.2;
  margin-bottom: 15px;

}

.cta-title .blue {
  color: #16a34a !important;
  -webkit-text-fill-color: #16a34a !important;
}

.cta-title .orange {

  background: var(--grad-warm);

  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;

}

.cta-sub {
  font-size: 17px;
  color: #f1f5f9;
  margin-bottom: 25px;
  max-width: 1200px;
  margin-inline: auto;
  font-weight: 400;
}

.cta-actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 10px;
}

#cta .btn-primary,
#cta .btn-ghost {

  display: inline-flex;
  align-items: center;
  justify-content: center;

  background: #ffffff;
  color: #111827;

  padding: 12px 35px;
  border-radius: 50px;
  font-weight: 600;
  font-size: 15px;

  text-decoration: none;
  transition: all 0.3s ease;

  border: 3px solid #0056b3;

  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);

}

#cta .btn-ghost {

  border: 3px solid #475569;

}

#cta .btn-primary:hover {
  background: #0056b3;
  color: #ffffff;
}

#cta .btn-ghost:hover {
  background: #475569;
  color: #ffffff;
}

.btn-white {

  display: inline-flex;
  align-items: center;
  gap: 8px;

  background: var(--white);
  color: var(--ink);

  padding: 15px 32px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 15px;

  text-decoration: none;
  transition: transform 0.25s, box-shadow 0.25s;

  box-shadow: 0 4px 20px rgba(255, 255, 255, 0.1);

}

.btn-white:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 40px rgba(255, 255, 255, 0.18);
}

/* Common Parallax CTA Class */

.parallax-cta {

  position: relative;

  overflow: hidden;

  text-align: center;

  padding: 100px 4%;

  color: #ffffff;

  /* â”€â”€ DARK THEME: Default CTA background image â”€â”€ */
  background-image: linear-gradient(rgba(5, 6, 8, 0.72), rgba(13, 15, 20, 0.80)), url('../images/cta-parallax.png');

  background-attachment: fixed;

  background-size: cover;

  background-position: center;

  background-repeat: no-repeat;

  width: 100%;

}

.parallax-cta .cta-overlay {

  position: absolute;

  inset: 0;

  z-index: 1;

  background: rgba(0, 0, 0, 0.4);

}

.parallax-cta .cta-inner {

  position: relative;

  z-index: 2;

  max-width: 1400px;

  margin: 0 auto;

  padding: 0 20px;

}

.parallax-cta .section-title {

  color: #ffffff;

  margin-bottom: 20px;

  font-size: clamp(24px, 3vw, 36px);

}

.parallax-cta p {

  color: rgba(255, 255, 255, 0.9);

  font-size: 17px;

  margin-bottom: 30px;

  line-height: 1.6;

}

.parallax-cta .btn-primary {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  background: #ffffff;

  color: #111827;

  padding: 12px 35px;

  border-radius: 50px;

  font-weight: 600;

  font-size: 15px;

  text-decoration: none;

  transition: all 0.3s ease;

  border: 3px solid #0056b3;

  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);

}

.parallax-cta .btn-primary:hover {

  background: #0056b3;

  color: #ffffff;

  transform: translateY(-3px);

}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•

   CONTACT — LIGHT SECTION

â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

#contact {
  background: var(--section-mid);
}

.contact-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
}

.contact-items {
  margin-top: 36px;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.citem {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.citem-icon {

  width: 46px;
  height: 46px;
  flex-shrink: 0;
  border-radius: 12px;

  background: rgba(37, 99, 235, 0.08);
  border: 1px solid rgba(37, 99, 235, 0.15);

  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;

  transition: background 0.2s, transform 0.2s;

}

.citem:hover .citem-icon {
  background: rgba(37, 99, 235, 0.15);
  transform: scale(1.05);
}

.citem-label {
  font-size: 11px;
  font-weight: 700;
  color: #60a5fa;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 3px;
}

.citem-value {
  font-size: 15px;
  color: #ffffff;
  font-weight: 500;
}

.contact-form-wrap {

  background: var(--white);
  border: 1px solid var(--border-light);

  border-radius: var(--radius-lg);
  padding: 44px;
  box-shadow: 0 8px 32px rgba(37, 99, 235, 0.07);

}

.form-heading {

  font-family: var(--font-head);
  font-size: 22px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 28px;

}

.form-group {
  margin-bottom: 18px;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  color: #0f172a;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin-bottom: 7px;
  opacity: 1;
}

/* Dark mode: contact form proper dark styling */
body:not(.light-mode) .contact-form-wrap {
  background: #1a1e2d !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4) !important;
}

body:not(.light-mode) .contact-form-wrap label,
body:not(.light-mode) .form-group label {
  color: rgba(255, 255, 255, 0.75) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body:not(.light-mode) .form-heading {
  color: #ffffff !important;
}

body:not(.light-mode) input,
body:not(.light-mode) textarea,
body:not(.light-mode) select {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
}

body:not(.light-mode) input::placeholder,
body:not(.light-mode) textarea::placeholder {
  color: rgba(255, 255, 255, 0.35) !important;
}

body:not(.light-mode) select option {
  background: #1a1e2d;
  color: #ffffff;
}








input,
textarea,
select {

  width: 100%;
  background: var(--section-light);
  border: 1.5px solid var(--border-light);

  border-radius: var(--radius-sm);
  padding: 12px 16px;
  color: var(--ink);

  font-family: var(--font-body);
  font-size: 14px;
  outline: none;

  transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;

}

input:focus,
textarea:focus,
select:focus {

  border-color: var(--blue);
  background: var(--white);

  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.1);

}

textarea {
  height: 105px;
  resize: vertical;
}

.form-btn {

  width: 100%;
  padding: 15px;
  background: var(--grad-blue);
  color: #fff;

  border: none;
  border-radius: 10px;
  cursor: pointer;

  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 600;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  transition: transform 0.25s, box-shadow 0.25s;

  box-shadow: var(--shadow-blue);
  margin-top: 6px;

}

.form-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 48px var(--blue-glow);
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•

   FOOTER

â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

footer {

  background: var(--dark2);
  border-top: 1px solid var(--border-dark);

  padding: 64px 6% 28px;

}

.footer-top {

  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 48px;
  margin-bottom: 48px;

}

.footer-desc {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.75;
  max-width: 280px;
  margin-top: 14px;
}

.footer-socials {
  display: flex;
  gap: 10px;
  margin-top: 20px;
}

.social-btn {

  width: 36px;
  height: 36px;
  border-radius: 8px;

  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--border-dark);

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 15px;
  text-decoration: none;
  color: rgba(255, 255, 255, 0.75);

  transition: all 0.25s;

}

.social-btn:hover {
  background: var(--blue);
  border-color: var(--blue);
  color: #fff;
  transform: translateY(-2px);
}

.footer-col-h {

  font-family: var(--font-head);
  font-size: 11px;
  font-weight: 700;

  color: var(--white);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 18px;

}

.footer-links {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-links a {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.75);
  text-decoration: none;
  transition: color 0.2s;
}

.footer-links a:hover {
  color: var(--white);
}

.footer-bottom {

  border-top: 1px solid var(--border-dark);
  padding-top: 24px;

  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;

}

.footer-copy {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
}

.footer-copy span {
  color: var(--blue-light);
}

.footer-legal {
  display: flex;
  gap: 24px;
}

.footer-legal a {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  transition: color 0.2s;
}

.footer-legal a:hover {
  color: var(--white);
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•

   SCROLL ANIMATIONS

â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

.reveal {
  opacity: 0;
  transform: translateY(36px);
  transition: opacity 0.75s ease, transform 0.75s ease;
}

.reveal.visible {
  opacity: 1;
  transform: none;
}

.reveal-left {
  opacity: 0;
  transform: translateX(-36px);
  transition: opacity 0.75s ease, transform 0.75s ease;
}

.reveal-left.visible {
  opacity: 1;
  transform: none;
}

.reveal-right {
  opacity: 0;
  transform: translateX(36px);
  transition: opacity 0.75s ease, transform 0.75s ease;
}

.reveal-right.visible {
  opacity: 1;
  transform: none;
}

.reveal-scale {
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.reveal-scale.visible {
  opacity: 1;
  transform: scale(1);
}

.delay-1 {
  transition-delay: 0.1s !important;
}

.delay-2 {
  transition-delay: 0.2s !important;
}

.delay-3 {
  transition-delay: 0.3s !important;
}

.delay-4 {
  transition-delay: 0.4s !important;
}

.delay-5 {
  transition-delay: 0.5s !important;
}

/* Count-up flicker */

@keyframes countUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

/* Generic animations */

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(28px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•

   RESPONSIVE

â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

@media (max-width: 1200px) {

  .solutions-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .team-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .footer-top {
    grid-template-columns: 1fr 1fr;
  }

}

@media (max-width: 1024px) {

  .hero-cards {
    display: none;
  }

  .why-layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .about-layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .about-nums {
    grid-template-columns: repeat(4, 1fr);
  }

  .contact-layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .services-grid {
    grid-template-columns: repeat(2, 1fr);
  }

}

/* â•â•â•â• FEATURE SLIDER â•â•â•â• */

.feature-slider-section {

  position: relative;

  height: 90vh;

  min-height: 650px;

  overflow: hidden;

  display: flex;

  align-items: center;

  justify-content: center;

  text-align: center;

  padding: 80px 5%;

  background: #000;

}

.f-slider {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.f-slide {

  position: absolute;
  inset: 0;

  background-size: cover;
  background-position: center;

  opacity: 0;

  transition: opacity 2s cubic-bezier(0.4, 0, 0.2, 1), transform 10s ease-out;

  will-change: opacity, transform;

  transform: scale(1.15);

  z-index: 0;

}

.f-slide.active {

  opacity: 1;

  transform: scale(1.02);

  z-index: 2;

}

.f-slide.prev {

  opacity: 1;

  z-index: 1;

  transition: none;

}

.f-overlay {

  position: absolute;
  inset: 0;

  background: radial-gradient(circle at center, rgba(5, 6, 8, 0.2) 0%, rgba(5, 6, 8, 0.8) 100%);

  z-index: 2;

}

.feature-container {
  position: relative;
  z-index: 3;
  max-width: 1000px;
}

.feature-title {

  font-family: var(--font-head);

  font-size: clamp(34px, 6vw, 74px);

  font-weight: 700;

  color: var(--white);

  margin-bottom: 24px;

  line-height: 1.1;

  letter-spacing: -0.02em;

  perspective: 1200px;

  max-width: 1000px;

  overflow: visible;

}

.feature-sub {

  font-size: clamp(16px, 2vw, 20px);

  color: rgba(255, 255, 255, 0.8);

  margin-bottom: 48px;

  max-width: 700px;

  margin-left: auto;

  margin-right: auto;

  opacity: 0;

  transform: translateY(20px);

  transition: opacity 1s ease, transform 1s cubic-bezier(0.19, 1, 0.22, 1);

}

/* Better Word-Mask Reveal Styles */

.word-mask {

  display: inline-block;

  overflow: hidden;

  vertical-align: bottom;

  padding-bottom: 5px;
  /* prevent clipping descenders */

  margin-bottom: -5px;

}

.word {

  display: inline-block;

  transform: translateY(110%) skewY(5deg);

  opacity: 0;

  filter: blur(10px);

  transition: transform 1.2s cubic-bezier(0.19, 1, 0.22, 1),

    opacity 0.8s ease,

    filter 1.2s ease;

  will-change: transform, opacity, filter;

}

.word.animate {

  transform: translateY(0) skewY(0);

  opacity: 1;

  filter: blur(0);

}

.char {
  display: none;
}

/* Disabled char animation in favor of word reveal */

.feature-actions {
  display: flex;
  gap: 24px;
  justify-content: center;
  flex-wrap: wrap;
}

.btn-f {

  padding: 18px 44px;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 700;

  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);

  font-size: 17px;

  text-transform: uppercase;

  letter-spacing: 1px;

}

.btn-f.primary {

  background: var(--grad-blue);

  color: #fff;

  border: none;

  box-shadow: 0 10px 30px rgba(37, 99, 235, 0.3);

}

.btn-f.ghost {

  background: rgba(255, 255, 255, 0.05);

  backdrop-filter: blur(10px);

  border: 1px solid rgba(255, 255, 255, 0.2);

  color: #fff;

}

.btn-f:hover {

  transform: translateY(-8px) scale(1.02);

  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);

}

.btn-f.primary:hover {

  background: var(--grad-cool);

}

.btn-f.ghost:hover {

  background: rgba(255, 255, 255, 0.15);

  border-color: rgba(255, 255, 255, 0.4);

}

@media (max-width: 768px) {

  .feature-slider-section {
    height: auto;
    padding: 120px 6% 100px;
  }

  .feature-actions {
    flex-direction: column;
    width: 100%;
  }

  .btn-f {
    width: 100%;
    text-align: center;
    font-size: 15px;
    padding: 16px;
  }

  section {
    padding: 72px 6%;
  }

  #home {
    padding-top: 130px;
    padding-bottom: 60px;
  }



  /* Navbar Mobile Tweak */

  nav {
    height: 85px !important;
  }

  .nav-logo .logo-img {
    height: 60px !important;
  }

  .nav-phone {
    font-size: 10px !important;
    margin-left: 2px !important;
    white-space: nowrap;
  }

  .nav-phone svg {
    display: none;
  }

  /* Hide icons on mobile to save space */

  .nav-links {
    display: none;
  }

  .hamburger {
    display: flex;
    position: absolute;
    right: 15px;
    z-index: 1001;
  }



  /* Mobile Menu Styles */

  .mobile-menu {

    padding-top: 90px;

    gap: 10px;

  }

  .mobile-menu a {

    font-size: 18px;

    padding: 12px 0;

  }

  .mob-dropdown-toggle {
    font-size: 18px !important;
  }

  .mob-dropdown-menu a {
    font-size: 15px !important;
    padding: 8px 15px;
    color: rgba(255, 255, 255, 0.7) !important;
  }

  /* Section Grids */

  .services-grid,
  .solutions-grid,
  .testimonials-grid,
  .why-points {

    grid-template-columns: 1fr;

  }



  /* Testimonials Horizontal Scroll */

  .testimonials-row {

    flex-wrap: nowrap;

    overflow-x: auto;

    scroll-snap-type: x mandatory;

    gap: 20px;

    padding-bottom: 15px;

  }

  .tcard {

    min-width: 85vw;

    scroll-snap-align: center;

  }



  /* Team Grid Horizontal Scroll */

  .team-grid {

    display: flex;

    overflow-x: auto;

    scroll-snap-type: x mandatory;

    gap: 20px;

    padding-bottom: 15px;

  }

  .team-card {

    min-width: 100%;

    scroll-snap-align: center;

  }



  .footer-top {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .about-nums {
    grid-template-columns: repeat(2, 1fr);
  }

  .cta-title {
    font-size: 28px;
  }

}

/* â•â•â•â• ABOUT SECTION (Website Match Dark Style) â•â•â•â• */

.section-about-dark {
  background: var(--dark);
  color: #ffffff;
  --ink: #ffffff;
  --ink-soft: rgba(255, 255, 255, 0.85);
  padding: 100px 5%;
  position: relative;
  overflow: hidden;
  transition: all 0.4s ease;
}


.about-container {

  max-width: 1210px;

  margin: 0 auto;

  position: relative;

  z-index: 2;

}



#about .section-tag::before {
  content: "";
  width: 24px;
  height: 2px;
  background: var(--blue);
  display: inline-block;
}

.who-tag {

  display: inline-flex;

  align-items: center;

  gap: 10px;

  padding: 8px 16px;

  background: rgba(255, 255, 255, 0.03);

  border: 1px solid var(--border-dark);

  border-radius: 100px;

  color: var(--blue-light);

  font-family: var(--font-head);

  font-size: 13px;

  font-weight: 700;

  text-transform: uppercase;

  letter-spacing: 2px;

  margin-bottom: 24px;

}

.about-title-large {

  font-family: var(--font-head);

  font-size: clamp(34px, 5.5vw, 56px);

  font-weight: 630;

  line-height: 1.15;

  margin-bottom: 24px;

  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;

  max-width: 980px;

  margin-left: auto;

  margin-right: auto;

  overflow: visible;

}

.about-desc-large {

  font-size: clamp(17px, 2vw, 19px);

  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;

  max-width: 800px;

  margin: 0 auto 80px;

  line-height: 1.7;

  text-align: center;

}

.dual-cards {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 32px;

}

.about-card {

  background: #ffffff;

  border: 1px solid rgba(0, 0, 0, 0.1);

  border-radius: var(--radius-lg);

  overflow: hidden;

  display: flex;

  flex-direction: column;

  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);

  position: relative;

  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);

}

.about-card::before {

  content: '';

  position: absolute;

  inset: 0;

  background: linear-gradient(135deg, rgba(37, 99, 235, 0.05) 0%, transparent 100%);

  opacity: 0;
  transition: opacity 0.4s;

}

.about-card:hover {

  transform: translateY(-12px);

  border-color: rgba(37, 99, 235, 0.35);

  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5), 0 0 30px rgba(37, 99, 235, 0.1);

}

.about-card:hover::before {
  opacity: 1;
}

.card-img {

  height: 260px;

  background-size: cover;

  background-position: center;

  position: relative;

}

.card-img::after {

  content: '';
  position: absolute;
  inset: 0;

  background: linear-gradient(to bottom, transparent 0%, var(--card-dark) 100%);

}

.card-inner {

  padding: 40px;

  flex-grow: 1;

  display: flex;

  flex-direction: column;

  position: relative;

  z-index: 2;

}

.card-title-blue {

  font-family: var(--font-head);

  font-size: 32px;

  color: #000000;

  margin-bottom: 16px;

  font-weight: 720;

}

.card-title-blue span {
  color: var(--blue-mid);
}

.card-text {

  font-size: 16px;

  color: #171414;

  line-height: 1.75;

  margin-bottom: 35px;

}

.btn-discover {

  display: inline-flex;

  align-items: center;

  gap: 12px;

  padding: 14px 28px;

  background: var(--blue);

  color: #ffffff;

  border-radius: 12px;

  font-weight: 700;

  text-decoration: none;

  font-size: 13px;

  transition: all 0.3s;

  text-transform: uppercase;

  width: max-content;

  box-shadow: 0 4px 15px rgba(37, 99, 235, 0.2);

}

.btn-discover:hover {

  background: var(--ink);

  transform: translateY(-3px);

  box-shadow: 0 8px 25px rgba(37, 99, 235, 0.3);

}

@media (max-width: 900px) {

  .dual-cards {
    grid-template-columns: 1fr;
  }

  .section-white {
    padding: 80px 6% 60px;
  }

  .about-title-large {
    font-size: 36px;
  }

}

/* â”€â”€ FLOATING REVIEW WIDGET â”€â”€ */

.floating-review {

  position: fixed;

  bottom: 30px;

  left: 30px;

  width: 330px;

  background: rgba(255, 255, 255, 0.1);
  /* Transparent glass base */

  backdrop-filter: blur(25px) saturate(180%);

  -webkit-backdrop-filter: blur(25px) saturate(180%);

  border: 1px solid rgba(255, 255, 255, 0.3);

  border-radius: 20px;

  padding: 24px;

  box-shadow: 0 15px 45px rgba(0, 0, 0, 0.1);

  z-index: 900;

  font-family: 'Poppins', sans-serif;

  opacity: 0;

  transform: translateY(20px);

  transition: all 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);

  cursor: default;

}

.floating-review.visible {

  opacity: 1;

  transform: translateY(0);

}

.floating-review::before {

  display: none;
  /* Removed heavy gradients for clean transparency */

}

.fr-header {

  display: flex;

  justify-content: space-between;

  align-items: center;

  margin-bottom: 12px;

}

.fr-tag {

  display: flex;

  align-items: center;

  gap: 6px;

  font-size: 14px;

  font-weight: 700;

  color: #111827;

}

.fr-close {

  color: #ef4444;

  font-size: 20px;

  cursor: pointer;

  line-height: 1;

  font-weight: 600;

  transition: transform 0.2s;

  opacity: 0.8;

}

.fr-close:hover {
  transform: scale(1.1);
  opacity: 1;
}

.fr-scroll-window {

  height: 150px;

  overflow: hidden;

  position: relative;

  mask-image: linear-gradient(to bottom, transparent 0%, black 10%, black 90%, transparent 100%);

  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 10%, black 90%, transparent 100%);

}

.fr-scroll-track {

  display: flex;

  flex-direction: column;

  transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);

}

.fr-slide {

  height: 150px;

  flex-shrink: 0;

  display: flex;

  flex-direction: column;

  justify-content: center;

  padding: 8px 0;

}

.fr-content {

  font-size: 14px;

  color: #1f2937;

  line-height: 1.5;

  display: -webkit-box;

  -webkit-line-clamp: 4;

  line-clamp: 4;

  -webkit-box-orient: vertical;

  overflow: hidden;

}

.fr-footer {

  margin-top: 10px;

  padding-top: 10px;

  border-top: 1px solid rgba(0, 0, 0, 0.08);

  display: flex;

  align-items: center;

  gap: 8px;

}

.fr-author {

  font-weight: 700;

  font-size: 14px;

  color: #111827;

}

.fr-stars {

  color: #fbbf24;

  font-size: 13px;

  letter-spacing: 3px;

}

/* Mobile adjustments */

@media (max-width: 480px) {

  .floating-review {

    width: calc(100% - 40px);

    bottom: 20px;

    left: 20px;

    padding: 18px;

  }

}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•

   CHATBOT

â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

.chatbot-container {

  position: fixed;

  bottom: 110px;

  right: 30px;

  z-index: 9999;

  font-family: inherit;

}

.chatbot-toggle {

  width: 60px;

  height: 60px;

  border-radius: 50%;

  background: var(--grad-blue);

  color: white;

  border: none;

  box-shadow: 0 10px 25px rgba(37, 99, 235, 0.4);

  cursor: pointer;

  display: flex;

  align-items: center;

  justify-content: center;

  transition: transform 0.3s, box-shadow 0.3s;

}

.chatbot-toggle:hover {

  transform: scale(1.1);

  box-shadow: 0 15px 30px rgba(37, 99, 235, 0.6);

}

.chatbot-window {

  position: absolute;

  bottom: 80px;

  right: 0;

  width: 350px;

  height: 480px;

  background: #0f1219;

  border: 1px solid rgba(255, 255, 255, 0.1);

  border-radius: 20px;

  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);

  display: flex;

  flex-direction: column;

  overflow: hidden;

  opacity: 0;

  pointer-events: none;

  transform: translateY(20px) scale(0.95);

  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);

}

.chatbot-window.open {

  opacity: 1;

  pointer-events: all;

  transform: translateY(0) scale(1);

}

.chatbot-header {

  padding: 16px 20px;

  background: var(--grad-dark);

  border-bottom: 1px solid rgba(255, 255, 255, 0.05);

  display: flex;

  justify-content: space-between;

  align-items: center;

}

.chatbot-title {

  display: flex;

  align-items: center;

  gap: 12px;

}

.chatbot-avatar {

  background: rgba(37, 99, 235, 0.2);

  width: 40px;

  height: 40px;

  border-radius: 50%;

  display: flex;

  align-items: center;

  justify-content: center;

  font-size: 20px;

}

.chatbot-title h4 {

  color: white;

  margin: 0 0 2px 0;

  font-size: 15px;

  font-family: var(--font-head);

}

.chatbot-title span {

  color: #4ade80;

  font-size: 11px;

  display: flex;

  align-items: center;

  gap: 4px;

}

.chatbot-title span::before {

  content: '';

  width: 6px;

  height: 6px;

  background: #4ade80;

  border-radius: 50%;

  display: inline-block;

  box-shadow: 0 0 10px #4ade80;

}

.chatbot-close {

  background: none;

  border: none;

  color: rgba(255, 255, 255, 0.6);

  font-size: 24px;

  cursor: pointer;

  transition: color 0.2s;

  padding: 0;

  line-height: 1;

}

.chatbot-close:hover {

  color: white;

}

.chatbot-messages {

  flex: 1;

  padding: 20px;

  overflow-y: auto;

  display: flex;

  flex-direction: column;

  gap: 12px;

}

.chat-msg {

  max-width: 85%;

  padding: 12px 16px;

  border-radius: 16px;

  font-size: 13.5px;

  line-height: 1.5;

  animation: popIn 0.3s ease;

}

@keyframes popIn {

  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }

}

.bot-msg {

  background: #1e293b;

  color: #e2e8f0;

  align-self: flex-start;

  border-bottom-left-radius: 4px;

}

.user-msg {

  background: var(--blue-mid);

  color: #fff;

  align-self: flex-end;

  border-bottom-right-radius: 4px;

}

.chatbot-input-area {

  padding: 16px;

  background: rgba(0, 0, 0, 0.3);

  border-top: 1px solid rgba(255, 255, 255, 0.05);

  display: flex;

  gap: 10px;

}

.chatbot-input-area input {

  flex: 1;

  background: rgba(255, 255, 255, 0.05);

  border: 1px solid rgba(255, 255, 255, 0.1);

  padding: 12px 16px;

  border-radius: 100px;

  color: white;

  font-size: 14px;

  outline: none;

  transition: border-color 0.2s;

  width: 100%;

}

.chatbot-input-area input:focus {

  border-color: var(--blue-light);

}

.chatbot-input-area button {

  width: 44px;

  height: 44px;

  border-radius: 50%;

  background: var(--blue-mid);

  border: none;

  color: white;

  display: flex;

  align-items: center;

  justify-content: center;

  cursor: pointer;

  transition: background 0.2s, transform 0.2s;

  flex-shrink: 0;

}

.chatbot-input-area button:hover {

  background: var(--blue-light);

  transform: scale(1.05);

}

/* Scrollbar */

.chatbot-messages::-webkit-scrollbar {
  width: 6px;
}

.chatbot-messages::-webkit-scrollbar-track {
  background: transparent;
}

.chatbot-messages::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 10px;
}

@media (max-width: 480px) {

  .chatbot-window {

    width: 300px;

    height: 400px;

    bottom: 75px;

  }

}

.bot-schedule-form {

  display: flex;

  flex-direction: column;

  gap: 10px;

  margin-top: 10px;

}

.bot-form-input {

  width: 100%;

  padding: 8px 12px;

  border-radius: 6px;

  border: 1px solid rgba(255, 255, 255, 0.2);

  background: rgba(0, 0, 0, 0.2);

  color: #fff;

  font-family: inherit;

  font-size: 13px;

  outline: none;

}

.bot-form-input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.bot-form-input:focus {
  border-color: var(--blue-light);
}

.bot-form-btn {

  background: var(--blue-light);

  color: #fff;

  border: none;

  padding: 10px;

  border-radius: 6px;

  font-weight: bold;

  cursor: pointer;

  transition: background 0.3s;

}

.bot-form-btn:hover {
  background: var(--blue-mid);
}

.chatbot-quick-actions {

  padding: 0 20px 10px 20px;

  display: flex;

  gap: 10px;

}

.chat-quick-btn {

  background: rgba(37, 99, 235, 0.2);

  border: 1px solid rgba(37, 99, 235, 0.4);

  color: #fff;

  border-radius: 12px;

  padding: 6px 12px;

  font-size: 12px;

  cursor: pointer;

  transition: all 0.2s;

}

.chat-quick-btn:hover {
  background: rgba(37, 99, 235, 0.5);
}

.p-logo.scale-up {
  transform: scale(1.6);
}

.p-item:hover .p-logo.scale-up {
  transform: scale(1.75);
}

/* --- CUSTOM CURSOR --- */

.custom-cursor {

  position: fixed;
  top: 0;
  left: 0;

  width: 20px;
  height: 20px;

  background: rgba(100, 150, 255, 0.7);

  border-radius: 50%;

  pointer-events: none;

  z-index: 10000;

  transform: translate(-50%, -50%);

  transition: width 0.2s, height 0.2s;

  mix-blend-mode: difference;

}

.custom-cursor.hover {

  width: 60px;
  height: 60px;

  background: rgba(255, 255, 255, 0.2);

}

/* --- REVEAL ANIMATIONS --- */

.reveal-up {

  opacity: 0;

  transform: translateY(40px);

  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);

}

.reveal-up.active {

  opacity: 1;

  transform: translateY(0);

}

/* --- TILT CARD --- */

.tilt-card {

  transition: transform 0.1s ease-out;

  transform-style: preserve-3d;

  will-change: transform;

}

/* --- STATS SECTION --- */

.stats-section {

  display: flex;

  justify-content: space-around;

  flex-wrap: wrap;

  gap: 30px;

  background: radial-gradient(circle at center, #1e293b, var(--dark));

  padding: 80px 20px;

  text-align: center;

  color: white;

  position: relative;

  z-index: 2;

}

.stat-box h2 {

  font-size: 55px;

  margin: 0;

  color: var(--blue-light);

  font-weight: 800;

  text-shadow: 0 4px 15px rgba(37, 99, 235, 0.4);

}

.stat-box p {

  font-size: 16px;

  opacity: 0.8;

  margin-top: 10px;

  letter-spacing: 1px;

  text-transform: uppercase;

}

/* --- PARTICLES CANVAS --- */

#particles-canvas {

  position: absolute;

  top: 0;
  left: 0;

  width: 100%;
  height: 100%;

  pointer-events: none;

  z-index: 1;

  opacity: 0.6;

}

/* --- TEAMS SECTION (HOLO & GLASS) --- */

.team-card {

  position: relative;

  width: 330px;

  height: 440px;

  border-radius: 20px;

  overflow: hidden;

  cursor: pointer;

  background: var(--dark);

  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.6);

  transform-style: preserve-3d;

  will-change: transform;

}

.team-img-wrapper {

  position: absolute;

  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

}

.team-img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  filter: grayscale(100%) contrast(1.1);

  transition: filter 0.8s ease;

}

.team-card:hover .team-img {

  filter: grayscale(0%) contrast(1.1);

}

.holo-glare {

  position: absolute;

  top: 0;
  left: 0;

  width: 100%;
  height: 100%;

  background: linear-gradient(105deg, transparent 20%, rgba(255, 255, 255, 0.4) 45%, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0.4) 55%, transparent 80%);

  background-size: 200% 200%;

  opacity: 0;

  mix-blend-mode: overlay;

  transition: opacity 0.5s;

  pointer-events: none;

}

.team-info-panel {

  position: absolute;

  bottom: -130px;

  left: 0;

  width: 100%;

  padding: 30px 20px;

  background: rgba(255, 255, 255, 0.85);

  backdrop-filter: blur(15px);

  -webkit-backdrop-filter: blur(15px);

  border-top: 1px solid rgba(255, 255, 255, 0.6);

  transition: bottom 0.5s cubic-bezier(0.16, 1, 0.3, 1);

  text-align: center;

}

.team-card:hover .team-info-panel {

  bottom: 0;

}

.t-name {

  margin: 0;
  font-size: 24px;
  font-weight: 700;
  color: #0f172a;

  transform: translateY(20px);
  opacity: 0;

  transition: all 0.4s 0.1s ease;

}

.team-card:hover .t-name {
  transform: translateY(0);
  opacity: 1;
}

.t-role {

  margin: 4px 0 12px;
  font-size: 13px;
  color: #2563eb;
  text-transform: uppercase;
  letter-spacing: 1px;

  transform: translateY(20px);
  opacity: 0;

  transition: all 0.4s 0.2s ease;

}

.team-card:hover .t-role {
  transform: translateY(0);
  opacity: 1;
}

.t-socials {

  transform: translateY(20px);
  opacity: 0;

  transition: all 0.4s 0.3s ease;

}

.team-card:hover .t-socials {
  transform: translateY(0);
  opacity: 1;
}

.t-icon {

  display: inline-block;
  width: 38px;
  height: 38px;
  line-height: 38px;

  background: rgba(246, 244, 244, 0.1);
  border-radius: 50%;
  color: #eeeef0;
  font-weight: bold;
  text-decoration: none;

  transition: background 0.3s, transform 0.3s;

}

.t-icon:hover {
  background: var(--blue-mid);
  transform: scale(1.1);
}

/* â”€â”€ DARK MODE: Team Info Panel & Social Icons â”€â”€ */

body:not(.light-mode) .team-info-panel {
  background: rgba(13, 15, 20, 0.88) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}

body:not(.light-mode) .t-name {
  color: #ffffff !important;
}

body:not(.light-mode) .t-role {
  color: var(--blue-mid) !important;
}

body:not(.light-mode) .t-icon {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
}

body:not(.light-mode) .t-icon svg {
  stroke: #ffffff !important;
}

body:not(.light-mode) .t-icon:hover {
  background: var(--blue-mid) !important;
  color: #ffffff !important;
}

/* â”€â”€ DARK MODE: Static Team Cards (.team-socials) â”€â”€ */

body:not(.light-mode) .team-socials a {
  color: #ffffff !important;
}

body:not(.light-mode) .team-socials a i,
body:not(.light-mode) .team-socials a svg {
  color: #ffffff !important;
  stroke: #ffffff !important;
}

body:not(.light-mode) .team-socials a:hover {
  color: var(--blue-mid) !important;
}

body:not(.light-mode) .team-socials a:hover svg {
  stroke: var(--blue-mid) !important;
}

/* --- BIZ SOLUTIONS SECTION (BOXED & ATTRACTIVE) --- */

#business-solutions {

  background: #f8fafc;

  position: relative;

  overflow: hidden;

}

.biz-solutions-grid {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));

  gap: 40px;

}

.biz-sol-card {

  background: #ffffff;

  padding: 45px 35px;

  border-radius: 30px;

  border: 1px solid rgba(0, 0, 0, 0.05);

  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.03);

  transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);

  display: flex;

  flex-direction: column;

  position: relative;

  z-index: 1;

}

.biz-sol-card:hover {

  transform: translateY(-15px) scale(1.02) !important;

  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.12);

  border-color: rgba(37, 99, 235, 0.2);

}

.biz-sol-icon {

  width: 70px;

  height: 70px;

  border-radius: 20px;

  display: flex;

  align-items: center;

  justify-content: center;

  font-size: 32px;

  margin-bottom: 25px;

  transition: all 0.4s;

  box-shadow: 0 8px 15px rgba(0, 0, 0, 0.05);

}

.biz-sol-card:hover .biz-sol-icon {

  transform: scale(1.1) rotate(5deg);

  box-shadow: 0 12px 20px rgba(0, 0, 0, 0.1);

}

.biz-sol-title {

  font-size: 24px;

  font-weight: 800;

  color: #0f172a;

  margin-bottom: 18px;

  line-height: 1.25;

}

.biz-sol-desc {

  font-size: 16px;

  color: #475569;

  line-height: 1.7;

  margin: 0;

}

.biz-sol-link {

  margin-top: 25px;

  font-weight: 700;

  font-size: 14px;

  letter-spacing: 0.5px;

  color: #2563eb;

  opacity: 0;

  transform: translateX(-10px);

  transition: all 0.4s;

}

.biz-sol-card:hover .biz-sol-link {

  opacity: 1;

  transform: translateX(0);

}

@media (max-width: 768px) {

  .biz-solutions-grid {

    grid-template-columns: 1fr;

    gap: 25px;

  }

}

/* --- CUSTOMERS STRIP --- */

.customers-strip {

  padding: 22px 0;

  background: #f3f8f8;

  border-top: 1px solid rgba(0, 0, 0, 0.1);

  border-bottom: 1px solid rgba(0, 0, 0, 0.1);

  overflow: hidden;

  position: relative;

}

.customers-track {

  display: flex;

  align-items: center;

  width: max-content;

  animation: scrollLeftClients 40s linear infinite;

}

@keyframes scrollLeftClients {

  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }

}

.c-item {

  display: flex;
  align-items: center;
  padding: 0 40px;

}

.c-logo {

  height: 48px;

  width: 140px;

  object-fit: contain;

  filter: none;

  opacity: 1;

  transition: all 0.4s ease;

}

.large-logo {

  height: 64px;

  width: 190px;

}

.c-item:hover .c-logo {

  transform: scale(1.1);

}

.c-dot {
  width: 4px;
  height: 4px;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 50%;
  margin: 0 10px;
}

/* â•â•â•â• BENTO GRID SOLUTIONS â•â•â•â• */

.bento-section {

  padding: 120px 20px;

  background: #05070a !important;

  color: #ffffff !important;

  position: relative;

  overflow: hidden;

  z-index: 5;

}

.bento-bg-glow {

  position: absolute;

  width: 600px;
  height: 600px;

  border-radius: 50%;

  filter: blur(120px);

  z-index: 0;

  opacity: 0.15;

  pointer-events: none;

}

.glow-1 {
  top: -10%;
  right: -10%;
  background: #3b82f6;
}

.glow-2 {
  bottom: -10%;
  left: -10%;
  background: #ec4899;
}

.bento-grid-pattern {

  position: absolute;

  inset: 0;

  background-image: radial-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px);

  background-size: 40px 40px;

  z-index: 1;

}

.bento-header {

  text-align: center;

  margin-bottom: 80px;

  position: relative;

  z-index: 2;

}

.bento-header h2 {

  color: #ffffff !important;

}

.bento-intro {

  color: rgba(255, 255, 255, 0.7) !important;

  max-width: 650px;

  margin: 0 auto;

  font-size: 18px;

  line-height: 1.8;

}

.bento-grid {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  grid-auto-rows: 240px;

  gap: 24px;

  position: relative;

  z-index: 2;

}

.bento-card {

  background: rgba(255, 255, 255, 0.03);

  backdrop-filter: blur(10px);

  border: 1px solid rgba(255, 255, 255, 0.08);

  border-radius: 24px;

  padding: 35px;

  text-decoration: none;

  display: flex;

  flex-direction: column;

  position: relative;

  overflow: hidden;

  transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);

  pointer-events: auto !important;

  z-index: 10 !important;

}

.bento-card:hover {

  transform: translateY(-8px) scale(1.01);

  background: rgba(255, 255, 255, 0.06);

  border-color: var(--accent);

  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5), 0 0 20px rgba(255, 255, 255, 0.05);

}

.bento-tag {

  position: absolute;

  top: 25px;
  right: 25px;

  font-family: monospace;

  font-size: 11px;

  color: rgba(255, 255, 255, 0.3);

  letter-spacing: 2px;

}

.bento-icon {

  width: 50px;
  height: 50px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: rgba(255, 255, 255, 0.05);

  border-radius: 12px;

  color: var(--accent);

  margin-bottom: 25px;

  transition: all 0.5s;

}

.bento-card:hover .bento-icon {

  background: var(--accent);

  color: white;

  transform: rotate(-10deg) scale(1.1);

}

.bento-title {

  color: white;

  font-size: 22px;

  font-weight: 700;

  margin-bottom: 12px;

}

.bento-desc {

  color: rgba(255, 255, 255, 0.5);

  font-size: 15px;

  line-height: 1.6;

}

/* Specific Bento Sizes */

.bento-item-large {

  grid-column: span 2;

  grid-row: span 2;

  justify-content: center;

}

.bento-item-large .bento-title {
  font-size: 32px;
  line-height: 1.2;
}

.bento-item-large .bento-desc {
  font-size: 18px;
  margin-bottom: 30px;
}

.bento-item-wide {

  grid-column: span 2;

  justify-content: center;

}

.bento-item-square {

  grid-column: span 1;

}

.bento-item-small-wide {

  grid-column: span 1;

  justify-content: center;

}

.bento-link {

  color: var(--accent);

  font-weight: 700;

  font-size: 14px;

  letter-spacing: 1px;

  text-transform: uppercase;

  margin-top: auto;

}

.bento-flex {
  display: flex;
  align-items: flex-start;
  gap: 25px;
}

.bento-glow {

  position: absolute;

  inset: 0;

  background: radial-gradient(circle at var(--x, 50%) var(--y, 50%), var(--accent), transparent 100px);

  opacity: 0;

  transition: opacity 0.3s;

  mix-blend-mode: soft-light;

  pointer-events: none;

}

.bento-card:hover .bento-glow {
  opacity: 0.15;
}

/* Responsive Bento */

@media (max-width: 1024px) {

  .bento-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .bento-item-large,
  .bento-item-wide {
    grid-column: span 2;
  }

}

@media (max-width: 768px) {

  .bento-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }

  .bento-item-large,
  .bento-item-wide,
  .bento-item-square,
  .bento-item-small-wide {
    grid-column: span 1;
    grid-row: span 1;
  }

  .bento-section {
    padding: 80px 20px;
  }

  .bento-item-large .bento-title {
    font-size: 24px;
  }

}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•

   SUBPAGE INNOVATIONS — STUDIO PREMIUM (WOW FACTOR)

â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* 1. Kinetic 3D Perspective Tilt */

.section-light div[style*="display: grid"]>a,

.section-light div[style*="display: grid"]>div {

  perspective: 1000px;

  transform-style: preserve-3d;

  background: rgba(255, 255, 255, 0.03) !important;

  border: 1px solid rgba(255, 255, 255, 0.1) !important;

  backdrop-filter: blur(12px) !important;

}

/* 2. Electric Pulse Border Animation */

@keyframes borderPulse {

  0% {
    border-color: rgba(37, 99, 235, 0.2);
    box-shadow: 0 0 5px rgba(37, 99, 235, 0);
  }

  50% {
    border-color: rgba(37, 99, 235, 0.8);
    box-shadow: 0 0 20px rgba(37, 99, 235, 0.3);
  }

  100% {
    border-color: rgba(37, 99, 235, 0.2);
    box-shadow: 0 0 5px rgba(37, 99, 235, 0);
  }

}

.section-light div[style*="display: grid"]>a:hover {

  animation: borderPulse 2s infinite ease-in-out;

  transform: translateY(-10px) rotateX(4deg) rotateY(-4deg) !important;

  color: var(--blue) !important;

}

/* 3. Nebula Glow - Cursor Tracking Atmosphere */

body::after {

  content: '';

  position: fixed;

  top: var(--y, 0);

  left: var(--x, 0);

  width: 600px;

  height: 600px;

  background: radial-gradient(circle, rgba(37, 99, 235, 0.08) 0%, transparent 60%);

  transform: translate(-50%, -50%);

  pointer-events: none !important;

  z-index: -999 !important;

  transition: width 0.3s, height 0.3s;

}

/* 4. Subpage Title "Digital Shimmer" */

.hero-title {

  position: relative;

  animation: shimmer 3s infinite;

}

@keyframes shimmer {

  0%,
  100% {
    opacity: 1;
    filter: brightness(1);
  }

  50% {
    opacity: 0.9;
    filter: brightness(1.2) drop-shadow(0 0 10px var(--blue-light));
  }

}

/* 5. Custom "Scanline" Texture for Dark Sections */

.parallax-cta::after {

  background-image:

    repeating-linear-gradient(0deg, transparent, transparent 1px, rgba(255, 255, 255, 0.015) 1px, rgba(255, 255, 255, 0.015) 2px),

    linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),

    linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px) !important;

  background-size: 100% 3px, 50px 50px, 50px 50px !important;

}

/* â•â•â•â• Premium Button Utility â•â•â•â• */

.btn-premium {

  display: inline-block;

  padding: 16px 36px;

  border-radius: 50px;

  background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);

  color: #ffffff !important;

  font-weight: 600;

  text-decoration: none;

  box-shadow: 0 10px 20px rgba(30, 64, 175, 0.25);

  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);

  border: none;

  cursor: pointer;

  text-align: center;

  position: relative;

  z-index: 5;

}

.btn-premium:hover {

  transform: translateY(-4px) scale(1.02);

  box-shadow: 0 15px 35px rgba(30, 64, 175, 0.4);

  filter: brightness(1.1);

}

.btn-premium:active {

  transform: translateY(-1px) scale(1);

}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•

   MOBILE EXCELLENCE — High-End Responsive Overhaul

â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

@media (max-width: 768px) {

  /* 1. Global Typography & Spacing */

  :root {

    --section-padding: 60px 20px;

  }



  body {
    font-size: 15px;
  }



  h1,
  .section-title {

    font-size: 32px !important;

    line-height: 1.2 !important;

    margin-bottom: 20px !important;

  }



  .section-sub {

    font-size: 15px !important;

    line-height: 1.6 !important;

  }

  /* 2. Navbar & Mobile Menu Optimization */

  nav {

    height: 100px !important;

    padding: 0 5% !important;

  }



  .logo-img {

    height: 80px !important;

  }



  nav.scrolled {

    height: 85px !important;

  }



  nav.scrolled .logo-img {

    height: 65px !important;

  }

  .mobile-menu {

    padding-top: 110px !important;

  }



  .mobile-menu a {

    font-size: 20px !important;

    margin: 15px 0 !important;

  }

  /* 3. Hero Sections (Home & Subpages) */

  #home {

    padding: 120px 6% 60px !important;

    min-height: auto !important;

    text-align: center;

  }



  .hero-content {

    margin: 0 auto;

  }



  h1.hero-title {

    min-height: auto !important;

    font-size: 36px !important;

  }



  .hero-actions {

    justify-content: center;

    gap: 10px;

  }



  .btn-primary,
  .btn-premium {

    width: 100%;

    padding: 14px 20px !important;

    font-size: 14px !important;

  }

  .full-hero {

    padding: 140px 6% 80px !important;

    text-align: center;

    background-attachment: scroll !important;
    /* Better performance on mobile */

  }

  /* 4. Grid & Layout Collapsing */

  .biz-solutions-grid,

  .contrast-section div[style*="display:grid"],

  .footer-top {

    grid-template-columns: 1fr !important;

    gap: 30px !important;

    padding: 0 20px !important;

  }

  .footer-top>div {

    display: flex !important;

    flex-direction: column !important;

    align-items: center !important;

    text-align: center !important;

  }

  .contrast-section {

    padding: 60px 20px !important;

  }

  .contrast-card {

    min-height: auto !important;

    padding: 30px 20px !important;

  }

  /* 5. Modern Solution Sections (Flex & Grid) */

  .section-black div[style*="display: flex"] {

    flex-direction: column !important;

    gap: 40px !important;

    text-align: center;

    min-width: auto !important;

    /* width: 100% removed from mobile buttons */

  }



  section {

    overflow-x: hidden !important;

  }



  .section-black div[style*="display: grid"] {

    grid-template-columns: 1fr !important;

  }

  /* 6. Footer Refinement */

  .footer-brand {

    text-align: center;

    margin-bottom: 20px;

  }



  .footer-socials {

    display: flex !important;

    flex-direction: row !important;

    justify-content: center !important;

    gap: 15px !important;

  }



  .footer-col-h {

    text-align: center;

    margin-bottom: 15px !important;

  }



  .footer-links {

    text-align: center;

  }

  /* 7. Chatbot Mobile Tweak */

  .chatbot-container {

    bottom: 170px;

    right: 20px;

  }



  .chatbot-window {

    width: calc(100vw - 40px) !important;

    bottom: 75px !important;

    right: 0 !important;

  }

  /* 8. Utility Overrides */

  .reveal-up {

    transform: translateY(20px);
    /* Subtler for mobile */

  }

}

/* Landscape / Tablet Tweak */

@media (max-width: 1024px) and (min-width: 769px) {

  .biz-solutions-grid {

    grid-template-columns: repeat(2, 1fr) !important;

  }



  h1.hero-title {

    font-size: 48px !important;

  }

}






/* Feature Cards & Technical Containers in Light Mode */

/* removed light-mode rule from dark theme */

/* removed light-mode rule from dark theme */








/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•

   PREMIUM CHATBOT

â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* Position wrapper — toggle sits ABOVE theme-switch (bottom:110px) */

.cb-wrap {

  position: fixed;

  bottom: 40px !important;
  /* Sits below theme-switch */

  right: 32px;

  z-index: 9998;

  display: flex;

  flex-direction: column;

  align-items: flex-end;

}

/* â”€â”€ Toggle Button â”€â”€ */

.cb-toggle {

  width: 54px;
  height: 54px;

  border-radius: 50%;

  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);

  border: none;

  color: #fff;

  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;

  box-shadow: 0 8px 28px rgba(37, 99, 235, 0.45);

  transition: transform 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.3s;

  position: relative;

  flex-shrink: 0;

}

.cb-toggle:hover {

  transform: scale(1.12);

  box-shadow: 0 12px 36px rgba(37, 99, 235, 0.55);

}

.cb-toggle-open,
.cb-toggle-close {

  display: flex;
  align-items: center;
  justify-content: center;

}

/* Notification badge */

.cb-notif-badge {

  position: absolute;

  top: -3px;
  right: -3px;

  width: 18px;
  height: 18px;

  background: #ef4444;

  border-radius: 50%;

  font-size: 10px;
  font-weight: 700;

  color: #fff;

  display: flex;
  align-items: center;
  justify-content: center;

  border: 2px solid #fff;

  animation: cb-badge-pulse 2s infinite;

}

@keyframes cb-badge-pulse {

  0%,
  100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.2);
  }

}

/* â”€â”€ Chat Window â”€â”€ */

.cb-window {
  position: fixed !important;
  bottom: 240px !important;
  right: 32px !important;
  z-index: 100000 !important;
  visibility: hidden;

  width: 360px;

  max-height: 520px;

  background: #0f172a;

  border: 1px solid rgba(255, 255, 255, 0.08);

  border-radius: 20px;

  overflow: hidden;

  display: flex;

  flex-direction: column;

  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(37, 99, 235, 0.15);

  margin-bottom: 0 !important;

  /* Hidden by default */

  opacity: 0;

  transform: translateY(16px) scale(0.96);

  pointer-events: none;

  transition: opacity 0.3s ease, transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);

  transform-origin: bottom right;

}

.cb-window.cb-open {

  opacity: 1;

  transform: translateY(0) scale(1);

  pointer-events: all;

}

/* â”€â”€ Header â”€â”€ */

.cb-header {

  background: linear-gradient(135deg, #1e40af 0%, #2563eb 60%, #3b82f6 100%);

  padding: 14px 16px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  flex-shrink: 0;

}

.cb-hdr-left {

  display: flex;
  align-items: center;
  gap: 10px;

}

.cb-avatar-wrap {

  position: relative;

  flex-shrink: 0;

}

.cb-avatar {

  width: 38px;
  height: 38px;

  background: rgba(255, 255, 255, 0.15);

  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  border: 2px solid rgba(255, 255, 255, 0.3);

}

.cb-avatar-sm {

  width: 26px;
  height: 26px;

  flex-shrink: 0;

  font-size: 11px;

}

.cb-status-dot {

  position: absolute;

  bottom: 1px;
  right: 1px;

  width: 10px;
  height: 10px;

  background: #22c55e;

  border-radius: 50%;

  border: 2px solid #1e40af;

  animation: cb-pulse-dot 2s infinite;

}

@keyframes cb-pulse-dot {

  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.5);
  }

  50% {
    box-shadow: 0 0 0 4px rgba(34, 197, 94, 0);
  }

}

.cb-hdr-name {

  font-size: 14px;
  font-weight: 700;

  color: #fff;
  margin: 0;

  font-family: var(--font-head);

}

.cb-hdr-sub {

  font-size: 11px;
  color: rgba(255, 255, 255, 0.75);

  margin: 0;
  margin-top: 1px;

}

.cb-close-btn {

  background: rgba(255, 255, 255, 0.1);

  border: none;
  border-radius: 50%;

  width: 28px;
  height: 28px;

  color: #fff;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;

  transition: background 0.2s;

  flex-shrink: 0;

}

.cb-close-btn:hover {
  background: rgba(255, 255, 255, 0.22);
}

/* â”€â”€ Messages â”€â”€ */

.cb-messages {

  flex: 1;

  overflow-y: auto;

  padding: 16px;

  display: flex;

  flex-direction: column;

  gap: 10px;

  scrollbar-width: thin;

  scrollbar-color: rgba(99, 102, 241, 0.3) transparent;

}

.cb-messages::-webkit-scrollbar {
  width: 4px;
}

.cb-messages::-webkit-scrollbar-thumb {
  background: rgba(99, 102, 241, 0.3);
  border-radius: 2px;
}

.cb-msg {

  display: flex;

  flex-direction: column;

  gap: 3px;

  max-width: 86%;

  animation: cb-msg-in 0.3s ease;

}

@keyframes cb-msg-in {

  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }

}

.cb-bot-msg {
  align-self: flex-start;
}

.cb-user-msg {
  align-self: flex-end;
}

.cb-bubble {

  padding: 10px 14px;

  border-radius: 16px;

  font-size: 13.5px;

  line-height: 1.55;

  font-family: var(--font-body);

}

.cb-bot-msg .cb-bubble {

  background: rgba(255, 255, 255, 0.07);

  color: #e2e8f0;

  border-radius: 4px 16px 16px 16px;

  border: 1px solid rgba(255, 255, 255, 0.07);

}

.cb-user-msg .cb-bubble {

  background: linear-gradient(135deg, #2563eb, #3b82f6);

  color: #fff;

  border-radius: 16px 4px 16px 16px;

}

.cb-ts {

  font-size: 10px;

  color: rgba(255, 255, 255, 0.3);

  padding: 0 4px;

}

.cb-user-msg .cb-ts {
  text-align: right;
}

/* â”€â”€ Quick Chips â”€â”€ */

.cb-chips {

  display: flex;

  flex-wrap: wrap;

  gap: 7px;

  margin-top: 4px;

}

.cb-chip {

  background: rgba(37, 99, 235, 0.12);

  border: 1px solid rgba(37, 99, 235, 0.3);

  border-radius: 20px;

  color: #93c5fd;

  font-size: 12px;

  padding: 5px 12px;

  cursor: pointer;

  font-family: var(--font-body);

  transition: all 0.2s;

  white-space: nowrap;

}

.cb-chip:hover {

  background: rgba(37, 99, 235, 0.25);

  border-color: rgba(37, 99, 235, 0.6);

  color: #fff;

  transform: translateY(-1px);

}

/* â”€â”€ Typing Indicator â”€â”€ */

.cb-typing-wrap {

  display: flex;

  align-items: center;

  gap: 8px;

  padding: 0 16px 10px;

  flex-shrink: 0;

}

.cb-typing-bubble {

  background: rgba(255, 255, 255, 0.07);

  border: 1px solid rgba(255, 255, 255, 0.07);

  border-radius: 4px 16px 16px 16px;

  padding: 10px 16px;

  display: flex;
  align-items: center;
  gap: 5px;

}

.cb-dot {

  width: 6px;
  height: 6px;

  background: #60a5fa;

  border-radius: 50%;

  display: inline-block;

  animation: cb-bounce 1.2s infinite ease-in-out;

}

.cb-dot:nth-child(2) {
  animation-delay: 0.2s;
}

.cb-dot:nth-child(3) {
  animation-delay: 0.4s;
}

@keyframes cb-bounce {

  0%,
  80%,
  100% {
    transform: translateY(0);
    opacity: 0.5;
  }

  40% {
    transform: translateY(-5px);
    opacity: 1;
  }

}

/* â”€â”€ Input â”€â”€ */

.cb-input-row {

  display: flex;

  align-items: center;

  gap: 8px;

  padding: 10px 12px;

  background: rgba(255, 255, 255, 0.04);

  border-top: 1px solid rgba(255, 255, 255, 0.06);

  flex-shrink: 0;

}

.cb-input {

  flex: 1;

  background: #111827 !important;

  border: 1px solid rgba(255, 255, 255, 0.2) !important;

  border-radius: 20px;

  padding: 9px 16px;

  color: #ffffff !important;

  font-family: var(--font-body);

  outline: none;

  transition: border-color 0.2s;

}

.cb-input::placeholder {
  color: rgba(255, 255, 255, 0.3);
}

.cb-input:focus {
  border-color: rgba(37, 99, 235, 0.6);
}

.cb-send {

  width: 36px;
  height: 36px;

  background: linear-gradient(135deg, #2563eb, #3b82f6);

  border: none;

  border-radius: 50%;

  color: #fff;

  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;

  transition: transform 0.2s, box-shadow 0.2s;

  flex-shrink: 0;

}

.cb-send:hover {

  transform: scale(1.1);

  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.5);

}












/* â”€â”€ Mobile â”€â”€ */

@media (max-width: 480px) {

  .cb-wrap {
    right: 16px !important;
    bottom: 40px !important;
  }

  .cb-window {
    width: calc(100vw - 32px);
    max-height: 75vh;
  }

}



/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•

   PREMIUM CHATBOT — Confiable Assistant

   (Glassmorphic Floating Support)

â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

.chatbot-container {
  position: fixed !important;
  bottom: 40px !important;
  right: 32px !important;
  z-index: 9999 !important;
}

.chatbot-toggle {

  width: 60px;
  height: 60px;

  background: var(--grad-blue);

  border: none;
  border-radius: 50%;

  color: white;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;

  box-shadow: 0 10px 30px rgba(37, 99, 235, 0.4);

  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);

}

.chatbot-toggle:hover {
  transform: scale(1.1) rotate(5deg);
}

.chatbot-window {

  position: absolute;
  bottom: 130px;
  right: 0;

  width: 360px;
  height: 500px;

  background: rgba(255, 255, 255, 0.1);

  backdrop-filter: blur(20px);

  border: 1px solid rgba(255, 255, 255, 0.2);

  border-radius: 24px;

  display: flex;
  flex-direction: column;

  overflow: hidden;

  opacity: 0;
  visibility: hidden;

  transform: translateY(20px) scale(0.95);

  transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);

  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);

}

.chatbot-window.open {

  opacity: 1;
  visibility: visible;

  transform: translateY(0) scale(1);

}

.chatbot-header {

  padding: 24px;

  background: var(--grad-blue);

  color: white;

  display: flex;
  justify-content: space-between;
  align-items: center;

}

.chatbot-title {
  display: flex;
  align-items: center;
  gap: 12px;
}

.chatbot-avatar {

  width: 40px;
  height: 40px;

  background: rgba(255, 255, 255, 0.15);

  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

}

.chatbot-title h4 {
  font-size: 16px;
  margin: 0;
  font-weight: 700;
}

.chatbot-title span {
  font-size: 12px;
  opacity: 0.8;
}

.chatbot-close {

  background: none;
  border: none;

  color: white;
  font-size: 24px;

  cursor: pointer;
  opacity: 0.7;
  transition: 0.3s;

}

.chatbot-close:hover {
  opacity: 1;
  transform: scale(1.1);
}

.chatbot-messages {

  flex-grow: 1;

  padding: 20px;

  overflow-y: auto;

  display: flex;
  flex-direction: column;
  gap: 12px;

  scrollbar-width: thin;

}

.chat-msg {

  padding: 12px 16px;

  border-radius: 18px;

  font-size: 14px;

  max-width: 85%;

  line-height: 1.5;

}

.bot-msg {

  background: rgba(255, 255, 255, 0.08);

  color: white;

  border-bottom-left-radius: 4px;

  align-self: flex-start;

}

.user-msg {

  background: var(--blue);

  color: white;

  border-bottom-right-radius: 4px;

  align-self: flex-end;

}

.chatbot-input-area {

  padding: 20px;

  border-top: 1px solid rgba(255, 255, 255, 0.1);

  display: flex;
  gap: 10px;

}

.chatbot-input-area input {

  flex-grow: 1;

  background: #111827 !important;

  border: 1px solid rgba(255, 255, 255, 0.2) !important;

  border-radius: 12px;

  padding: 12px 16px;

  color: #ffffff !important;

  font-family: var(--font-body);

  outline: none;
  transition: 0.3s;

}

.chatbot-input-area input:focus {
  border-color: var(--blue);
  background: rgba(255, 255, 255, 0.1);
}

.chatbot-input-area button {

  background: var(--blue);

  color: white;
  border: none;

  width: 44px;
  height: 44px;

  border-radius: 12px;

  cursor: pointer;
  transition: 0.3s;

  display: flex;
  align-items: center;
  justify-content: center;

}

.chatbot-input-area button:hover {
  transform: scale(1.05);
  filter: brightness(1.2);
}





/* â”€â”€ FINAL INPUT VISIBILITY FORCE â”€â”€ */
#cb-input,
#chatbot-input,
.cb-input,
.chatbot-input-area input {
  color: #ffffff !important;
  background-color: #0d1117 !important;
  -webkit-text-fill-color: #ffffff !important;
}


/* --- ULTRA FORCE BLACK TEXT --- */
/* removed light-mode rule from dark theme */

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   GLOBAL SECTION TAG CONVERSION (LIGHT -> DARK STYLE)
   Forces all .section-tag headings to lose their background/border boxes
   and use the clean blue line indicator instead.
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.section-tag,
/* removed light-mode rule from dark theme */

/* Ensure the blue line appears for ALL converted tags */
.section-tag::before,
/* removed light-mode rule from dark theme */

/* Color adjustments for dark/black section backgrounds */
.section-dark .section-tag,
.section-black .section-tag {
  color: var(--blue-light) !important;
}

.section-dark .section-tag::before,
.section-black .section-tag::before {
  background: var(--blue-light) !important;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   FINAL MASTER ICON STACK — PERFECT ALIGNMENT
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

/* 1. Base Styles for all 3 circles */
#cb-wrap,
#back-to-top {
  position: fixed !important;
  right: 32px !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: #2563eb !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25) !important;
  border: 2px solid rgba(255, 255, 255, 0.1) !important;
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
  cursor: pointer !important;
  overflow: visible !important;
}

#theme-toggle {
  position: fixed !important;
  left: 32px !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: #2563eb !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25) !important;
  border: 2px solid rgba(255, 255, 255, 0.1) !important;
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
  cursor: pointer !important;
  overflow: visible !important;
}

/* 2. Position Assignments (Top to Bottom) */
#theme-toggle {
  bottom: 40px !important;
  /* Bottom left */
  z-index: 10002 !important;
}

#cb-wrap {
  bottom: 108px !important;
  /* Middle */
  z-index: 10001 !important;
  padding: 0 !important;
  /* Reset any padding */
}

#back-to-top {
  bottom: 40px !important;
  /* Bottom */
  z-index: 10000 !important;
}

/* 3. Handle Inner Elements (SVG/Icons) */
#theme-toggle svg,
#cb-wrap svg,
#back-to-top {
  color: #ffffff !important;
  stroke: #ffffff !important;
  fill: none !important;
}

#cb-wrap svg {
  width: 24px !important;
  height: 24px !important;
}

/* 4. Fix Chatbot Toggle specifically */
#cb-toggle {
  background: transparent !important;
  border: none !important;
  /* width: 100% removed from mobile buttons */
  height: 100% !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  box-shadow: none !important;
}

/* 5. Notification Badge - Fix Position */
.cb-notif-badge {
  top: -2px !important;
  right: -2px !important;
  z-index: 10 !important;
}

/* 6. Window Visibility Overrides */
#cb-window {
  bottom: 100px !important;
  max-height: 85vh !important;
  margin-bottom: 0 !important;
}

/* Mobile Alignment Fix */
@media (max-width: 480px) {
  #theme-toggle {
    left: 20px !important;
    right: auto !important;
  }

  #cb-wrap,
  #back-to-top {
    right: 20px !important;
  }
}



/* 7. Final Window Visibility Force */
.cb-window.cb-open {
  opacity: 1 !important;
  visibility: visible !important;
  display: flex !important;
  transform: translateY(0) scale(1) !important;
  pointer-events: all !important;
  z-index: 1000000 !important;
}

/* 8. Global Cleanup: Hide old chatbot structure */
.chatbot-container {
  display: none !important;
}


/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   GLOBAL SUB-PAGE DARK MODE VISIBILITY FIX
   Forces visibility for inline-styled sub-page 
   elements that default to dark on light.
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

body:not(.light-mode) .section-light,
body:not(.light-mode) .section-mid,
body:not(.light-mode) .section-about-dark {
  background: #050608 !important;
}

body:not(.light-mode) .section-light .section-title,
body:not(.light-mode) .section-mid .section-title,
body:not(.light-mode) .section-light h2,
body:not(.light-mode) .section-mid h2 {
  color: #ffffff !important;
}

/* Force grid cards to be visible in dark mode */
body:not(.light-mode) .section-light div[style*="background: var(--white)"],
body:not(.light-mode) .section-mid div[style*="background: var(--white)"],
body:not(.light-mode) .section-light div[style*="background:var(--white)"],
body:not(.light-mode) .section-mid div[style*="background:var(--white)"] {
  background: #111827 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
}

body:not(.light-mode) .section-light h3,
body:not(.light-mode) .section-mid h3 {
  color: #ffffff !important;
}

body:not(.light-mode) .section-light p,
body:not(.light-mode) .section-mid p {
  color: rgba(255, 255, 255, 0.7) !important;
}

/* Fix Benefit section boxes */
body:not(.light-mode) .section-light div[style*="color: var(--ink)"],
body:not(.light-mode) .section-mid div[style*="color: var(--ink)"] {
  background: #111827 !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

/* Ensure SVG icons in cards are visible */
body:not(.light-mode) .section-light svg,
body:not(.light-mode) .section-mid svg {
  stroke: #60a5fa !important;
}

/* Chatbot Input Fix: Ensure typing works */
.cb-window input,
.cb-window textarea,
.cb-input-area input {
  pointer-events: auto !important;
  user-select: text !important;
  -webkit-user-select: text !important;
  cursor: text !important;
  z-index: 1000001 !important;
}


/* --- Dark Mode Color Overrides (Force White) --- */
body:not(.light-mode) .about-title-large,
body:not(.light-mode) .about-desc-large,
body:not(.light-mode) .section-about-dark h2,
body:not(.light-mode) .section-about-dark h3,
body:not(.light-mode) .section-about-dark p,
body:not(.light-mode) .section-about-dark .word,
body:not(.light-mode) .section-about-dark .word span,
body:not(.light-mode) .contact-info h2,
body:not(.light-mode) .citem-value {
  color: #ffffff !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Force Testimonial cards to stay white with black text in dark mode */
body:not(.light-mode) .tcard {
  background: #ffffff !important;
  border-color: rgba(0, 0, 0, 0.1) !important;
}

body:not(.light-mode) .tcard-text,
body:not(.light-mode) .tcard p,
body:not(.light-mode) .tcard-name,
body:not(.light-mode) .tcard-co {
  color: #111827 !important;
  opacity: 1 !important;
}


/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   UNIFIED THEME CONSISTENCY REPAIR (V5)
   Ensures global visibility across all subpages and themes.
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* 1. DARK MODE (Baseline) - Force visibility for standard text and titles */
body:not(.light-mode) .section-about-dark,
body:not(.light-mode) .parallax-cta,
body:not(.light-mode) .section-dark,
body:not(.light-mode) .hero-slider,
body:not(.light-mode) .sub-hero-slider {
  color: #ffffff !important;
}

/* Force headings and descriptions on DARK backgrounds to be white */
body:not(.light-mode) .section-about-dark h1,
body:not(.light-mode) .section-about-dark h2,
body:not(.light-mode) .section-about-dark h3,
body:not(.light-mode) .section-about-dark p,
body:not(.light-mode) .section-about-dark span:not(.btn-primary span),
body:not(.light-mode) .section-about-dark .word,
body:not(.light-mode) .word-mask,
body:not(.light-mode) .parallax-cta h1,
body:not(.light-mode) .parallax-cta h2,
body:not(.light-mode) .parallax-cta p,
body:not(.light-mode) .hero-title,
body:not(.light-mode) .hero-sub {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
  background-image: none !important;
  background-clip: unset !important;
  -webkit-background-clip: unset !important;
}

/* 2. WHITE-SURFACE REPAIR (Global) */
/* This handles any card or white-background section across ALL subpages */
.section-light,
.about-card,
.service-card,
.s-card,
.sl-card,
.solution-card,
.feature-card,
.team-card,
.tcard,
[style*="background: var(--white)"],
[style*="background:#ffffff"],
[style*="background:#fff"],
[style*="background: white"] {
  background-color: #ffffff !important;
  color: #111827 !important;
}

/* Force EVERY child of a white element to be dark (Titles, Paras, Spans) */
.section-light *,
.about-card *,
.service-card *,
.s-card *,
.sl-card *,
.solution-card *,
.feature-card *,
.team-card *,
.tcard *,
[style*="background: var(--white)"] *,
[style*="background:#ffffff"] *,
[style*="background:#fff"] *,
[style*="background: white"] * {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  opacity: 1 !important;
}

/* 3. EXEMPTIONS: Keep specific brand/action elements colorful */
.section-light .btn-primary,
.section-light .btn-discover,
.service-card span[style*="color:var(--blue)"],
.about-card .btn-discover,
.btn-primary span,
a.btn-primary {
  color: #ffffff !important;
  /* Keep button text white */
  -webkit-text-fill-color: #ffffff !important;
}

/* Learn More / Links on White Cards */
.section-light a span,
.service-card span,
.about-card span {
  color: #2563eb !important;
  -webkit-text-fill-color: #2563eb !important;
}




/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   PILL AND BADGE VISIBILITY FIX
   Forces dark/blue text in all pill-shaped badges 
   across the site regardless of global theme.
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

.section-tag,
.hcard-pill,
.badge,
.pill,
[class*="tag"],
[class*="pill"],
[class*="badge"] {
  background-color: #ffffff !important;
  color: #2563eb !important;
  /* Force Brand Blue for visibility */
  -webkit-text-fill-color: #2563eb !important;
  opacity: 1 !important;
  visibility: visible !important;
  border: 1px solid rgba(37, 99, 235, 0.2) !important;
}

/* Explicitly exclude footer badges from the aggressive pill styling */
.ft-bottom .ft-badge {
  border: none !important;
  background-color: transparent !important;
  -webkit-text-fill-color: initial !important;
}

/* Ensure text inside them is explicitly dark even if nested */
.section-tag *,
.hcard-pill *,
.badge *,
.pill * {
  color: #2563eb !important;
  -webkit-text-fill-color: #2563eb !important;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   UNIFIED THEME CONSISTENCY REPAIR (V6 - SMART)
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* 1. GLOBAL BASELINE - High visibility text for Dark Mode */
body:not(.light-mode) {
  color: #ffffff !important;
}

body:not(.light-mode) h1:not(.section-light h1):not(.section-mid h1),
body:not(.light-mode) h2:not(.section-light h2):not(.section-mid h2):not(.about-card h2):not(.contrast-section h2),
body:not(.light-mode) h3:not(.section-light h3):not(.section-mid h3):not(.about-card h3):not(.contrast-section h3),
body:not(.light-mode) p:not(.section-light p):not(.section-mid p):not(.tcard p):not(.about-card p):not(.contrast-section p),
body:not(.light-mode) span:not(.btn-primary span):not(.section-tag):not(.section-light span):not(.section-mid span):not(.tcard span):not(.about-card span):not(.contrast-section span):not(.orange):not(.blue),
body:not(.light-mode) .word,
body:not(.light-mode) .word-mask {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background-clip: unset !important;
  -webkit-background-clip: unset !important;
  background-image: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Ensure light/mid sections have WHITE text in dark mode since their backgrounds are dark */
body:not(.light-mode) .section-light h1,
body:not(.light-mode) .section-light h2,
body:not(.light-mode) .section-light h3,
body:not(.light-mode) .section-light p,
body:not(.light-mode) .section-light span:not(.btn-primary span):not(.pill-tag),
body:not(.light-mode) .section-light .section-title,
body:not(.light-mode) .section-mid h1,
body:not(.light-mode) .section-mid h2,
body:not(.light-mode) .section-mid h3,
body:not(.light-mode) .section-mid p,
body:not(.light-mode) .section-mid span:not(.btn-primary span):not(.pill-tag),
body:not(.light-mode) .section-mid .section-title {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background-clip: unset !important;
  -webkit-background-clip: unset !important;
  background-image: none !important;
  opacity: 1 !important;
}

body:not(.light-mode) .tcard p,
body:not(.light-mode) .tcard span {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  background-clip: unset !important;
  -webkit-background-clip: unset !important;
  background-image: none !important;
  opacity: 1 !important;
}





/* RE-FIX: Target cards by their actual background color in the DOM */
/* If a card is white, it gets dark text. If it is dark blue, it gets white text. */

/* Force DARK text ONLY on sections that are actually light */
.section-light h2,
.section-light h3,
.section-light p,
.about-card h3,
.about-card p,
.about-card .word {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
}

/* Special Case: Pill / Tag Visibility */
.section-tag,
.hcard-pill,
[class*="tag"],
[class*="pill"] {
  background-color: #ffffff !important;
  color: #2563eb !important;
  -webkit-text-fill-color: #2563eb !important;
  border-radius: 50px !important;
  padding: 6px 16px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid #2563eb !important;
  opacity: 1 !important;
  visibility: visible !important;
}



body:not(.light-mode) [style*="background: var(--white)"]:not(.about-card) * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Restore button text color */
.btn-primary,
.btn-primary *,
.btn-discover,
.btn-discover * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Restore blue link color in cards */
.service-card span,
.about-card span {
  color: #2563eb !important;
  -webkit-text-fill-color: #2563eb !important;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   FINAL CALL-TO-ACTION (CTA) BUTTON FIX
   Ensures button text is visible on all themes
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */



/* Hover state for buttons - inverse them */
.parallax-cta .btn-primary:hover,
.cta-inner .btn-primary:hover,
.feature-actions .btn-primary:hover,
.about-card .btn-discover:hover,
.btn-f.primary:hover {
  background-color: #2563eb !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   MASTER VISIBILITY REPAIR V6 — FINAL AUTHORITY
   Fixes all invisible text across light/dark modes.
   Applied LAST so it overrides everything above.
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â”€â”€ 1. FIX: Word-mask animation — ALWAYS VISIBLE â”€â”€ */
/* If JS never fires .animate, text would be invisible. Force it visible. */
.word {
  opacity: 1 !important;
  transform: translateY(0) skewY(0) !important;
  filter: blur(0) !important;
  visibility: visible !important;
}

/* Keep the animation working when JS DOES fire */
.word.animate {
  opacity: 1 !important;
  transform: translateY(0) skewY(0) !important;
  filter: blur(0) !important;
}

/* â”€â”€ 2. FIX: reveal-up already in viewport at load-time â”€â”€ */
/* Elements with .reveal-up that never get .active class stay invisible */
/* Force them visible after 1.5s via CSS fallback */
.reveal-up {
  animation: revealFallback 0s 1.5s forwards;
}

.reveal-up.active {
  opacity: 1 !important;
  transform: translateY(0) !important;
  animation: none !important;
}

@keyframes revealFallback {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* â”€â”€ 3. FIX: Similarly for .reveal, .reveal-left, .reveal-right â”€â”€ */
.reveal,
.reveal-left,
.reveal-right,
.reveal-scale {
  animation: revealFallback 0s 2s forwards;
}

.reveal.visible,
.reveal-left.visible,
.reveal-right.visible,
.reveal-scale.visible {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

/* â”€â”€ 4. FIX: Dark sections — ALL text must be white â”€â”€ */
.section-dark h1,
.section-dark h2,
.section-dark h3,
.section-dark h4,
.section-dark p,
.section-dark li,
.section-dark .section-title,
.section-dark .section-sub,
.section-dark .section-tag,
.section-about-dark h1,
.section-about-dark h2,
.section-about-dark h3,
.section-about-dark h4,
.section-about-dark p,
.section-about-dark .about-title-large,
.section-about-dark .about-desc-large,
.feature-slider-section h2,
.feature-slider-section p,
.feature-slider-section .feature-title,
.feature-slider-section .feature-sub {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* â”€â”€ 5. FIX: section-mid (dark block) — light text â”€â”€ */
.section-mid h2,
.section-mid h3,
.section-mid p,
.section-mid .section-title,
.section-mid .section-sub {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

/* â”€â”€ 6. FIX: section-light children — dark text, but white buttons â”€â”€ */
.section-light h2,
.section-light h3,
.section-light h4,
.section-light p,
.section-light .section-title,
.section-light .section-sub,
.section-light .svc-title,
.section-light .svc-desc,
.section-light .wp-title,
.section-light .wp-desc,
.section-light .tcard-text,
.section-light .tcard-name,
.section-light .tcard-co {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  opacity: 1 !important;
}

/* Restore badge/icon strokes and colors inside light sections */
.section-light svg {
  color: inherit;
}

.section-light .svc-icon svg {
  stroke: #2563eb;
}

.section-light .svc-link {
  color: #2563eb !important;
  -webkit-text-fill-color: #2563eb !important;
}

/* â”€â”€ 7. FIX: About cards (white background) — text MUST be dark â”€â”€ */
body:not(.light-mode) .section-about-dark .about-card h3,
body:not(.light-mode) .section-about-dark .about-card p,
body:not(.light-mode) .section-about-dark .about-card span:not(.btn-discover span),
body:not(.light-mode) .about-card .card-title-blue,
body:not(.light-mode) .about-card .card-title-blue span,
body:not(.light-mode) .about-card .card-text {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
}

.about-card .btn-discover {
  color: #2563eb !important;
  -webkit-text-fill-color: #2563eb !important;
  background: #ffffff !important;
  border: 2px solid #2563eb !important;
}

/* â”€â”€ 8. FIX: parallax-cta with overlay — always white text â”€â”€ */
.parallax-cta h1,
.parallax-cta h2,
.parallax-cta h3,
.parallax-cta p,
.parallax-cta .section-title,
.parallax-cta .hero-title,
.parallax-cta .hero-sub,
.cta-inner h1,
.cta-inner h2,
.cta-inner h3,
.cta-inner p,
.cta-inner .section-title {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}


/* â”€â”€ 10. FIX: CTA Buttons — blue gradient, always white text internally â”€â”€ */
a.btn-primary,
button.btn-primary {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: var(--grad-blue) !important;
  border: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* DO NOT override the above for specific CTA sections — just restore bg+border */
.parallax-cta .btn-primary,
.cta-inner .btn-primary,
.feature-actions .btn-primary {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: var(--grad-blue) !important;
  border: 2px solid transparent !important;
}

/* â”€â”€ 11. FIX: hero stat labels — visible without animation â”€â”€ */
.stat-num,
.stat-num span {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

.stat-label {
  color: rgba(255, 255, 255, 0.65) !important;
  opacity: 1 !important;
}

/* â”€â”€ 12. FIX: Team section — white text â”€â”€ */
.team-name,
.team-role {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

/* â”€â”€ 13. FIX: Bento grid cards text — white on dark â”€â”€ */
.bento-title,
.bento-desc,
.bento-intro,
.about-title-large {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

/* â”€â”€ 14. FIX: Sol cards in dark section — white text â”€â”€ */
.sol-name,
.sol-desc {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

.sol-badge {
  color: var(--blue-light) !important;
  -webkit-text-fill-color: var(--blue-light) !important;
  opacity: 1 !important;
}

/* â”€â”€ 15. FIX: Why-points section — white on dark â”€â”€ */
.wp-title,
.wp-desc {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

/* â”€â”€ 16. FIX: Section-light inline-style cards (cloud-services, etc) â”€â”€ */
/* Cards with style="background: var(--white)" or "background:#fff" inside .section-light */
.section-light [style*="background: var(--white)"] h3,
.section-light [style*="background: var(--white)"] p,
.section-light [style*="background:#ffffff"] h3,
.section-light [style*="background:#ffffff"] p,
.section-mid [style*="background: var(--white)"] span,
.section-mid [style*="background: var(--white)"] [style*="color: var(--ink)"] {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  opacity: 1 !important;
}

/* â”€â”€ 17. FIX: Ensure section-tag pill is always readable â”€â”€ */
.section-tag {
  color: var(--blue-light) !important;
  -webkit-text-fill-color: var(--blue-light) !important;
  border-color: rgba(96, 165, 250, 0.3) !important;
  background: rgba(37, 99, 235, 0.12) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* â”€â”€ 18. FIX: hcard pills specifically â”€â”€ */
.hcard-pill {
  color: var(--blue-light) !important;
  -webkit-text-fill-color: var(--blue-light) !important;
  background: rgba(37, 99, 235, 0.25) !important;
  border: 1px solid rgba(59, 130, 246, 0.3) !important;
  opacity: 1 !important;
}

/* â”€â”€ 19. FIX: hero-sub inline animation delay fix â”€â”€ */
.hero-sub {
  opacity: 1 !important;
  color: rgba(255, 255, 255, 0.75) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.75) !important;
}

/* â”€â”€ 20. FIX: about-desc-large, about-title-large â”€â”€ */
.about-title-large {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

.about-desc-large {
  color: rgba(255, 255, 255, 0.75) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.75) !important;
  opacity: 1 !important;
}

/* â”€â”€ 21. FIX: azure-migration.html specific classes â”€â”€ */

/* contrast-section = white background section */
.contrast-section {
  background: #14161d !important;
  color: #111827 !important;
}

.contrast-section h2,
.contrast-section h3,
.contrast-section p,
.contrast-section li,
.contrast-section .section-title,
.contrast-section .section-sub {
  color: #111827 !important;
  -webkit-text-fill-color: #e5eaf3 !important;
  opacity: 1 !important;
}

/* contrast-card = dark card inside contrast-section */
.contrast-card {
  background: #0a0e17 !important;
  color: #ffffff !important;
  padding: 40px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.05);
}

.contrast-card h3,
.contrast-card p,
.contrast-card li,
.contrast-card h4,
.contrast-card span:not(.pill-tag) {
  color: rgba(255, 255, 255, 0.8) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.8) !important;
  opacity: 1 !important;
}

.contrast-card h3 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  margin-bottom: 16px;
  margin-top: 16px;
}

/* pill-tag inside contrast-card */
.pill-tag {
  color: #ec4899 !important;
  -webkit-text-fill-color: #ec4899 !important;
  background: rgba(236, 72, 153, 0.1) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* full-hero = dark overlay hero (azure-migration.html) */
.full-hero h1,
.full-hero h2,
.full-hero h3,
.full-hero p,
.full-hero .section-title,
.full-hero .section-sub {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* section-black = dark section (index.html solutions, azure-migration.html FinOps) */
.section-black h1,
.section-black h2,
.section-black h3,
.section-black h4,
.section-black p,
.section-black li,
.section-black .section-title,
.section-black .section-sub,
.section-black span:not(.pill-tag):not(.hcard-pill) {
  color: #ffffff !important;
  -webkit-text-fill-color: #3cde36 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* btn-premium button (used in azure-migration.html) */
.btn-premium {
  display: inline-flex !important;
  align-items: center !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
  padding: 14px 28px !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  text-decoration: none !important;
  border: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  cursor: pointer !important;
}

.btn-premium:hover {
  background: linear-gradient(135deg, #1d4ed8, #1e3a8a) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  transform: translateY(-2px) !important;
}

/* â”€â”€ 22. FIX: Inline-style white cards inside dark body â”€â”€ */
/* Only target inline bg:var(--white) divs — NOT contrast-cards which are already dark */
body:not(.light-mode) div[style*="background: var(--white)"] h3,
body:not(.light-mode) div[style*="background: var(--white)"] h4,
body:not(.light-mode) div[style*="background: var(--white)"] p,
body:not(.light-mode) div[style*="background: var(--white)"] span,
body:not(.light-mode) div[style*="background: var(--white)"] li,
body:not(.light-mode) div[style*="background:#ffffff"] h3,
body:not(.light-mode) div[style*="background:#ffffff"] h4,
body:not(.light-mode) div[style*="background:#ffffff"] p,
body:not(.light-mode) div[style*="background:#ffffff"] span,
body:not(.light-mode) div[style*="background: #ffffff"] h3,
body:not(.light-mode) div[style*="background: #ffffff"] h4,
body:not(.light-mode) div[style*="background: #ffffff"] p,
body:not(.light-mode) div[style*="background: #ffffff"] span {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* â”€â”€ 23. FIX: hero-sub in parallax-cta sub-hero (subpages) â”€â”€ */
/* The hero-title and hero-sub in subpage heroes already have inline color: #fff,
   but the global .hero-sub rule was overriding with rgba(255,255,255,0.75) which is fine.
   However, light-mode was making it dark. Ensure it stays white in parallax-cta */
.parallax-cta .hero-sub,
.parallax-cta .hero-title,
.cta-inner .hero-sub,
.cta-inner .hero-title {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

/* â”€â”€ 24. FIX: section-mid inline white cards — dark text â”€â”€ */
body:not(.light-mode) .section-mid [style*="color: var(--ink)"],
body:not(.light-mode) .section-mid [style*="background: var(--white)"] span {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
}

/* â”€â”€ 25. FIX: Contact section (section-mid) — all elements light â”€â”€ */
.section-mid .citem-label,
.section-mid .citem-value,
.section-mid .section-title,
.section-mid .section-sub,
.section-mid h2,
.section-mid h3,
.section-mid p {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

.form-heading {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

label {
  color: rgba(255, 255, 255, 0.8) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.8) !important;
  opacity: 1 !important;
}

/* â”€â”€ 26. FIX: section-black needs dark background â”€â”€ */
.section-black {
  background: var(--black, #050608) !important;
  color: #ffffff !important;
}

/* ==========================================
   ULTIMATE ABOUT-CARD KILL SWITCH V2
   Forces text inside Meet Confiable cards to be dark, no matter what.
   ========================================== */
html body:not(.light-mode) section.section-about-dark div.about-card h3.card-title-blue,
html body:not(.light-mode) section.section-about-dark div.about-card h3.card-title-blue span,
html body:not(.light-mode) section.section-about-dark div.about-card p.card-text {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  visibility: visible !important;
  opacity: 1 !important;
  display: block !important;
}



/* ==========================================
   ULTIMATE DROPDOWN VISIBILITY FIX
   Forces items inside the white dropdown menus to be dark,
   shielding them from the global dark-mode white splat.
   ========================================== */
html body:not(.light-mode) nav .dropdown-menu li a,
html body.section-black nav .dropdown-menu li a,
html nav .dropdown-menu li a {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
}

html body:not(.light-mode) nav .dropdown-menu li a:hover,
html body.section-black nav .dropdown-menu li a:hover,
html nav .dropdown-menu li a:hover {
  background: var(--blue-pale) !important;
  color: var(--blue-mid) !important;
  -webkit-text-fill-color: var(--blue-mid) !important;
}

/* ==========================================
   ULTIMATE CONTRAST CARD TEXT FIX
   Forces text inside the dark capability cards to be pure white,
   shielding them from any remaining .contrast-section forces-dark rules.
   ========================================== */
html body.section-black .contrast-section .contrast-card h1,
html body.section-black .contrast-section .contrast-card h2,
html body.section-black .contrast-section .contrast-card h3,
html body.section-black .contrast-section .contrast-card h4 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html body.section-black .contrast-section .contrast-card p,
html body.section-black .contrast-section .contrast-card li {
  color: rgba(255, 255, 255, 0.8) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.8) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   DARK THEME — CTA SECTION BACKGROUND IMAGES
   Applies cta-parallax.png to ALL CTA sections
   when NOT in light mode.
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â”€â”€ index.html #cta banner â”€â”€ */
body:not(.light-mode) #cta {
  background-image:
    linear-gradient(rgba(5, 6, 8, 0.55), rgba(13, 15, 20, 0.65)),
    url('../images/cta-parallax.png') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
  background-repeat: no-repeat !important;
}

/* â”€â”€ All .parallax-cta sections (sub-pages) â”€â”€ */
body:not(.light-mode) .parallax-cta,
body:not(.light-mode) section.parallax-cta {
  background-image:
    linear-gradient(rgba(5, 6, 8, 0.72), rgba(13, 15, 20, 0.80)),
    url('../images/cta-parallax.png') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
  background-repeat: no-repeat !important;
}

/* â”€â”€ .cta-tech-bg sections â”€â”€ */
body:not(.light-mode) .cta-tech-bg {
  background-image:
    linear-gradient(rgba(5, 6, 8, 0.72), rgba(13, 15, 20, 0.80)),
    url('../images/cta-parallax.png') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
  background-repeat: no-repeat !important;
}

/* â”€â”€ Ensure overlay + content are still visible â”€â”€ */
body:not(.light-mode) .parallax-cta .cta-overlay,
body:not(.light-mode) .cta-tech-bg .cta-overlay,
body:not(.light-mode) #cta .cta-overlay {
  background: rgba(0, 0, 0, 0.35) !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
}

body:not(.light-mode) .parallax-cta .cta-inner,
body:not(.light-mode) .cta-tech-bg .cta-inner,
body:not(.light-mode) #cta .cta-inner {
  position: relative !important;
  z-index: 2 !important;
}

/* â”€â”€ Text forced white on all CTA backgrounds â”€â”€ */
body:not(.light-mode) .parallax-cta h1,
body:not(.light-mode) .parallax-cta h2,
body:not(.light-mode) .parallax-cta h3,
body:not(.light-mode) .parallax-cta p,
body:not(.light-mode) .parallax-cta .section-title,
body:not(.light-mode) .parallax-cta .cta-title,
body:not(.light-mode) .parallax-cta .cta-sub,
body:not(.light-mode) .cta-tech-bg h1,
body:not(.light-mode) .cta-tech-bg h2,
body:not(.light-mode) .cta-tech-bg h3,
body:not(.light-mode) .cta-tech-bg p,
body:not(.light-mode) #cta .cta-title,
body:not(.light-mode) #cta .cta-sub {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   DARK THEME — Products & Services Grid Cards
   Overrides the white-card section on
   products.html and services.html in dark mode
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* Section background: light → dark */
body:not(.light-mode) .section-light {
  background: var(--dark) !important;
}

/* Card background: var(--white) inline → dark card */
body:not(.light-mode) .section-light a[style*="background:var(--white)"],
body:not(.light-mode) .section-light a[style*="background: var(--white)"] {
  background: var(--card-dark) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35) !important;
}

/* Card hover shadow */
body:not(.light-mode) .section-light a[style*="background:var(--white)"]:hover,
body:not(.light-mode) .section-light a[style*="background: var(--white)"]:hover {
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5) !important;
}

/* Headings inside cards */
body:not(.light-mode) .section-light a[style*="background:var(--white)"] h3,
body:not(.light-mode) .section-light a[style*="background: var(--white)"] h3 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Body text inside cards */
body:not(.light-mode) .section-light a[style*="background:var(--white)"] p,
body:not(.light-mode) .section-light a[style*="background: var(--white)"] p {
  color: rgba(255, 255, 255, 0.72) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.72) !important;
}

/* SVG icons inside cards — use blue tint */
body:not(.light-mode) .section-light a[style*="background:var(--white)"] svg,
body:not(.light-mode) .section-light a[style*="background: var(--white)"] svg {
  stroke: var(--blue-mid) !important;
}

/* "Explore →" / "Learn More →" link text */
body:not(.light-mode) .section-light a[style*="background:var(--white)"] span,
body:not(.light-mode) .section-light a[style*="background: var(--white)"] span {
  color: var(--blue-mid) !important;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   DARK THEME — zero-trust-security, intune-management,
   azure-migration subpage content dark fixes
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â”€â”€ section-light: dark bg + white section heading/sub â”€â”€ */
body:not(.light-mode) .section-light .section-title,
body:not(.light-mode) .section-light h2.section-title {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body:not(.light-mode) .section-light .section-sub,
body:not(.light-mode) .section-light p.section-sub {
  color: rgba(255, 255, 255, 0.75) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.75) !important;
}

/* â”€â”€ contrast-card: already dark bg, ensure ALL text is white â”€â”€ */
body:not(.light-mode) .contrast-card {
  background: #0d1020 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body:not(.light-mode) .contrast-card h3 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body:not(.light-mode) .contrast-card p,
body:not(.light-mode) .contrast-card li {
  color: rgba(255, 255, 255, 0.80) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.80) !important;
}

/* tech-list bullets */
body:not(.light-mode) .tech-list li {
  color: rgba(255, 255, 255, 0.80) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.80) !important;
}

/* â”€â”€ section-mid mini white cards: dark bg + white text â”€â”€ */
body:not(.light-mode) .section-mid {
  background: var(--dark2) !important;
}

body:not(.light-mode) .section-mid div[style*="background: var(--white)"],
body:not(.light-mode) .section-mid div[style*="background:var(--white)"] {
  background: var(--card-dark) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35) !important;
}

body:not(.light-mode) .section-mid div[style*="background: var(--white)"] h4,
body:not(.light-mode) .section-mid div[style*="background:var(--white)"] h4 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body:not(.light-mode) .section-mid div[style*="background: var(--white)"] p,
body:not(.light-mode) .section-mid div[style*="background:var(--white)"] p {
  color: rgba(255, 255, 255, 0.72) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.72) !important;
}

/* section-mid headings and text (main content, not inside white cards) */
body:not(.light-mode) .section-mid>div>div>h2,
body:not(.light-mode) .section-mid .section-title {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body:not(.light-mode) .section-mid>div>div>p.section-sub,
body:not(.light-mode) .section-mid .section-sub {
  color: rgba(255, 255, 255, 0.75) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.75) !important;
}

/* â”€â”€ HERO TITLE: typed blue + orange gradient FINAL FIX â”€â”€ */
h1.hero-title #typed-text,
h1.hero-title #typed-text .typed-link,
h1.hero-title .typed-link {
  color: var(--blue-light) !important;
  -webkit-text-fill-color: var(--blue-light) !important;
  background-image: none !important;
}

h1.hero-title span.orange {
  background: linear-gradient(135deg, #f97316 0%, #fb923c 100%) !important;
  background-image: linear-gradient(135deg, #f97316 0%, #fb923c 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   WHAT WE DO — 2í—2 SOLUTION CARDS SECTION
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

.wwd-section {
  position: relative;
  background: var(--dark);
  padding: 100px 6%;
  overflow: hidden;
}

/* Background atmospheric glows */
.wwd-glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(120px);
  pointer-events: none;
  z-index: 0;
}

.wwd-glow-1 {
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(37, 99, 235, 0.12) 0%, transparent 70%);
  top: -80px;
  left: -100px;
}

.wwd-glow-2 {
  width: 420px;
  height: 420px;
  background: radial-gradient(circle, rgba(249, 115, 22, 0.08) 0%, transparent 70%);
  bottom: -60px;
  right: -80px;
}

/* Inner container */
.wwd-inner {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  margin: 0 auto;
}

/* Section header */
.wwd-header {
  text-align: center;
  margin-bottom: 64px;
}

.wwd-title {
  font-family: var(--font-head);
  font-size: clamp(34px, 5vw, 58px);
  font-weight: 800;
  color: var(--white);
  line-height: 1.15;
  margin-bottom: 20px;
  letter-spacing: -0.02em;
}

.wwd-sub {
  font-size: clamp(15px, 1.8vw, 17px);
  color: var(--muted-dark);
  max-width: 680px;
  margin: 0 auto;
  line-height: 1.75;
}

/* 2í—2 Grid */
.wwd-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

/* Individual card */
.wwd-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: var(--radius-lg);
  padding: 40px 36px 36px;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  transition: transform 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  animation-delay: var(--delay, 0s);
}

.wwd-card:hover {
  transform: translateY(-8px);
  border-color: rgba(37, 99, 235, 0.4);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4),
    0 0 24px rgba(37, 99, 235, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

/* Card glow (appears on hover) */
.wwd-card-glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 30% 20%, rgba(37, 99, 235, 0.1) 0%, transparent 60%);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
  border-radius: inherit;
}

.wwd-card:hover .wwd-card-glow {
  opacity: 1;
}

/* Icon wrapper */
.wwd-icon-wrap {
  width: 64px;
  height: 64px;
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.15) 0%, rgba(37, 99, 235, 0.05) 100%);
  border: 1px solid rgba(37, 99, 235, 0.25);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  flex-shrink: 0;
  transition: background 0.35s ease, transform 0.35s ease, box-shadow 0.35s ease;
}

.wwd-card:hover .wwd-icon-wrap {
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.28) 0%, rgba(59, 130, 246, 0.12) 100%);
  box-shadow: 0 8px 28px rgba(37, 99, 235, 0.22);
  transform: scale(1.08) rotate(-3deg);
}

.wwd-icon-wrap svg {
  stroke: var(--blue-mid);
  transition: stroke 0.3s ease;
}

.wwd-card:hover .wwd-icon-wrap svg {
  stroke: var(--blue-light);
}

/* Card body */
.wwd-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.wwd-card-title {
  font-family: var(--font-head);
  font-size: 19px;
  font-weight: 700;
  color: var(--white);
  line-height: 1.3;
  transition: color 0.3s ease;
}

.wwd-card:hover .wwd-card-title {
  color: #ffffff;
}

.wwd-card-desc {
  font-size: 16px;
  color: var(--muted-dark);
  line-height: 1.8;
  flex: 1;
  transition: color 0.3s ease;
}

.wwd-card:hover .wwd-card-desc {
  color: rgba(226, 229, 240, 0.8);
}

/* Learn More link */
.wwd-learn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 24px;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--white);
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.03);
  border-radius: 8px;
  padding: 10px 20px;
  letter-spacing: 0.02em;
  transition: all 0.3s ease;
  width: max-content;
}

.wwd-card:hover .wwd-learn {
  background: rgba(37, 99, 235, 0.12);
  border-color: rgba(37, 99, 235, 0.4);
  color: var(--white);
  gap: 12px;
}

.wwd-learn svg {
  transition: transform 0.3s ease;
}

.wwd-card:hover .wwd-learn svg {
  transform: translateX(4px);
}

/* Category tag badge (top-right corner) */
.wwd-card-tag {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(96, 165, 250, 0.7);
  background: rgba(37, 99, 235, 0.1);
  border: 1px solid rgba(37, 99, 235, 0.18);
  border-radius: 100px;
  padding: 4px 10px;
  transition: background 0.3s, color 0.3s;
}

.wwd-card:hover .wwd-card-tag {
  background: rgba(37, 99, 235, 0.18);
  color: var(--blue-light);
}

/* â”€â”€ Section Conversion CTA â”€â”€ */
.wwd-cta-block {
  margin-top: 64px;
  text-align: center;
  padding: 48px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: var(--radius-lg);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  position: relative;
  overflow: hidden;
}

.wwd-cta-block::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(37, 99, 235, 0.6), transparent);
}

.wwd-cta-title {
  font-family: var(--font-head);
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 700;
  color: var(--white);
  margin-bottom: 16px;
}

.wwd-cta-desc {
  font-size: 16px;
  color: var(--muted-dark);
  max-width: 640px;
  margin: 0 auto 32px;
  line-height: 1.6;
}

.wwd-cta-actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

/* â”€â”€ Responsive â”€â”€ */
@media (max-width: 900px) {
  .wwd-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .wwd-section {
    padding: 72px 6%;
  }

  .wwd-header {
    margin-bottom: 44px;
  }
}

@media (max-width: 600px) {
  .wwd-cta-actions {
    flex-direction: column;
    align-items: center;
  }

  .wwd-cta-actions>* {
    width: 100%;
    text-align: center;
  }

  .wwd-cta-block {
    padding: 32px 20px;
  }
}

@media (max-width: 480px) {
  .wwd-card {
    padding: 28px 22px 26px;
  }

  .wwd-icon-wrap {
    width: 54px;
    height: 54px;
    border-radius: 12px;
  }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   HOW WE WORK SECTION
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

.hww-section {
  position: relative;
  background: var(--dark2);
  padding: 100px 6%;
  overflow: hidden;
  border-top: 1px solid rgba(255, 255, 255, 0.03);
  border-bottom: 1px solid rgba(255, 255, 255, 0.03);
}

.hww-inner {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  margin: 0 auto;
}

.hww-header {
  text-align: center;
  margin-bottom: 72px;
}

.hww-title {
  font-family: var(--font-head);
  font-size: clamp(34px, 5vw, 58px);
  font-weight: 800;
  color: var(--white);
  line-height: 1.15;
  margin-bottom: 20px;
  letter-spacing: -0.02em;
}

.hww-sub {
  font-size: 17px;
  color: var(--muted-dark);
  max-width: 680px;
  margin: 0 auto;
  line-height: 1.75;
}

/* Process Layout */
.hww-process {
  position: relative;
  margin-bottom: 80px;
}

.hww-line {
  position: absolute;
  top: 40px;
  left: 10%;
  right: 10%;
  height: 2px;
  background: linear-gradient(90deg, rgba(37, 99, 235, 0) 0%, rgba(37, 99, 235, 0.3) 15%, rgba(37, 99, 235, 0.3) 85%, rgba(37, 99, 235, 0) 100%);
  z-index: 0;
}

.hww-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  position: relative;
  z-index: 1;
}

.hww-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: var(--radius-lg);
  padding: 40px 24px 32px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  animation-delay: var(--delay, 0s);
}

.hww-step:hover {
  transform: translateY(-8px);
  border-color: rgba(37, 99, 235, 0.4);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3),
    0 0 20px rgba(37, 99, 235, 0.1);
}

.hww-step-icon {
  width: 80px;
  height: 80px;
  background: var(--dark);
  border: 2px solid rgba(37, 99, 235, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  position: relative;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
  transition: all 0.3s ease;
}

.hww-step:hover .hww-step-icon {
  border-color: var(--blue-light);
  box-shadow: 0 8px 24px rgba(37, 99, 235, 0.3);
  transform: scale(1.05);
}

.hww-step-icon svg {
  stroke: var(--blue-mid);
  transition: stroke 0.3s ease;
}

.hww-step:hover .hww-step-icon svg {
  stroke: var(--blue-light);
}

.hww-step-num {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 28px;
  height: 28px;
  background: var(--blue-mid);
  color: var(--white);
  border-radius: 50%;
  font-size: 14px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 3px solid var(--dark);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

.hww-step-title {
  font-family: var(--font-head);
  font-size: 20px;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 12px;
  transition: color 0.3s ease;
}

.hww-step-desc {
  font-size: 15px;
  color: var(--muted-dark);
  line-height: 1.7;
}

/* Trust Metrics Row */
.hww-trust-metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: var(--radius-lg);
  padding: 40px;
  text-align: center;
}

.hww-metric {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 0 16px;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.hww-metric:last-child {
  border-right: none;
}

.hww-metric-val {
  font-family: var(--font-head);
  font-size: 36px;
  font-weight: 800;
  color: var(--white);
  background: linear-gradient(135deg, #60a5fa 0%, #2563eb 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  display: flex;
  align-items: center;
  height: 48px;
}

.hww-metric-label {
  font-size: 14px;
  font-weight: 600;
  color: var(--muted-dark);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  max-width: 180px;
  line-height: 1.4;
}

/* Responsive */
@media (max-width: 1024px) {
  .hww-steps {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
  }

  .hww-line {
    display: none;
  }

  .hww-trust-metrics {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
  }

  .hww-metric:nth-child(2) {
    border-right: none;
  }

  .hww-metric {
    border-right: 1px solid rgba(255, 255, 255, 0.08);
    padding: 16px 0;
  }
}

@media (max-width: 600px) {
  .hww-steps {
    grid-template-columns: 1fr;
  }

  .hww-trust-metrics {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .hww-metric {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 24px 0;
  }

  .hww-metric:last-child {
    border-bottom: none;
  }

  .hww-section {
    padding: 72px 6%;
  }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   TRUSTED TECHNOLOGY ALLIANCES SECTION
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

.alliances-section {
  position: relative;
  background: var(--dark);
  padding: 100px 6% 40px;
  /* Reduced bottom padding */
  overflow: hidden;
}

.alliances-inner {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  margin: 0 auto;
}

.alliances-header {
  text-align: center;
  margin-bottom: 72px;
}

.alliances-title {
  font-family: var(--font-head);
  font-size: clamp(34px, 5vw, 58px);
  font-weight: 800;
  color: var(--white);
  line-height: 1.15;
  margin-bottom: 20px;
  letter-spacing: -0.02em;
}

.alliances-sub {
  font-size: 17px;
  color: var(--muted-dark);
  max-width: 680px;
  margin: 0 auto;
  line-height: 1.75;
}

/* Grid Layout (6 columns for perfect centering and equal heights) */
.alliances-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-auto-rows: 1fr;
  gap: 24px;
  margin-bottom: 64px;
}

/* Card Styling */
.alliance-card {
  grid-column: span 2;
  height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: var(--radius-lg);
  padding: 40px 32px;
  text-decoration: none !important;
  color: inherit;
  overflow: hidden;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  animation-delay: var(--delay, 0s);
}

/* Center the second row of 2 items */
.alliance-card:nth-child(4) {
  grid-column: 2 / span 2;
}

.alliance-card:nth-child(5) {
  grid-column: 4 / span 2;
}

.alliance-card:hover {
  transform: translateY(-8px);
  border-color: rgba(37, 99, 235, 0.4);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3),
    0 0 24px rgba(37, 99, 235, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.alliance-card-glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 0%, rgba(37, 99, 235, 0.1) 0%, transparent 70%);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
  border-radius: inherit;
}

.alliance-card:hover .alliance-card-glow {
  opacity: 1;
}

.alliance-icon {
  width: 64px;
  height: 64px;
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.1) 0%, rgba(37, 99, 235, 0.02) 100%);
  border: 1px solid rgba(37, 99, 235, 0.2);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}

.alliance-card:hover .alliance-icon {
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.2) 0%, rgba(59, 130, 246, 0.1) 100%);
  box-shadow: 0 8px 24px rgba(37, 99, 235, 0.2);
  transform: scale(1.05);
}

.alliance-icon svg {
  color: var(--blue-mid);
  transition: color 0.3s ease, transform 0.3s ease;
}

.alliance-card:hover .alliance-icon svg {
  color: var(--blue-light);
}

.alliance-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.alliance-title {
  font-family: var(--font-head);
  font-size: 20px;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 12px;
  line-height: 1.3;
  transition: color 0.3s ease;
}

.alliance-desc {
  margin: 0;
  font-size: 15px;
  color: var(--muted-dark);
  line-height: 1.7;
  flex: 1;
}


/* Trust Statement */
.alliance-statement {
  font-family: var(--font-head);
  font-size: clamp(20px, 2.5vw, 26px);
  font-weight: 500;
  font-style: italic;
  text-align: center;
  color: var(--white);
  max-width: 800px;
  margin: 0 auto 64px;
  line-height: 1.6;
  opacity: 0.9;
}

/* CTA Section */
.alliance-cta-block {
  text-align: center;
  padding: 48px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: var(--radius-lg);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  position: relative;
  overflow: hidden;
}

.alliance-cta-block::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(37, 99, 235, 0.6), transparent);
}

.alliance-cta-title {
  font-family: var(--font-head);
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 700;
  color: var(--white);
  margin-bottom: 24px;
}

.alliance-cta-actions {
  display: flex;
  justify-content: center;
}

/* Responsive */
@media (max-width: 1024px) {
  .alliances-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .alliance-card {
    grid-column: span 2;
  }

  .alliance-card:nth-child(4) {
    grid-column: span 2;
  }

  .alliance-card:nth-child(5) {
    grid-column: 2 / span 2;
  }
}

@media (max-width: 768px) {
  .alliances-section {
    padding: 72px 6%;
  }

  .alliances-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }

  .alliance-card,
  .alliance-card:nth-child(4),
  .alliance-card:nth-child(5) {
    grid-column: 1 / -1;
  }

  .alliance-statement {
    font-size: 20px;
    margin-bottom: 48px;
  }
}

/* -----------------------------------------------
   CASE STUDIES SECTION
----------------------------------------------- */

.cs-section {
  position: relative;
  background: var(--dark2);
  padding: 100px 6%;
  overflow: hidden;
  border-top: 1px solid rgba(255, 255, 255, 0.03);
}

.cs-inner {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  margin: 0 auto;
}

.cs-header {
  text-align: center;
  margin-bottom: 72px;
}

.cs-title {
  font-family: var(--font-head);
  font-size: clamp(34px, 5vw, 58px);
  font-weight: 800;
  color: var(--white);
  line-height: 1.15;
  margin-bottom: 20px;
  letter-spacing: -0.02em;
}

.cs-sub {
  font-size: 17px;
  color: var(--muted-dark);
  max-width: 680px;
  margin: 0 auto;
  line-height: 1.75;
}

/* Carousel Layout */
.cs-grid {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  gap: 24px;
  margin-bottom: 40px;
  padding-bottom: 32px;
  /* Space for shadow/hover lift */
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.cs-grid::-webkit-scrollbar {
  display: none;
}

/* Card Styling */
.cs-card {
  flex: 0 0 calc(33.3333% - 16px);
  scroll-snap-align: start;
  position: relative;
  display: flex;
  flex-direction: column;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: var(--radius-lg);
  padding: 40px 32px;
  text-decoration: none !important;
  color: inherit;
  overflow: hidden;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  animation-delay: var(--delay, 0s);
  height: 100%;
}

.cs-card:hover {
  transform: translateY(-8px);
  border-color: rgba(37, 99, 235, 0.4);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3),
    0 0 24px rgba(37, 99, 235, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.cs-card-glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 0%, rgba(37, 99, 235, 0.1) 0%, transparent 70%);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
  border-radius: inherit;
}

.cs-card:hover .cs-card-glow {
  opacity: 1;
}

.cs-card-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 24px;
}

.cs-logo-wrap {
  display: flex;
  align-items: center;
  height: 48px;
}

.cs-logo {
  max-width: 140px;
  max-height: 40px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.75;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.cs-card:hover .cs-logo {
  opacity: 1;
  transform: scale(1.05);
}

.cs-metric-badge {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--blue-light);
  background: rgba(37, 99, 235, 0.12);
  border: 1px solid rgba(37, 99, 235, 0.2);
  border-radius: 100px;
  padding: 6px 12px;
}

.cs-client {
  font-family: var(--font-head);
  font-size: 22px;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 24px;
  line-height: 1.3;
}

.cs-detail {
  margin-bottom: 16px;
}

.cs-outcome {
  margin-bottom: 0;
  flex: 1;
}

.cs-label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--blue-mid);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 6px;
}

.cs-text {
  font-size: 15px;
  color: var(--muted-dark);
  line-height: 1.7;
  margin: 0;
}

/* Navigation Arrows */
.cs-arrows {
  display: flex;
  justify-content: flex-start;
  gap: 16px;
  margin-top: 16px;
}

.cs-arrow {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--white);
  border: 1px solid var(--border-light);
  border-radius: 50%;
  color: var(--blue);
  cursor: pointer;
  box-shadow: var(--shadow-card);
  transition: all 0.3s ease;
}

.cs-arrow:hover {
  background: var(--blue);
  color: var(--white);
  border-color: var(--blue);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(37, 99, 235, 0.25);
}

/* Responsive */
@media (max-width: 1024px) {
  .cs-card {
    flex: 0 0 calc(50% - 12px);
  }
}

@media (max-width: 768px) {
  .cs-section {
    padding: 72px 6%;
  }

  .cs-card {
    flex: 0 0 100%;
  }
}

/* -----------------------------------------------
   PREMIUM ENTERPRISE FOOTER
----------------------------------------------- */
.footer-premium {
  background: var(--black);
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  color: var(--muted-dark);
  font-family: var(--font-body);
}



/* Main Grid */
.ft-main {
  max-width: 1400px;
  margin: 0 auto;
  padding: 30px 32px 50px 32px;
}

.ft-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.9fr 1.1fr 0.85fr 0.85fr 1.1fr;
  gap: 28px;
}

.ft-logo {
  height: 110px;
  max-width: 220px;
  width: auto;
  object-fit: contain;
  object-position: left center;
  margin-top: -32px;
  margin-bottom: 8px;
  filter: invert(1) hue-rotate(180deg) brightness(1.5);
  transition: transform 0.3s ease;
}

.ft-desc {
  font-size: 15px;
  line-height: 1.8;
  color: #e5e7eb !important;
  margin-bottom: 32px;
  max-width: 340px;
}

/* Socials */
.ft-socials {
  display: flex;
  gap: 16px;
}

.ft-socials a {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  color: var(--white);
  transition: all 0.3s ease;
}

.ft-socials a:hover {
  background: var(--blue);
  border-color: var(--blue);
  transform: translateY(-3px);
  box-shadow: 0 8px 16px rgba(37, 99, 235, 0.2);
}

/* Links & Headings */
.ft-title {
  font-family: var(--font-head);
  font-size: 18px;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 24px;
  letter-spacing: 0.02em;
}

.ft-links,
.ft-contact {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ft-links li {
  margin-bottom: 16px;
}

.ft-links a {
  color: #9ca3af;
  text-decoration: none;
  font-size: 15px;
  transition: color 0.3s ease;
}

.ft-links a:hover {
  color: var(--blue-light);
}

/* Contact Info */
.ft-contact li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 16px;
  font-size: 15px;
  line-height: 1.6;
}

.ft-contact li a {
  color: #9ca3af;
  text-decoration: none;
  transition: color 0.3s ease;
}

.ft-contact li a:hover {
  color: var(--blue-light);
}

.ft-contact li svg {
  width: 18px;
  height: 18px;
  color: var(--blue-mid);
  flex-shrink: 0;
  margin-top: 3px;
}

/* Bottom Bar */
.ft-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  background: transparent;
}

.ft-bottom-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
  font-size: 14px;
}

.ft-copy {
  color: #9ca3af;
}

.ft-legal {
  display: flex;
  gap: 24px;
}

.ft-legal a {
  color: #9ca3af;
  text-decoration: none;
  transition: color 0.3s ease;
}

.ft-legal a:hover {
  color: var(--white);
}

/* Responsive */
@media (max-width: 1200px) {
  .ft-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .ft-bottom-inner {
    flex-direction: column;
    text-align: center;
    justify-content: center;
  }
}

@media (max-width: 768px) {
  .ft-trust-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .ft-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .ft-legal {
    flex-direction: column;
    gap: 12px;
  }
}



/* -----------------------------------------------
   LIGHT MODE FOOTER OVERRIDES
----------------------------------------------- */
body.light-mode .footer-premium {
  background: #ffffff !important;
  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
}

body.light-mode .ft-main,
body.light-mode .ft-bottom {
  background: transparent !important;
}

/* Reset all text to dark */
body.light-mode .footer-premium * {
  color: #374151;
}

body.light-mode .ft-logo {
  filter: none !important;
  height: 110px !important;
  max-width: 220px !important;
  width: auto !important;
  object-fit: contain !important;
  object-position: left center !important;
  margin-top: -32px !important;
  margin-bottom: 8px !important;
}

body.light-mode .ft-col {
  color: #374151 !important;
}

body.light-mode .ft-desc {
  color: #4b5563 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.light-mode .ft-title {
  color: #111827 !important;
}

body.light-mode .ft-links li {
  color: #4b5563 !important;
}

body.light-mode .ft-links a {
  color: #4b5563 !important;
}

body.light-mode .ft-links a:hover {
  color: var(--blue) !important;
}

body.light-mode .ft-contact li {
  color: #4b5563 !important;
}

body.light-mode .ft-contact li span {
  color: #4b5563 !important;
}

body.light-mode .ft-contact li a {
  color: #4b5563 !important;
}

body.light-mode .ft-contact li a:hover {
  color: var(--blue) !important;
}

body.light-mode .ft-contact li svg {
  color: var(--blue) !important;
}

body.light-mode .ft-copy {
  color: #6b7280 !important;
}

body.light-mode .ft-legal a {
  color: #6b7280 !important;
}

body.light-mode .ft-legal a:hover {
  color: #111827 !important;
}

body.light-mode .ft-bottom {
  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
  background: #f9fafb !important;
}

body.light-mode .ft-socials a {
  background: rgba(0, 0, 0, 0.04) !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  color: #374151 !important;
}

body.light-mode .ft-socials a:hover {
  background: var(--blue) !important;
  border-color: var(--blue) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 16px rgba(37, 99, 235, 0.2) !important;
}




/* ── THEME SWITCH HIDDEN (temporary) ─────────── */


/* ── NAV ARROWS — Always dark style ──────────── */
.t-arrow,
.cs-arrow {
  background: #0f172a !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  color: var(--blue) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25) !important;
}

.t-arrow:hover,
.cs-arrow:hover {
  background: var(--blue) !important;
  border-color: var(--blue) !important;
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(37, 99, 235, 0.35) !important;
}

.t-arrow svg,
.cs-arrow svg {
  stroke: currentColor;
}

/* ── CLIENTS SLIDER ── */
.clients-slider-wrap {
  position: relative;
  max-width: 1200px;
  margin: 0 auto 60px;
  padding: 0 50px;
}

.clients-track-wrap {
  overflow: hidden;
  width: 100%;
}

.clients-track {
  display: flex;
  align-items: center;
  transition: transform 0.5s ease-in-out;
}

.c2-item {
  flex: 0 0 auto;
  width: 160px;
  margin-right: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.c2-logo-wrap {
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}

.c2-logo {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  transition: all 0.3s;
}

.c2-item:hover .c2-logo {
  transform: scale(1.05);
}

.c2-name {
  font-size: 14px;
  color: #888;
}

.clients-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  cursor: pointer;
  z-index: 10;
  transition: all 0.3s ease;
}

.clients-arrow:hover {
  background: var(--blue, #2563eb);
  border-color: var(--blue, #2563eb);
}

.clients-prev {
  left: 0;
}

.clients-next {
  right: 0;
}

/* ── HERO TEXT SLIDER ── */
#hero-text-slider {
  display: grid;
  position: relative;
}

.hero-text-slide {
  grid-area: 1 / 1;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.8s ease, visibility 0.8s ease, transform 0.8s ease;
  transform: translateY(15px);
  pointer-events: none;
}

.hero-text-slide.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.hero-trust-text {
  margin-top: 24px;
  font-size: 14px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.7);
}

.hero-dots {
  display: flex;
  gap: 12px;
  margin-top: 32px;
}

.hero-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  cursor: pointer;
  transition: all 0.3s ease;
}

.hero-dot.active {
  background: var(--blue, #2563eb);
  transform: scale(1.2);
}

/* ── HERO VISUALS (Right Side) ── */
.hero-visuals {
  position: absolute;
  right: 5%;
  top: 50%;
  transform: translateY(-50%);
  width: min(750px, 48vw);
  height: 500px;
  z-index: 1;
  display: grid;
}

.hero-visual-slide {
  grid-area: 1 / 1;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.8s ease, visibility 0.8s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-visual-slide.active {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}

.hero-visual-slide img {
  width: 100%;
  height: 100%;
  max-height: 500px;
  object-fit: cover;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  transform: scale(1.0);
  transition: transform 10s ease-out;
}

.hero-visual-slide.active img {
  transform: scale(1.05);
}

@media (max-width: 1024px) {
  #home {
    flex-direction: column;
    align-items: center;
  }

  .hero-visuals {
    position: relative;
    top: auto;
    right: auto;
    transform: none;
    width: 100%;
    max-width: 700px;
    height: 400px;
    margin: 40px auto 0;
  }
}

@media (max-width: 768px) {
  #home {
    padding-top: 90px !important;
  }

  .hero-visuals {
    height: 300px;
    margin: 30px auto 0;
  }

  h1.hero-title {
    font-size: 32px !important;
    line-height: 1.2 !important;
  }

  .section-tag {
    font-size: 10px !important;
    padding: 6px 12px !important;
    /* white-space: normal removed */
    letter-spacing: 1px !important;
  }

  .hero-sub {
    font-size: 16px !important;
  }
}

@media (max-width: 480px) {
  #home {
    padding-top: 70px !important;
  }

  .hero-visuals {
    height: 220px;
    margin: 20px auto 0;
  }

  h1.hero-title {
    font-size: 26px !important;
  }

  .section-tag {
    font-size: 9px !important;
    padding: 4px 10px !important;
  }

  .hero-sub {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  .hero-content {
    width: 100%;
    padding: 0 10px;
  }
}

/* --- Logo Grid Container & Grid --- */
.logo-grid-container {
  max-width: 1240px;
  margin: 0 auto 80px;
  /* Added 80px bottom margin for spacing */
  padding: 0 6%;
}

.logo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 24px;
  justify-content: center;
}

/* Override existing c2-item for grid */
.logo-grid .c2-item {
  width: 100%;
  /* Override the 160px width from slider */
  margin-right: 0;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 8px;
  padding: 24px 16px;
  transition: all 0.3s ease;
  box-sizing: border-box;
}

.logo-grid .c2-item:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.04);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.logo-grid .c2-logo-wrap {
  height: 60px;
  margin-bottom: 16px;
}

.logo-grid .c2-logo {
  transition: transform 0.3s ease;
}

.logo-grid .c2-item:hover .c2-logo {
  transform: scale(1.05);
}

.logo-grid .c2-name {
  font-size: 14px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.7);
}

.logo-grid .c2-item:hover .c2-name {
  color: #fff;
}

/* --- WhatsApp Widget --- */
.confiable-wa-widget {
  position: fixed;
  bottom: 180px;
  /* Above chatbot and back-to-top */
  right: 32px;
  z-index: 9998;
}

.confiable-wa-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background-color: #25D366;
  color: #fff;
  border-radius: 50%;
  box-shadow: 0 4px 14px rgba(37, 211, 102, 0.4);
  text-decoration: none;
  transition: all 0.3s ease;
  position: relative;
}

.confiable-wa-link:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 20px rgba(37, 211, 102, 0.6);
  color: #fff;
}

.confiable-wa-bubble {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.confiable-wa-icon {
  width: 28px;
  height: 28px;
  fill: currentColor;
}

.confiable-wa-tooltip {
  position: absolute;
  right: 65px;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 13px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease, transform 0.3s ease;
  transform: translateX(10px);
}

.confiable-wa-link:hover .confiable-wa-tooltip {
  opacity: 1;
  transform: translateX(0);
}

@media (max-width: 768px) {
  .confiable-wa-widget {
    bottom: 150px;
    right: 20px;
  }
}

/* User requested: Saari headings ka font size 32 hona chaiye */
.section-title,
.hero-title,
.cs-title,
h1,
h2 {
  font-size: 32px !important;
}

/* User requested: Sub heading ka font size 17 px */
.section-sub,
.hero-sub,
h3,
h4 {
  font-size: 17px !important;
}

/* User requested: Hero section headline size increase */
.hero-title,
h1.hero-title,
#home .hero-title,
.hero-content h1 {
  font-size: clamp(40px, 6vw, 72px) !important;
}

/* User requested: Hero section headline size exactly 35px */
.hero-title,
h1.hero-title,
#home .hero-title,
.hero-content h1 {
  font-size: 35px !important;
}

/* User requested: Heading or subheading ke beech ka gap reduce kro */
.section-title,
.hero-title,
.cs-title,
h1,
h2 {
  margin-bottom: 8px !important;
}

.section-sub,
.hero-sub,
p.section-sub {
  margin-top: 0 !important;
}

/* DPDP hero migration: old #home split overrides removed */
#home {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 180px 6% 120px !important;
  min-height: 100vh !important;
}

.hero-slider {
  display: none !important;
}

.hero-content {
  width: 45% !important;
  max-width: none !important;
  position: relative !important;
  z-index: 2 !important;
}

.hero-visuals {
  position: relative !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  width: 50% !important;
  height: auto !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.hero-visual-slide {
  display: none;
}

.hero-visual-slide.active {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.hero-visual-slide img {
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

@media (max-width: 992px) {
  #home {
    flex-direction: column !important;
    padding-top: 150px !important;
    text-align: center !important;
    align-items: center !important;
  }

  .hero-content {
    width: 100% !important;
    max-width: none !important;
    text-align: center !important;
    margin: 0 auto !important;
  }

  .hero-text-slide {
    text-align: center !important;
  }

  .hero-actions {
    justify-content: center !important;
  }

  .hero-dots {
    justify-content: center !important;
  }

  .section-tag {
    margin-left: auto !important;
    margin-right: auto !important;
    justify-content: center !important;
  }

  .hero-visuals {
    width: 100% !important;
    margin-top: 50px !important;
  }
}

/* User requested: Center the Who Are We heading */
.about-header,
.about-title-large,
.about-desc-large {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* User requested: Fix visibility of 'Chat with Confiable' tooltip */
.confiable-wa-tooltip {
  color: #ffffff !important;
  background: rgba(17, 24, 39, 0.95) !important;
  /* Darker background for better contrast */
  font-weight: 500 !important;
}

/* User requested: Hide the 'Chat with Confiable' tooltip entirely */
.confiable-wa-tooltip {
  display: none !important;
}

/* User requested: Global Font Size Adjustments */

/* 1. Heading font should be 34px */
.section-title,
.hero-title,
.cs-title,
.about-title-large,
h1,
h2 {
  font-size: 34px !important;
}

/* 2. Subheading font should be 17px */
.section-sub,
.hero-sub,
p.section-sub,
.about-desc-large,
h3,
h4 {
  font-size: 17px !important;
}

/* 3. Headline (tags/labels) font size should be 10px */
.section-tag,
.hero-trust-text,
.pill-tag {
  font-size: 10px !important;
}

/* 4. Button size should be 14px */
.btn-primary,
.btn-premium,
.btn-secondary,
button,
.hero-actions a,
.chat-quick-btn {
  font-size: 14px !important;
}

/* User requested: p.hww-sub font size is 17px */
.hww-sub,
p.hww-sub,
.about-desc-large {
  font-size: 17px !important;
}

/* User requested: p.alliances-sub and p.cta-sub font size is 17px */
.alliances-sub,
p.alliances-sub,
.cta-sub,
p.cta-sub {
  font-size: 17px !important;
}

/* User requested: Card titles wale span font size is 20px */
.card-title-blue span,
.cs-title span,
.about-card h3 span {
  font-size: 20px !important;
}

/* User requested: Add background image to Why Choose Us section */
#why {
  background-image: url('../images/Trustus.png') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
  /* Parallax effect */
  position: relative !important;
}

#why::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  /* width: 100% removed from mobile buttons */
  height: 100% !important;
  background: rgba(17, 24, 39, 0.4) !important;
  /* Dark overlay to keep text readable */
  z-index: 0 !important;
}

#why>* {
  position: relative !important;
  z-index: 1 !important;
}

/* User requested: Fix background image for Why Choose Us section */
body.light-mode #why,
body:not(.light-mode) #why,
#why {
  background: url('../images/Trustus.png') no-repeat center center !important;
  background-size: cover !important;
  position: relative !important;
}

#why::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  /* width: 100% removed from mobile buttons */
  height: 100% !important;
  background: rgba(17, 24, 39, 0.75) !important;
  /* Dark overlay to make text pop */
  z-index: 0 !important;
}

body.light-mode #why .section-title,
body.light-mode #why .section-sub,
body.light-mode #why .section-tag,
body.light-mode #why h2,
body.light-mode #why p {
  color: #ffffff !important;
}

/* Ensure the cards keep their original text colors */
body.light-mode #why .wp-title {
  color: #111827 !important;
}

body.light-mode #why .wp-desc {
  color: #4b5563 !important;
}

#why>* {
  position: relative !important;
  z-index: 1 !important;
}

/* User requested: Reduce blank space above text */
.why-layout {
  align-items: flex-start !important;
}

#why .why-left {
  padding-top: 40px !important;
}

/* User requested: Text visibility increase (ALWAYS white on left side due to dark bg image) */
#why .why-left .section-title,
#why .why-left h2,
#why .why-left .section-sub,
#why .why-left p,
#why .why-left .section-tag {
  color: #ffffff !important;
}

/* Fix right side cards colors depending on mode */
body.light-mode #why .wp-title {
  color: #111827 !important;
}

body.light-mode #why .wp-desc {
  color: #4b5563 !important;
}

body:not(.light-mode) #why .wp-title {
  color: #ffffff !important;
}

body:not(.light-mode) #why .wp-desc {
  color: rgba(255, 255, 255, 0.7) !important;
}

/* User requested: Make Why Choose Us section smaller/less broad */
#why {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

#why .why-layout {
  gap: 40px !important;
}

#why .why-points {
  gap: 12px !important;
}

#why .why-point {
  padding: 16px 20px !important;
}

#why .why-left {
  padding-top: 20px !important;
}

/* Slightly reduce the icon size inside the cards to fit the smaller padding */
#why .wp-icon svg {
  width: 32px !important;
  height: 32px !important;
}

#why .wp-title {
  margin-bottom: 6px !important;
}

/* User requested: Use a darker overlay behind content for readability */
#why::before {
  background: rgba(17, 24, 39, 0.75) !important;
  /* Darker global overlay */
}

/* ---- USER REQUESTED: HEIGHT REDUCTION AND REMOVE PARALLAX EFFECT ---- */

#why {
  /* Reduce vertical padding to approximately 60-80px on desktop */
  padding-top: 70px !important;
  padding-bottom: 70px !important;

  /* Remove any fixed height or excessive min-height settings. Let height be determined by content. */
  min-height: 0 !important;
  height: auto !important;

  /* Keep the background image visible only behind the content area 
       Do not create a full-screen hero section effect. */
  background-attachment: scroll !important;
  background-size: cover !important;
  background-position: center !important;
}

/* Reduce vertical padding to approximately 40-60px on mobile */
@media (max-width: 768px) {
  #why {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
}

/* ==========================================================================
   GLOBAL MOBILE RESPONSIVENESS OVERRIDES
   Ensures the entire website works perfectly on screens < 768px
   ========================================================================== */

@media (max-width: 768px) {

  /* 1. ROOT & BODY DEFAULTS */
  html,
  body {
    overflow-x: hidden !important;
    /* width: 100% removed from mobile buttons */
    max-width: 100% !important;
  }

  /* 2. TYPOGRAPHY SCALING */
  h1,
  .hero-title,
  .sh-title,
  .article-title {
    font-size: 32px !important;
    line-height: 1.2 !important;
  }

  h2,
  .section-title,
  .about-title-large,
  .bento-header h2 {
    font-size: 26px !important;
    line-height: 1.3 !important;
  }

  h3,
  .bento-title,
  .tech-item h4 {
    font-size: 20px !important;
  }

  p,
  .hero-sub,
  .section-sub,
  .article-content p,
  .bento-desc {
    font-size: 15px !important;
    line-height: 1.6 !important;
  }

  /* 3. PADDING & MARGINS (Global Sections) */
  section {
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }

  .hero,
  #home,
  .full-hero,
  .article-hero {
    padding-top: 120px !important;
    padding-bottom: 60px !important;
    height: auto !important;
    min-height: auto !important;
  }

  .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* 4. NAVBAR & MOBILE MENU */
  .nav-links {
    display: none !important;
    /* Hide desktop links */
  }

  .hamburger {
    display: flex !important;
    /* Show hamburger */
  }

  .mobile-menu {
    display: none !important;
    position: fixed !important;
    top: 70px !important;
    left: 0 !important;
    height: calc(100vh - 70px) !important;
    background: var(--bg-color, #0a0f1c) !important;
    flex-direction: column !important;
    padding: 20px !important;
    overflow-y: auto !important;
    z-index: 999 !important;
  }

  .mobile-menu.open,
  .mobile-menu.nav-active {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.light-mode .mobile-menu {
    background: #ffffff !important;
  }

  body.light-mode .mobile-menu a,
  body.light-mode .mobile-menu .mob-dropdown-toggle {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
  }

  body.light-mode .mobile-menu .mob-dropdown-menu a {
    color: #334155 !important;
    -webkit-text-fill-color: #334155 !important;
  }

  /* 5. GRID & FLEX CONTAINER FLATTENING */
  /* Force grids to single column */
  .features-grid,
  .why-grid,
  .blog-grid,
  .bento-grid,
  .tech-grid,
  .related-grid,
  .industries-grid,
  .service-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  /* Force flex rows to stack */
  .about-content,
  .contact-split,
  .cta-inner,
  .testimonial-row,
  .footer-content,
  .sh-actions,
  .popup-form-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
  }

  /* Subpage layout rows */
  .subpage-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 30px !important;
  }

  /* Ensure image is above text on mobile even if row-reverse was used */
  .subpage-row.reverse {
    flex-direction: column !important;
  }

  /* 6. IMAGES & CARDS */
  img,
  video {
    max-width: 100% !important;
    height: auto !important;
  }

  .bento-card,
  .feature-card,
  .team-card,
  .blog-card,
  .tech-card,
  .contrast-card {
    /* width: 100% removed from mobile buttons */
    margin: 0 !important;
  }

  /* Specific overrides for 'Why Choose Us' and Subpage Images */
  .why-right img,
  .about-right img,
  .subpage-img img {
    /* width: 100% removed from mobile buttons */
    min-width: 100% !important;
    height: auto !important;
  }

  /* 7. PARTNER LOGOS SCROLL */
  .partners-track {
    animation: scroll 15s linear infinite !important;
  }

  .partner-logo {
    height: 30px !important;
    margin: 0 15px !important;
  }

  /* 8. FOOTER */
  footer {
    padding-top: 50px !important;
  }

  .footer-col {
    /* width: 100% removed from mobile buttons */
    margin-bottom: 30px !important;
    text-align: center !important;
  }

  .social-links {
    justify-content: center !important;
  }

  .footer-bottom {
    flex-direction: column !important;
    text-align: center !important;
    gap: 15px !important;
  }

  /* 10. BUTTONS */
  .btn-primary,
  .btn-ghost,
  .btn-cta,
  .popup-submit-btn,
  .btn-premium {
    /* width: 100% removed from mobile buttons */
    text-align: center !important;
    padding: 12px 20px !important;
    font-size: 16px !important;
  }

  /* 11. BLOG DETAIL SPECIFIC */
  .article-hero {
    padding: 120px 20px 60px !important;
  }

  .article-nav {
    flex-direction: column !important;
    gap: 20px !important;
    text-align: center !important;
  }

  .article-meta-large {
    flex-direction: column !important;
    gap: 10px !important;
  }

  .nav-btn {
    justify-content: center !important;
  }

  /* 12. FLOATING WIDGETS FIX */
  #back-to-top {
    bottom: 20px !important;
    right: 20px !important;
    width: 50px !important;
    height: 50px !important;
  }

  #cb-wrap {
    bottom: 85px !important;
    right: 20px !important;
  }

  .cb-toggle {
    width: 50px !important;
    height: 50px !important;
  }

  .confiable-wa-widget {
    bottom: 150px !important;
    right: 20px !important;
  }

  .confiable-wa-link {
    width: 50px !important;
    height: 50px !important;
  }

  /* 13. SECTION TAGS / PILLS OVERFLOW FIX */
  .section-tag,
  .pill-tag,
  .sh-eyebrow {
    max-width: 100% !important;
    white-space: normal !important;
    height: auto !important;
    text-align: center !important;
    box-sizing: border-box !important;
    width: auto !important;
    /* Override max-content if it breaks */
    display: inline-block !important;
    /* Better than flex if it forces wide width */
  }
}



/* ==========================================================================
   USER REQUESTED STRICT BUTTON & TAG FIXES (NO WRAP)
   ========================================================================== */
.btn-primary,
.btn-ghost,
.btn-cta,
.popup-submit-btn,
.btn-premium,
.btn-discover,
.btn-f,
.btn-white,
.section-tag,
.pill-tag,
.badge,
.sh-eyebrow,
.pill,
.nav-links a {
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: fit-content !important;
  width: auto !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  /* Safety fallback */
}

@media (max-width: 768px) {

  /* Auto adjust padding and font sizes for mobile to ensure fit-content doesn't overflow the viewport */
  .btn-primary,
  .btn-ghost,
  .btn-cta,
  .popup-submit-btn,
  .btn-premium,
  .btn-discover,
  .btn-f,
  .btn-white {
    padding: 10px 16px !important;
    font-size: 14px !important;
    /* Remove any forced 100% width from previous mobile overrides */
    width: fit-content !important;
    max-width: 100% !important;
  }

  .section-tag,
  .pill-tag,
  .badge,
  .sh-eyebrow,
  .pill {
    padding: 6px 12px !important;
    font-size: 11px !important;
    letter-spacing: 0.5px !important;
    width: fit-content !important;
    max-width: 100% !important;
  }
}


/* Mobile Safari / iOS Fixes */
@media (max-width: 768px) {

  /* Disable background-attachment fixed on mobile as it breaks on iOS Safari */
  .parallax-cta,
  .cta-tech-bg,
  .full-hero,
  #cta,
  .solutions-hero-section {
    background-attachment: scroll !important;
    background-position: center center !important;
  }
}


/* CRITICAL FIX FOR CONTAINER BLOWOUT CAUSING TEXT CUT-OFF */
@media (max-width: 768px) {

  .btn-primary,
  .btn-ghost,
  .btn-cta,
  .popup-submit-btn,
  .btn-premium,
  .btn-discover,
  .btn-f,
  .btn-white,
  .section-tag,
  .pill-tag,
  .badge,
  .sh-eyebrow,
  .pill,
  .nav-links a {
    min-width: 0 !important;
    /* Overrides the fit-content that breaks mobile screens */
    max-width: 100% !important;
    /* Crucial to prevent horizontal stretching */
    width: 100% !important;
    /* Let them scale naturally or fill container so text truncates cleanly */
  }

  .section-tag,
  .pill-tag,
  .badge,
  .sh-eyebrow,
  .pill {
    width: auto !important;
    /* Badges should not be full width */
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* Ensure containers don't stretch beyond screen */
  .hero-content,
  .hero-text-slide,
  .hero-grid,
  .container {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}


/* ---- USER REQUESTED: WHY CHOOSE US IMAGE BACKGROUND CARD ---- */
#why {
  position: relative !important;
  background-image: url('../images/why-choose-us-bg.png') !important;
  background-size: cover !important;
  background-position: center !important;
  background-color: #111827 !important;
  /* Fallback */
  overflow: hidden !important;
  /* Ensure image stays inside boundaries/rounded corners */
  /* Do not change width/height/padding here to preserve existing */
}

/* 60-70% dark overlay for readability */
#why::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(17, 24, 39, 0.70) !important;
  /* 70% dark overlay */
  z-index: 0 !important;
  pointer-events: none !important;
}

#why>* {
  position: relative !important;
  z-index: 1 !important;
}

/* ==========================================================================
   USER REQUESTED STRICT SUBHEADING FIX (ABSOLUTE 17PX)
   ========================================================================== */
.section-sub,
.hero-sub,
.feature-sub,
.sh-sub,
.cta-sub,
.hww-sub,
.alliances-sub,
p.section-sub,
p.feature-sub,
p.hww-sub,
p.alliances-sub,
p.cta-sub,
.about-desc-large,
h3,
h4 {
  font-size: 17px !important;
}

/* ==========================================================================
   CONSULTATION MODAL POPUP BASE STYLES
   ========================================================================== */
.consultation-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(5, 6, 8, 0.6);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  padding: 20px;
}

.consultation-modal-overlay.active {
  opacity: 1;
  pointer-events: auto;
}

.consultation-modal-card {
  width: 960px;
  max-width: 100%;
  background: #0f172a;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
  position: relative;
  transform: scale(0.95);
  transition: transform 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.consultation-modal-overlay.active .consultation-modal-card {
  transform: scale(1);
}

.consultation-modal-close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
  border: none;
  color: #94a3b8;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  transition: background 0.2s, color 0.2s;
}

.consultation-modal-close:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

.consultation-modal-grid {
  display: grid;
  grid-template-columns: 42% 58%;
  min-height: 520px;
}

.consultation-modal-info {
  background: linear-gradient(135deg, #0d1527 0%, #172544 100%);
  color: #ffffff;
  padding: 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.modal-logo-img {
  height: 170px;
  width: auto;
  object-fit: contain;
  margin-bottom: 30px;
  filter: invert(1) hue-rotate(180deg) brightness(1.5);
}

.info-title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 16px;
  color: #ffffff;
}

.info-text {
  font-size: 15px;
  line-height: 1.5;
  opacity: 0.85;
  margin-bottom: 30px;
}

.info-features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.info-features li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  font-weight: 500;
}

.check-icon {
  width: 18px;
  height: 18px;
  color: #3b82f6;
  flex-shrink: 0;
}

.consultation-modal-form-wrapper {
  background: #0f172a;
  padding: 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.free-badge {
  display: inline-block;
  width: fit-content;
  padding: 6px 12px;
  border-radius: 99px;
  background: rgba(255, 255, 255, 0.05);
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  margin-bottom: 24px;
}

.consultation-modal-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.form-group label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: #94a3b8;
}

.form-group input,
.form-group select {
  width: 100%;
  padding: 12px 16px;
  border-radius: 8px;
  border: 1px solid #334155;
  background: #1e293b;
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  transition: border-color 0.2s, box-shadow 0.2s;
  box-sizing: border-box;
}

.form-group input::placeholder {
  color: #64748b;
}

.form-group input:focus,
.form-group select:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25);
}

.modal-submit-btn {
  margin-top: 10px;
  padding: 14px;
  border-radius: 8px;
  border: none;
  background: #2563eb;
  color: #ffffff;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}

.modal-submit-btn:hover {
  background: #1d4ed8;
  box-shadow: 0 4px 16px rgba(37, 99, 235, 0.25);
  transform: translateY(-1px);
}

@media (max-width: 768px) {
  .consultation-modal-overlay {
    align-items: flex-start !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .consultation-modal-card {
    margin: 30px auto !important;
  }

  .consultation-modal-grid {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .consultation-modal-info {
    padding: 24px 20px !important;
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }

  .consultation-modal-form-wrapper {
    padding: 24px 20px !important;
  }

  .info-title {
    font-size: 22px !important;
    margin-bottom: 12px !important;
  }

  .info-text {
    font-size: 14px !important;
    margin-bottom: 20px !important;
  }

  .info-features {
    gap: 10px !important;
  }

  .free-badge {
    margin-bottom: 16px !important;
  }

  .consultation-modal-form {
    gap: 12px !important;
  }

  .form-group input,
  .form-group select {
    padding: 10px 14px !important;
    font-size: 13px !important;
  }

  .modal-submit-btn {
    padding: 12px !important;
    font-size: 14px !important;
  }

  .modal-logo-img {
    height: 40px;
    margin-bottom: 16px !important;
  }
}


/* ==========================================================================
   RESPONSIVE DESKTOP NAVBAR & EMAIL CLIPPING RESOLUTION
   ========================================================================== */
@media (max-width: 1650px) {
  .nav-email-text {
    display: none !important;
  }
}

/* Medium Screens (Compact Desktop View) */
@media (min-width: 1025px) and (max-width: 1650px) {
  nav {
    height: 140px !important;
    padding: 0 4% !important;
  }

  nav.scrolled {
    height: 100px !important;
  }

  .logo-img {
    height: 110px !important;
  }

  nav.scrolled .logo-img {
    height: 85px !important;
  }

  .nav-links {
    gap: 6px !important;
  }

  .nav-links a {
    padding: 6px 10px !important;
    font-size: 13.5px !important;
  }
}

/* Tablet & Mobile Breakpoint (Switch to Hamburger Menu) */
@media (max-width: 1024px) {
  nav {
    height: 100px !important;
    padding: 0 5% !important;
  }

  .logo-img {
    height: 80px !important;
  }

  nav.scrolled {
    height: 85px !important;
  }

  nav.scrolled .logo-img {
    height: 65px !important;
  }

  .nav-links {
    display: none !important;
  }

  .hamburger {
    display: flex !important;
    position: absolute;
    right: 5% !important;
    z-index: 1001;
  }
}
/* ==========================================================================
   CUSTOM ELEMENTS PRE-UPGRADE STYLES (FOMC & CLS PREVENTION)
   ========================================================================== */
app-navbar {
  display: block;
  height: 0;
}

app-footer {
  display: block;
  min-height: 480px;
  background-color: #050608 !important; /* Default dark background for footer */
}
