/* ----------------------------------------------------------------
	Custom CSS

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Handling Updates
-----------------------------------------------------------------*/

/* ===================================
   GLOBAL IMPROVEMENTS
=================================== */
body {
  font-family: 'DM Sans', sans-serif;
  color: #374151;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  color: #1f2937;
}

/* ===================================
   COLOR VARIABLES - LOGO COLORS
=================================== */
:root {
  /* Colores del Logo */
  --primary-red: #992b3b;
  --secondary-gray: #818485;

  /* Variaciones para efectos */
  --primary-red-light: #b33b4f;
  --primary-red-dark: #7a2230;
  --secondary-gray-light: #9a9b9c;
  --secondary-gray-dark: #5f6061;

  /* Gradientes corporativos */
  --primary-gradient: linear-gradient(135deg, #992b3b 0%, #b33b4f 100%);
  --primary-gradient-reverse: linear-gradient(135deg, #b33b4f 0%, #992b3b 100%);
  --secondary-gradient: linear-gradient(135deg, #818485 0%, #9a9b9c 100%);
  --logo-gradient: linear-gradient(135deg, #992b3b 0%, #818485 100%);
}

/* ===================================
   HEADER MODERN STYLE
=================================== */
.header-modern-style {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08);
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.btn-header-modern {
  display: inline-flex;
  align-items: center;
  padding: 10px 24px;
  background: var(--primary-gradient);
  color: white;
  border-radius: 50px;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(153, 43, 59, 0.3);
}

.btn-header-modern:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(153, 43, 59, 0.5);
  color: white;
  background: var(--primary-red-dark);
}

/* ===================================
   HERO SECTION MODERN
=================================== */
.hero-modern {
  /*min-height: 100vh;
  padding: 80px 0 60px;*/
}

/* Hero Light Version - Fondo Claro */
.hero-light {
  background: linear-gradient(180deg, #f8f9fa 0%, #ffffff 100%);
}

/* Animated Background Shapes - Versión Clara */
.hero-shapes-light {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1;
  opacity: 0.6;
}

.hero-shapes-light .shape-light {
  position: absolute;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(153, 43, 59, 0.08), rgba(129, 132, 133, 0.08));
  animation: float 20s infinite ease-in-out;
}

.hero-shapes-light .shape-light.shape-1 {
  width: 400px;
  height: 400px;
  top: -10%;
  right: -5%;
  animation-delay: 0s;
}

.hero-shapes-light .shape-light.shape-2 {
  width: 300px;
  height: 300px;
  bottom: -10%;
  left: -5%;
  animation-delay: 7s;
}

.hero-shapes-light .shape-light.shape-3 {
  width: 200px;
  height: 200px;
  top: 40%;
  left: 60%;
  animation-delay: 4s;
}

@keyframes float {
  0%, 100% {
    transform: translateY(0) translateX(0) rotate(0deg);
  }
  25% {
    transform: translateY(-30px) translateX(20px) rotate(5deg);
  }
  50% {
    transform: translateY(-60px) translateX(-20px) rotate(-5deg);
  }
  75% {
    transform: translateY(-30px) translateX(10px) rotate(3deg);
  }
}

/* Modern Badge - Light Version */
.badge-modern-light {
  display: inline-flex;
  align-items: center;
  padding: 8px 20px;
  background: rgba(153, 43, 59, 0.1);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(153, 43, 59, 0.2);
  border-radius: 50px;
  color: var(--primary-red);
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 4px 16px rgba(153, 43, 59, 0.1);
}

/* Text Gradient - Red Version */
.text-gradient-red {
  background: var(--primary-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 900;
}

/* Hero Buttons - Light Version */
.btn-hero-primary {
  background: var(--logo-gradient);
  color: white;
  border: none;
  font-weight: 600;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.btn-hero-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 40px rgba(153, 43, 59, 0.4) !important;
  background: var(--primary-red-dark);
  color: white;
}

.btn-hero-secondary {
  background: white;
  color: var(--primary-red);
  border: 2px solid var(--primary-red);
  font-weight: 600;
  transition: all 0.3s ease;
}

.btn-hero-secondary:hover {
  background: var(--primary-red);
  color: white;
  border-color: var(--primary-red);
  transform: translateY(-3px);
  box-shadow: 0 15px 40px rgba(153, 43, 59, 0.3);
}

/* Icon List - Light Version */
.iconlist-modern-light li {
  display: flex;
  align-items: center;
  font-size: 15px;
  color: #374151;
}

.iconlist-modern-light i {
  font-size: 18px;
  color: var(--primary-red);
}

/* Fade In Up Animation */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in-up {
  animation: fadeInUp 0.8s ease-out forwards;
  opacity: 0;
}

/* ===================================
   SERVICES SECTION MODERN - HYBRID DESIGN
=================================== */
.service-card-modern {
  background: white;
  border-radius: 20px;
  padding: 0;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid #f0f0f0;
  border-top: 3px solid var(--primary-red);
  height: 100%;
  position: relative;
  overflow: hidden;
  min-height: 400px;
}

/* Image background layer */
.service-card-modern::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1;
}

/* Dark neutral overlay */
.service-card-modern::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    135deg,
    rgba(0, 0, 0, 0.65) 0%,
    rgba(31, 41, 55, 0.70) 100%
  );
  transition: all 0.4s ease;
  z-index: 2;
}

/* Hover effects */
.service-card-modern:hover::before {
  transform: scale(1.08);
}

.service-card-modern:hover::after {
  background: linear-gradient(
    135deg,
    rgba(0, 0, 0, 0.55) 0%,
    rgba(31, 41, 55, 0.60) 100%
  );
}

.service-card-modern:hover {
  transform: translateY(-12px);
  box-shadow:
    0 25px 70px rgba(153, 43, 59, 0.30),
    0 -3px 15px rgba(153, 43, 59, 0.5);
  border-color: rgba(153, 43, 59, 0.3);
  border-top-color: var(--primary-red);
  border-top-width: 4px;
}

/* Content container */
.service-content {
  position: relative;
  z-index: 3;
  padding: 40px 30px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 400px;
}

.service-icon-modern {
  width: 60px;
  height: 60px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
  border-radius: 12px;
  margin-bottom: 20px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  transition: all 0.3s ease;
  position: relative;
}

.service-card-modern:hover .service-icon-modern {
  background: rgba(153, 43, 59, 0.85);
  border-color: rgba(153, 43, 59, 0.3);
  transform: scale(1.05);
  box-shadow: 0 8px 20px rgba(153, 43, 59, 0.4);
}

.service-icon-modern i {
  font-size: 28px;
  color: white;
  transition: all 0.3s ease;
}

.service-card-modern:hover .service-icon-modern i {
  transform: scale(1.1);
}

/* Text styling for hybrid design */
.service-card-modern h4 {
  color: white;
  font-weight: 700;
  font-size: 22px;
  margin-bottom: 15px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.service-card-modern p {
  color: rgba(255, 255, 255, 0.95);
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 0;
  text-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);
}

/* Individual service backgrounds */
.service-card-modern.service-1::before {
  background-image: url('../images/service-coding.jpg');
}

.service-card-modern.service-2::before {
  background-image: url('../images/service-cloud.jpg');
}

.service-card-modern.service-3::before {
  background-image: url('../images/service-web.jpg');
}

.service-card-modern.service-4::before {
  background-image: url('../images/service-rpa.jpg');
}

/* ===================================
   TECH STACK SECTION
=================================== */
.tech-item {
  text-align: center;
  padding: 20px;
  transition: all 0.3s ease;
}

.tech-item:hover {
  transform: translateY(-5px);
}

.tech-logo {
  width: 80px;
  height: 80px;
  margin: 0 auto 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  border-radius: 15px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}

.tech-item:hover .tech-logo {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.tech-logo img {
  max-width: 50px;
  max-height: 50px;
}

/* ===================================
   BENEFITS SECTION - GLASSMORPHISM PREMIUM
=================================== */
.benefit-card-glass {
  position: relative;
  border-radius: 28px;
  padding: 45px 35px;
  text-align: center;
  height: 100%;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.3);
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow:
    0 8px 32px rgba(31, 38, 135, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.5),
    inset 0 -1px 0 rgba(255, 255, 255, 0.2);
}

/* Animated gradient border */
.glass-border-gradient {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 28px;
  padding: 2px;
  background: linear-gradient(135deg, transparent, transparent);
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity 0.6s ease;
  pointer-events: none;
}

/* Red variant border */
.glass-variant-red .glass-border-gradient {
  background: linear-gradient(135deg,
    #992b3b 0%,
    #c13a4f 25%,
    #992b3b 50%,
    #c13a4f 75%,
    #992b3b 100%);
  background-size: 200% 200%;
  animation: border-rotate 4s linear infinite;
}

/* Gray variant border */
.glass-variant-gray .glass-border-gradient {
  background: linear-gradient(135deg,
    #5f6061 0%,
    #818485 25%,
    #9a9b9c 50%,
    #818485 75%,
    #5f6061 100%);
  background-size: 200% 200%;
  animation: border-rotate 4s linear infinite;
}

@keyframes border-rotate {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 200% 50%;
  }
}

/* Glow effect */
.glass-glow {
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  opacity: 0;
  transition: opacity 0.6s ease;
  pointer-events: none;
}

.glass-variant-red .glass-glow {
  background: radial-gradient(circle,
    rgba(153, 43, 59, 0.3) 0%,
    transparent 70%);
}

.glass-variant-gray .glass-glow {
  background: radial-gradient(circle,
    rgba(129, 132, 133, 0.3) 0%,
    transparent 70%);
}

/* Hover effects */
.benefit-card-glass:hover {
  transform: translateY(-18px) scale(1.03);
  background: rgba(255, 255, 255, 0.35);
  border-color: rgba(255, 255, 255, 0.5);
  box-shadow:
    0 25px 60px rgba(31, 38, 135, 0.25),
    0 0 40px rgba(153, 43, 59, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.7),
    inset 0 -1px 0 rgba(255, 255, 255, 0.3);
}

.benefit-card-glass:hover .glass-border-gradient {
  opacity: 1;
}

.benefit-card-glass:hover .glass-glow {
  opacity: 1;
  animation: glow-pulse 2s ease-in-out infinite;
}

@keyframes glow-pulse {
  0%, 100% {
    opacity: 0.6;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.1);
  }
}

/* Content wrapper */
.benefit-content-glass {
  position: relative;
  z-index: 5;
}

/* Floating icon with glow */
.benefit-icon-glass {
  width: 90px;
  height: 90px;
  margin: 0 auto 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  border-radius: 22px;
  border: 2px solid rgba(255, 255, 255, 0.4);
  position: relative;
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow:
    0 8px 32px rgba(31, 38, 135, 0.2),
    inset 0 2px 0 rgba(255, 255, 255, 0.3),
    inset 0 -2px 0 rgba(0, 0, 0, 0.05);
}

/* Icon glow background */
.icon-glow-effect {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
  border-radius: 22px;
  opacity: 0;
  transition: opacity 0.5s ease;
}

.glass-variant-red .icon-glow-effect {
  background: radial-gradient(circle,
    rgba(153, 43, 59, 0.4) 0%,
    transparent 70%);
}

.glass-variant-gray .icon-glow-effect {
  background: radial-gradient(circle,
    rgba(129, 132, 133, 0.4) 0%,
    transparent 70%);
}

.benefit-icon-glass i {
  font-size: 42px;
  position: relative;
  z-index: 2;
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  animation: float-icon 3s ease-in-out infinite;
}

.glass-variant-red .benefit-icon-glass i {
  color: #992b3b;
  filter: drop-shadow(0 2px 8px rgba(153, 43, 59, 0.3));
}

.glass-variant-gray .benefit-icon-glass i {
  color: #5f6061;
  filter: drop-shadow(0 2px 8px rgba(95, 96, 97, 0.3));
}

@keyframes float-icon {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}

/* Icon hover effects */
.benefit-card-glass:hover .benefit-icon-glass {
  transform: scale(1.12) translateY(-8px);
  background: rgba(255, 255, 255, 0.35);
  border-color: rgba(255, 255, 255, 0.6);
  box-shadow:
    0 20px 60px rgba(31, 38, 135, 0.3),
    0 0 40px rgba(153, 43, 59, 0.2),
    inset 0 3px 0 rgba(255, 255, 255, 0.5),
    inset 0 -3px 0 rgba(0, 0, 0, 0.08);
}

.benefit-card-glass:hover .icon-glow-effect {
  opacity: 1;
  animation: icon-glow-pulse 1.5s ease-in-out infinite;
}

@keyframes icon-glow-pulse {
  0%, 100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.8;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.2);
    opacity: 1;
  }
}

.benefit-card-glass:hover .benefit-icon-glass i {
  animation: none;
  transform: scale(1.15) rotate(-8deg);
}

.glass-variant-red .benefit-card-glass:hover .benefit-icon-glass i {
  color: #7a2230;
  filter: drop-shadow(0 4px 16px rgba(153, 43, 59, 0.5));
}

.glass-variant-gray .benefit-card-glass:hover .benefit-icon-glass i {
  color: #4a4b4c;
  filter: drop-shadow(0 4px 16px rgba(95, 96, 97, 0.5));
}

/* Text styling */
.benefit-card-glass h5 {
  color: #1f2937;
  font-weight: 700;
  font-size: 22px;
  margin-bottom: 15px;
  transition: all 0.3s ease;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
}

.benefit-card-glass p {
  color: #374151;
  font-size: 15px;
  line-height: 1.7;
  transition: all 0.3s ease;
}

.benefit-card-glass:hover h5 {
  transform: translateY(-3px);
  color: #0f172a;
}

.benefit-card-glass:hover p {
  color: #1f2937;
}

/* ===================================
   CONTACT FORM IMPROVEMENTS
=================================== */
.contact-split {
  border-radius: 25px !important;
  overflow: hidden;
  border: 1px solid #e5e7eb;
}

/* Panel lateral moderno con degradado corporativo rojo-gris */
.contact-panel-modern {
  background: linear-gradient(135deg, #992b3b 0%, #7a2230 30%, #5f6061 70%, #818485 100%);
  background-size: 200% 200%;
  animation: contact-gradient-shift 15s ease infinite;
  position: relative;
  overflow: hidden;
}

@keyframes contact-gradient-shift {
  0%, 100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}

/* Patrón de fondo con efectos de brillo */
.contact-panel-modern::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(193, 58, 79, 0.25) 0%, transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(154, 155, 156, 0.2) 0%, transparent 50%),
    radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.03) 0%, transparent 60%);
  pointer-events: none;
}

.contact-icon-modern {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
  border-radius: 14px;
  flex-shrink: 0;
  border: 1px solid rgba(255, 255, 255, 0.25);
  transition: all 0.3s ease;
  box-shadow:
    0 4px 15px rgba(0, 0, 0, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.contact-icon-modern:hover {
  background: rgba(255, 255, 255, 0.25);
  border-color: rgba(255, 255, 255, 0.4);
  transform: scale(1.05);
  box-shadow:
    0 6px 20px rgba(0, 0, 0, 0.15),
    0 0 20px rgba(255, 255, 255, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

.contact-icon-modern i {
  font-size: 20px;
  color: white;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
  transition: all 0.3s ease;
}

.contact-icon-modern:hover i {
  transform: scale(1.1);
}

.form-control,
.form-select {
  padding: 14px 20px;
  border-radius: 12px;
  border: 2px solid #e5e7eb;
  transition: all 0.3s ease;
  background: white;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--primary-red);
  box-shadow: 0 0 0 4px rgba(153, 43, 59, 0.1);
  transform: translateY(-1px);
  background: white;
}

/* ===================================
   FOOTER MODERN PREMIUM
=================================== */
.footer-modern-premium {
  background: linear-gradient(135deg, #0f1419 0%, #1a1f26 100%);
  color: white;
  position: relative;
}

/* Patrón de fondo sutil */
.footer-modern-premium::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image:
    radial-gradient(circle at 10% 20%, rgba(153, 43, 59, 0.08) 0%, transparent 50%),
    radial-gradient(circle at 90% 80%, rgba(129, 132, 133, 0.05) 0%, transparent 50%);
  pointer-events: none;
}

.footer-modern-premium a {
  color: rgba(255, 255, 255, 0.7);
  transition: all 0.3s ease;
  text-decoration: none;
}

.footer-modern-premium a:hover {
  color: var(--primary-red-light);
  padding-left: 5px;
}

.footer-modern-premium h5,
.footer-modern-premium h6 {
  color: white;
  position: relative;
}

.social-icon-modern {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  margin: 0 6px;
  transition: all 0.3s ease;
}

.social-icon-modern:hover {
  background: var(--logo-gradient);
  border-color: transparent;
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(153, 43, 59, 0.4);
}

.social-icon-modern i {
  color: white;
  font-size: 20px;
}

/* ===================================
   SCROLL ANIMATIONS
=================================== */
.scroll-animate {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s ease-out;
}

.scroll-animate.active {
  opacity: 1;
  transform: translateY(0);
}

/* ===================================
   SECTION HEADERS & LABELS
=================================== */
/* Etiquetas de sección modernas */
.section-label {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 15px;
}

/* Decorador de línea debajo del título */
.section-title-decorated::after {
  content: '';
  display: block;
  width: 60px;
  height: 3px;
  background: var(--logo-gradient);
  margin: 20px auto 0;
  border-radius: 3px;
}

/* ===================================
   ADDITIONAL ACCENT STYLES
=================================== */
/* Usar el gris corporativo para acentos secundarios */
.text-accent-gray {
  color: var(--secondary-gray);
}

.bg-accent-gray {
  background-color: var(--secondary-gray-light);
}

/* Botón alternativo con gris */
.btn-secondary-modern {
  background: var(--secondary-gradient);
  color: white;
  border: none;
  padding: 12px 30px;
  border-radius: 50px;
  font-weight: 600;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(129, 132, 133, 0.3);
}

.btn-secondary-modern:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(129, 132, 133, 0.5);
  background: var(--secondary-gray-dark);
  color: white;
}

/* Líneas divisorias con colores corporativos */
.divider-red {
  width: 60px;
  height: 3px;
  background: var(--primary-gradient);
  margin: 20px auto;
}

/* Textos con color corporativo */
.text-brand-red {
  color: var(--primary-red);
}

.text-brand-gray {
  color: var(--secondary-gray);
}

/* Hover en enlaces con color corporativo */
a.link-brand:hover {
  color: var(--primary-red) !important;
}

/* Cards con borde sutil en hover */
.card-hover-border {
  border: 1px solid transparent;
  transition: all 0.3s ease;
}

.card-hover-border:hover {
  border-color: rgba(153, 43, 59, 0.2);
}

/* ===================================
   TECH CAROUSEL - INFINITE SCROLL
=================================== */
.tech-carousel-wrapper {
  width: 100%;
  overflow: hidden;
  position: relative;
  padding: 30px 0;
}

/* Gradient fade on sides */
.tech-carousel-wrapper::before,
.tech-carousel-wrapper::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100px;
  z-index: 10;
  pointer-events: none;
}

.tech-carousel-wrapper::before {
  left: 0;
  background: linear-gradient(to right, #f8f9fa 0%, transparent 100%);
}

.tech-carousel-wrapper::after {
  right: 0;
  background: linear-gradient(to left, #f8f9fa 0%, transparent 100%);
}

.tech-carousel {
  display: flex;
  gap: 60px;
  animation: scroll-infinite 40s linear infinite;
  width: fit-content;
}

/* Pause on hover */
.tech-carousel-wrapper:hover .tech-carousel {
  animation-play-state: paused;
}

@keyframes scroll-infinite {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.tech-carousel-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-width: 160px;
  transition: all 0.3s ease;
}

.tech-logo-carousel {
  width: 150px;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  border-radius: 20px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

/* Subtle gradient background */
.tech-logo-carousel::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(153, 43, 59, 0.03) 0%, rgba(129, 132, 133, 0.03) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.tech-carousel-item:hover .tech-logo-carousel::before {
  opacity: 1;
}

.tech-logo-carousel i {
  font-size: 65px;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  z-index: 2;
}

/* Hover Effects */
.tech-carousel-item:hover .tech-logo-carousel {
  transform: translateY(-10px) scale(1.05);
  box-shadow:
    0 20px 50px rgba(0, 0, 0, 0.15),
    0 0 0 1px rgba(153, 43, 59, 0.1);
}

.tech-carousel-item:hover .tech-logo-carousel i {
  transform: scale(1.1) rotate(5deg);
  filter: brightness(1.1);
}

.tech-carousel-item h6 {
  color: #374151;
  font-size: 14px;
  font-weight: 600;
  transition: all 0.3s ease;
}

.tech-carousel-item:hover h6 {
  color: var(--primary-red);
  transform: translateY(-2px);
}

/* Responsive adjustments for carousel */
@media (max-width: 768px) {
  .tech-carousel {
    gap: 40px;
    animation: scroll-infinite 30s linear infinite;
  }

  .tech-carousel-item {
    min-width: 120px;
  }

  .tech-logo-carousel {
    width: 90px;
    height: 90px;
  }

  .tech-logo-carousel i {
    font-size: 50px;
  }

  .tech-carousel-wrapper::before,
  .tech-carousel-wrapper::after {
    width: 60px;
  }
}

/* ===================================
   RESPONSIVE ADJUSTMENTS
=================================== */
@media (max-width: 768px) {
  .hero-modern {
    min-height: auto;
    padding: 40px 0 30px;
  }

  /* Reduce section spacing in mobile */
  .page-section {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }

  .hero-shapes-light .shape-light {
    opacity: 0.4;
  }

  .service-card-modern {
    margin-bottom: 20px;
  }

  .badge-modern-light {
    font-size: 12px;
    padding: 6px 15px;
  }

  .btn-hero-primary,
  .btn-hero-secondary {
    font-size: 15px;
    padding: 12px 30px !important;
  }

  /* Benefit cards glassmorphism responsive */
  .benefit-card-glass {
    padding: 35px 25px;
    margin-bottom: 20px;
  }

  .benefit-icon-glass {
    width: 75px;
    height: 75px;
  }

  .benefit-icon-glass i {
    font-size: 36px;
  }

  .benefit-card-glass h5 {
    font-size: 20px;
  }

  .benefit-card-glass p {
    font-size: 14px;
  }

  .benefit-card-glass:hover {
    transform: translateY(-12px) scale(1.02);
  }

  /* Contact panel mobile fixes */
  .contact-panel-modern {
    padding: 30px 20px !important;
  }

  .contact-icon-modern {
    width: 45px;
    height: 45px;
  }

  .contact-icon-modern i {
    font-size: 18px;
  }

  .btn-contact-glass {
    font-size: 15px;
    padding: 12px 20px !important;
  }

  /* Service cards mobile */
  .service-card-modern {
    min-height: 350px;
  }

  .service-content {
    min-height: 350px;
  }

  /* Section headings mobile */
  .display-5 {
    font-size: 1.75rem !important;
  }

  .lead {
    font-size: 1rem !important;
  }

  /* Tech carousel mobile adjustments */
  .tech-carousel-item h6 {
    font-size: 13px;
  }
}

/* Extra small devices (phones, less than 576px) */
@media (max-width: 575.98px) {
  /* Navbar adjustments */
  .header-misc .btn-header-modern {
    font-size: 13px;
    padding: 8px 16px;
  }

  /* Hero section */
  .hero-title {
    font-size: 1.5rem !important;
  }

  /* Service cards */
  .service-icon-modern {
    width: 50px;
    height: 50px;
  }

  .service-icon-modern i {
    font-size: 24px;
  }

  .service-card-modern h4 {
    font-size: 18px;
  }

  .service-card-modern p {
    font-size: 14px;
  }

  /* Contact form */
  .contact-split {
    border-radius: 15px !important;
  }

  .form-control,
  .form-select {
    padding: 12px 16px;
    font-size: 15px;
  }

  /* Footer adjustments */
  .footer-modern-premium h5,
  .footer-modern-premium h6 {
    font-size: 16px;
  }

  .social-icon-modern {
    width: 42px;
    height: 42px;
  }

  /* Benefit cards extra small */
  .benefit-card-glass {
    padding: 30px 20px;
  }

  .benefit-icon-glass {
    width: 65px;
    height: 65px;
  }

  .benefit-icon-glass i {
    font-size: 32px;
  }

  .benefit-card-glass h5 {
    font-size: 18px;
  }
}

/* ===================================
   MOBILE TOUCH OPTIMIZATIONS
=================================== */
@media (max-width: 768px) {
  /* Increase tap target sizes for mobile */
  .btn,
  .menu-link,
  .social-icon-modern,
  .contact-icon-modern {
    min-height: 44px;
    min-width: 44px;
  }

  /* Improve scroll performance */
  .tech-carousel,
  .service-card-modern,
  .benefit-card-glass {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    will-change: transform;
  }

  /* Prevent horizontal scroll */
  body {
    overflow-x: hidden;
  }

  .container,
  .container-fluid {
    overflow-x: hidden;
  }

  /* Better spacing for touch */
  .row.g-4 {
    gap: 1.5rem !important;
  }

  /* Navbar mobile improvements */
  .primary-menu .menu-link {
    padding: 12px 16px;
    font-size: 16px;
  }

  /* Disable hover effects on touch devices */
  @media (hover: none) {
    .service-card-modern:hover,
    .benefit-card-glass:hover,
    .tech-carousel-item:hover {
      transform: none;
    }
  }
}

/* Landscape mobile devices */
@media (max-width: 768px) and (orientation: landscape) {
  .hero-modern {
    padding: 40px 0 30px;
  }

  .service-card-modern,
  .benefit-card-glass {
    min-height: auto;
  }
}

/* Fix for iOS Safari */
@supports (-webkit-touch-callout: none) {
  .contact-panel-modern,
  .benefit-card-glass {
    -webkit-backdrop-filter: blur(20px) saturate(180%);
  }
}

/* ===================================
   FOOTER MOBILE OPTIMIZATIONS
=================================== */
@media (max-width: 767.98px) {
  /* Reduce footer padding */
  .footer-modern-premium .container {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }

  .footer-modern-premium .row {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Hide Services and Company columns on mobile */
  .footer-modern-premium .col-lg-2 {
    display: none;
  }

  /* Make company info and contact full width */
  .footer-modern-premium .col-lg-4 {
    margin-bottom: 2rem;
  }

  /* Reduce spacing between items */
  .footer-modern-premium ul li {
    margin-bottom: 0.75rem !important;
  }

  .footer-modern-premium h5,
  .footer-modern-premium h6 {
    margin-bottom: 1rem !important;
    font-size: 18px !important;
  }

  /* Compact social icons */
  .footer-modern-premium .d-flex.gap-2 {
    gap: 0.5rem !important;
    margin-top: 1rem !important;
  }

  /* Reduce copyright padding */
  .footer-modern-premium .border-top {
    padding-top: 1.5rem !important;
    margin-top: 2rem !important;
  }

  /* Simplify company description */
  .footer-modern-premium p {
    font-size: 14px !important;
    line-height: 1.5 !important;
    margin-bottom: 1rem !important;
  }

  /* Center content on mobile */
  .footer-modern-premium .col-lg-4 {
    text-align: center;
  }

  /* Center social icons */
  .footer-modern-premium .d-flex.gap-2 {
    justify-content: center !important;
  }

  /* Center contact info */
  .footer-modern-premium .col-lg-4 ul {
    padding-left: 0;
  }

  .footer-modern-premium .col-lg-4 .d-flex {
    justify-content: center;
  }
}

/* ===================================
   HERO BADGE MOBILE FIX
=================================== */
@media (max-width: 767.98px) {
  /* Reduce vertical padding in hero container */
  #section-home .col-12.py-6 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }

  /* Remove extra space above badge */
  .badge-modern-light {
    margin-top: 0 !important;
  }

  /* Reduce space below badge */
  .hero-content .mb-3:first-child {
    margin-bottom: 1rem !important;
  }

  /* Adjust hero content spacing */
  .hero-content {
    padding-top: 0 !important;
  }

  /* Reduce gap between title and buttons */
  .hero-title {
    margin-bottom: 1rem !important;
  }

  .hero-content .mb-4 {
    margin-bottom: 1.5rem !important;
  }
}