:root {
  --v2-bg: #ffffff;
  --v2-bg-alt: #f8f9fc;
  --v2-midnight: #060c1a;
  --v2-midnight-2: #0c1528;
  --v2-text: #111827;
  --v2-text-2: #374151;
  --v2-muted: #6b7280;
  --v2-ink: #111827;
  --v2-surface: #ffffff;
  --v2-surface-strong: #f8f9fc;
  --v2-line: #e2e8f0;
  --v2-card-shadow: 0 18px 55px rgba(15, 23, 42, .08);
}

html, body { background: var(--v2-bg); color: var(--v2-text); }
body::before, body::after { display: none; }
#main-content { background: #fff; }
.section { background: #fff; color: var(--v2-text); }
.bg-alt, .features-section, #industries, .co-why-section, .co-timeline-section { background: var(--v2-bg-alt) !important; }

body h1, body h2, body h3, body h4 { color: var(--v2-text); }
body p { color: var(--v2-muted); }
.section h1, .section h2, .section h3, .section h4,
.section strong, .section li, .section label { color: var(--v2-text) !important; }
.section p, .section small { color: var(--v2-muted) !important; }
.gtext { background: linear-gradient(135deg, #4f46e5, #7c3aed); -webkit-background-clip: text; background-clip: text; }

.navbar {
  background: rgba(255, 255, 255, .88) !important;
  border-bottom: 1px solid rgba(15, 23, 42, .08) !important;
  box-shadow: 0 8px 32px rgba(15, 23, 42, .07) !important;
  backdrop-filter: blur(24px) saturate(1.35) !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.35) !important;
}
.navbar.scrolled { background: rgba(255, 255, 255, .97) !important; border-color: #e2e8f0 !important; }
.navbar .nav-link, .navbar .search-btn, .navbar .btn-outline-nav { color: #4b5563 !important; }
.navbar .nav-link:hover, .navbar .nav-item.dd-open > .nav-link { color: #4f46e5 !important; background: rgba(79, 70, 229, .07) !important; }
.navbar .hamburger span { background: #1e293b !important; }
.mega-menu, .simple-dropdown { background: rgba(255, 255, 255, .98) !important; border-color: #e2e8f0 !important; box-shadow: 0 24px 64px rgba(15, 23, 42, .14) !important; }
.mega-list a, .sd-item, .ind-item { color: #374151 !important; }
.mega-list a:hover, .sd-item:hover, .ind-item:hover { background: #eef2ff !important; color: #4f46e5 !important; }
.mega-featured { background: linear-gradient(145deg, #eef2ff, #f8f9ff) !important; }

.hero, .page-hero, .plain-hero, .co-hero {
  background: var(--v2-midnight) !important;
  color: #fff;
}
.page-hero.ph-enhanced { background: radial-gradient(circle at 78% 24%, rgba(79,70,229,.22), transparent 35%), linear-gradient(135deg, var(--v2-midnight), var(--v2-midnight-2)) !important; }
.hero h1, .hero h2, .hero h3, .hero p,
.page-hero h1, .page-hero h2, .page-hero h3,
.co-hero h1, .co-hero h2, .co-hero h3 { color: #fff !important; }
.hero p, .page-hero p, .co-hero p { color: #aeb9d6 !important; }
.page-hero .breadcrumb, .page-hero .breadcrumb a { color: #c7d2fe !important; }

.trusted-bar, .wwd-section, .about-strip, .testi-section, .dg-section, .dg-info-section,
.portfolio-section-final, .co-mv-section, .co-team-section { background: #fff !important; color: var(--v2-text); }
.section::before { background-image: linear-gradient(rgba(79,70,229,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(79,70,229,.025) 1px, transparent 1px); }

.service-card, .industry-card, .why-card, .feature-card, .portfolio-card, .testi-card,
.eq-card, .process-card, .tech-card, .value-card, .scard, .ind-card, .ind-full-card,
.cat-card, .project-card, .blog-card, .feat-box, .wwd-item, .co-mv-card, .co-why-card,
.co-team-card, .co-tl-content, .dg-card-challenge, .dg-card-stats, .dg-info-panel,
.sidebar-card, .proc-step, .team-card, .pcard {
  background: #fff !important;
  border-color: #e2e8f0 !important;
  color: var(--v2-text) !important;
  box-shadow: var(--v2-card-shadow) !important;
}
.service-card h3, .industry-card h3, .why-card h3, .feature-card h3, .portfolio-card h3,
.testi-card h3, .eq-card h4, .scard h3, .ind-card h3, .ind-full-card h3,
.blog-card h3, .co-mv-card h3, .co-why-card h3, .co-team-card h3 { color: var(--v2-text) !important; }
.service-card p, .industry-card p, .why-card p, .feature-card p, .portfolio-card p,
.testi-card p, .eq-card p, .scard p, .ind-card p, .ind-full-card p,
.blog-card p, .co-mv-card p, .co-why-card p, .co-team-card p { color: var(--v2-muted) !important; }

.contact-form, .enquiry-form {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  color: var(--v2-text) !important;
  box-shadow: 0 20px 60px rgba(15, 23, 42, .09) !important;
}
.fgroup label { color: var(--v2-text) !important; }
.fgroup input, .fgroup textarea, .fgroup select {
  background: var(--v2-bg-alt) !important;
  border-color: #cbd5e1 !important;
  color: var(--v2-text) !important;
}
.fgroup input:focus, .fgroup textarea:focus, .fgroup select:focus { background: #fff !important; border-color: #4f46e5 !important; box-shadow: 0 0 0 4px rgba(79,70,229,.12) !important; }
.fgroup option { background: #fff; color: var(--v2-text); }

.btn-ghost, .btn-outline-nav { background: rgba(255,255,255,.75) !important; border-color: #cbd5e1 !important; color: #374151 !important; }
.search-overlay { background: rgba(248, 249, 252, .94) !important; }
.search-big-input, .search-results, .sr-item { background: #fff !important; color: var(--v2-text) !important; border-color: #e2e8f0 !important; }

.cinematic-v2 { background: #fff; border-color: #e2e8f0; }
.cinematic-v2:not([data-mode="fallback"]) .cinematic-chapters { height: 390px; }
.cinematic-sticky::before { background: radial-gradient(circle at 55% 48%, rgba(79,70,229,.13), transparent 35%), linear-gradient(90deg, rgba(255,255,255,.98) 0 34%, rgba(248,249,252,.38) 62%, rgba(255,255,255,.92)) !important; }
.cinematic-intro h2, .cinematic-chapter h3, .cinematic-chapter a { color: var(--v2-text) !important; }
.cinematic-chapter > p:not(.chapter-label) { color: var(--v2-muted) !important; }
.cinematic-kicker, .chapter-label, .cinematic-chapter a span { color: #4f46e5 !important; }
.chapter-number { color: #64748b; border-color: #cbd5e1; background: rgba(255,255,255,.78); }
.cinematic-progress { background: #e2e8f0; }
.cinematic-progress i { background: linear-gradient(#0ea5e9, #7c3aed); box-shadow: 0 0 14px rgba(79,70,229,.35); }
.cinematic-v2[data-mode="fallback"] .cinematic-chapter { background: #fff; border-color: #e2e8f0; box-shadow: var(--v2-card-shadow); }

body.about-page { background: var(--v2-midnight) !important; }
/* Keep the hero transparent so the fixed Spline scene remains visible behind it. */
body.about-page .co-hero-v2 { background: transparent !important; }
body.about-page .co-mv-section, body.about-page .co-team-section { background: rgba(255,255,255,.96) !important; }
body.about-page .co-why-section, body.about-page .co-timeline-section { background: rgba(248,249,252,.96) !important; }
body.about-page .co-mv-card, body.about-page .co-why-card, body.about-page .co-team-card, body.about-page .co-tl-content { background: #fff !important; border-color: #e2e8f0 !important; }
body.about-page .co-mv-card h3, body.about-page .co-why-card h3, body.about-page .co-team-card h3,
body.about-page .co-team-card h4, body.about-page .co-tl-content h3, body.about-page .co-tl-content h4,
body.about-page .section-hd h2 { color: var(--v2-text) !important; }
body.about-page .co-mv-card p, body.about-page .co-why-card p, body.about-page .co-team-card p, body.about-page .co-tl-content p { color: var(--v2-muted) !important; }
body.about-page .co-mv-pts li, body.about-page .co-team-quote { color: var(--v2-text-2) !important; background: var(--v2-bg-alt) !important; }
body.about-page .co-team-role { color: #4f46e5 !important; }

.stats-section, .cta-strip, .portfolio-cta-final { color: #fff; }
.stats-section h2, .stats-section h3, .stats-section p,
.cta-strip h2, .cta-strip h3, .cta-strip p,
.portfolio-cta-final h2, .portfolio-cta-final p { color: #fff !important; }
.footer { background: var(--v2-midnight) !important; border-top-color: rgba(255,255,255,.08) !important; }
.footer h4 { color: #fff !important; }
.footer p, .footer li, .footer a { color: #aeb9d6 !important; }
.footer a:hover { color: #67e8f9 !important; }

@media (max-width: 900px) {
  .navbar .nav-menu { background: rgba(255,255,255,.98) !important; }
  .navbar .nav-link { color: #374151 !important; }
}

@media (max-width: 640px) {
  html, body, #main-content { width: 100%; max-width: 100vw; overflow-x: clip; }
  .navbar { width: 100%; max-width: 100vw; }
  .nav-container {
    width: 100% !important;
    max-width: 100vw !important;
    padding: 0 14px !important;
    box-sizing: border-box;
    transform: none !important;
  }
  .navbar-brand { flex: 0 1 auto; min-width: 0; }
  .navbar-brand img { width: auto !important; height: 50px !important; max-width: 145px !important; }
  .navbar .nav-actions { display: flex !important; margin-left: auto !important; gap: 8px !important; z-index: 1002 !important; }
  .nav-actions .btn-outline-nav, .nav-actions .btn-primary-nav { display: none !important; }
  .navbar .search-btn, .navbar .hamburger { display: flex !important; width: 38px !important; height: 38px !important; min-width: 38px !important; }
  .navbar .nav-actions {
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  .navbar .search-btn, .navbar .hamburger { visibility: visible !important; opacity: 1 !important; color: #1e293b !important; background: #f8fafc !important; border: 1px solid #e2e8f0 !important; }
  .hero { width: 100%; max-width: 100vw; overflow: hidden !important; }
  .hero-inner {
    width: 100% !important;
    max-width: 100vw !important;
    padding: 82px 16px 44px !important;
    box-sizing: border-box;
  }
  .hero-content { width: 100% !important; max-width: 100% !important; margin: 0 auto !important; }
  .hero-title {
    width: calc(100vw - 32px) !important;
    max-width: 350px !important;
    margin-inline: auto !important;
    font-size: clamp(1.9rem, 8.6vw, 2.35rem) !important;
    overflow-wrap: normal;
  }
  .hero-sub { max-width: 350px !important; margin-inline: auto !important; }
  .hero-sub br { display: none !important; }
  .trust-row { width: 100% !important; max-width: 350px !important; }
  .cinematic-v2:not([data-mode="fallback"]) .cinematic-chapters { height: 260px; }
}
