/* ============================================
   PREMIUM INTERNAL PAGES — ENHANCED STYLES
   ============================================ */

/* ---------- TECH STACK MARQUEE ---------- */
.tech-marquee-section {
  background: #0a0e1a;
  padding: 60px 0;
  overflow: hidden;
}

.tech-marquee-track {
  display: flex;
  gap: 60px;
  animation: marqueeScroll 30s linear infinite;
  width: max-content;
}

.tech-marquee-track:hover {
  animation-play-state: paused;
}

.tech-marquee-item {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 1.1rem;
  color: #4a5068;
  font-weight: 600;
  white-space: nowrap;
  transition: color .3s;
  font-family: 'Poppins', sans-serif;
}

.tech-marquee-item:hover {
  color: #7F56D9;
}

.tech-marquee-item i {
  font-size: 1.6rem;
  color: #7F56D9;
}

@keyframes marqueeScroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

/* ---------- PREMIUM FEATURE CARDS ---------- */
.premium-features {
  background: #0a0e1a;
}

.premium-features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.premium-feature-card {
  padding: 40px 30px;
  border-radius: 20px;
  position: relative;
  background: rgba(255, 255, 255, .02);
  border: 1px solid rgba(255, 255, 255, .05);
  transition: all .4s;
  overflow: hidden;
}

.premium-feature-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #7F56D9, #00d4ff, #F37335);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s;
}

.premium-feature-card:hover::after {
  transform: scaleX(1);
}

.premium-feature-card:hover {
  transform: translateY(-8px);
  border-color: rgba(127, 86, 217, .25);
  box-shadow: 0 20px 60px rgba(127, 86, 217, .12);
  background: rgba(127, 86, 217, .05);
}

.pf-icon {
  width: 72px;
  height: 72px;
  border-radius: 16px;
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.7rem;
  background: linear-gradient(135deg, rgba(127, 86, 217, .15), rgba(0, 212, 255, .08));
  color: #7F56D9;
  transition: all .4s;
}

.premium-feature-card:hover .pf-icon {
  background: linear-gradient(135deg, #7F56D9, #00d4ff);
  color: #fff;
  transform: scale(1.1);
}

.premium-feature-card h3 {
  font-size: 1.15rem;
  margin-bottom: 12px;
}

.premium-feature-card p {
  font-size: .9rem;
  color: #8a94a8;
  line-height: 1.7;
}

.pf-number {
  position: absolute;
  top: 20px;
  right: 24px;
  font-size: 3.5rem;
  font-weight: 900;
  color: rgba(127, 86, 217, .06);
  font-family: 'Poppins', sans-serif;
  line-height: 1;
}

/* ---------- TESTIMONIALS ---------- */
.testimonials-section {
  background: #0a0e1a;
  overflow: hidden;
}

.testimonials-slider {
  display: flex;
  gap: 28px;
}

.testimonial-card {
  min-width: 380px;
  flex-shrink: 0;
  padding: 36px;
  border-radius: 20px;
  background: rgba(255, 255, 255, .03);
  border: 1px solid rgba(255, 255, 255, .06);
  transition: all .4s;
  position: relative;
}

.testimonial-card::before {
  content: '\201C';
  position: absolute;
  top: 16px;
  left: 24px;
  font-size: 4rem;
  color: rgba(127, 86, 217, .15);
  font-family: Georgia, serif;
  line-height: 1;
}

.testimonial-card:hover {
  border-color: rgba(127, 86, 217, .25);
  transform: translateY(-4px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, .2);
}

.testimonial-text {
  font-size: .95rem;
  color: #b0b8c8;
  line-height: 1.8;
  margin-bottom: 24px;
  padding-top: 20px;
}

.testimonial-author {
  display: flex;
  align-items: center;
  gap: 14px;
}

.testimonial-avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: linear-gradient(135deg, #7F56D9, #00d4ff);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  color: #fff;
  font-weight: 700;
  font-family: 'Poppins', sans-serif;
}

.testimonial-info h4 {
  font-size: .95rem;
  color: #fff;
}

.testimonial-info span {
  font-size: .8rem;
  color: #7F56D9;
  font-weight: 600;
}

.testimonial-stars {
  display: flex;
  gap: 3px;
  margin-bottom: 16px;
}

.testimonial-stars i {
  color: #FDC830;
  font-size: .8rem;
}

/* ---------- PREMIUM CTA BANNER ---------- */
.premium-cta {
  background:
    radial-gradient(circle 500px at 20% 50%, rgba(127, 86, 217, .15) 0%, transparent 60%),
    radial-gradient(circle 400px at 80% 50%, rgba(0, 212, 255, .1) 0%, transparent 60%),
    linear-gradient(135deg, #0d1020 0%, #141832 50%, #0d1020 100%);
  padding: 100px 0;
  position: relative;
  overflow: hidden;
}

.premium-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(45deg, transparent, transparent 60px, rgba(127, 86, 217, .03) 60px, rgba(127, 86, 217, .03) 61px);
  pointer-events: none;
}

.premium-cta-inner {
  position: relative;
  z-index: 2;
  text-align: center;
}

.premium-cta-inner .section-tag {
  margin-bottom: 12px;
}

.premium-cta-inner h2 {
  font-size: 2.8rem;
  font-weight: 800;
  max-width: 700px;
  margin: 0 auto 20px;
}

.premium-cta-inner p {
  color: #8a94a8;
  max-width: 550px;
  margin: 0 auto 36px;
  font-size: 1.05rem;
  line-height: 1.7;
}

.premium-cta-btns {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

.cta-glow-orb {
  position: absolute;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(127, 86, 217, .12), transparent 70%);
  filter: blur(60px);
  pointer-events: none;
  animation: aura-pulse 6s ease-in-out infinite alternate;
}

/* ---------- CLIENTS / TRUST LOGOS ---------- */
.clients-section {
  background: #0a0e1a;
  padding: 70px 0;
}

.clients-grid {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 60px;
  flex-wrap: wrap;
  opacity: .5;
}

.client-logo {
  font-size: 1.4rem;
  font-weight: 800;
  color: #3a4060;
  font-family: 'Poppins', sans-serif;
  letter-spacing: 2px;
  transition: all .3s;
  cursor: default;
}

.client-logo:hover {
  color: #7F56D9;
  opacity: 1;
}

/* ---------- CONTACT PREMIUM FEATURES ---------- */
.contact-features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 50px;
}

.contact-feature-card {
  padding: 30px 24px;
  border-radius: 16px;
  text-align: center;
  background: rgba(255, 255, 255, .03);
  border: 1px solid rgba(255, 255, 255, .06);
  transition: all .3s;
}

.contact-feature-card:hover {
  transform: translateY(-4px);
  border-color: rgba(127, 86, 217, .2);
}

.contact-feature-card i {
  font-size: 2rem;
  color: #7F56D9;
  margin-bottom: 14px;
}

.contact-feature-card h4 {
  font-size: 1rem;
  margin-bottom: 6px;
}

.contact-feature-card p {
  font-size: .82rem;
  color: #8a94a8;
}

/* ---------- BLOG FEATURED POST ---------- */
.blog-featured {
  background: #0a0e1a;
  padding: 100px 0;
}

.blog-featured-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  border-radius: 20px;
  overflow: hidden;
  background: rgba(255, 255, 255, .03);
  border: 1px solid rgba(255, 255, 255, .06);
}

.blog-featured-img {
  height: 100%;
  min-height: 320px;
  overflow: hidden;
}

.blog-featured-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-featured-body {
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.blog-featured-body .bf-tag {
  display: inline-block;
  padding: 5px 14px;
  border-radius: 20px;
  background: rgba(127, 86, 217, .15);
  color: #7F56D9;
  font-size: .8rem;
  font-weight: 600;
  margin-bottom: 16px;
  width: fit-content;
}

.blog-featured-body h2 {
  font-size: 1.8rem;
  margin-bottom: 14px;
  line-height: 1.3;
}

.blog-featured-body p {
  color: #8a94a8;
  line-height: 1.7;
  margin-bottom: 20px;
}

/* ---------- PROJECTS SHOWCASE ---------- */
.project-showcase {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 50px;
  background: rgba(255, 255, 255, .03);
  border: 1px solid rgba(255, 255, 255, .06);
}

.project-showcase-img {
  height: 350px;
  overflow: hidden;
}

.project-showcase-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s;
}

.project-showcase:hover .project-showcase-img img {
  transform: scale(1.05);
}

.project-showcase-body {
  padding: 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.project-showcase-body h3 {
  font-size: 1.6rem;
  margin-bottom: 12px;
}

.project-showcase-body p {
  color: #8a94a8;
  line-height: 1.7;
  margin-bottom: 20px;
}

.project-meta-row {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.project-meta-tag {
  padding: 6px 14px;
  border-radius: 20px;
  font-size: .78rem;
  font-weight: 600;
  background: rgba(127, 86, 217, .1);
  color: #7F56D9;
  border: 1px solid rgba(127, 86, 217, .15);
}

/* ---------- TEAM CULTURE ---------- */
.team-culture {
  background: #0a0e1a;
}

.culture-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
}

.culture-card {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  padding: 30px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .03);
  border: 1px solid rgba(255, 255, 255, .06);
  transition: all .3s;
}

.culture-card:hover {
  border-color: rgba(127, 86, 217, .2);
  transform: translateY(-4px);
}

.culture-icon {
  width: 56px;
  height: 56px;
  min-width: 56px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  color: #F37335;
  background: rgba(243, 115, 53, .1);
}

.culture-card h4 {
  font-size: 1.05rem;
  margin-bottom: 6px;
}

.culture-card p {
  font-size: .88rem;
  color: #8a94a8;
  line-height: 1.6;
}

/* ---------- RESPONSIVE PREMIUM ---------- */
@media (max-width:1024px) {
  .premium-features-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .testimonial-card {
    min-width: 300px;
  }

  .blog-featured-card {
    grid-template-columns: 1fr;
  }

  .project-showcase {
    grid-template-columns: 1fr;
  }

  .project-showcase-img {
    height: 250px;
  }

  .contact-features-grid {
    grid-template-columns: 1fr;
  }

  .culture-grid {
    grid-template-columns: 1fr;
  }

  .premium-cta-inner h2 {
    font-size: 2.2rem;
  }
}

@media (max-width:768px) {
  .premium-features-grid {
    grid-template-columns: 1fr;
  }

  .testimonials-slider {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 16px;
  }

  .testimonial-card {
    min-width: 280px;
  }

  .clients-grid {
    gap: 30px;
  }

  .premium-cta-inner h2 {
    font-size: 1.8rem;
  }
}

/* ============================================
   SCROLL-SNAP — FULL-VIEWPORT BLOCK SCROLLING
   Only on homepage (body has snap-container child)
   ============================================ */

/* --- Snap Container --- */
.snap-container {
  height: 100vh;
  overflow-y: auto;
  scroll-snap-type: y mandatory;
  scroll-behavior: smooth;
}

/* --- Every snap section = one full screen --- */
.snap-section {
  scroll-snap-align: start;
  height: 100vh;
  min-height: 100vh;
  max-height: 100vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}

/* Footer doesn't need full height */
.snap-section--footer {
  scroll-snap-align: start;
  min-height: auto;
  height: auto;
  max-height: none;
  overflow: visible;
}

/* Topbar on homepage — White bar matching other pages */
body:has(.snap-container) .topbar {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1001;
  background: #fff;
  border-bottom: 1px solid #eee;
  padding: 6px 0;
  font-size: .8rem;
}

/* Navbar fixed over the snap container, below topbar */
body:has(.snap-container) .navbar {
  position: fixed;
  top: 34px;
  left: 0;
  width: 100%;
  z-index: 1000;
  background: rgba(10, 14, 26, .92);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(127, 86, 217, .12);
  padding: 10px 0;
}

/* ===== SECTION 1: HERO — Already 100vh, just tighten ===== */
.snap-section.hero {
  padding: 0;
  min-height: 100vh;
}

.snap-section.hero .hero-inner {
  gap: 30px;
  padding-top: 70px;
  /* account for fixed navbar */
}

.snap-section.hero .hero-title {
  font-size: 2.8rem;
  margin-bottom: 16px;
}

.snap-section.hero .hero-desc {
  font-size: 1rem;
  margin-bottom: 24px;
}

.snap-section.hero .hero-tag {
  margin-bottom: 12px;
}

.snap-section.hero .devices-showcase {
  height: 380px;
  max-width: 560px;
}

/* ===== SECTION 2: SERVICES OVERVIEW — Balanced grid ===== */
.snap-section.services-overview {
  padding: 0;
}

.snap-section.services-overview>.container {
  padding-top: 70px;
  max-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.snap-section.services-overview .section-header {
  margin-bottom: 36px;
}

.snap-section.services-overview .section-header .section-title {
  font-size: 2rem;
}

.snap-section.services-overview .services-overview-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.snap-section.services-overview .svc-overview-card {
  padding: 28px 24px;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* Icon + Title on the same row */
.snap-section.services-overview .svc-overview-card .svc-overview-icon {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 10px;
  font-size: 1.05rem;
  margin-bottom: 0;
  margin-right: 12px;
  flex-shrink: 0;
}

.snap-section.services-overview .svc-overview-card h3 {
  font-size: 1rem;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 0;
  line-height: 1.3;
}

.snap-section.services-overview .svc-overview-card p {
  font-size: .85rem;
  line-height: 1.6;
  margin-bottom: 12px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.snap-section.services-overview .svc-overview-card .read-more {
  font-size: .82rem;
}

.snap-section.services-overview>.container>div:last-child {
  margin-top: 24px !important;
}

.snap-section.services-overview>.container>div:last-child .btn {
  padding: 12px 28px;
  font-size: .9rem;
}

/* ===== SECTION 3: MARKETING DIGITAL — Full 100vh ===== */
.snap-section.mkt-showcase {
  padding: 0;
}

.snap-section.mkt-showcase>.container {
  padding-top: 56px;
  padding-bottom: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  height: 100vh;
  max-height: 100vh;
  overflow: hidden;
}

.snap-section.mkt-showcase .section-header {
  margin-bottom: 0;
  flex-shrink: 0;
}

.snap-section.mkt-showcase .section-header .section-tag {
  font-size: .85rem;
  margin-bottom: 8px;
}

.snap-section.mkt-showcase .section-header .section-title {
  font-size: 1.9rem;
}

.snap-section.mkt-showcase .mkt-subtitle {
  font-size: .88rem;
  margin-top: 6px;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.snap-section.mkt-showcase .mkt-pillars {
  margin-top: 0;
  gap: 18px;
}

.snap-section.mkt-showcase .mkt-pillar {
  border-radius: 16px;
}

/* Holographic card snap overrides */
.snap-section.mkt-showcase .mkt-holo-card {
  flex: 1;
}

.snap-section.mkt-showcase .mkt-holo-icon-wrap {
  padding: 24px 0 8px;
}

.snap-section.mkt-showcase .mkt-holo-icon {
  width: 60px;
  height: 60px;
  border-radius: 16px;
  font-size: 1.4rem;
}

.snap-section.mkt-showcase .mkt-holo-icon-aura {
  width: 100px;
  height: 100px;
}

.snap-section.mkt-showcase .mkt-orb {
  width: 24px;
  height: 24px;
  font-size: .55rem;
}

.snap-section.mkt-showcase .mkt-pillar-content {
  padding: 10px 22px 22px;
}

.snap-section.mkt-showcase .mkt-pillar-content h3 {
  font-size: 1.05rem;
  margin-bottom: 8px;
}

.snap-section.mkt-showcase .mkt-pillar-content p {
  font-size: .85rem;
  line-height: 1.55;
  margin-bottom: 10px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.snap-section.mkt-showcase .mkt-features-list {
  gap: 4px;
}

.snap-section.mkt-showcase .mkt-features-list li {
  font-size: .82rem;
  gap: 8px;
}

.snap-section.mkt-showcase .mkt-features-list li i {
  width: 16px;
  height: 16px;
  font-size: .58rem;
}

.snap-section.mkt-showcase .mkt-cta-row {
  margin-top: 0;
  gap: 14px;
  flex-shrink: 0;
}

.snap-section.mkt-showcase .mkt-cta-row .btn {
  padding: 12px 28px;
  font-size: .9rem;
}

/* ===== SECTION 4: ABOUT — Compact two-column ===== */
.snap-section.about {
  padding: 0;
}

.snap-section.about .about-inner {
  padding-top: 56px;
  padding-bottom: 20px;
  gap: 40px;
  align-items: center;
  height: 100vh;
  max-height: 100vh;
  overflow: hidden;
}

.snap-section.about .about-visual {
  min-height: auto;
  gap: 10px;
}

.snap-section.about .about-mock-editor {
  box-shadow: 0 15px 40px rgba(0, 0, 0, .35), 0 0 25px rgba(127, 86, 217, .06);
}

.snap-section.about .about-mock-editor .about-code-body {
  padding: 10px 14px;
  font-size: .7rem;
  line-height: 1.7;
}

.snap-section.about .about-mock-editor .code-ln {
  width: 20px;
  margin-right: 10px;
  font-size: .6rem;
}

.snap-section.about .about-mock-terminal .mock-terminal-body {
  padding: 8px 12px;
}

.snap-section.about .about-mock-terminal .mock-log-line {
  font-size: .65rem;
  padding: 2px 0;
}

.snap-section.about .about-cert-badges {
  gap: 10px;
}

.snap-section.about .about-cert {
  padding: 8px 14px;
  font-size: .72rem;
}

.snap-section.about .about-exp-badge {
  padding: 12px 16px;
  border-radius: 12px;
}

.snap-section.about .about-exp-num {
  font-size: 1.4rem;
}

.snap-section.about .about-exp-label {
  font-size: .58rem;
}

.snap-section.about .about-content .section-tag {
  margin-bottom: 10px;
}

.snap-section.about .about-content .section-title {
  font-size: 2rem;
  line-height: 1.25;
}

.snap-section.about .about-desc {
  font-size: .95rem;
  margin: 14px 0 20px;
  line-height: 1.7;
}

.snap-section.about .about-features {
  gap: 14px;
}

.snap-section.about .about-feature {
  padding: 14px;
  border-radius: 12px;
}

.snap-section.about .about-feature-icon {
  width: 44px;
  height: 44px;
  min-width: 44px;
  border-radius: 10px;
  font-size: 1.1rem;
}

.snap-section.about .about-feature h4 {
  font-size: .95rem;
  margin-bottom: 4px;
}

.snap-section.about .about-feature p {
  font-size: .82rem;
  line-height: 1.55;
}

.snap-section.about .about-content .btn {
  margin-top: 1.2rem !important;
  padding: 12px 28px;
  font-size: .9rem;
}

/* ===== SECTION 5: PRODUCTS — V4 Live Dashboard Cards ===== */
.snap-section.products-section {
  padding: 0;
  background:
    radial-gradient(ellipse 700px 350px at 15% 55%, rgba(127, 86, 217, .05) 0%, transparent 70%),
    radial-gradient(ellipse 500px 250px at 85% 35%, rgba(0, 212, 255, .035) 0%, transparent 70%);
}

.snap-section.products-section>.container {
  padding-top: 60px;
  padding-bottom: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  max-height: 100vh;
}

.snap-section.products-section .section-header {
  margin-bottom: 24px;
  width: 100%;
}

.snap-section.products-section .section-header .section-tag {
  font-size: .85rem;
  margin-bottom: 8px;
}

.snap-section.products-section .section-header .section-title {
  font-size: 1.9rem;
}

/* -- Grid: 3 cols -- */
.snap-section.products-section .products-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  width: 100%;
}

/* -- Override base .product-card styles from styles.css -- */
.product-card-v4.product-card {
  border-radius: 16px !important;
  background: linear-gradient(160deg, rgba(18, 22, 31, .97) 0%, rgba(14, 17, 25, .99) 100%) !important;
  flex-direction: column !important;
}

.product-card-v4.product-card::before {
  width: auto !important;
  height: 2px !important;
  left: 20% !important;
  right: 20% !important;
  transform: none !important;
  background: linear-gradient(90deg, transparent, var(--pcolor, #7F56D9), transparent) !important;
  opacity: 0 !important;
  transition: all .4s !important;
}

.product-card-v4.product-card:hover::before {
  transform: none !important;
  opacity: 1 !important;
  left: 0 !important;
  right: 0 !important;
}

.product-card-v4.product-card:hover {
  background: linear-gradient(160deg, rgba(22, 27, 40, .97) 0%, rgba(18, 22, 33, .99) 100%) !important;
}
.product-card-v4 {
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  background: linear-gradient(160deg, rgba(18, 22, 31, .97) 0%, rgba(14, 17, 25, .99) 100%);
  border: 1px solid rgba(255, 255, 255, .07);
  overflow: hidden;
  position: relative;
  transition: all .45s cubic-bezier(.25, .46, .45, .94);
}

.product-card-v4 .product-card-glow {
  position: absolute;
  top: -1px; left: -1px; right: -1px; bottom: -1px;
  border-radius: 17px;
  background: conic-gradient(from 180deg, transparent 0%, var(--pcolor, #7F56D9) 12%, transparent 24%, transparent 100%);
  opacity: 0;
  transition: opacity .5s;
  z-index: -1;
  filter: blur(1px);
}

.product-card-v4:hover .product-card-glow {
  opacity: .35;
  animation: cardGlowSpin 4s linear infinite;
}

.product-card-v4::before {
  content: '';
  position: absolute;
  top: 0; left: 20%; right: 20%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--pcolor, #7F56D9), transparent);
  opacity: 0;
  transition: all .4s;
  z-index: 2;
}

.product-card-v4:hover::before {
  opacity: 1; left: 0; right: 0;
}

.product-card-v4:hover {
  transform: translateY(-6px);
  border-color: color-mix(in srgb, var(--pcolor, #7F56D9) 25%, transparent);
  box-shadow: 0 20px 50px rgba(0,0,0,.35), 0 0 30px color-mix(in srgb, var(--pcolor, #7F56D9) 8%, transparent);
}

/* -- Dashboard Panel (top zone) -- */
.pcard-dashboard {
  padding: 10px 12px 8px;
  border-bottom: 1px solid rgba(255,255,255,.04);
  background: rgba(255,255,255,.01);
  position: relative;
}

.pcard-dashboard::after {
  content: '';
  position: absolute;
  bottom: 0; left: 10%; right: 10%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--pcolor, rgba(127,86,217,.15)), transparent);
}

/* -- Dash Panel inner -- */
.dash-panel {
  font-size: .6rem;
  color: #8a94a8;
  font-family: 'Poppins', 'Segoe UI', sans-serif;
}

/* Topbar (browser dots / status pill) */
.dash-topbar {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(255,255,255,.04);
}

.dash-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}

.dash-url {
  font-size: .5rem;
  color: #6e7681;
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
  background: rgba(255,255,255,.03);
  padding: 2px 8px;
  border-radius: 4px;
}

.dash-topbar-title {
  font-size: .5rem;
  font-weight: 600;
  color: #8a94a8;
  margin-left: auto;
}

.dash-status-pill {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: .45rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: #10b981;
  background: rgba(16,185,129,.08);
  padding: 2px 8px;
  border-radius: 8px;
  border: 1px solid rgba(16,185,129,.15);
}

.dash-live-dot {
  width: 5px; height: 5px;
  border-radius: 50%;
  background: #10b981;
  animation: liveDotBlink 1.5s ease-in-out infinite;
}

@keyframes liveDotBlink {
  0%, 100% { opacity: 1; }
  50% { opacity: .3; }
}

.scan-pulse {
  color: #f59e0b !important;
  background: rgba(245,158,11,.08) !important;
  border-color: rgba(245,158,11,.15) !important;
  animation: scanPulseAnim 1.2s ease-in-out infinite;
}

@keyframes scanPulseAnim {
  0%, 100% { opacity: 1; }
  50% { opacity: .5; }
}

/* -- Metrics Row (web / seo) -- */
.dash-metrics-row {
  display: flex;
  gap: 6px;
  margin-bottom: 6px;
}

.dash-metric {
  flex: 1;
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.04);
  border-radius: 6px;
  padding: 6px 8px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.dash-metric-val {
  font-size: .72rem;
  font-weight: 800;
  color: var(--pcolor, #7F56D9);
  font-family: 'Poppins', monospace;
}

.dash-metric-label {
  font-size: .42rem;
  color: #6e7681;
  text-transform: uppercase;
  letter-spacing: .3px;
}

.dash-metric-change {
  font-size: .4rem;
  font-weight: 700;
}

.dash-metric-change.up { color: #10b981; }

/* -- Chart Area -- */
.dash-chart-area {
  height: 35px;
  margin-bottom: 6px;
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  background: rgba(255,255,255,.01);
}

.dash-chart-svg {
  width: 100%;
  height: 100%;
}

.dash-chart-line {
  transition: stroke-dashoffset 1.5s ease-out;
}

.dash-chart-dot {
  animation: chartDotPulse 2s ease-in-out infinite;
}

@keyframes chartDotPulse {
  0%, 100% { r: 3; opacity: 1; }
  50% { r: 4.5; opacity: .6; }
}

/* -- Mini Tags (responsive, SSL, etc.) -- */
.dash-tag-row {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}

.dash-mini-tag {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: .42rem;
  font-weight: 600;
  color: #8a94a8;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.05);
}

.dash-mini-tag i { font-size: .35rem; }

/* -- App KPIs (ring + stats) -- */
.dash-app-kpis {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 8px;
}

.dash-app-kpi {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
}

.dash-ring-wrap {
  width: 44px; height: 44px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.dash-ring-wrap svg { width: 100%; height: 100%; }

.dash-ring-val {
  position: absolute;
  font-size: .52rem;
  font-weight: 800;
  color: #f0f0f5;
}

.dash-ring-anim {
  transition: stroke-dasharray 1.5s cubic-bezier(.4,0,.2,1);
}

.dash-app-kpi-label {
  font-size: .4rem;
  color: #6e7681;
  text-transform: uppercase;
  letter-spacing: .3px;
}

.dash-app-kpi-stack {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
}

.dash-app-stat {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3px 8px;
  background: rgba(255,255,255,.02);
  border-radius: 4px;
  border: 1px solid rgba(255,255,255,.04);
}

.dash-app-stat-val {
  font-size: .52rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 3px;
}

.dash-app-stat span:last-child {
  font-size: .4rem;
  color: #6e7681;
}

/* Platform badges */
.dash-platform-badges {
  display: flex;
  gap: 4px;
}

.dash-plat-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 7px;
  border-radius: 4px;
  font-size: .42rem;
  font-weight: 600;
  color: #8a94a8;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.05);
}

/* -- Server Nodes & Gauges -- */
.dash-server-nodes {
  display: flex;
  gap: 6px;
  margin-bottom: 6px;
}

.dash-server-node {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.04);
  border-radius: 5px;
}

.dash-node-info {
  display: flex;
  flex-direction: column;
  font-size: .42rem;
}

.dash-node-latency {
  color: #6e7681;
  font-size: .38rem;
}

.dash-gauges {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 6px;
}

.dash-gauge {
  display: flex;
  align-items: center;
  gap: 6px;
}

.dash-gauge-lbl {
  font-size: .42rem;
  font-weight: 700;
  color: #6e7681;
  text-transform: uppercase;
  width: 22px;
}

.dash-gauge-track {
  flex: 1;
  height: 4px;
  border-radius: 2px;
  background: rgba(255,255,255,.06);
  overflow: hidden;
}

.dash-gauge-bar {
  height: 100%;
  border-radius: 2px;
  width: 0%;
  background: var(--gc, #7F56D9);
  transition: width 1.2s cubic-bezier(.4,0,.2,1);
  box-shadow: 0 0 6px color-mix(in srgb, var(--gc, #7F56D9) 30%, transparent);
}

.dash-gauge-pct {
  font-size: .42rem;
  font-weight: 700;
  color: #8a94a8;
  width: 20px;
  text-align: right;
}

/* -- Cybersec Scan Lines -- */
.dash-scan-lines {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-bottom: 6px;
}

.dash-scan-line {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 3px 6px;
  background: rgba(255,255,255,.015);
  border-radius: 3px;
  font-size: .44rem;
  font-family: 'Fira Code', 'Courier New', monospace;
  color: #8a94a8;
  animation: scanLineReveal .5s ease-out both;
}

.dash-scan-line:nth-child(1) { animation-delay: .1s; }
.dash-scan-line:nth-child(2) { animation-delay: .3s; }
.dash-scan-line:nth-child(3) { animation-delay: .5s; }
.dash-scan-line:nth-child(4) { animation-delay: .7s; }

@keyframes scanLineReveal {
  from { opacity: 0; transform: translateX(-8px); }
  to { opacity: 1; transform: translateX(0); }
}

.log-time { color: #6e7681; font-size: .38rem; }
.log-ok { color: #10b981; font-weight: 700; }
.log-warn { color: #f59e0b; font-weight: 700; }

.dash-cyber-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.dash-score {
  font-size: .52rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 4px;
}

.dash-scan-progress {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: .4rem;
  color: #6e7681;
}

.dash-scan-bar {
  width: 40px;
  height: 3px;
  border-radius: 2px;
  background: rgba(255,255,255,.06);
  overflow: hidden;
}

.dash-scan-bar-fill {
  height: 100%;
  width: 80%;
  border-radius: 2px;
  background: linear-gradient(90deg, #10b981, #10b981 80%, #f59e0b);
  animation: scanBarGrow 1.5s ease-out both;
}

@keyframes scanBarGrow {
  from { width: 0; }
  to { width: 80%; }
}

/* -- SEO Keywords -- */
.dash-kw-list {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.dash-kw {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3px 6px;
  background: rgba(255,255,255,.015);
  border-radius: 3px;
  font-size: .44rem;
}

.dash-kw span:first-child { color: #8a94a8; }

/* -- Card Content (bottom zone) -- */
.pcard-content {
  padding: 12px 16px 4px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}

.pcard-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.pcard-icon-sm {
  width: 34px; height: 34px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .85rem;
  color: var(--pcolor, #7F56D9);
  background: color-mix(in srgb, var(--pcolor, #7F56D9) 10%, transparent);
  flex-shrink: 0;
  transition: all .4s;
}

.product-card-v4:hover .pcard-icon-sm {
  background: color-mix(in srgb, var(--pcolor) 16%, transparent);
  box-shadow: 0 0 12px color-mix(in srgb, var(--pcolor) 15%, transparent);
}

.pcard-cat {
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .8px;
  text-transform: uppercase;
  color: var(--pcolor, #7F56D9);
  font-family: 'Poppins', sans-serif;
  display: block;
  line-height: 1;
  margin-bottom: 2px;
}

.pcard-title-row h3 {
  font-size: .9rem;
  font-weight: 700;
  color: #f0f0f5;
  line-height: 1.2;
  font-family: 'Poppins', sans-serif;
  margin: 0;
}

.pcard-desc {
  font-size: .75rem;
  line-height: 1.55;
  color: #7c8598;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
}

/* -- CTA -- */
.pcard-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 14px;
  margin: 0 14px 12px;
  border-radius: 8px;
  font-size: .7rem;
  font-weight: 700;
  background: color-mix(in srgb, var(--pcolor) 7%, transparent);
  border: 1px solid color-mix(in srgb, var(--pcolor) 15%, transparent);
  color: color-mix(in srgb, var(--pcolor) 70%, #fff);
  transition: all .35s;
  text-decoration: none;
  font-family: 'Poppins', sans-serif;
  letter-spacing: .3px;
  margin-top: auto;
}

.pcard-cta:hover {
  background: var(--pcolor);
  color: #fff;
  border-color: var(--pcolor);
  box-shadow: 0 6px 20px color-mix(in srgb, var(--pcolor) 30%, transparent);
  transform: translateY(-1px);
}

.pcard-cta i {
  font-size: .6rem;
  transition: transform .3s;
}

.pcard-cta:hover i {
  transform: translateX(3px);
}

/* -- Ver Más Card: icon grid -- */
.pcard-vermas {
  background: linear-gradient(160deg, rgba(18, 22, 47, .97) 0%, rgba(28, 16, 64, .5) 100%);
  border-color: rgba(127, 86, 217, .12);
}

.pcard-vermas:hover {
  background: linear-gradient(160deg, rgba(26, 24, 69, .97) 0%, rgba(42, 28, 80, .6) 100%) !important;
  border-color: rgba(127, 86, 217, .3) !important;
}

.vermas-grid-icons {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  padding: 6px 0;
}

.vermas-icon-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 8px 4px;
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.05);
  border-radius: 8px;
  transition: all .35s;
}

.vermas-icon-cell i {
  font-size: .7rem;
}

.vermas-icon-cell span {
  font-size: .38rem;
  font-weight: 600;
  color: #6e7681;
  text-transform: uppercase;
  letter-spacing: .3px;
}

.product-card-v4:hover .vermas-icon-cell {
  background: rgba(127, 86, 217, .06);
  border-color: rgba(127, 86, 217, .15);
  transform: scale(1.04);
}

.vermas-plus-cell {
  background: rgba(127, 86, 217, .04) !important;
  border-style: dashed !important;
  border-color: rgba(127, 86, 217, .15) !important;
}

.vermas-plus-cell i {
  color: #7F56D9 !important;
}

.pcard-cta-vermas {
  background: linear-gradient(135deg, rgba(127, 86, 217, .1), rgba(0, 212, 255, .05)) !important;
  border-color: rgba(127, 86, 217, .2) !important;
  color: #d4c4ff !important;
}

/* ===== PRODUCT SHOWCASE SLIDER — Option B ===== */
.product-showcase {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  width: 100%;
  min-height: 0;
  flex: 1;
  overflow: hidden;
  position: relative;
}

/* --- Left Panel: Info --- */
.showcase-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 36px 48px 36px 0;
  position: relative;
  z-index: 2;
}

.showcase-cat {
  display: inline-block;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 2.5px;
  margin-bottom: 10px;
  font-family: 'Poppins', sans-serif;
  opacity: .95;
}

.showcase-title {
  font-size: 2.1rem;
  font-weight: 800;
  line-height: 1.18;
  margin-bottom: 12px;
  color: #f0f0f5;
  font-family: 'Poppins', sans-serif;
  letter-spacing: -.5px;
}

.showcase-desc {
  font-size: .92rem;
  color: #8a94a8;
  line-height: 1.7;
  margin-bottom: 18px;
  max-width: 480px;
}

/* Features checklist */
.showcase-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 16px;
  margin-bottom: 24px;
}

.showcase-feat {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .82rem;
  color: #b0b8c8;
}

.showcase-feat i {
  font-size: .6rem;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255,255,255,.03);
  flex-shrink: 0;
}

/* CTA Row */
.showcase-cta-row {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.showcase-cta-row .btn {
  padding: 12px 26px;
  font-size: .88rem;
}

/* --- Right Panel: Visual --- */
.showcase-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

.showcase-visual-inner {
  position: relative;
  width: 340px;
  height: 340px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Glow aura behind icon */
.showcase-icon-aura {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--sv-color) 18%, transparent), transparent 70%);
  filter: blur(40px);
  pointer-events: none;
  animation: auraBreath 4s ease-in-out infinite alternate;
}

@keyframes auraBreath {
  0% { transform: translate(-50%, -50%) scale(1); opacity: .6; }
  100% { transform: translate(-50%, -50%) scale(1.15); opacity: .9; }
}

/* Spinning ring SVG container */
.showcase-icon-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 260px;
  height: 260px;
  pointer-events: none;
}

.showcase-icon-ring svg {
  width: 100%;
  height: 100%;
}

.showcase-ring-spin {
  animation: ringRotate 12s linear infinite;
  transform-origin: 100px 100px;
}

.showcase-ring-spin-rev {
  animation: ringRotate 18s linear infinite reverse;
  transform-origin: 100px 100px;
}

@keyframes ringRotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Main product icon */
.showcase-main-icon {
  position: relative;
  z-index: 3;
  width: 100px;
  height: 100px;
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(255,255,255,.05), rgba(255,255,255,.01));
  border: 1px solid rgba(255,255,255,.08);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.4rem;
  color: var(--sv-color, #7F56D9);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 
    0 10px 40px rgba(0,0,0,.3),
    inset 0 1px 0 rgba(255,255,255,.05),
    0 0 40px color-mix(in srgb, var(--sv-color) 12%, transparent);
  transition: transform .5s cubic-bezier(.34,1.56,.64,1), box-shadow .5s;
}

.showcase-main-icon:hover {
  transform: scale(1.08);
  box-shadow: 
    0 15px 50px rgba(0,0,0,.4),
    inset 0 1px 0 rgba(255,255,255,.08),
    0 0 60px color-mix(in srgb, var(--sv-color) 20%, transparent);
}

/* Orbiting items */
.showcase-orbit-items {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  z-index: 4;
}

.showcase-orbit-item {
  position: absolute;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(10, 14, 26, .85);
  border: 1px solid rgba(255,255,255,.08);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .95rem;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  animation: orbitFloat 20s linear infinite;
  box-shadow: 0 4px 16px rgba(0,0,0,.25);
  transition: transform .3s, box-shadow .3s;
}

.showcase-orbit-item:hover {
  transform: scale(1.25);
  box-shadow: 0 6px 24px rgba(0,0,0,.4);
  z-index: 10;
}

@keyframes orbitFloat {
  0% { transform: translateY(0px); }
  25% { transform: translateY(-6px) translateX(3px); }
  50% { transform: translateY(0px); }
  75% { transform: translateY(6px) translateX(-3px); }
  100% { transform: translateY(0px); }
}

/* Counter badge (01 / 05) */
.showcase-counter {
  position: absolute;
  bottom: 12px;
  right: 12px;
  font-family: 'Poppins', monospace;
  font-size: 1.8rem;
  font-weight: 900;
  color: rgba(255,255,255,.06);
  letter-spacing: 2px;
  z-index: 1;
  user-select: none;
}

.showcase-counter span {
  font-size: 1rem;
  color: rgba(255,255,255,.04);
}

/* --- Navigation: Arrows + Dots --- */
.showcase-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 12px 0 8px;
  flex-shrink: 0;
}

.showcase-arrow {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1.5px solid rgba(127, 86, 217, .25);
  background: rgba(255,255,255,.02);
  color: #b0b8c8;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .85rem;
  cursor: pointer;
  transition: all .35s cubic-bezier(.4,0,.2,1);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.showcase-arrow:hover {
  background: rgba(127, 86, 217, .12);
  border-color: rgba(127, 86, 217, .5);
  color: #fff;
  transform: scale(1.1);
  box-shadow: 0 4px 20px rgba(127, 86, 217, .2);
}

.showcase-arrow:active {
  transform: scale(.95);
}

.showcase-dots {
  display: flex;
  gap: 10px;
  align-items: center;
}

.showcase-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 2px solid rgba(127, 86, 217, .25);
  background: transparent;
  cursor: pointer;
  transition: all .4s cubic-bezier(.4,0,.2,1);
  position: relative;
}

.showcase-dot::after {
  content: '';
  position: absolute;
  inset: 1px;
  border-radius: 50%;
  background: transparent;
  transition: background .4s;
}

.showcase-dot.active {
  border-color: #7F56D9;
  background: #7F56D9;
  transform: scale(1.35);
  box-shadow: 0 0 10px rgba(127, 86, 217, .35);
}

.showcase-dot:hover:not(.active) {
  border-color: rgba(127, 86, 217, .6);
  transform: scale(1.15);
}

/* Progress bar under active dot */
.showcase-dot.active::before {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 20px;
  height: 2px;
  background: linear-gradient(90deg, #7F56D9, #00d4ff);
  border-radius: 1px;
}

/* --- Transition Animations --- */
.showcase-exit .showcase-info,
.showcase-info.showcase-exit {
  animation: slideOutLeft .25s ease-in forwards;
}

.showcase-exit .showcase-visual,
.showcase-visual.showcase-exit {
  animation: fadeScaleOut .25s ease-in forwards;
}

.showcase-enter .showcase-info,
.showcase-info.showcase-enter {
  animation: slideInRight .45s cubic-bezier(.22,1,.36,1) forwards;
}

.showcase-enter .showcase-visual,
.showcase-visual.showcase-enter {
  animation: fadeScaleIn .5s cubic-bezier(.22,1,.36,1) forwards;
}

@keyframes slideOutLeft {
  0% { opacity: 1; transform: translateX(0); }
  100% { opacity: 0; transform: translateX(-40px); }
}

@keyframes slideInRight {
  0% { opacity: 0; transform: translateX(40px); }
  100% { opacity: 1; transform: translateX(0); }
}

@keyframes fadeScaleOut {
  0% { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: scale(.88); }
}

@keyframes fadeScaleIn {
  0% { opacity: 0; transform: scale(.88); }
  100% { opacity: 1; transform: scale(1); }
}

/* --- Vertical separator line between panels --- */
.product-showcase::before {
  content: '';
  position: absolute;
  top: 15%;
  bottom: 15%;
  left: 50%;
  width: 1px;
  background: linear-gradient(to bottom, transparent, rgba(127, 86, 217, .15) 30%, rgba(127, 86, 217, .15) 70%, transparent);
  z-index: 5;
  pointer-events: none;
}

/* ===== STATS STRIP — Thin trust bar ===== */
.stats-strip {
  width: 100%;
  padding: 14px 0;
  background: linear-gradient(135deg, rgba(127, 86, 217, .10), rgba(0, 212, 255, .05));
  border-bottom: 1px solid rgba(127, 86, 217, .15);
  flex-shrink: 0;
}

.stats-strip .stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  text-align: center;
}

.stats-strip .stat-item {
  text-align: center;
}

.stats-strip .stat-item h3 {
  font-size: 1.6rem;
  font-weight: 800;
  background: linear-gradient(135deg, #7F56D9, #00d4ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.2;
}

.stats-strip .stat-item p {
  font-size: .72rem;
  margin-top: 2px;
  color: #8a94a8;
}

/* ===== SECTION 6: BLOG — Enhanced Grid (Plan C) ===== */
.snap-section.blog {
  padding: 0;
}

.snap-section.blog>.container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

.snap-section.blog .section-header {
  margin-bottom: 20px;
}

.snap-section.blog .section-header .section-title {
  font-size: 1.8rem;
}

.snap-section.blog .blog-grid {
  gap: 20px;
  margin-top: 0;
}

.snap-section.blog .blog-card-v2 {
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.05);
  transition: all .45s cubic-bezier(.4,0,.2,1);
  position: relative;
  overflow: hidden;
}

/* Gradient top accent line on hover */
.snap-section.blog .blog-card-v2::before {
  content: '';
  position: absolute;
  top: 0;
  left: 20%;
  right: 20%;
  height: 2px;
  background: linear-gradient(90deg, transparent, #7F56D9, #00d4ff, transparent);
  opacity: 0;
  transition: all .4s;
  z-index: 3;
}

.snap-section.blog .blog-card-v2:hover::before {
  opacity: 1;
  left: 0;
  right: 0;
}

.snap-section.blog .blog-card-v2:hover {
  transform: translateY(-6px);
  border-color: rgba(127, 86, 217, .2);
  box-shadow: 0 16px 48px rgba(0,0,0,.25), 0 0 20px rgba(127, 86, 217, .06);
}

.snap-section.blog .blog-card-v2-img {
  height: 160px;
  overflow: hidden;
}

.snap-section.blog .blog-card-v2-img img {
  transition: transform .6s cubic-bezier(.4,0,.2,1);
}

.snap-section.blog .blog-card-v2:hover .blog-card-v2-img img {
  transform: scale(1.08);
}

.snap-section.blog .blog-card-v2-body {
  padding: 14px 16px 16px;
  gap: .4rem;
}

.snap-section.blog .blog-card-v2-meta span {
  font-size: .68rem;
}

.snap-section.blog .blog-card-v2-title {
  font-size: .95rem;
  -webkit-line-clamp: 1;
}

.snap-section.blog .blog-card-v2-excerpt {
  font-size: .8rem;
  line-height: 1.5;
  -webkit-line-clamp: 2;
}

.snap-section.blog .blog-card-v2-cta {
  font-size: .78rem;
  padding-top: .3rem;
  transition: all .3s;
}

.snap-section.blog .blog-card-v2-cta:hover {
  color: #00d4ff;
}

.snap-section.blog .blog-card-v2-cta:hover i {
  transform: translateX(4px);
}

.snap-section.blog .blog-card-v2-cat {
  font-size: .62rem;
  padding: 3px 10px;
  background: linear-gradient(135deg, rgba(127,86,217,.85), rgba(0,212,255,.7));
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* ===== SECTION 7: CONTACT — Premium Split Panel (Plan A) ===== */
.snap-section.contact {
  padding: 0;
}

.snap-section.contact .contact-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: center;
}

.snap-section.contact .contact-inner .stats-strip {
  flex: 0 0 100%;
  padding: 14px 0;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(127, 86, 217, .10), rgba(0, 212, 255, .05));
  border: 1px solid rgba(127, 86, 217, .12);
}

.snap-section.contact .contact-info {
  flex: 1;
}

.snap-section.contact .contact-info .section-title {
  font-size: 1.6rem;
}

.snap-section.contact .contact-info>p {
  margin: 8px 0 14px;
  font-size: .88rem;
}

.snap-section.contact .contact-details {
  gap: 10px;
  margin-bottom: 14px;
}

/* Animated contact items */
.snap-section.contact .contact-item {
  font-size: .88rem;
  padding: 8px 12px;
  border-radius: 10px;
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.04);
  transition: all .35s;
}

.snap-section.contact .contact-item:hover {
  background: rgba(127, 86, 217, .06);
  border-color: rgba(127, 86, 217, .15);
  transform: translateX(6px);
}

.snap-section.contact .contact-item i {
  color: #7F56D9;
  transition: transform .3s;
}

.snap-section.contact .contact-item:hover i {
  transform: scale(1.15);
}

.snap-section.contact .contact-socials a {
  width: 34px;
  height: 34px;
  font-size: .85rem;
  transition: all .35s;
}

.snap-section.contact .contact-socials a:hover {
  background: rgba(127, 86, 217, .15);
  border-color: rgba(127, 86, 217, .3);
  transform: translateY(-3px);
}

/* Glassmorphism Form Card */
.snap-section.contact .contact-form-wrap {
  flex: 1;
  padding: 28px;
  border-radius: 18px;
  background: rgba(255,255,255,.03);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(127, 86, 217, .12);
  box-shadow: 0 16px 48px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.03);
  position: relative;
}

/* Accent line on top of form */
.snap-section.contact .contact-form-wrap::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 15%;
  right: 15%;
  height: 2px;
  background: linear-gradient(90deg, transparent, #7F56D9, #00d4ff, transparent);
  border-radius: 1px;
}

.snap-section.contact .contact-form {
  gap: 10px;
}

.snap-section.contact .contact-form input,
.snap-section.contact .contact-form textarea {
  padding: 11px 16px;
  font-size: .88rem;
  border-radius: 10px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  transition: all .3s;
}

.snap-section.contact .contact-form input:focus,
.snap-section.contact .contact-form textarea:focus {
  border-color: rgba(127, 86, 217, .4);
  background: rgba(127, 86, 217, .05);
  box-shadow: 0 0 14px rgba(127, 86, 217, .08);
}

.snap-section.contact .contact-form textarea {
  resize: none;
}

.snap-section.contact .contact-form .btn {
  padding: 11px 24px;
  font-size: .88rem;
}

/* ===== NEWSLETTER inside contact snap ===== */
.snap-section.contact~section.newsletter {
  /* Newsletter is OUTSIDE snap sections, hide if present */
}

/* ===== SCROLL INDICATOR ===== */
.snap-section::after {
  content: '';
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: 24px;
  height: 38px;
  border: 2px solid rgba(127, 86, 217, .3);
  border-radius: 12px;
  pointer-events: none;
  opacity: .5;
  z-index: 10;
}

.snap-section::before {
  /* Reuse for the scroll dot inside */
}

/* Hide scroll indicator on footer */
.snap-section--footer::after {
  display: none;
}

/* Stats is now inside blog, no longer a snap-section */

/* Hide on hero (has its own) */
.snap-section.hero::after {
  display: none;
}

/* Scroll dot animation */
.snap-section .scroll-dot-indicator {
  position: absolute;
  bottom: 26px;
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  height: 8px;
  background: rgba(127, 86, 217, .5);
  border-radius: 2px;
  animation: scrollDot 2s ease-in-out infinite;
  z-index: 11;
  pointer-events: none;
}

@keyframes scrollDot {

  0%,
  100% {
    transform: translateX(-50%) translateY(0);
    opacity: .5;
  }

  50% {
    transform: translateX(-50%) translateY(10px);
    opacity: 1;
  }
}

/* ===== WHATSAPP FLOATING BUTTON ===== */
.whatsapp-float {
  position: fixed;
  bottom: 28px;
  left: 28px;
  z-index: 1000;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, #25D366, #128C7E);
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #fff;
  font-size: 1.6rem;
  box-shadow:
    0 4px 14px rgba(37, 211, 102, .35),
    0 0 20px rgba(37, 211, 102, .15);
  transition: all .35s cubic-bezier(.4, 0, .2, 1);
  cursor: pointer;
}

.whatsapp-float:hover {
  transform: scale(1.12);
  box-shadow:
    0 6px 24px rgba(37, 211, 102, .45),
    0 0 30px rgba(37, 211, 102, .25);
}

.whatsapp-float:active {
  transform: scale(1.05);
}

/* Pulsing ring */
.whatsapp-float-pulse {
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 2px solid rgba(37, 211, 102, .4);
  animation: whatsappPulse 2.5s ease-in-out infinite;
}

@keyframes whatsappPulse {
  0%, 100% {
    transform: scale(1);
    opacity: .4;
  }
  50% {
    transform: scale(1.35);
    opacity: 0;
  }
}

/* Tooltip */
.whatsapp-float-tooltip {
  position: absolute;
  left: calc(100% + 12px);
  top: 50%;
  transform: translateY(-50%) translateX(6px);
  background: rgba(10, 14, 26, .9);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(37, 211, 102, .2);
  color: #25D366;
  font-family: 'Poppins', sans-serif;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .5px;
  padding: 6px 14px;
  border-radius: 8px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: all .3s cubic-bezier(.4, 0, .2, 1);
}

/* Tooltip arrow */
.whatsapp-float-tooltip::before {
  content: '';
  position: absolute;
  left: -5px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  background: rgba(10, 14, 26, .9);
  border-left: 1px solid rgba(37, 211, 102, .2);
  border-bottom: 1px solid rgba(37, 211, 102, .2);
}

.whatsapp-float:hover .whatsapp-float-tooltip {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

/* ===== SNAP DOTS VERTICAL NAV ===== */
.snap-dots-nav {
  position: fixed;
  right: 28px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 999;
  display: flex;
  align-items: center;
  gap: 14px;
  pointer-events: auto;
}

/* The vertical track with line */
.snap-dots-track {
  position: absolute;
  left: 7px;
  top: 0;
  bottom: 0;
  width: 2px;
}

.snap-dots-line {
  position: absolute;
  inset: 0;
  background: rgba(127, 86, 217, .12);
  border-radius: 1px;
}

.snap-dots-line-fill {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0%;
  background: linear-gradient(to bottom, #7F56D9, #00d4ff);
  border-radius: 1px;
  transition: height .5s cubic-bezier(.4, 0, .2, 1);
}

/* Dots list */
.snap-dots-list {
  display: flex;
  flex-direction: column;
  gap: 22px;
  position: relative;
  z-index: 2;
}

/* Individual dot */
.snap-dot {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid rgba(127, 86, 217, .25);
  background: transparent;
  cursor: pointer;
  transition: all .4s cubic-bezier(.4, 0, .2, 1);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.snap-dot::after {
  content: '';
  width: 0;
  height: 0;
  border-radius: 50%;
  background: #7F56D9;
  transition: all .4s cubic-bezier(.4, 0, .2, 1);
}

/* Passed dots — filled solid */
.snap-dot.passed {
  border-color: #7F56D9;
  background: #7F56D9;
}

.snap-dot.passed::after {
  width: 0;
  height: 0;
}

/* Active dot — larger, glowing, with ring pulse */
.snap-dot.active {
  border-color: #7F56D9;
  background: #7F56D9;
  transform: scale(1.3);
  box-shadow: 0 0 12px rgba(127, 86, 217, .4);
}

.snap-dot.active::after {
  width: 6px;
  height: 6px;
  background: #fff;
}

/* Ring pulse on active */
.snap-dot.active::before {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 1.5px solid rgba(127, 86, 217, .3);
  animation: dotRingPulse 2s ease-in-out infinite;
}

@keyframes dotRingPulse {
  0%, 100% {
    transform: scale(1);
    opacity: .3;
  }
  50% {
    transform: scale(1.4);
    opacity: 0;
  }
}

/* Future dots — outlined, subtle */
.snap-dot.future {
  border-color: rgba(127, 86, 217, .18);
  background: transparent;
}

/* Hover all dots */
.snap-dot:hover {
  border-color: rgba(127, 86, 217, .6);
  transform: scale(1.2);
}

.snap-dot.active:hover {
  transform: scale(1.35);
}

/* Label that follows active dot */
.snap-dots-label {
  position: absolute;
  right: 32px;
  padding: 6px 16px;
  border-radius: 8px;
  background: rgba(10, 14, 26, .88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(127, 86, 217, .2);
  white-space: nowrap;
  pointer-events: none;
  transition: all .45s cubic-bezier(.4, 0, .2, 1);
  opacity: 0;
  transform: translateX(8px);
}

.snap-dots-nav:hover .snap-dots-label {
  opacity: 1;
  transform: translateX(0);
}

.snap-dots-label span {
  font-family: 'Poppins', sans-serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #7F56D9;
}

/* Tooltip arrow pointing right */
.snap-dots-label::after {
  content: '';
  position: absolute;
  right: -5px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  background: rgba(10, 14, 26, .88);
  border-right: 1px solid rgba(127, 86, 217, .2);
  border-top: 1px solid rgba(127, 86, 217, .2);
}

/* ===== DISABLE SNAP ON MOBILE ===== */
@media (max-width: 1024px) {
  .snap-container {
    height: auto;
    overflow-y: visible;
    scroll-snap-type: none;
  }

  .snap-section {
    height: auto;
    min-height: auto;
    max-height: none;
    overflow: visible;
    scroll-snap-align: none;
    padding: 60px 0;
  }

  .snap-section::after {
    display: none;
  }

  /* Topbar — keep visible on tablet */
  body:has(.snap-container) .topbar {
    display: block;
    position: relative;
    padding: 10px 0;
  }

  body:has(.snap-container) .navbar {
    position: sticky;
    top: 0;
    background: rgba(10, 14, 26, .95);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(127, 86, 217, .12);
    padding: 12px 0;
  }

  /* Hide snap dots on mobile */
  .snap-dots-nav {
    display: none;
  }

  /* Services Overview — 2 columns on tablet */
  .snap-section.services-overview .services-overview-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .snap-section.services-overview > .container {
    padding-top: 0;
    max-height: none;
    height: auto;
  }

  /* About section fix */
  .snap-section.about .about-inner {
    padding-top: 0;
    padding-bottom: 0;
    height: auto;
    max-height: none;
    overflow: visible;
  }

  /* Marketing section fix */
  .snap-section.mkt-showcase > .container {
    padding-top: 0;
    padding-bottom: 0;
    height: auto;
    max-height: none;
    overflow: visible;
    gap: 24px;
  }

  /* Products section fix */
  .snap-section.products-section > .container {
    padding-top: 0;
    padding-bottom: 0;
    max-height: none;
  }

  /* Contact section fix */
  .snap-section.contact .contact-inner {
    max-height: none;
    overflow: visible;
    height: auto;
  }

  /* Newsletter — prevent overflow */
  .newsletter-inner {
    flex-direction: column;
    text-align: center;
    gap: 20px;
  }

  .newsletter-form {
    max-width: 100%;
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }

  .newsletter-form input {
    flex: 1;
    min-width: 0;
  }

  .newsletter-form .btn {
    white-space: nowrap;
    flex-shrink: 0;
  }

  /* Footer — 2 cols on tablet */
  .footer-inner {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }

  /* WhatsApp button adjust */
  .whatsapp-float {
    bottom: 20px;
    left: 20px;
    width: 50px;
    height: 50px;
    font-size: 1.4rem;
  }
}

/* ===== PHONE-SPECIFIC MOBILE FIXES ===== */
@media (max-width: 768px) {
  /* Topbar — compact single line on phone */
  body:has(.snap-container) .topbar {
    display: block !important;
    position: relative;
    padding: 6px 0;
    font-size: .72rem;
  }

  body:has(.snap-container) .topbar .topbar-inner {
    flex-direction: column;
    gap: 4px;
    text-align: center;
  }

  body:has(.snap-container) .topbar .topbar-right {
    display: none;
  }

  body:has(.snap-container) .navbar {
    top: 0;
  }

  .snap-section {
    padding: 30px 0 !important;
  }

  .snap-section.services-overview,
  .snap-section.mkt-showcase,
  .snap-section.about,
  .snap-section.products-section,
  .snap-section.blog,
  .snap-section.contact {
    padding: 30px 0 !important;
  }

  /* Container width on mobile */
  .container {
    width: 90%;
  }

  /* ---- REDUCE HERO TOP GAP ---- */
  .snap-section.hero {
    padding: 15px 0 100px !important;
    min-height: auto !important;
  }

  .snap-section.hero .hero-inner {
    padding-top: 15px !important;
    gap: 20px;
  }

  .snap-section.hero .hero-tag {
    margin-bottom: 10px;
  }

  .snap-section.hero .hero-title {
    font-size: 2rem;
  }

  .snap-section.hero .devices-showcase {
    height: 280px;
    max-width: 100%;
  }

  /* Services Overview — 1 column on phone */
  .snap-section.services-overview .services-overview-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .snap-section.services-overview .svc-overview-card {
    padding: 24px 20px;
  }

  .snap-section.services-overview .svc-overview-card h3 {
    font-size: 1rem;
  }

  .snap-section.services-overview .svc-overview-card p {
    font-size: .85rem;
    -webkit-line-clamp: 3;
  }

  /* ---- SECTION CTA — MORE BOTTOM MARGIN to separate from next section ---- */
  .snap-section.services-overview > .container > div:last-child {
    margin-bottom: 10px;
  }

  /* ---- MARKETING — keep buttons on SAME LINE ---- */
  .snap-section.mkt-showcase .mkt-pillars {
    grid-template-columns: 1fr;
    max-width: 100%;
  }

  .snap-section.mkt-showcase .mkt-cta-row {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 16px;
  }

  .snap-section.mkt-showcase .mkt-cta-row .btn {
    padding: 10px 20px;
    font-size: .82rem;
  }

  /* ---- ABOUT — keep buttons on SAME LINE ---- */
  .snap-section.about .about-inner {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .snap-section.about .about-visual {
    order: 2;
  }

  .snap-section.about .about-content {
    order: 1;
    text-align: center;
  }

  .snap-section.about .about-content .btn {
    margin-top: 1rem !important;
  }

  .snap-section.about .hero-btns,
  .snap-section.about .about-content > a {
    margin-bottom: 10px;
  }

  /* ---- PRODUCTS — keep buttons on SAME LINE ---- */
  .snap-section.products-section .products-grid {
    grid-template-columns: 1fr;
  }

  .showcase-cta-row {
    flex-direction: row !important;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px !important;
  }

  .showcase-cta-row .btn {
    padding: 10px 18px !important;
    font-size: .82rem !important;
    white-space: nowrap;
  }

  /* Blog grid fix */
  .snap-section.blog .blog-grid {
    grid-template-columns: 1fr;
  }

  /* Contact section — single column */
  .snap-section.contact .contact-inner {
    grid-template-columns: 1fr;
  }

  .snap-section.contact .stats-strip {
    order: -1;
  }

  .snap-section.contact .stats-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  /* Newsletter — stacked */
  .newsletter {
    padding: 40px 0;
  }

  .newsletter-form {
    flex-direction: column;
    gap: 12px;
  }

  .newsletter-form input {
    width: 100%;
  }

  .newsletter-form .btn {
    width: 100%;
    justify-content: center;
  }

  /* Footer — 1 column */
  .footer-inner {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .footer-col h4::after {
    left: 50%;
    transform: translateX(-50%);
  }

  .footer-socials {
    justify-content: center;
  }

  .footer-about {
    text-align: center;
  }

  /* WhatsApp — smaller on phone */
  .whatsapp-float {
    bottom: 16px;
    left: 16px;
    width: 46px;
    height: 46px;
    font-size: 1.3rem;
  }

  .whatsapp-float-tooltip {
    display: none;
  }
}

/* ===== VERY SMALL PHONES ===== */
@media (max-width: 480px) {
  .snap-section.services-overview .svc-overview-card {
    padding: 20px 16px;
  }

  .snap-section.hero .hero-title {
    font-size: 1.7rem;
  }

  .snap-section.hero .hero-desc {
    font-size: .9rem;
  }

  .snap-section.hero .hero-btns {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }

  .snap-section.hero .hero-btns .btn {
    padding: 10px 18px;
    font-size: .82rem;
  }

  .snap-section.contact .stats-grid {
    grid-template-columns: 1fr;
  }

  .showcase-cta-row .btn {
    padding: 9px 14px !important;
    font-size: .78rem !important;
  }

  .snap-section.mkt-showcase .mkt-cta-row .btn {
    padding: 9px 14px;
    font-size: .78rem;
  }
}

/* ==============================================
   LIGHT THEME OVERRIDES — INTERNAL PAGES
   premium.css loads after styles.css, so these rules
   ensure dark backgrounds from premium.css get
   properly overridden on internal pages.
   ============================================== */

/* --- Global section spacing for internal pages --- */
body[data-page] section {
  padding: 60px 0 !important;
}
body[data-page] .page-hero {
  padding: 40px 0 28px !important;
  margin-top: 0;
}

/* --- Premium Features (override dark bg) --- */
body[data-page] .premium-features {
  background: #fff !important;
}
body[data-page] .premium-features-grid {
  gap: 22px;
}
body[data-page] .premium-feature-card {
  background: #fff;
  border: 1px solid #e8ecf1;
  box-shadow: 0 2px 12px rgba(0,0,0,.04);
  padding: 32px 24px;
}
body[data-page] .premium-feature-card::after {
  background: linear-gradient(90deg, #7F56D9, #00d4ff);
}
body[data-page] .premium-feature-card:hover {
  background: #fff;
  border-color: rgba(127,86,217,.25);
  box-shadow: 0 12px 40px rgba(127,86,217,.1);
}
body[data-page] .premium-feature-card h3 { color: #1a1d2b; }
body[data-page] .premium-feature-card p { color: #5a6070; }
body[data-page] .pf-number { color: rgba(127,86,217,.1); }
body[data-page] .pf-icon {
  background: linear-gradient(135deg, rgba(127,86,217,.1), rgba(0,212,255,.06));
}

/* --- Testimonials (override dark bg) --- */
body[data-page] .testimonials-section {
  background: #f8f9fc !important;
}
body[data-page] .testimonial-card {
  background: #fff;
  border: 1px solid #e8ecf1;
  box-shadow: 0 2px 12px rgba(0,0,0,.04);
}
body[data-page] .testimonial-card:hover {
  border-color: rgba(127,86,217,.2);
  box-shadow: 0 12px 35px rgba(0,0,0,.08);
}
body[data-page] .testimonial-card::before { color: rgba(127,86,217,.12); }
body[data-page] .testimonial-text { color: #4a5068; }
body[data-page] .testimonial-info h4 { color: #1a1d2b; }
body[data-page] .testimonial-info span { color: #7F56D9; }

/* --- Premium CTA (keep dark for impact) --- */
body[data-page] .premium-cta {
  background:
    radial-gradient(circle 500px at 20% 50%, rgba(127,86,217,.15) 0%, transparent 60%),
    radial-gradient(circle 400px at 80% 50%, rgba(0,212,255,.1) 0%, transparent 60%),
    linear-gradient(135deg, #0d1020 0%, #141832 50%, #0d1020 100%) !important;
  padding: 80px 0 !important;
}

/* --- Clients / Trust Logos --- */
body[data-page] .clients-section {
  background: #f0f2f6 !important;
  padding: 50px 0 !important;
}
body[data-page] .clients-grid { opacity: .7; }
body[data-page] .client-logo { color: #7a8190; }
body[data-page] .client-logo:hover { color: #7F56D9; }

/* --- Tech Marquee --- */
body[data-page] .tech-marquee-section {
  background: #eef0f5 !important;
  padding: 40px 0 !important;
  border-top: 1px solid #e0e4ea;
  border-bottom: 1px solid #e0e4ea;
}
body[data-page] .tech-marquee-item { color: #5a6070; }
body[data-page] .tech-marquee-item i { color: #7F56D9; }

/* --- Mission/Vision (subtle alternate bg) --- */
body[data-page] .mission-vision-section {
  background: #f0f2f6 !important;
  padding: 50px 0 !important;
}
body[data-page] .mv-card {
  background: #fff;
  border: 1px solid #e8ecf1;
  box-shadow: 0 2px 12px rgba(0,0,0,.04);
  padding: 32px 24px;
}
body[data-page] .mv-card:hover {
  background: #fff;
  border-color: rgba(127,86,217,.25);
  box-shadow: 0 12px 35px rgba(127,86,217,.08);
}
body[data-page] .mv-card h3 { color: #1a1d2b; }
body[data-page] .mv-card p { color: #5a6070; }
body[data-page] .mv-icon {
  background: linear-gradient(135deg, rgba(127,86,217,.1), rgba(0,212,255,.06));
}

/* --- Process Section --- */
body[data-page] .process-section {
  background: #f0f2f6 !important;
  padding: 50px 0 !important;
}
body[data-page] .process-step-content h3 { color: #1a1d2b; }
body[data-page] .process-step-content p { color: #5a6070; }

/* --- Timeline Section --- */
body[data-page] .timeline-section {
  background: #fff !important;
  padding: 50px 0 !important;
}
body[data-page] .timeline { padding: 20px 0; }
body[data-page] .timeline-item { margin-bottom: 20px; }
body[data-page] .timeline-content {
  background: #f8f9fc;
  border: 1px solid #e8ecf1;
  padding: 18px;
  border-radius: 12px;
}
body[data-page] .timeline-content h3 { color: #1a1d2b; font-size: 1rem; }
body[data-page] .timeline-content .timeline-year { color: #7F56D9; }
body[data-page] .timeline-content p { color: #5a6070; font-size: .85rem; }
body[data-page] .timeline-dot { border-color: #fff; }

/* --- Values Section --- */
body[data-page] .values-section {
  background: #f0f2f6 !important;
  padding: 50px 0 !important;
}
body[data-page] .value-card {
  background: #fff;
  border: 1px solid #e8ecf1;
  box-shadow: 0 2px 12px rgba(0,0,0,.04);
  padding: 28px 22px;
}
body[data-page] .value-card:hover {
  background: #fff;
  border-color: rgba(127,86,217,.2);
  box-shadow: 0 12px 35px rgba(0,0,0,.06);
}
body[data-page] .value-card h3 { color: #1a1d2b; }
body[data-page] .value-card p { color: #5a6070; }
body[data-page] .value-card-icon {
  background: linear-gradient(135deg, rgba(127,86,217,.1), rgba(0,212,255,.06));
}

/* --- Stats Section --- */
body[data-page] .stats {
  background: linear-gradient(135deg, #7F56D9, #5b3fa0) !important;
  padding: 50px 0 !important;
}

/* --- Team Culture --- */
body[data-page] .team-culture {
  background: #f0f2f6 !important;
}
body[data-page] .culture-card {
  background: #fff;
  border: 1px solid #e8ecf1;
  box-shadow: 0 2px 10px rgba(0,0,0,.04);
}
body[data-page] .culture-card:hover {
  border-color: rgba(127,86,217,.2);
}
body[data-page] .culture-card h4 { color: #1a1d2b; }
body[data-page] .culture-card p { color: #5a6070; }

/* --- Contact Feature Cards --- */
body[data-page] .contact-feature-card {
  background: #fff;
  border: 1px solid #e8ecf1;
  box-shadow: 0 2px 10px rgba(0,0,0,.04);
}
body[data-page] .contact-feature-card:hover {
  border-color: rgba(127,86,217,.2);
}
body[data-page] .contact-feature-card i { color: #7F56D9; }
body[data-page] .contact-feature-card h4 { color: #1a1d2b; }
body[data-page] .contact-feature-card p { color: #5a6070; }

/* --- Blog Featured --- */
body[data-page] .blog-featured {
  background: #fff !important;
  padding: 60px 0 !important;
}
body[data-page] .blog-featured-card {
  background: #fff;
  border: 1px solid #e8ecf1;
  box-shadow: 0 4px 20px rgba(0,0,0,.06);
}
body[data-page] .blog-featured-body h2 { color: #1a1d2b; }
body[data-page] .blog-featured-body p { color: #5a6070; }

/* --- Newsletter (keep dark) --- */
body[data-page] .newsletter {
  background: linear-gradient(135deg, #0d1225, #1a1040) !important;
  padding: 50px 0 !important;
}

/* --- Footer (keep dark) --- */
body[data-page] .footer {
  background: #0a0e1a !important;
}

/* ==============================================
   PREMIUM PAGE HERO — DARK CYBER DESIGN
   ============================================== */
body[data-page] .page-hero--premium {
  background:
    radial-gradient(ellipse 800px 500px at 25% 40%, rgba(127,86,217,.2) 0%, transparent 60%),
    radial-gradient(ellipse 600px 400px at 75% 60%, rgba(0,212,255,.12) 0%, transparent 60%),
    radial-gradient(ellipse 400px 300px at 50% 80%, rgba(243,115,53,.06) 0%, transparent 60%),
    linear-gradient(170deg, #080c18 0%, #0d1225 35%, #111638 65%, #0a0e1a 100%) !important;
  padding: 120px 0 80px !important;
  position: relative;
  overflow: hidden;
  text-align: center;
  border-bottom: none !important;
}

/* Animated circuit-board grid overlay */
.page-hero--premium .ph-grid-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .08;
  background-image:
    linear-gradient(rgba(127,86,217,.4) 1px, transparent 1px),
    linear-gradient(90deg, rgba(127,86,217,.4) 1px, transparent 1px);
  background-size: 60px 60px;
  animation: phGridDrift 25s linear infinite;
}
@keyframes phGridDrift {
  0%   { transform: translate(0, 0); }
  100% { transform: translate(60px, 60px); }
}

/* Glowing orbs */
.page-hero--premium .ph-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  pointer-events: none;
  z-index: 0;
}
.ph-orb--1 {
  width: 300px; height: 300px;
  top: -80px; left: -60px;
  background: rgba(127,86,217,.2);
  animation: phOrbFloat 8s ease-in-out infinite;
}
.ph-orb--2 {
  width: 200px; height: 200px;
  bottom: -40px; right: 10%;
  background: rgba(0,212,255,.15);
  animation: phOrbFloat 6s ease-in-out infinite reverse;
}
.ph-orb--3 {
  width: 150px; height: 150px;
  top: 30%; right: -30px;
  background: rgba(243,115,53,.1);
  animation: phOrbFloat 10s ease-in-out infinite 2s;
}
@keyframes phOrbFloat {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33%      { transform: translate(20px, -15px) scale(1.05); }
  66%      { transform: translate(-15px, 10px) scale(.95); }
}

/* Horizontal scan line */
.page-hero--premium .ph-scanline {
  position: absolute;
  left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(127,86,217,.4) 20%, rgba(0,212,255,.5) 50%, rgba(127,86,217,.4) 80%, transparent 100%);
  animation: phScan 4s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}
@keyframes phScan {
  0%   { top: 15%; opacity: 0; }
  15%  { opacity: 1; }
  85%  { opacity: 1; }
  100% { top: 85%; opacity: 0; }
}

/* Top accent gradient bar */
.page-hero--premium .ph-accent-bar {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #7F56D9, #00d4ff, #F37335, #7F56D9);
  background-size: 300% 100%;
  animation: phBarShift 4s ease infinite;
  z-index: 10;
}
@keyframes phBarShift {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* Shield badge icon */
.page-hero--premium .ph-badge {
  width: 70px; height: 70px;
  border-radius: 20px;
  margin: 0 auto 24px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.8rem;
  color: #7F56D9;
  background: linear-gradient(135deg, rgba(127,86,217,.15), rgba(0,212,255,.08));
  border: 1px solid rgba(127,86,217,.25);
  position: relative;
  z-index: 2;
  animation: phBadgePulse 3s ease-in-out infinite;
}
.page-hero--premium .ph-badge::after {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 24px;
  border: 1px solid rgba(127,86,217,.12);
  animation: phBadgeRing 3s ease-in-out infinite;
}
@keyframes phBadgePulse {
  0%, 100% { box-shadow: 0 0 0 rgba(127,86,217,0); }
  50%      { box-shadow: 0 0 30px rgba(127,86,217,.2), 0 0 60px rgba(127,86,217,.08); }
}
@keyframes phBadgeRing {
  0%, 100% { transform: scale(1); opacity: .5; }
  50%      { transform: scale(1.15); opacity: 0; }
}

/* Title */
body[data-page] .page-hero--premium h1 {
  background: linear-gradient(135deg, #fff 20%, #c4b5fd 50%, #7F56D9 80%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  font-size: 3rem !important;
  font-weight: 800;
  margin-bottom: 18px;
  position: relative;
  z-index: 2;
  text-shadow: none;
  letter-spacing: -.5px;
}

/* Subtitle */
body[data-page] .page-hero--premium .page-hero-subtitle {
  color: #8a94a8 !important;
  font-size: 1.1rem;
  max-width: 620px;
  margin: 0 auto 22px;
  line-height: 1.7;
  position: relative;
  z-index: 2;
}

/* Breadcrumbs */
body[data-page] .page-hero--premium .breadcrumbs {
  color: #5a6070 !important;
  position: relative;
  z-index: 2;
  gap: 10px;
}
body[data-page] .page-hero--premium .breadcrumbs a {
  color: #7F56D9 !important;
  font-weight: 600;
}
body[data-page] .page-hero--premium .breadcrumbs a:hover {
  color: #00d4ff !important;
}
body[data-page] .page-hero--premium .breadcrumbs .sep {
  color: #4a5068 !important;
  font-size: .6rem;
}

/* Bottom angled cut */
.page-hero--premium .ph-bottom-cut {
  position: absolute;
  bottom: -2px; left: 0; right: 0;
  height: 60px;
  background: #f0f2f6;
  clip-path: polygon(0 60%, 100% 0%, 100% 100%, 0% 100%);
  z-index: 3;
}

/* Container z-index */
.page-hero--premium .container {
  position: relative;
  z-index: 4;
}

/* ==============================================
   ABOUT PAGE — LIGHT PREMIUM REDESIGN
   ============================================== */

/* Hero bottom cut — transitions to light */
body[data-page="about"] .page-hero--premium .ph-bottom-cut {
  background: #f5f7fc !important;
}

/* ---- SECTION 1: MISSION/VISION/DNA — 3-COLUMN EDITORIAL ---- */
.ab-editorial-section {
  padding: 60px 0 50px !important;
  background: #f5f7fc !important;
  position: relative;
  overflow: hidden;
}
.ab-editorial-section .section-tag { color: #7F56D9 !important; }
.ab-editorial-section .section-title { color: #1a1d2b !important; }

.ab-editorial-header {
  text-align: center;
  margin-bottom: 40px;
}

/* ---- 3 Column Row ---- */
.ab-editorial-row {
  display: flex;
  align-items: stretch;
}

/* ---- Column ---- */
.ab-ed-col {
  flex: 1;
  position: relative;
  padding: 0 32px;
  overflow: hidden;
}
.ab-ed-col:first-child { padding-left: 0; }
.ab-ed-col:last-child  { padding-right: 0; }

/* Vertical accent line on the left */
.ab-ed-accent {
  position: absolute;
  top: 0; bottom: 0; left: 0;
  width: 3px;
  background: linear-gradient(180deg, var(--ed-color), color-mix(in srgb, var(--ed-color) 30%, transparent));
  border-radius: 3px;
  opacity: .6;
  transition: opacity .4s ease;
}
.ab-ed-col:first-child .ab-ed-accent { display: none; }
.ab-ed-col:hover .ab-ed-accent { opacity: 1; }

/* Giant Watermark Number */
.ab-ed-watermark {
  position: absolute;
  top: -20px;
  right: 0;
  font-family: 'Poppins', sans-serif;
  font-size: 9rem;
  font-weight: 900;
  line-height: 1;
  color: var(--ed-color);
  opacity: .04;
  pointer-events: none;
  user-select: none;
  z-index: 0;
  transition: opacity .4s ease;
}
.ab-ed-col:hover .ab-ed-watermark {
  opacity: .08;
}

/* Label */
.ab-ed-label {
  display: inline-block;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--ed-color);
  margin-bottom: 12px;
  position: relative;
  z-index: 1;
}

/* Title */
.ab-ed-col h3 {
  font-size: 1.25rem;
  font-weight: 800;
  color: #1a1d2b;
  line-height: 1.35;
  margin-bottom: 12px;
  letter-spacing: -.2px;
  position: relative;
  z-index: 1;
}

/* Description */
.ab-ed-col p {
  font-size: .88rem;
  color: #5a6070;
  line-height: 1.75;
  margin-bottom: 18px;
  position: relative;
  z-index: 1;
}

/* Tags */
.ab-ed-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  position: relative;
  z-index: 1;
}
.ab-ed-tags span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 50px;
  font-size: .75rem;
  font-weight: 600;
  color: var(--ed-color);
  background: rgba(var(--ed-rgb),.06);
  border: 1px solid rgba(var(--ed-rgb),.12);
  transition: all .3s ease;
}
.ab-ed-tags span:hover {
  background: rgba(var(--ed-rgb),.12);
  transform: translateY(-1px);
}
.ab-ed-tags span i {
  font-size: .65rem;
}

/* Stat Row (Vision) */
.ab-ed-stat-row {
  display: flex;
  align-items: baseline;
  gap: 12px;
  position: relative;
  z-index: 1;
}
.ab-ed-stat-num {
  font-family: 'Poppins', sans-serif;
  font-size: 2.4rem;
  font-weight: 900;
  background: linear-gradient(135deg, var(--ed-color), color-mix(in srgb, var(--ed-color) 55%, #7F56D9));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1;
}
.ab-ed-stat-txt {
  font-size: .82rem;
  color: #5a6070;
  font-weight: 500;
}

/* Vertical Divider */
.ab-ed-divider {
  width: 1px;
  background: linear-gradient(180deg, transparent 5%, rgba(127,86,217,.18) 30%, rgba(0,212,255,.15) 70%, transparent 95%);
  flex-shrink: 0;
}

/* ---- SECTION 3: VENTAJAS — GRID CON ICONOS + LÍNEA DE ACENTO ---- */
.ab-advantages-section {
  padding: 70px 0 60px !important;
  background: #fff !important;
}
.ab-advantages-section .section-header {
  display: block !important;
  visibility: visible !important;
  text-align: center;
  margin-bottom: 36px;
}
.ab-advantages-section .section-tag { color: #7F56D9 !important; display: inline-block !important; }
.ab-advantages-section .section-title { color: #1a1d2b !important; font-size: 2rem !important; display: block !important; }

.ab-adv-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0;
  margin-top: 40px;
}

.ab-adv-item {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 28px 24px;
  position: relative;
  transition: background .35s ease;
}

/* Gradient separator lines — bottom of each item except last row */
.ab-adv-item::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 24px;
  right: 24px;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(127,86,217,.15) 15%, rgba(0,212,255,.12) 50%, rgba(127,86,217,.15) 85%, transparent 100%);
}
/* Remove bottom line on last row (items 4, 5, 6) */
.ab-adv-item:nth-child(n+4)::after {
  display: none;
}

/* Vertical divider between columns */
.ab-adv-item:nth-child(3n+1)::before,
.ab-adv-item:nth-child(3n+2)::before {
  content: '';
  position: absolute;
  top: 20%;
  bottom: 20%;
  right: 0;
  width: 1px;
  background: linear-gradient(180deg, transparent 0%, rgba(127,86,217,.12) 30%, rgba(0,212,255,.10) 70%, transparent 100%);
}

.ab-adv-item:hover {
  background: rgba(127,86,217,.02);
}

/* Circular icon */
.ab-adv-icon {
  width: 46px;
  height: 46px;
  min-width: 46px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.05rem;
  color: var(--adv-color, #7F56D9);
  background: color-mix(in srgb, var(--adv-color, #7F56D9) 8%, #fff);
  border: 1.5px solid color-mix(in srgb, var(--adv-color, #7F56D9) 18%, transparent);
  transition: all .35s ease;
  flex-shrink: 0;
  margin-top: 2px;
}
.ab-adv-item:hover .ab-adv-icon {
  background: color-mix(in srgb, var(--adv-color, #7F56D9) 14%, #fff);
  border-color: color-mix(in srgb, var(--adv-color, #7F56D9) 30%, transparent);
  transform: scale(1.08);
}

.ab-adv-body {
  flex: 1;
  min-width: 0;
}
.ab-adv-body h4 {
  font-size: 1.02rem;
  font-weight: 700;
  color: #1a1d2b !important;
  margin-bottom: 6px;
  letter-spacing: -.1px;
  line-height: 1.3;
}
.ab-adv-body p {
  font-size: .9rem;
  color: #5a6070;
  line-height: 1.7;
}

/* ---- PROCESS — LIGHT PREMIUM ---- */
.ab-process-section {
  padding: 50px 0 !important;
  background: #f0f2f6 !important;
}
.ab-process-header {
  text-align: center;
  margin-bottom: 30px;
}
.ab-process-section .section-tag { color: #7F56D9 !important; }
.ab-process-section .section-title { color: #1a1d2b !important; }
.ab-process-section .section-tag { color: #7F56D9 !important; }
.ab-process-section .section-title { color: #1a1d2b !important; }

.ab-process-track {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 50px;
  position: relative;
}
.ab-process-line {
  position: absolute;
  top: 28px;
  left: 5%;
  right: 5%;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(127,86,217,.2) 20%, rgba(0,212,255,.3) 50%, rgba(127,86,217,.2) 80%, transparent);
  z-index: 0;
}

.ab-process-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  z-index: 1;
}
.ab-process-dot {
  width: 56px; height: 56px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #7F56D9, #5b3fa0);
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  font-size: .95rem;
  margin-bottom: 24px;
  box-shadow: 0 4px 20px rgba(127,86,217,.25);
  transition: transform .3s ease, box-shadow .3s ease;
  position: relative;
}
.ab-process-dot::after {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 1px solid rgba(127,86,217,.15);
  animation: abProcessRing 3s ease-in-out infinite;
}
@keyframes abProcessRing {
  0%, 100% { transform: scale(1); opacity: .6; }
  50%      { transform: scale(1.2); opacity: 0; }
}
.ab-process-step:hover .ab-process-dot {
  transform: scale(1.1);
  box-shadow: 0 6px 30px rgba(127,86,217,.4);
}

.ab-process-card {
  padding: 28px 20px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid #e8ecf1;
  box-shadow: 0 2px 12px rgba(0,0,0,.04);
  transition: all .35s ease;
  flex: 1;
}
.ab-process-card i {
  font-size: 1.6rem;
  color: #7F56D9;
  margin-bottom: 14px;
  display: block;
}
.ab-process-step:hover .ab-process-card {
  border-color: rgba(127,86,217,.2);
  transform: translateY(-4px);
  box-shadow: 0 12px 35px rgba(127,86,217,.1);
}
.ab-process-card h4 {
  font-size: 1rem;
  font-weight: 700;
  color: #1a1d2b !important;
  margin-bottom: 10px;
}
.ab-process-card p {
  font-size: .85rem;
  color: #5a6070;
  line-height: 1.6;
}

/* ============================================
   HORIZONTAL TIMELINE — OPTION A
   ============================================ */
.ab-htl-section {
  padding: 60px 0 60px !important;
  background: #fff !important;
  overflow: visible;
}

/* Header */
.ab-htl-header {
  text-align: center;
  margin-bottom: 30px;
}
.ab-htl-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #7F56D9 !important;
  font-weight: 700;
  font-size: .82rem;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.ab-htl-tag i {
  font-size: .75rem;
}
.ab-htl-title {
  font-family: 'Poppins', sans-serif;
  font-size: 2.2rem !important;
  font-weight: 800;
  color: #1a1d2b !important;
  margin: 0 0 12px 0;
  letter-spacing: -.5px;
}
.ab-htl-subtitle {
  font-size: .92rem;
  color: #5a6070;
  max-width: 720px;
  margin: 0 auto;
  line-height: 1.5;
}

/* Track */
.ab-htl-track {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 420px;
  padding: 40px 10px;
}

/* Horizontal line */
.ab-htl-line {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 3px;
  background: linear-gradient(90deg, transparent 0%, rgba(127,86,217,.2) 10%, rgba(0,212,255,.25) 30%, rgba(127,86,217,.3) 50%, rgba(0,212,255,.25) 70%, rgba(127,86,217,.2) 90%, transparent 100%);
  transform: translateY(-50%);
  z-index: 0;
}
.ab-htl-line::before {
  content: '';
  position: absolute;
  inset: -2px 0;
  background: linear-gradient(90deg, transparent, rgba(127,86,217,.08) 20%, rgba(0,212,255,.06) 50%, rgba(127,86,217,.08) 80%, transparent);
  filter: blur(8px);
}

/* Item */
.ab-htl-item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  z-index: 1;
}

/* Top items: card on top, connector down, dot at center */
.ab-htl-item--top {
  flex-direction: column;
  padding-bottom: 120px;
}
.ab-htl-item--top .ab-htl-card {
  order: 1;
}
.ab-htl-item--top .ab-htl-connector {
  order: 2;
}
.ab-htl-item--top .ab-htl-dot {
  order: 3;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.ab-htl-item--top .ab-htl-card {
  position: absolute;
  bottom: calc(50% + 18px);
}
.ab-htl-item--top .ab-htl-connector {
  position: absolute;
  top: calc(50% - 14px);
  height: 14px;
  width: 2px;
  background: linear-gradient(180deg, rgba(127,86,217,.3), rgba(0,212,255,.15));
  transform: translateY(-100%);
}

/* Bottom items: dot at center, connector down, card below */
.ab-htl-item--bottom {
  padding-top: 120px;
}
.ab-htl-item--bottom .ab-htl-dot {
  order: 1;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.ab-htl-item--bottom .ab-htl-connector {
  order: 2;
  position: absolute;
  top: calc(50% + 10px);
  height: 14px;
  width: 2px;
  background: linear-gradient(180deg, rgba(0,212,255,.15), rgba(127,86,217,.3));
}
.ab-htl-item--bottom .ab-htl-card {
  order: 3;
  position: absolute;
  top: calc(50% + 22px);
}

/* Dot */
.ab-htl-dot {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--htl-color, #7F56D9), color-mix(in srgb, var(--htl-color, #7F56D9) 60%, #00d4ff));
  border: 3px solid #fff;
  box-shadow: 0 0 0 3px rgba(127,86,217,.12), 0 4px 15px rgba(127,86,217,.2);
  z-index: 3;
  transition: all .35s ease;
}
.ab-htl-item:hover .ab-htl-dot {
  transform: translateY(-50%) scale(1.3) !important;
  box-shadow: 0 0 0 5px rgba(127,86,217,.15), 0 6px 25px rgba(127,86,217,.35);
}

/* Card */
.ab-htl-card {
  width: 190px;
  padding: 16px 14px;
  background: #fff;
  border: 1px solid #e8ecf1;
  border-radius: 14px;
  box-shadow: 0 4px 20px rgba(0,0,0,.06);
  text-align: center;
  position: relative;
  overflow: hidden;
  transition: all .4s cubic-bezier(.4,0,.2,1);
  z-index: 2;
}
.ab-htl-card:hover {
  border-color: rgba(127,86,217,.25);
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 45px rgba(127,86,217,.12);
}

/* Year watermark */
.ab-htl-year-watermark {
  position: absolute;
  top: -6px;
  right: -5px;
  font-family: 'Poppins', sans-serif;
  font-size: 3.5rem;
  font-weight: 900;
  color: rgba(127,86,217,.04);
  line-height: 1;
  pointer-events: none;
  user-select: none;
  z-index: 0;
  transition: color .4s ease;
}
.ab-htl-card:hover .ab-htl-year-watermark {
  color: rgba(127,86,217,.08);
}

/* Card icon */
.ab-htl-card-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 8px;
  font-size: .9rem;
  color: var(--htl-color, #7F56D9);
  background: color-mix(in srgb, var(--htl-color, #7F56D9) 10%, #fff);
  border: 1px solid color-mix(in srgb, var(--htl-color, #7F56D9) 18%, transparent);
  position: relative;
  z-index: 1;
  transition: all .35s ease;
}
.ab-htl-card:hover .ab-htl-card-icon {
  transform: scale(1.1) rotate(-5deg);
  background: color-mix(in srgb, var(--htl-color, #7F56D9) 15%, #fff);
}

/* Year label */
.ab-htl-year {
  display: block;
  font-family: 'Poppins', sans-serif;
  font-size: .72rem;
  font-weight: 700;
  color: #7F56D9;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 6px;
  position: relative;
  z-index: 1;
}

.ab-htl-card h3 {
  font-size: .95rem;
  font-weight: 700;
  color: #1a1d2b !important;
  margin-bottom: 6px;
  line-height: 1.3;
  position: relative;
  z-index: 1;
}

.ab-htl-card p {
  font-size: .78rem;
  color: #5a6070;
  line-height: 1.55;
  position: relative;
  z-index: 1;
}

/* ============================================
   VALUES — NEW COMPACT CARD DESIGN (val-*)
   ============================================ */
.val-section {
  padding: 44px 0 38px !important;
  background: linear-gradient(180deg, #0d1225 0%, #111630 100%) !important;
  position: relative;
  overflow: hidden;
}
.val-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='52' viewBox='0 0 60 52'%3E%3Cpolygon points='30,2 56,15 56,37 30,50 4,37 4,15' fill='none' stroke='rgba(127,86,217,0.04)' stroke-width='1'/%3E%3C/svg%3E");
  background-size: 60px 52px;
  opacity: .5;
  pointer-events: none;
}

/* Header */
.val-header {
  text-align: center;
  margin-bottom: 28px;
  position: relative;
  z-index: 2;
}
.val-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #c4b5fd !important;
  font-weight: 700;
  font-size: .8rem;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.val-tag i {
  font-size: .65rem;
  color: #a78bfa;
}
.val-title {
  font-family: 'Poppins', sans-serif;
  font-size: 1.9rem !important;
  font-weight: 800;
  color: #fff !important;
  margin: 0 0 6px 0;
  letter-spacing: -.5px;
}
.val-subtitle {
  font-size: .85rem;
  color: #6b7a8e;
  max-width: 520px;
  margin: 0 auto;
  line-height: 1.5;
}

/* Grid — compact 3 columns x 2 rows */
.val-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

/* Card — horizontal layout: icon left + text right */
.val-card {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 16px;
  border-radius: 14px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(127,86,217,.1);
  transition: all .35s cubic-bezier(.4,0,.2,1);
  position: relative;
  overflow: hidden;
  animation: valCardIn .5s ease both;
}
.val-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--val-color, #7F56D9), transparent);
  opacity: 0;
  transition: opacity .35s ease;
}
.val-card:hover {
  background: rgba(127,86,217,.06);
  border-color: rgba(127,86,217,.22);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(0,0,0,.2), 0 0 0 1px rgba(127,86,217,.06) inset;
}
.val-card:hover::before {
  opacity: 1;
}

@keyframes valCardIn {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Icon circle */
.val-icon {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: var(--val-color, #7F56D9);
  background: color-mix(in srgb, var(--val-color, #7F56D9) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--val-color, #7F56D9) 18%, transparent);
  transition: all .35s ease;
  flex-shrink: 0;
  margin-top: 1px;
}
.val-card:hover .val-icon {
  background: color-mix(in srgb, var(--val-color, #7F56D9) 20%, transparent);
  border-color: color-mix(in srgb, var(--val-color, #7F56D9) 35%, transparent);
  transform: scale(1.08);
  box-shadow: 0 0 20px color-mix(in srgb, var(--val-color, #7F56D9) 15%, transparent);
}

/* Text body */
.val-body {
  flex: 1;
  min-width: 0;
}
.val-body h4 {
  font-size: .88rem;
  font-weight: 700;
  color: #e8edf5 !important;
  margin: 0 0 4px 0;
  line-height: 1.3;
  letter-spacing: -.1px;
  transition: color .3s ease;
}
.val-card:hover .val-body h4 {
  color: #fff !important;
}
.val-body p {
  font-size: .76rem;
  color: #5f6d80;
  line-height: 1.5;
  margin: 0;
  transition: color .3s ease;
}
.val-card:hover .val-body p {
  color: #7d8da0;
}

/* Responsive */
@media (max-width: 992px) {
  .val-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}
@media (max-width: 768px) {
  .val-grid { grid-template-columns: 1fr; gap: 10px; }
  .val-title { font-size: 1.5rem !important; }
  .val-section { padding: 36px 0 30px !important; }
}

/* ============================================
   OLD HEX STYLES — DEPRECATED (kept for safety)
   ============================================ */
.ab-hex-section {
  padding: 48px 0 40px !important;
  background: #0d1225 !important;
  position: relative;
  overflow: hidden;
}

/* Hex pattern background */
.ab-hex-pattern {
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='52' viewBox='0 0 60 52'%3E%3Cpolygon points='30,2 56,15 56,37 30,50 4,37 4,15' fill='none' stroke='rgba(127,86,217,0.06)' stroke-width='1'/%3E%3C/svg%3E");
  background-size: 60px 52px;
  opacity: .6;
  pointer-events: none;
}

/* Header */
.ab-hex-header {
  text-align: center;
  margin-bottom: 28px;
  position: relative;
  z-index: 2;
}
.ab-hex-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #c4b5fd !important;
  font-weight: 700;
  font-size: .82rem;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.ab-hex-tag i {
  font-size: .7rem;
  color: #7F56D9;
}
.ab-hex-title {
  font-family: 'Poppins', sans-serif;
  font-size: 2rem !important;
  font-weight: 800;
  color: #fff !important;
  margin: 0 0 8px 0;
  letter-spacing: -.5px;
}
.ab-hex-subtitle {
  font-size: .88rem;
  color: #8a94a8;
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.5;
}

/* Grid — compact 3x2 */
.ab-hex-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  max-width: 960px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

/* Remove old honeycomb offset */
.ab-hex-item:nth-child(4),
.ab-hex-item:nth-child(5),
.ab-hex-item:nth-child(6) {
  transform: none;
}

/* Item */
.ab-hex-item {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  animation: hexFadeIn .6s ease both;
  animation-delay: var(--hex-delay, 0s);
}

@keyframes hexFadeIn {
  from { opacity: 0; transform: translateY(16px) scale(.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* Card shape — no clip-path, glassmorphism */
.ab-hex-shape {
  position: relative;
  width: 100%;
  max-width: none;
  padding: 22px 20px 18px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(127,86,217,.12);
  border-radius: 16px;
  clip-path: none;
  transition: all .4s cubic-bezier(.4,0,.2,1);
  overflow: hidden;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.ab-hex-shape::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--hex-color, #7F56D9), transparent);
  opacity: 0;
  transition: opacity .4s ease;
}
.ab-hex-item:hover .ab-hex-shape {
  background: rgba(127,86,217,.07);
  border-color: rgba(127,86,217,.28);
  transform: translateY(-3px);
  box-shadow: 0 8px 32px rgba(127,86,217,.12), 0 0 0 1px rgba(127,86,217,.08) inset;
}
.ab-hex-item:hover .ab-hex-shape::before {
  opacity: 1;
}

/* Inner content — horizontal alignment */
.ab-hex-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0;
  position: relative;
  z-index: 1;
}

/* Icon — smaller, tighter */
.ab-hex-icon-wrap {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  color: var(--hex-color, #7F56D9);
  background: color-mix(in srgb, var(--hex-color, #7F56D9) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--hex-color, #7F56D9) 20%, transparent);
  margin-bottom: 12px;
  transition: all .35s ease;
  flex-shrink: 0;
}
.ab-hex-item:hover .ab-hex-icon-wrap {
  background: color-mix(in srgb, var(--hex-color, #7F56D9) 18%, transparent);
  border-color: color-mix(in srgb, var(--hex-color, #7F56D9) 35%, transparent);
  transform: scale(1.08) rotate(-3deg);
  box-shadow: 0 0 24px color-mix(in srgb, var(--hex-color, #7F56D9) 18%, transparent);
}

/* Title */
.ab-hex-inner h4 {
  font-size: .9rem;
  font-weight: 700;
  color: #e6edf3 !important;
  margin-bottom: 6px;
  letter-spacing: -.1px;
  transition: color .3s ease;
  line-height: 1.3;
}
.ab-hex-item:hover .ab-hex-inner h4 {
  color: #fff !important;
}

/* Description — ALWAYS visible */
.ab-hex-inner p {
  font-size: .78rem;
  color: #6b7a8e;
  line-height: 1.5;
  max-height: none;
  overflow: visible;
  opacity: .85;
  transition: color .3s ease, opacity .3s ease;
}
.ab-hex-item:hover .ab-hex-inner p {
  opacity: 1;
  color: #8a9ab0;
}

/* Glow — subtle */
.ab-hex-glow {
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: var(--hex-color, #7F56D9);
  opacity: 0;
  filter: blur(40px);
  pointer-events: none;
  transition: opacity .4s ease;
}
.ab-hex-item:hover .ab-hex-glow {
  opacity: .12;
}

/* Connector line — hidden in compact mode */
.ab-hex-connector-line {
  display: none;
}

/* ---- TESTIMONIALS — LIGHT ---- */
.ab-testimonials-section {
  padding: 80px 0 !important;
  background: #f8f9fc !important;
}
.ab-testimonials-section .section-tag { color: #7F56D9 !important; }
.ab-testimonials-section .section-title { color: #1a1d2b !important; }

.ab-testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 40px;
}

.ab-testimonial-card {
  position: relative;
  padding: 36px 28px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid #e8ecf1;
  box-shadow: 0 2px 12px rgba(0,0,0,.04);
  transition: all .4s ease;
}
.ab-testimonial-card:hover {
  border-color: rgba(127,86,217,.2);
  transform: translateY(-4px);
  box-shadow: 0 12px 35px rgba(0,0,0,.08);
}

.ab-testimonial-quote {
  position: absolute;
  top: 20px;
  right: 24px;
  font-size: 2rem;
  color: rgba(127,86,217,.1);
}

.ab-testimonial-stars {
  display: flex;
  gap: 3px;
  margin-bottom: 18px;
}
.ab-testimonial-stars i {
  color: #F59E0B;
  font-size: .85rem;
}

.ab-testimonial-card p {
  font-size: .92rem;
  color: #4a5068;
  line-height: 1.7;
  margin-bottom: 24px;
  font-style: italic;
}

.ab-testimonial-author {
  display: flex;
  align-items: center;
  gap: 14px;
}
.ab-testimonial-avatar {
  width: 44px; height: 44px;
  border-radius: 12px;
  background: linear-gradient(135deg, #7F56D9, #00d4ff);
  display: flex; align-items: center; justify-content: center;
  font-size: .8rem;
  font-weight: 700;
  color: #fff;
}
.ab-testimonial-author h5 {
  font-size: .9rem;
  font-weight: 700;
  color: #1a1d2b;
  margin-bottom: 2px;
}
.ab-testimonial-author span {
  font-size: .78rem;
  color: #7F56D9;
}

/* ---- TECH MARQUEE — LIGHT ---- */
body[data-page="about"] .tech-marquee-section {
  background: #eef0f5 !important;
  border-top: 1px solid #e0e4ea !important;
  border-bottom: 1px solid #e0e4ea !important;
  padding: 30px 0 !important;
}
body[data-page="about"] .tech-marquee-item {
  color: #5a6070 !important;
}
body[data-page="about"] .tech-marquee-item i {
  color: #7F56D9 !important;
}

/* ---- STATS — ELEGANT DARK ---- */
body[data-page="about"] .stats {
  background: linear-gradient(135deg, #1a1d2b 0%, #232840 50%, #1a1d2b 100%) !important;
  border-top: 1px solid rgba(127,86,217,.15);
  border-bottom: 1px solid rgba(127,86,217,.15);
  padding: 50px 0 !important;
}

/* ---- TESTIMONIALS HEADER VISIBLE ---- */
.ab-testimonials-section .section-header {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* ---- OLD SECTION OVERRIDES — HIDE ---- */
body[data-page="about"] .process-section,
body[data-page="about"] .timeline-section,
body[data-page="about"] .values-section,
body[data-page="about"] .testimonials-section {
  display: none !important;
}

/* ---- RESPONSIVE ---- */
@media (max-width: 992px) {
  .ab-editorial-row { flex-direction: column; gap: 36px; }
  .ab-ed-col { padding: 0 0 0 20px; }
  .ab-ed-col:first-child { padding-left: 20px; }
  .ab-ed-col:first-child .ab-ed-accent { display: block; }
  .ab-ed-divider { display: none; }
  .ab-adv-grid { grid-template-columns: 1fr 1fr; }
  .ab-adv-item::after { display: block; }
  .ab-adv-item:nth-child(n+4)::after { display: block; }
  .ab-adv-item:nth-last-child(-n+2)::after { display: none; }
  .ab-adv-item:nth-child(3n+1)::before,
  .ab-adv-item:nth-child(3n+2)::before { display: none; }
  .ab-adv-item:nth-child(odd)::before {
    content: '';
    position: absolute;
    top: 20%;
    bottom: 20%;
    right: 0;
    width: 1px;
    background: linear-gradient(180deg, transparent 0%, rgba(127,86,217,.12) 30%, rgba(0,212,255,.10) 70%, transparent 100%);
    display: block;
  }
  .ab-process-track { grid-template-columns: 1fr 1fr; }
  .ab-process-line { display: none; }
  .ab-testimonials-grid { grid-template-columns: 1fr; }

  /* Horizontal timeline — stack on tablet */
  .ab-htl-track {
    flex-direction: column;
    min-height: auto;
    gap: 28px;
    padding: 0;
  }
  .ab-htl-line { display: none; }
  .ab-htl-item--top,
  .ab-htl-item--bottom {
    padding: 0 !important;
  }
  .ab-htl-item--top .ab-htl-card,
  .ab-htl-item--bottom .ab-htl-card {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    width: 100%;
    max-width: 400px;
  }
  .ab-htl-item--top .ab-htl-dot,
  .ab-htl-item--bottom .ab-htl-dot {
    position: relative !important;
    top: auto !important;
    transform: none !important;
    order: -1;
    margin-bottom: 10px;
  }
  .ab-htl-item--top .ab-htl-connector,
  .ab-htl-item--bottom .ab-htl-connector {
    position: relative !important;
    top: auto !important;
    transform: none !important;
    height: 16px !important;
    order: 0;
  }

  /* Hex grid — 2 columns */
  .ab-hex-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
}

@media (max-width: 768px) {
  .ab-ed-watermark { font-size: 6rem; }
  .ab-ed-col h3 { font-size: 1.1rem; }
  .ab-ed-stat-num { font-size: 1.8rem; }
  .ab-adv-grid { grid-template-columns: 1fr; }
  .ab-adv-item::before { display: none !important; }
  .ab-adv-item::after { display: block !important; }
  .ab-adv-item:last-child::after { display: none !important; }
  .ab-adv-item { padding: 22px 16px; }
  .ab-process-track { grid-template-columns: 1fr; }

  /* Hex grid — 1 column */
  .ab-hex-grid { grid-template-columns: 1fr; gap: 12px; }
  .ab-htl-title, .ab-hex-title { font-size: 1.6rem !important; }
}

/* ============================================
   SERVICES PAGE — PREMIUM REDESIGN (sv-*)
   ============================================ */

/* --- Shared Header --- */
.sv-section-header {
  text-align: center;
  margin-bottom: 40px;
  position: relative;
  z-index: 2;
}
.sv-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #c4b5fd !important;
  font-weight: 700;
  font-size: .8rem;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.sv-tag i { font-size: .65rem; color: #a78bfa; }
.sv-tag--dark { color: #7F56D9 !important; }
.sv-tag--dark i { color: #7F56D9; }
.sv-title {
  font-family: 'Poppins', sans-serif;
  font-size: 2.2rem !important;
  font-weight: 800;
  color: #fff !important;
  margin: 0 0 10px 0;
  letter-spacing: -.5px;
}
.sv-title--dark { color: #1a1d2b !important; }
.sv-subtitle {
  font-size: .92rem;
  color: #6b7a8e;
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.6;
}
.sv-subtitle--dark { color: #5f6d80; }

/* ===========================================
   SECTION 1: SERVICES BENTO GRID
   =========================================== */
.sv-services-section {
  padding: 60px 0 50px;
  background: linear-gradient(180deg, #0a0e1a 0%, #0d1225 50%, #0f1530 100%);
  position: relative;
  overflow: hidden;
}
.sv-bg-pattern {
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Crect width='1' height='1' x='30' y='30' fill='rgba(127,86,217,0.03)'/%3E%3C/svg%3E");
  background-size: 60px 60px;
  pointer-events: none;
}
.sv-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  position: relative;
  z-index: 2;
}

/* --- Service Card --- */
.sv-card {
  display: flex;
  flex-direction: column;
  padding: 28px 24px 24px;
  border-radius: 16px;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(127,86,217,.08);
  text-decoration: none !important;
  color: inherit !important;
  position: relative;
  overflow: hidden;
  transition: all .4s cubic-bezier(.4,0,.2,1);
  animation: svCardIn .5s ease both;
}
.sv-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--sv-color, #7F56D9), transparent);
  opacity: 0;
  transition: opacity .4s ease;
}
.sv-card:hover {
  background: rgba(127,86,217,.05);
  border-color: rgba(127,86,217,.18);
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,.3), 0 0 0 1px rgba(127,86,217,.05) inset;
}
.sv-card:hover::before { opacity: 1; }

@keyframes svCardIn {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Card Number */
.sv-card-number {
  position: absolute;
  top: 14px; right: 16px;
  font-family: 'Poppins', sans-serif;
  font-size: 2.2rem;
  font-weight: 900;
  color: rgba(255,255,255,.03);
  line-height: 1;
  pointer-events: none;
  transition: color .4s ease;
}
.sv-card:hover .sv-card-number {
  color: color-mix(in srgb, var(--sv-color, #7F56D9) 10%, transparent);
}

/* Card Icon */
.sv-card-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  color: var(--sv-color, #7F56D9);
  background: color-mix(in srgb, var(--sv-color, #7F56D9) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--sv-color, #7F56D9) 15%, transparent);
  margin-bottom: 16px;
  transition: all .4s ease;
  flex-shrink: 0;
}
.sv-card:hover .sv-card-icon {
  background: color-mix(in srgb, var(--sv-color, #7F56D9) 18%, transparent);
  border-color: color-mix(in srgb, var(--sv-color, #7F56D9) 30%, transparent);
  transform: scale(1.08);
  box-shadow: 0 0 24px color-mix(in srgb, var(--sv-color, #7F56D9) 15%, transparent);
}

/* Card text */
.sv-card h3 {
  font-size: .95rem;
  font-weight: 700;
  color: #e8edf5 !important;
  margin: 0 0 8px 0;
  line-height: 1.3;
  transition: color .3s ease;
}
.sv-card:hover h3 { color: #fff !important; }
.sv-card p {
  font-size: .82rem;
  color: #5f6d80;
  line-height: 1.55;
  margin: 0 0 auto 0;
  flex: 1;
  transition: color .3s ease;
}
.sv-card:hover p { color: #7d8da0; }

/* Card CTA link */
.sv-card-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .78rem;
  font-weight: 600;
  color: var(--sv-color, #7F56D9);
  margin-top: 14px;
  transition: all .3s ease;
}
.sv-card-link i {
  font-size: .65rem;
  transition: transform .3s ease;
}
.sv-card:hover .sv-card-link i { transform: translateX(4px); }

/* ===========================================
   SECTION 2: PROCESS — LIGHT BG
   =========================================== */
.sv-process-section {
  padding: 56px 0 50px;
  background: linear-gradient(180deg, #f0f2f6 0%, #e8ecf2 100%);
  position: relative;
}

.sv-process-track {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
}
.sv-process-line {
  position: absolute;
  top: 32px;
  left: calc(12.5% + 10px);
  right: calc(12.5% + 10px);
  height: 3px;
  background: linear-gradient(90deg, #7F56D9, #00d4ff, #F37335);
  border-radius: 3px;
  opacity: .25;
}
.sv-process-step {
  text-align: center;
  padding: 0 12px;
  position: relative;
  z-index: 2;
}
.sv-process-dot {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  margin: 0 auto 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #7F56D9, #00d4ff);
  box-shadow: 0 8px 28px rgba(127,86,217,.3);
  transition: all .4s ease;
}
.sv-process-dot span {
  font-family: 'Poppins', sans-serif;
  font-size: 1.3rem;
  font-weight: 800;
  color: #fff;
}
.sv-process-step:hover .sv-process-dot {
  transform: scale(1.1);
  box-shadow: 0 12px 36px rgba(127,86,217,.45);
}
.sv-process-card {
  background: #fff;
  border-radius: 14px;
  padding: 22px 18px;
  border: 1px solid rgba(127,86,217,.08);
  box-shadow: 0 4px 20px rgba(0,0,0,.04);
  transition: all .4s ease;
}
.sv-process-step:hover .sv-process-card {
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(127,86,217,.1);
  border-color: rgba(127,86,217,.15);
}
.sv-process-card i {
  font-size: 1.3rem;
  color: #7F56D9;
  margin-bottom: 10px;
  display: block;
}
.sv-process-card h4 {
  font-size: .92rem;
  font-weight: 700;
  color: #1a1d2b;
  margin: 0 0 8px 0;
}
.sv-process-card p {
  font-size: .78rem;
  color: #5f6d80;
  line-height: 1.55;
  margin: 0;
}

/* ===========================================
   SECTION 3: WHY US — DARK
   =========================================== */
.sv-why-section {
  padding: 56px 0 50px;
  background: linear-gradient(180deg, #0d1225 0%, #111630 100%);
  position: relative;
}
.sv-why-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  max-width: 1000px;
  margin: 0 auto;
}
.sv-why-card {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 22px 18px;
  border-radius: 14px;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(127,86,217,.08);
  transition: all .4s cubic-bezier(.4,0,.2,1);
  position: relative;
  overflow: hidden;
}
.sv-why-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--why-color, #7F56D9), transparent);
  opacity: 0;
  transition: opacity .35s ease;
}
.sv-why-card:hover {
  background: rgba(127,86,217,.05);
  border-color: rgba(127,86,217,.18);
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(0,0,0,.2);
}
.sv-why-card:hover::before { opacity: 1; }
.sv-why-icon {
  width: 44px;
  height: 44px;
  min-width: 44px;
  border-radius: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.05rem;
  color: var(--why-color, #7F56D9);
  background: color-mix(in srgb, var(--why-color, #7F56D9) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--why-color, #7F56D9) 18%, transparent);
  transition: all .35s ease;
  flex-shrink: 0;
}
.sv-why-card:hover .sv-why-icon {
  background: color-mix(in srgb, var(--why-color, #7F56D9) 20%, transparent);
  border-color: color-mix(in srgb, var(--why-color, #7F56D9) 35%, transparent);
  transform: scale(1.06);
  box-shadow: 0 0 20px color-mix(in srgb, var(--why-color, #7F56D9) 15%, transparent);
}
.sv-why-body { flex: 1; min-width: 0; }
.sv-why-body h4 {
  font-size: .88rem;
  font-weight: 700;
  color: #e8edf5 !important;
  margin: 0 0 5px 0;
  line-height: 1.3;
  transition: color .3s ease;
}
.sv-why-card:hover .sv-why-body h4 { color: #fff !important; }
.sv-why-body p {
  font-size: .76rem;
  color: #5f6d80;
  line-height: 1.5;
  margin: 0;
  transition: color .3s ease;
}
.sv-why-card:hover .sv-why-body p { color: #7d8da0; }

/* ===========================================
   RESPONSIVE — SERVICES PAGE
   =========================================== */
@media (max-width: 1024px) {
  .sv-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .sv-process-track { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .sv-process-line { display: none; }
  .sv-why-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .sv-title { font-size: 1.8rem !important; }
}
@media (max-width: 768px) {
  .sv-grid { grid-template-columns: 1fr; gap: 12px; }
  .sv-process-track { grid-template-columns: 1fr; gap: 18px; }
  .sv-why-grid { grid-template-columns: 1fr; gap: 12px; }
  .sv-title { font-size: 1.5rem !important; }
  .sv-services-section { padding: 40px 0 36px; }
  .sv-process-section { padding: 40px 0 36px; }
  .sv-why-section { padding: 40px 0 36px; }
  .sv-section-header { margin-bottom: 28px; }
}

/* ============================================
   MEGA-MENU — SERVICES DROPDOWN (mm-*)
   ============================================ */

/* Container: injected inside the Servicios <li> */
.has-megamenu { position: static !important; }
.has-megamenu > a { position: relative; }
.mm-arrow {
  font-size: .55rem !important;
  margin-left: 5px;
  transition: transform .3s ease;
  display: inline-block;
}
.has-megamenu:hover .mm-arrow { transform: rotate(180deg); }

.megamenu {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  width: 100%;
  background: #fff;
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-top: 3px solid #7F56D9;
  border-bottom: 1px solid #e5e7eb;
  padding: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: all .35s cubic-bezier(.4,0,.2,1);
  transition-delay: .08s;
  z-index: 9999;
  pointer-events: none;
  box-shadow: 0 20px 60px rgba(0,0,0,.12), 0 8px 24px rgba(127,86,217,.08);
}
/* Invisible hover bridge so menu doesn't disappear when moving mouse */
.megamenu::before {
  content: '';
  position: absolute;
  top: -28px;
  left: 0;
  right: 0;
  height: 28px;
  background: transparent;
}
.has-megamenu:hover .megamenu,
.megamenu.mm-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: all;
  transition-delay: 0s;
}

.mm-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 32px 40px 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.mm-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}

.mm-col-title {
  font-family: 'Poppins', sans-serif;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #7F56D9;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ede9fe;
  display: flex;
  align-items: center;
  gap: 8px;
}
.mm-col-title i {
  font-size: .6rem;
  color: #7F56D9;
}

/* Service item */
.mm-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 12px;
  border-radius: 10px;
  text-decoration: none !important;
  color: inherit !important;
  transition: all .3s cubic-bezier(.4,0,.2,1);
  position: relative;
  overflow: hidden;
}
.mm-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--mm-color, #7F56D9);
  border-radius: 3px;
  opacity: 0;
  transform: scaleY(.4);
  transition: all .3s ease;
}
.mm-item:hover {
  background: #f5f3ff;
}
.mm-item:hover::before {
  opacity: 1;
  transform: scaleY(1);
}

.mm-item-icon {
  width: 38px;
  height: 38px;
  min-width: 38px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .9rem;
  color: var(--mm-color, #7F56D9);
  background: color-mix(in srgb, var(--mm-color, #7F56D9) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--mm-color, #7F56D9) 15%, transparent);
  transition: all .3s ease;
  flex-shrink: 0;
}
.mm-item:hover .mm-item-icon {
  background: color-mix(in srgb, var(--mm-color, #7F56D9) 18%, transparent);
  transform: scale(1.05);
  box-shadow: 0 0 16px color-mix(in srgb, var(--mm-color, #7F56D9) 12%, transparent);
}

.mm-item-text h6 {
  font-size: .82rem;
  font-weight: 600;
  color: #1f2937;
  margin: 0 0 2px 0;
  transition: color .3s ease;
}
.mm-item:hover .mm-item-text h6 { color: #7F56D9; }
.mm-item-text p {
  font-size: .7rem;
  color: #6b7280;
  margin: 0;
  line-height: 1.4;
  transition: color .3s ease;
}
.mm-item:hover .mm-item-text p { color: #4b5563; }

/* Footer bar */
.mm-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 0 0;
  border-top: 1px solid #f3f4f6;
}
.mm-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 22px;
  border-radius: 10px;
  background: linear-gradient(135deg, #7F56D9, #6d3fc4);
  color: #fff !important;
  font-size: .78rem;
  font-weight: 600;
  text-decoration: none !important;
  transition: all .3s ease;
  box-shadow: 0 4px 14px rgba(127,86,217,.25);
}
.mm-cta-btn:hover {
  background: linear-gradient(135deg, #8f6ae5, #7F56D9);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(127,86,217,.4);
}
.mm-cta-btn i { font-size: .7rem; }
.mm-all-link {
  font-size: .78rem;
  font-weight: 600;
  color: #7F56D9 !important;
  text-decoration: none !important;
  transition: color .3s ease;
}
.mm-all-link:hover { color: #6d3fc4 !important; }

/* Responsive mega-menu */
@media (max-width: 992px) {
  .megamenu { display: none !important; }
  .mm-arrow { display: none !important; }
}

/* ============================================
   SERVICE DETAIL — PREMIUM LANDING (sd-*)
   ============================================ */

/* --- Hero --- */
.sd-hero {
  padding: 100px 0 60px;
  background: linear-gradient(180deg, #0a0e1a 0%, #0d1225 40%, #111630 100%);
  position: relative;
  overflow: hidden;
  text-align: center;
}
.sd-hero-pattern {
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 20% 50%, rgba(127,86,217,.08) 0%, transparent 50%),
    radial-gradient(circle at 80% 30%, rgba(0,212,255,.06) 0%, transparent 50%);
  pointer-events: none;
}
.sd-hero-icon {
  width: 110px;
  height: 110px;
  border-radius: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.6rem;
  font-weight: 700;
  color: var(--sd-color, #7F56D9);
  background: color-mix(in srgb, var(--sd-color, #7F56D9) 14%, transparent);
  border: 2.5px solid color-mix(in srgb, var(--sd-color, #7F56D9) 35%, transparent);
  margin: 0 auto 28px;
  position: relative;
  z-index: 2;
  box-shadow:
    0 0 60px color-mix(in srgb, var(--sd-color, #7F56D9) 22%, transparent),
    0 0 120px color-mix(in srgb, var(--sd-color, #7F56D9) 10%, transparent),
    inset 0 0 30px color-mix(in srgb, var(--sd-color, #7F56D9) 8%, transparent);
  animation: sdIconPulse 3s ease-in-out infinite;
  text-shadow: 0 0 20px color-mix(in srgb, var(--sd-color, #7F56D9) 40%, transparent);
}
.sd-hero-icon::before {
  content: '';
  position: absolute;
  inset: -8px;
  border-radius: 30px;
  border: 2px solid color-mix(in srgb, var(--sd-color, #7F56D9) 25%, transparent);
  animation: sdRingPulse 3s ease-in-out infinite;
  pointer-events: none;
}
.sd-hero-icon::after {
  content: '';
  position: absolute;
  inset: -18px;
  border-radius: 36px;
  border: 1.5px solid color-mix(in srgb, var(--sd-color, #7F56D9) 12%, transparent);
  animation: sdRingPulse 3s ease-in-out infinite .5s;
  pointer-events: none;
}
@keyframes sdIconPulse {
  0%, 100% { box-shadow: 0 0 50px color-mix(in srgb, var(--sd-color, #7F56D9) 18%, transparent), 0 0 100px color-mix(in srgb, var(--sd-color, #7F56D9) 8%, transparent), inset 0 0 24px color-mix(in srgb, var(--sd-color, #7F56D9) 6%, transparent); }
  50% { box-shadow: 0 0 80px color-mix(in srgb, var(--sd-color, #7F56D9) 30%, transparent), 0 0 160px color-mix(in srgb, var(--sd-color, #7F56D9) 12%, transparent), inset 0 0 40px color-mix(in srgb, var(--sd-color, #7F56D9) 10%, transparent); }
}
@keyframes sdRingPulse {
  0%, 100% { opacity: .5; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.06); }
}
.sd-hero-num {
  position: absolute;
  top: 80px;
  right: 10%;
  font-family: 'Poppins', sans-serif;
  font-size: 8rem;
  font-weight: 900;
  color: rgba(127,86,217,.04);
  line-height: 1;
  pointer-events: none;
  z-index: 1;
}
.sd-hero h1 {
  font-family: 'Poppins', sans-serif;
  font-size: 2.6rem;
  font-weight: 800;
  background: linear-gradient(135deg, #fff 0%, #c4b5fd 50%, #a78bfa 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0 0 14px 0;
  position: relative;
  z-index: 2;
  letter-spacing: -.5px;
}
.sd-hero-desc {
  font-size: 1.05rem;
  color: #7d8da6;
  max-width: 600px;
  margin: 0 auto 28px;
  line-height: 1.7;
  position: relative;
  z-index: 2;
}
.sd-hero-cta {
  position: relative;
  z-index: 2;
  display: flex;
  gap: 16px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.sd-hero-cta .btn-ghost {
  background: rgba(255,255,255,.08);
  border: 2px solid rgba(255,255,255,.35);
  color: #fff;
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: .3px;
  text-shadow: 0 1px 8px rgba(0,0,0,.4);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.sd-hero-cta .btn-ghost i {
  font-size: 1rem;
  color: #c4b5fd;
  filter: drop-shadow(0 0 6px rgba(167,139,250,.5));
  transition: transform .3s ease;
}
.sd-hero-cta .btn-ghost:hover {
  background: rgba(127,86,217,.2);
  border-color: #a78bfa;
  box-shadow: 0 0 30px rgba(127,86,217,.3), inset 0 0 16px rgba(127,86,217,.1);
  transform: translateY(-2px);
}
.sd-hero-cta .btn-ghost:hover i {
  transform: translateY(3px);
  color: #e0d6ff;
}

/* ========== STATS BAR ========== */
.sd-stats-bar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: 48px;
  position: relative;
  z-index: 2;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(127,86,217,.12);
  border-radius: 16px;
  backdrop-filter: blur(12px);
  overflow: hidden;
}
.sd-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 28px 16px;
  position: relative;
  transition: all .3s ease;
}
.sd-stat:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 25%;
  height: 50%;
  width: 1px;
  background: rgba(127,86,217,.15);
}
.sd-stat:hover { background: rgba(127,86,217,.06); }
.sd-stat-num {
  font-family: 'Poppins', sans-serif;
  font-size: 2rem;
  font-weight: 800;
  background: linear-gradient(135deg, var(--sd-color, #7F56D9), #00d4ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1;
}
.sd-stat-label {
  font-size: .72rem;
  font-weight: 500;
  color: #6b7a8e;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-align: center;
}

/* ========== OVERVIEW SECTION (Light) ========== */
.sd-overview-section {
  padding: 72px 0 60px;
  background: linear-gradient(180deg, #f4f5f9 0%, #edf0f5 100%);
}
.sd-overview-grid {
  display: grid;
  grid-template-columns: 1.3fr .7fr;
  gap: 40px;
  align-items: start;
}
.sd-overview-content {
  font-size: .96rem;
  color: #3d4558;
  line-height: 1.85;
}
.sd-overview-content p { margin: 0 0 20px; }
.sd-overview-content .sd-highlight {
  display: inline;
  background: linear-gradient(180deg, transparent 60%, rgba(127,86,217,.12) 60%);
  font-weight: 600;
  color: #1a1d2b;
}
.sd-overview-content .sd-key-point {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px 20px;
  background: #fff;
  border-radius: 12px;
  border-left: 3px solid var(--sd-color, #7F56D9);
  margin: 16px 0;
  box-shadow: 0 2px 12px rgba(0,0,0,.04);
}
.sd-overview-content .sd-key-point i {
  color: var(--sd-color, #7F56D9);
  margin-top: 3px;
  flex-shrink: 0;
}
.sd-overview-content .sd-key-point span {
  font-size: .88rem;
  font-weight: 500;
  color: #2d3348;
}

/* Overview sidebar cards */
.sd-overview-aside {
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: sticky;
  top: 100px;
}
.sd-tech-card, .sd-audience-card {
  padding: 24px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid #e8ecf1;
  box-shadow: 0 4px 20px rgba(0,0,0,.04);
}
.sd-tech-card h4, .sd-audience-card h4 {
  font-family: 'Poppins', sans-serif;
  font-size: .9rem;
  font-weight: 700;
  color: #1a1d2b;
  margin: 0 0 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.sd-tech-card h4 i, .sd-audience-card h4 i {
  color: #7F56D9;
  font-size: .8rem;
}
.sd-tech-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.sd-tech-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(127,86,217,.06), rgba(0,212,255,.04));
  border: 1px solid rgba(127,86,217,.1);
  font-size: .72rem;
  font-weight: 600;
  color: #4a5568;
  transition: all .25s ease;
}
.sd-tech-badge:hover {
  background: linear-gradient(135deg, rgba(127,86,217,.12), rgba(0,212,255,.08));
  border-color: rgba(127,86,217,.2);
  color: #7F56D9;
  transform: translateY(-1px);
}
.sd-tech-badge i { color: #7F56D9; font-size: .65rem; }

.sd-audience-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.sd-audience-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(127,86,217,.03);
  border: 1px solid rgba(127,86,217,.06);
  transition: all .25s ease;
}
.sd-audience-item:hover {
  background: rgba(127,86,217,.06);
  border-color: rgba(127,86,217,.12);
}
.sd-audience-item i {
  width: 28px;
  height: 28px;
  min-width: 28px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .65rem;
  color: #7F56D9;
  background: rgba(127,86,217,.08);
}
.sd-audience-item span {
  font-size: .78rem;
  font-weight: 500;
  color: #3d4558;
}

/* ========== FEATURES SHOWCASE (Dark) ========== */
.sd-features-section {
  padding: 72px 0 60px;
  background: linear-gradient(180deg, #0d1225 0%, #111630 100%);
}
.sd-section-header {
  text-align: center;
  margin-bottom: 40px;
}
.sd-section-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #c4b5fd;
  margin-bottom: 10px;
}
.sd-section-tag i { font-size: .55rem; }
.sd-section-title {
  font-family: 'Poppins', sans-serif;
  font-size: 2rem;
  font-weight: 800;
  background: linear-gradient(135deg, #fff 0%, #c4b5fd 50%, #a78bfa 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0;
}
.sd-features-showcase {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  max-width: 1000px;
  margin: 0 auto;
}
.sd-feature-card {
  display: flex;
  gap: 16px;
  padding: 24px;
  border-radius: 14px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(127,86,217,.1);
  transition: all .4s ease;
  position: relative;
  overflow: hidden;
}
.sd-feature-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--sd-color, #7F56D9), transparent);
  opacity: 0;
  transition: opacity .4s;
}
.sd-feature-card:hover::before { opacity: 1; }
.sd-feature-card:hover {
  background: rgba(255,255,255,.06);
  border-color: rgba(127,86,217,.2);
  transform: translateY(-3px);
  box-shadow: 0 12px 40px rgba(0,0,0,.2), 0 0 20px rgba(127,86,217,.06);
}
.sd-feature-card-icon {
  width: 44px;
  height: 44px;
  min-width: 44px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: var(--sd-color, #7F56D9);
  background: color-mix(in srgb, var(--sd-color, #7F56D9) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--sd-color, #7F56D9) 15%, transparent);
  transition: all .3s;
}
.sd-feature-card:hover .sd-feature-card-icon {
  transform: scale(1.08);
  box-shadow: 0 0 20px color-mix(in srgb, var(--sd-color, #7F56D9) 15%, transparent);
}
.sd-feature-card-body { flex: 1; }
.sd-feature-card-body h5 {
  font-family: 'Poppins', sans-serif;
  font-size: .85rem;
  font-weight: 700;
  color: #f0edff;
  margin: 0 0 6px;
  letter-spacing: .2px;
}
.sd-feature-card-body p {
  font-size: .78rem;
  color: #99a5b8;
  line-height: 1.6;
  margin: 0;
}

/* ========== PROCESS section overrides ========== */
.sd-process-section {
  padding: 72px 0 60px;
  background: linear-gradient(180deg, #f4f5f9 0%, #edf0f5 100%);
}
.sd-process-section .sv-section-header .sv-tag { color: #7F56D9 !important; }
.sd-process-section .sv-section-header .sv-title { color: #1a1d2b !important; }
.sd-process-section .sv-section-header .sv-subtitle { color: #5a6577; }
.sd-process-section .sv-process-dot span { color: #fff; }
.sd-process-section .sv-process-card {
  background: #fff !important;
  border: 1px solid #e8ecf1 !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.05) !important;
}
.sd-process-section .sv-process-card h4 { color: #1a1d2b !important; }
.sd-process-section .sv-process-card p { color: #5a6577 !important; }
.sd-process-section .sv-process-card i { color: #7F56D9; }
.sd-process-section .sv-process-line {
  background: linear-gradient(90deg, #7F56D9, #00d4ff) !important;
  opacity: .25;
}

/* ========== RELATED (Light) ========== */
.sd-related-section {
  padding: 56px 0 50px;
  background: linear-gradient(180deg, #edf0f5 0%, #e4e8ef 100%);
}
.sd-related-header {
  text-align: center;
  margin-bottom: 32px;
}
.sd-related-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #7F56D9;
  font-weight: 700;
  font-size: .75rem;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.sd-related-tag i { font-size: .6rem; }
.sd-related-title {
  font-family: 'Poppins', sans-serif;
  font-size: 1.8rem;
  font-weight: 800;
  color: #1a1d2b;
  margin: 0;
}
.sd-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  max-width: 1000px;
  margin: 0 auto;
}
.sd-related-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 14px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #e8ecf1;
  text-decoration: none !important;
  color: inherit !important;
  transition: all .35s ease;
}
.sd-related-card:hover {
  border-color: rgba(127,86,217,.18);
  transform: translateY(-3px);
  box-shadow: 0 8px 28px rgba(0,0,0,.06);
}
.sd-related-icon {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .9rem;
  color: var(--rc-color, #7F56D9);
  background: color-mix(in srgb, var(--rc-color, #7F56D9) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--rc-color, #7F56D9) 15%, transparent);
  flex-shrink: 0;
  transition: all .3s ease;
}
.sd-related-card:hover .sd-related-icon {
  transform: scale(1.08);
  box-shadow: 0 0 16px color-mix(in srgb, var(--rc-color, #7F56D9) 10%, transparent);
}
.sd-related-card h5 {
  font-size: .8rem;
  font-weight: 600;
  color: #1a1d2b;
  margin: 0;
  line-height: 1.3;
}
.sd-related-card:hover h5 { color: #7F56D9; }

/* ========== RESPONSIVE ========== */
@media (max-width: 992px) {
  .sd-hero h1 { font-size: 2rem; }
  .sd-stats-bar { grid-template-columns: repeat(2, 1fr); }
  .sd-stat:nth-child(2)::after { display: none; }
  .sd-overview-grid { grid-template-columns: 1fr; }
  .sd-overview-aside { position: static; flex-direction: row; flex-wrap: wrap; }
  .sd-overview-aside > * { flex: 1 1 280px; }
  .sd-features-showcase { grid-template-columns: 1fr; }
  .sd-related-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .sd-hero { padding: 80px 0 44px; }
  .sd-hero h1 { font-size: 1.6rem; }
  .sd-hero-num { display: none; }
  .sd-hero-icon { width: 64px; height: 64px; font-size: 1.4rem; }
  .sd-stats-bar { grid-template-columns: 1fr 1fr; }
  .sd-stat { padding: 18px 12px; }
  .sd-stat-num { font-size: 1.5rem; }
  .sd-overview-section { padding: 48px 0 40px; }
  .sd-features-section { padding: 48px 0 40px; }
  .sd-process-section { padding: 48px 0 40px; }
  .sd-related-section { padding: 40px 0 36px; }
  .sd-related-grid { grid-template-columns: 1fr; }
  .sd-overview-aside { flex-direction: column; }
  .sd-hero-cta { display: flex; flex-direction: column; gap: 10px; align-items: center; }
}
