/* ==========================================================================
   AELINE - MASTER STYLES, TYPOGRAPHY CONTRAST, 3D CAROUSEL & ANIMATIONS
   ========================================================================== */

/* 1. Global smooth scrolling & typography rendering */
html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overscroll-behavior-y: auto;
  height: auto;
}

body {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: auto !important;
  background-color: #f4f4f6;
  color: #111827;
  font-family: 'Inter', 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  min-height: 100%;
  margin: 0;
  padding: 0;
}

/* 2. Custom Sleek Scrollbar */
::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: #07080a;
}

::-webkit-scrollbar-thumb {
  background: #252836;
  border-radius: 8px;
  border: 2px solid #07080a;
  transition: background 0.3s ease;
}

::-webkit-scrollbar-thumb:hover {
  background: #d6fd70;
}

/* Logo Sizing & Display */
.navbar_logo-link {
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
  padding: 4px 0 !important;
}

.navbar_logo {
  height: 60px !important;
  max-height: 60px !important;
  width: auto !important;
  object-fit: contain !important;
  display: block !important;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.12));
}

.navbar_logo.is-black {
  display: none !important;
}

.footer_logo {
  height: 48px !important;
  max-height: 48px !important;
  width: auto !important;
  object-fit: contain !important;
  display: block !important;
}

/* 3. Lenis Smooth Scroll Optimization */
html.lenis, html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

/* ==========================================================================
   4. SECTION-SPECIFIC TYPOGRAPHY & COLOR CONTRAST RULES
   ========================================================================== */

/* Hero Section (Vivid Blue Background Guarantee -> White Text) */
.section_hero,
.section_her,
.sec_hero,
.sec_h-services,
.sec_h-about,
.sec_h-abou,
.sec_hero-abot,
.sec_h-blog,
.sec_hero-contac,
.sec_hero-conta,
.sec_hero-contact,
.sec_hero-service,
.sec_h-pricing {
  position: relative !important;
  background-color: #0266e7 !important;
  background: linear-gradient(180deg, #0266e7 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
  overflow: hidden !important;
}

.section_hero {
  padding-bottom: 60px !important;
}

.padding-global.is-hero {
  padding-bottom: 40px !important;
}

/* Universal Section Headings & Light Background Typography */
.section_about, .section_abou, .sec_ab-abou, .sec_ab-about, .sec_hero-abot, .sec_mission, .sec_h-about, .sec_h-abou,
.section_services, .section_servic, .sec_serv-services, .sec_benefits, .sec_why,
.section_expertise, .section_expertis,
.section_pricing, .section_pricin,
.section_testimonials, .section-testi, .section_testimonia, .sec_testi-services, .sec_testim-abot,
.section_blog, .sec_content-blog, .sec_internal-blog, .sec_internal-content,
.sec_team, .sec_teamm, .sec_tem,
.sec_journey, .sec_journe,
.section_faqq, .section_faq,
.section_homepage, .section_included, .section_figma, .section_pages, .section_variants, .section_more {
  color: #0f172a !important;
}

/* All Headings in light sections */
.section_about h1, .section_about h2, .section_about h3, .section_about h4,
.section_abou h1, .section_abou h2, .section_abou h3, .section_abou h4,
.sec_ab-abou h1, .sec_ab-abou h2, .sec_ab-abou h3, .sec_ab-abou h4,
.sec_ab-about h1, .sec_ab-about h2, .sec_ab-about h3, .sec_ab-about h4,
.section_services h1, .section_services h2, .section_services h3, .section_services h4,
.section_servic h1, .section_servic h2, .section_servic h3, .section_servic h4,
.sec_serv-services h1, .sec_serv-services h2, .sec_serv-services h3, .sec_serv-services h4,
.sec_why h1, .sec_why h2, .sec_why h3, .sec_why h4,
.section_expertise h1, .section_expertise h2, .section_expertise h3, .section_expertise h4,
.section_expertis h1, .section_expertis h2, .section_expertis h3, .section_expertis h4,
.section_pricing h1, .section_pricing h2, .section_pricing h3, .section_pricing h4,
.section_pricin h1, .section_pricin h2, .section_pricin h3, .section_pricin h4,
.section_testimonials h1, .section_testimonials h2, .section_testimonials h3, .section_testimonials h4,
.section_testimonia h1, .section_testimonia h2, .section_testimonia h3, .section_testimonia h4,
.sec_testi-services h1, .sec_testi-services h2, .sec_testi-services h3, .sec_testi-services h4 {
  color: #0f172a !important;
}

/* --------------------------------------------------------------------------
   Layout & Container Grid Overrides (Prevent squishing)
   -------------------------------------------------------------------------- */
.container-large {
  width: 100% !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

.services_cards {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

@media screen and (max-width: 991px) {
  .services_cards {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
}

@media screen and (max-width: 640px) {
  .services_cards {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

.service_card {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
}

.about_layout {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

.expertise_cards {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

.pricing_cards {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: 1440px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

@media (max-width: 1200px) {
  .pricing_cards {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
    max-width: 900px !important;
  }
}

@media (max-width: 767px) {
  .pricing_cards {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    max-width: 100% !important;
  }
}

/* --------------------------------------------------------------------------
   Infinite Scrolling Image Showcase Marquee
   -------------------------------------------------------------------------- */
.marquee-wrapper {
  width: 100% !important;
  overflow: hidden !important;
  position: relative !important;
  padding: 36px 0 !important;
  user-select: none !important;
  mask-image: linear-gradient(to right, transparent, black 6%, black 94%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 6%, black 94%, transparent);
}

.marquee-track {
  display: flex !important;
  gap: 36px !important;
  width: max-content !important;
  animation: marqueeScrollLeft 35s linear infinite !important;
}

.marquee-track.reverse {
  animation: marqueeScrollRight 35s linear infinite !important;
}

.marquee-wrapper:hover .marquee-track {
  animation-play-state: paused !important;
}

@keyframes marqueeScrollLeft {
  0% { transform: translateX(0); }
  100% { transform: translateX(calc(-50% - 18px)); }
}

@keyframes marqueeScrollRight {
  0% { transform: translateX(calc(-50% - 18px)); }
  100% { transform: translateX(0); }
}

.marquee-card {
  flex: 0 0 380px !important;
  width: 380px !important;
  background: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06) !important;
  transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.35s ease, border-color 0.35s ease !important;
  display: flex !important;
  flex-direction: column !important;
}

.marquee-card:hover {
  transform: translateY(-8px) scale(1.03) !important;
  box-shadow: 0 20px 45px rgba(2, 102, 231, 0.16) !important;
  border-color: #60a5fa !important;
}

.marquee-card-img {
  width: 100% !important;
  height: 245px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s ease !important;
}

.marquee-card:hover .marquee-card-img {
  transform: scale(1.04) !important;
}

.marquee-card-body {
  padding: 22px 24px !important;
  background: #ffffff !important;
}

.marquee-card-tag {
  display: inline-block !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
  padding: 4px 12px !important;
  border-radius: 999px !important;
  background: #eff6ff !important;
  color: #2563eb !important;
  margin-bottom: 10px !important;
}

.marquee-card-title {
  font-size: 17px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin-bottom: 6px !important;
  line-height: 1.3 !important;
}

.marquee-card-desc {
  font-size: 13.5px !important;
  color: #64748b !important;
  line-height: 1.5 !important;
}

/* --------------------------------------------------------------------------
   Static Showcase Grid (Clean & Centered, No Auto-scroll)
   -------------------------------------------------------------------------- */
.showcase-static-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

@media (max-width: 991px) {
  .showcase-static-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
}

@media (max-width: 640px) {
  .showcase-static-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
}

.showcase-static-card {
  background: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05) !important;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease !important;
  display: flex !important;
  flex-direction: column !important;
}

.showcase-static-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.1) !important;
  border-color: #cbd5e1 !important;
}

.showcase-static-img {
  width: 100% !important;
  height: 230px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.35s ease !important;
}

.showcase-static-card:hover .showcase-static-img {
  transform: scale(1.03) !important;
}

.showcase-static-body {
  padding: 22px 24px !important;
  background: #ffffff !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

.showcase-static-tag {
  display: inline-block !important;
  align-self: flex-start !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
  padding: 4px 12px !important;
  border-radius: 999px !important;
  background: #eff6ff !important;
  color: #2563eb !important;
  margin-bottom: 10px !important;
}

.showcase-static-title {
  font-size: 17px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin-bottom: 6px !important;
  line-height: 1.3 !important;
}

.showcase-static-desc {
  font-size: 13.5px !important;
  color: #64748b !important;
  line-height: 1.5 !important;
}

/* --------------------------------------------------------------------------
   Expertise Section & Visual Interactive Cards
   -------------------------------------------------------------------------- */
.section_expertise, .section_expertis {
  background-color: #f9fafb;
  color: #111827 !important;
}

.expertise_card {
  background: #ffffff !important;
  color: #111827 !important;
  border-radius: 1.5rem !important;
  border: 1px solid #e5e7eb !important;
}

.expertise_card h3 {
  color: #111827 !important;
}

.expertise_card .text-color-secondary {
  color: #4b5563 !important;
}

/* Widget Cards */
.vcard {
  background: #ffffff !important;
  color: #111827 !important;
}
.vcard .vcard_text-label,
.vcard .vcard_text-amount,
.vcard .vcard_text-price {
  color: #111827 !important;
}
.vcard .vcard_text-amount-muted,
.vcard .vcard_text-date {
  color: #6b7280 !important;
}

.bcard {
  background: #ffffff !important;
  color: #111827 !important;
}
.bcard .bcard_text-title {
  color: #111827 !important;
}
.bcard .bcard_text-year {
  color: #6b7280 !important;
}

.pcard {
  background: #0d0e12 !important;
  color: #ffffff !important;
}
.pcard .pcard_text-title,
.pcard .pcard_text-value {
  color: #ffffff !important;
}
.pcard .pcard_text-muted {
  color: #9ca3af !important;
}

.ecard {
  background: #0d0e12 !important;
  color: #ffffff !important;
}
.ecard .ecard_text {
  color: #ffffff !important;
}
.ecard .text-muted-40 {
  color: #9ca3af !important;
}

.gcard {
  background: #ffffff !important;
}
.gcard .gcard_text-sub {
  color: #6b7280 !important;
}
.gcard .gcard_tag p {
  color: #111827 !important;
}

.scard {
  background: #ffffff !important;
}
.scard .scard_top-bar p,
.scard .scard_text-wrap p {
  color: #111827 !important;
}
.scard .text-muted-40 {
  color: #9ca3af !important;
}

.ocard_pill {
  background: #ffffff !important;
}
.ocard_pill-name {
  color: #111827 !important;
}

/* --------------------------------------------------------------------------
   Pricing Section
   -------------------------------------------------------------------------- */
.section_pricing, .section_pricin {
  background-color: #ffffff;
  color: #111827 !important;
}

.pricing_card {
  background: #f9fafb !important;
  color: #111827 !important;
  border: 1px solid #e5e7eb;
}

.pricing_card .text-4xl,
.pricing_card .geistmono,
.pricing_card h3,
.pricing_card div,
.pricing_card p {
  color: #111827 !important;
}

.pricing_card .text-color-secondary,
.pricing_card .text-base {
  color: #4b5563 !important;
}

.pricing_card.is-top {
  background: #d6fd70 !important;
  color: #0d0e12 !important;
  border: 1px solid #c5ec5f !important;
}

.pricing_card.is-top *:not(.btn-add-plan):not(.btn-add-plan *):not(.button):not(.button *) {
  color: #0d0e12 !important;
}

.pricing_card.is-top .btn-add-plan,
.pricing_card.is-top .btn-add-plan * {
  color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   Testimonials & Blog Sections
   -------------------------------------------------------------------------- */
.section_testimonials,
.section-testi,
.section_testimonia,
.sec_testi-services,
.sec_testim-abot {
  background-color: #f9fafb;
  color: #111827 !important;
}

.testimonia_card,
.testi-service_card {
  background: #ffffff !important;
  color: #111827 !important;
  border: 1px solid #e5e7eb !important;
}

.testimonia_card .text-xl,
.testimonia_card .text-base,
.testi-service_card .text-lg,
.testi-service_card .text-base,
.testimonia_card div,
.testi-service_card div {
  color: #111827 !important;
}

.section_blog,
.sec_content-blog,
.sec_internal-blog,
.sec_internal-content {
  background-color: #ffffff;
  color: #111827 !important;
}

.blog_card {
  background: #ffffff !important;
  color: #111827 !important;
}

.blog_card h3,
.blog_card .text-2xl {
  color: #111827 !important;
}

.blog_card .text-color-secondary {
  color: #4b5563 !important;
}

/* --------------------------------------------------------------------------
   Team & Journey Sections
   -------------------------------------------------------------------------- */
.sec_team, .sec_teamm, .sec_tem {
  background-color: #ffffff;
  color: #111827 !important;
}

.tem_card {
  border-radius: 1.5rem !important;
  overflow: hidden;
}

.tem_card_name h3 {
  color: #ffffff !important;
}

.sec_journey, .sec_journe {
  background-color: #f9fafb;
  color: #111827 !important;
}

.journey_data_year .text-xl {
  color: #111827 !important;
}

.journey_data_content .text-color-secondary {
  color: #4b5563 !important;
}

/* --------------------------------------------------------------------------
   CTA & Footer Sections (Dark -> White Text)
   -------------------------------------------------------------------------- */
.section_cta, .section_call-to {
  background-color: #0b0c10 !important;
  color: #ffffff !important;
}

.section_cta h2,
.section_call-to h2,
.section_cta .text-color-on-primary,
.section_call-to .text-color-on-primary,
.section_cta *,
.section_call-to * {
  color: #ffffff !important;
}

.footer {
  background-color: #07080a !important;
  color: #ffffff !important;
}

.footer a,
.footer .footer_link,
.footer div,
.footer p,
.footer span {
  color: #e5e7eb !important;
}

.footer .footer_link:hover {
  color: #d6fd70 !important;
}

/* ==========================================================================
   5. HERO 3D ELEGANT UPRIGHT CYLINDER CAROUSEL (AELINE STYLE)
   ========================================================================== */

.hero-cylinder-viewport {
  perspective: 1600px !important;
  perspective-origin: 50% 50% !important;
  position: relative !important;
  width: 100% !important;
  max-width: 1300px !important;
  height: 215px !important;
  z-index: 10 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 20px auto 0 auto !important;
  overflow: visible !important;
}

.hero-cylinder-ring {
  width: 142px !important;
  height: 182px !important;
  transform-style: preserve-3d !important;
  position: relative !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  animation: heroCylinderFlow 34s linear infinite !important;
  will-change: transform;
}

.hero-cylinder-viewport:hover .hero-cylinder-ring {
  animation-play-state: paused !important;
}

@keyframes heroCylinderFlow {
  0% {
    transform: rotateY(0deg);
  }
  100% {
    transform: rotateY(-360deg);
  }
}

.hero-cylinder-card {
  position: absolute !important;
  width: 142px !important;
  height: 182px !important;
  left: 0 !important;
  top: 0 !important;
  transform-style: preserve-3d !important;
  backface-visibility: hidden !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 32px rgba(0, 15, 45, 0.28), 0 2px 8px rgba(0, 0, 0, 0.08) !important;
  overflow: hidden !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  cursor: pointer !important;
  user-select: none !important;
}

.hero-cylinder-card:hover {
  transform: scale(1.08) translateZ(20px) !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4), 0 0 20px rgba(255, 255, 255, 0.8) !important;
  z-index: 100 !important;
}

.hero-cylinder-card:nth-child(1)  { transform: rotateY(0deg) translateZ(580px) !important; }
.hero-cylinder-card:nth-child(2)  { transform: rotateY(36deg) translateZ(580px) !important; }
.hero-cylinder-card:nth-child(3)  { transform: rotateY(72deg) translateZ(580px) !important; }
.hero-cylinder-card:nth-child(4)  { transform: rotateY(108deg) translateZ(580px) !important; }
.hero-cylinder-card:nth-child(5)  { transform: rotateY(144deg) translateZ(580px) !important; }
.hero-cylinder-card:nth-child(6)  { transform: rotateY(180deg) translateZ(580px) !important; }
.hero-cylinder-card:nth-child(7)  { transform: rotateY(216deg) translateZ(580px) !important; }
.hero-cylinder-card:nth-child(8)  { transform: rotateY(252deg) translateZ(580px) !important; }
.hero-cylinder-card:nth-child(9)  { transform: rotateY(288deg) translateZ(580px) !important; }
.hero-cylinder-card:nth-child(10) { transform: rotateY(324deg) translateZ(580px) !important; }

.hero-cylinder-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

@media screen and (max-width: 991px) {
  .hero-cylinder-viewport {
    perspective: 1100px !important;
    height: 180px !important;
  }
  .hero-cylinder-ring {
    width: 120px !important;
    height: 155px !important;
  }
  .hero-cylinder-card {
    width: 120px !important;
    height: 155px !important;
    border-radius: 14px !important;
  }
  .hero-cylinder-card:nth-child(1)  { transform: rotateY(0deg) translateZ(380px) !important; }
  .hero-cylinder-card:nth-child(2)  { transform: rotateY(36deg) translateZ(380px) !important; }
  .hero-cylinder-card:nth-child(3)  { transform: rotateY(72deg) translateZ(380px) !important; }
  .hero-cylinder-card:nth-child(4)  { transform: rotateY(108deg) translateZ(380px) !important; }
  .hero-cylinder-card:nth-child(5)  { transform: rotateY(144deg) translateZ(380px) !important; }
  .hero-cylinder-card:nth-child(6)  { transform: rotateY(180deg) translateZ(380px) !important; }
  .hero-cylinder-card:nth-child(7)  { transform: rotateY(216deg) translateZ(380px) !important; }
  .hero-cylinder-card:nth-child(8)  { transform: rotateY(252deg) translateZ(380px) !important; }
  .hero-cylinder-card:nth-child(9)  { transform: rotateY(288deg) translateZ(380px) !important; }
  .hero-cylinder-card:nth-child(10) { transform: rotateY(324deg) translateZ(380px) !important; }
}

@media screen and (max-width: 640px) {
  .hero-cylinder-viewport {
    perspective: 800px !important;
    height: 155px !important;
  }
  .hero-cylinder-ring {
    width: 100px !important;
    height: 130px !important;
  }
  .hero-cylinder-card {
    width: 100px !important;
    height: 130px !important;
    border-radius: 12px !important;
  }
  .hero-cylinder-card:nth-child(1)  { transform: rotateY(0deg) translateZ(260px) !important; }
  .hero-cylinder-card:nth-child(2)  { transform: rotateY(36deg) translateZ(260px) !important; }
  .hero-cylinder-card:nth-child(3)  { transform: rotateY(72deg) translateZ(260px) !important; }
  .hero-cylinder-card:nth-child(4)  { transform: rotateY(108deg) translateZ(260px) !important; }
  .hero-cylinder-card:nth-child(5)  { transform: rotateY(144deg) translateZ(260px) !important; }
  .hero-cylinder-card:nth-child(6)  { transform: rotateY(180deg) translateZ(260px) !important; }
  .hero-cylinder-card:nth-child(7)  { transform: rotateY(216deg) translateZ(260px) !important; }
  .hero-cylinder-card:nth-child(8)  { transform: rotateY(252deg) translateZ(260px) !important; }
  .hero-cylinder-card:nth-child(9)  { transform: rotateY(288deg) translateZ(260px) !important; }
  .hero-cylinder-card:nth-child(10) { transform: rotateY(324deg) translateZ(260px) !important; }
}

/* 6. Infinite Marquee Animation for Logos & Tags */
@keyframes infiniteMarqueeLeft {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

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

.loop_logos {
  display: flex !important;
  flex-shrink: 0;
  min-width: 100%;
  animation: infiniteMarqueeLeft 24s linear infinite !important;
}

.loop:hover .loop_logos {
  animation-play-state: paused !important;
}

.section_loop .loop {
  display: flex;
  overflow: hidden;
  user-select: none;
  gap: 3rem;
  mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
}

.gcard_tags-row[data-anim="marquee-right"] {
  display: flex !important;
  animation: infiniteMarqueeLeft 18s linear infinite !important;
  white-space: nowrap !important;
}

.gcard_tags-row[data-anim="marquee-left"] {
  display: flex !important;
  animation: infiniteMarqueeRight 18s linear infinite !important;
  white-space: nowrap !important;
}

.card_about,
.about-pillar-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  min-height: 280px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.card_about,
.about-pillar-card,
.service_card,
.pricing_card,
.blog_card,
.expertise_card {
  transition: transform 0.35s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.35s ease, border-color 0.35s ease;
  will-change: transform;
}

.card_about:hover,
.service_card:hover,
.pricing_card:hover,
.blog_card:hover,
.expertise_card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.12), 0 0 20px rgba(214, 253, 112, 0.12);
}

/* 8. Button Hover & Magnetic Animation */
.button,
.button-arrow {
  position: relative;
  overflow: hidden;
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease;
}

.button:hover,
.button-arrow:hover {
  box-shadow: 0 8px 24px rgba(214, 253, 112, 0.3);
}

.button-arrow .button_container-arrow svg {
  transition: transform 0.3s ease;
}

.button-arrow:hover .button_container-arrow svg {
  transform: translate(3px, -3px);
}

/* 9. Glowing Badges & Tags */
.dot-square {
  background-color: #d6fd70 !important;
  box-shadow: 0 0 8px #d6fd70;
}

/* 10. Orbiting Physics Pills & Rings */
.ocard {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ocard_ring {
  border-radius: 50%;
  pointer-events: none;
}

.ocard_pill {
  transition: box-shadow 0.3s ease;
}

.ocard_pill:hover {
  box-shadow: 0 0 20px rgba(214, 253, 112, 0.4);
  z-index: 5;
}

/* 11. Swiper Testimonials Custom Styling */
.testimonials_card {
  transition: transform 0.35s ease, opacity 0.35s ease;
}

.swiper-slide-active .testimonials_card {
  transform: scale(1.02);
}

.arrows_wrap .arrow_container {
  cursor: pointer;
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.arrows_wrap .arrow_container:hover {
  transform: scale(1.1);
  background-color: #d6fd70;
  color: #000;
}

.arrows_wrap .arrow_container:active {
  transform: scale(0.95);
}

/* 12. Dropdown Menu Transitions */
.nav_link-dropdown {
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  background: rgba(18, 18, 20, 0.95) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 12px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
}

.nav_dropdown-link {
  transition: color 0.2s ease, transform 0.2s ease;
}

.nav_dropdown-link:hover {
  color: #d6fd70 !important;
  transform: translateX(4px);
}

/* 13. Fix default visibility when JS is active */
[data-anim],
[animation],
[hero-text],
[title-icon],
.loop_logos {
  visibility: visible !important;
}

/* 14. Services Hover Dropdown Menu */
.navbar,
.padding-global.is-navbar,
.navbar_content,
.nav_wrap,
.nav_mobile,
.navbar_list {
  overflow: visible !important;
}

.nav-dropdown-wrapper {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}

.nav-dropdown-trigger {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  cursor: pointer !important;
}

.dropdown-chevron {
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.nav-dropdown-wrapper:hover .dropdown-chevron {
  transform: rotate(180deg) !important;
}

.nav-dropdown-menu {
  position: absolute !important;
  top: 100% !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(10px) !important;
  width: 330px !important;
  background: #ffffff !important;
  border-radius: 18px !important;
  padding: 10px !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.16), 0 4px 14px rgba(0, 0, 0, 0.06) !important;
  border: 1.5px solid rgba(15, 23, 42, 0.08) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.2s ease, transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.2s ease !important;
  z-index: 9999 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

/* Hover bridge before menu */
.nav-dropdown-menu::before {
  content: "" !important;
  position: absolute !important;
  top: -20px !important;
  left: 0 !important;
  right: 0 !important;
  height: 20px !important;
  display: block !important;
}

.nav-dropdown-wrapper:hover .nav-dropdown-menu,
.nav-dropdown-wrapper:focus-within .nav-dropdown-menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) !important;
}

.nav-dropdown-item {
  display: flex !important;
  flex-direction: column !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  transition: all 0.18s ease !important;
  background: transparent !important;
  text-align: left !important;
}

.nav-dropdown-item:hover {
  background: #f8fafc !important;
  transform: translateX(3px) !important;
}

.nav-dropdown-title {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  line-height: 1.3 !important;
  margin-bottom: 3px !important;
}

.nav-dropdown-desc {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  color: #64748b !important;
  line-height: 1.4 !important;
}

.nav-dropdown-item:hover .nav-dropdown-title {
  color: #4d65ff !important;
}

@media (max-width: 991px) {
  .nav-dropdown-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
  }
  .nav-dropdown-menu {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    box-shadow: none !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    margin-top: 8px !important;
    margin-bottom: 8px !important;
  }
  .nav-dropdown-title {
    color: #ffffff !important;
  }
  .nav-dropdown-desc {
    color: rgba(255, 255, 255, 0.75) !important;
  }
}

/* ==========================================================================
   UENI-STYLE ALTERNATING SERVICE FEATURE ROWS & VISUAL MOCKUPS
   ========================================================================== */
.service-features-section {
  background: #ffffff;
  padding: 90px 0 110px;
  position: relative;
  overflow: hidden;
}

.service-features-header {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 70px;
}

.service-features-header h2 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(2.2rem, 4.5vw, 3.2rem);
  font-weight: 800;
  color: #0f172a;
  line-height: 1.18;
  letter-spacing: -0.025em;
  margin-bottom: 16px;
}

.service-features-header p {
  font-size: 1.15rem;
  color: #64748b;
  line-height: 1.6;
  margin: 0 auto;
}

.service-features-list {
  display: flex;
  flex-direction: column;
  gap: 80px;
  max-width: 1200px;
  margin: 0 auto;
}

.service-feature-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 56px;
}

.service-feature-row:nth-child(even),
.service-feature-row.is-reversed {
  flex-direction: row-reverse;
}

.service-feature-media {
  flex: 1 1 50%;
  min-width: 0;
  position: relative;
  border-radius: 24px;
  background: #f8fafc;
  border: 1.5px solid #e2e8f0;
  padding: 24px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.service-feature-media:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.08);
  border-color: #cbd5e1;
}

.service-feature-content {
  flex: 1 1 50%;
  min-width: 0;
}

.service-pill-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #0066ff;
  background: #eff6ff;
  border: 1px solid #dbeafe;
  padding: 5px 12px;
  border-radius: 9999px;
  margin-bottom: 14px;
}

.service-feature-title {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(1.75rem, 2.8vw, 2.35rem);
  font-weight: 800;
  color: #0f172a;
  line-height: 1.22;
  letter-spacing: -0.02em;
  margin: 0 0 16px 0;
}

.service-feature-desc {
  font-size: 15.5px;
  line-height: 1.68;
  color: #475569;
  margin-bottom: 24px;
}

.service-feature-checklist {
  list-style: none;
  padding: 0;
  margin: 0 0 24px 0;
  display: flex;
  flex-direction: column;
  gap: 13px;
}

.service-feature-checkitem {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 15px;
  line-height: 1.5;
  color: #1e293b;
  font-weight: 500;
}

.feature-check-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  min-width: 22px;
  border-radius: 50%;
  background: #ecfdf5;
  color: #059669;
  font-size: 12px;
  font-weight: 900;
  margin-top: 1px;
}

.feature-check-icon.coral {
  background: #fff7ed;
  color: #ea580c;
}

.feature-check-icon.blue {
  background: #eff6ff;
  color: #2563eb;
}

.feature-check-icon.purple {
  background: #faf5ff;
  color: #9333ea;
}

.service-outcome-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  padding: 10px 18px;
  border-radius: 12px;
  font-size: 13.5px;
  font-weight: 700;
  color: #0f172a;
}

.service-outcome-badge span.dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #10b981;
}

/* UI Mockup Components */
.mockup-window {
  background: #ffffff;
  border-radius: 16px;
  border: 1px solid #e2e8f0;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
}

.mockup-topbar {
  background: #f1f5f9;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid #e2e8f0;
}

.mockup-dots {
  display: flex;
  gap: 6px;
}

.mockup-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
}
.mockup-dot.red { background: #ef4444; }
.mockup-dot.yellow { background: #f59e0b; }
.mockup-dot.green { background: #10b981; }

.mockup-url {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  padding: 3px 12px;
  font-size: 11.5px;
  font-family: monospace;
  color: #475569;
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1;
  max-width: 320px;
}

.mockup-content {
  padding: 24px;
  position: relative;
}

@media (max-width: 991px) {
  .service-features-section {
    padding: 60px 0 80px;
  }
  .service-features-list {
    gap: 50px;
  }
  .service-feature-row,
  .service-feature-row:nth-child(even),
  .service-feature-row.is-reversed {
    flex-direction: column !important;
    gap: 36px;
  }
  .service-feature-media,
  .service-feature-content {
    width: 100% !important;
    flex: auto;
  }
}

