/* =============================================================
   PERFORMANCE OPTIMIZATIONS
   Reduces paint/composite/CPU cost and simplifies effects on lite devices.
   ============================================================= */

/* 1. content-visibility: lets the browser skip layout/paint for
      sections that are off-screen. Massive win on long pages with
      many backdrop-filters. The contain-intrinsic-size hint stops
      the scrollbar from jumping.
      Only applied to large in-flow sections (NOT the hero, NOT
      anything fixed/absolute/with critical above-the-fold content).
*/
.values-section,
.advantage-section,
.promise-section,
.app-process-section,
.platforms-section,
.monetization-section,
.features-section,
.svc-domains-section,
.svc-process,
.svc-industries,
.svc-cta,
.svc-hex-section,
.adv-bento,
.values-manifesto,
.process-rail,
.platform-triptych,
.monetize-orbit {
    content-visibility: auto;
    contain-intrinsic-size: 1px 700px;
}

body.page-home .marquee-strip,
body.page-home .cta-section,
body.page-home .footer {
    content-visibility: auto;
    contain-intrinsic-size: 1px 520px;
}

body.page-home .features-section {
    contain-intrinsic-size: 1px 760px;
}

/* 2. Promote large blurred / animated layers to their own GPU layer
      ONCE (transform: translateZ(0)) instead of using will-change,
      which keeps a memory-hungry layer alive forever even when idle.
*/
.hero-backdrop,
.hero-backdrop-orb,
.hero-glow-wave,
.neon-arc,
.abt-stats-bg,
.abt-stats-orb {
    transform: translateZ(0);
    backface-visibility: hidden;
}

/* 3. Cut animation work for users who asked the OS not to animate.
      Keeps everything VISIBLE just removes motion.
*/
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }
}

/* 4. Hover-only effects: don't apply on touch devices where they
      would be triggered by tap and feel sticky.
*/
@media (hover: none) {
    .feature-card:hover,
    .about-tile:hover,
    .services-tile:hover,
    .contact-tile:hover,
    .vm-card:hover,
    .value-card:hover,
    .adv-card:hover,
    .leader-card:hover {
        transform: none !important;
    }
}

/* 5. Force compositor-only animation paths on commonly-animated
      decorative elements so the main thread isn't blocked on paint.
      transform/opacity only, no layout-triggering properties.
*/
.btn-ripple,
.tw-cursor,
.hp,
.svc-hex,
.svc-hex-inner {
    backface-visibility: hidden;
}

/* 6. Capability tiering. The layout sets html[data-perf] before CSS is
      discovered, so lite devices avoid the expensive decorative treatment
      from first paint instead of after a delayed script pass.
*/
html[data-perf="lite"] *,
html[data-perf="lite"] *::before,
html[data-perf="lite"] *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
}

html[data-perf="lite"] .desktop-shader-layer,
html[data-perf="lite"] .page-transition,
html[data-perf="lite"] .hero-backdrop-orb,
html[data-perf="lite"] .hero-backdrop-grid,
html[data-perf="lite"] .hero-particles,
html[data-perf="lite"] .hero-glow-wave,
html[data-perf="lite"] .neon-arc,
html[data-perf="lite"] .liquid-caustics,
html[data-perf="lite"] .liquid-sheen,
html[data-perf="lite"] .liquid-border,
html[data-perf="lite"] .glass-shine,
html[data-perf="lite"] .card-shine,
html[data-perf="lite"] .line-art-logo,
html[data-perf="lite"] .lottie-icon,
html[data-perf="lite"] .particle-logo-wrap,
html[data-perf="lite"] .particle-logo-canvas {
    display: none !important;
}

html[data-perf="lite"] .site-nav,
html[data-perf="lite"] .footer,
html[data-perf="lite"] .feature-card,
html[data-perf="lite"] .stat-card,
html[data-perf="lite"] .stat-item,
html[data-perf="lite"] .process-step,
html[data-perf="lite"] .platform-card,
html[data-perf="lite"] .monetization-card,
html[data-perf="lite"] .about-tile,
html[data-perf="lite"] .services-tile,
html[data-perf="lite"] .contact-tile,
html[data-perf="lite"] .contact-card,
html[data-perf="lite"] .form-card,
html[data-perf="lite"] .cu-info-card,
html[data-perf="lite"] .cu-form-card,
html[data-perf="lite"] .cu-info-icon,
html[data-perf="lite"] .hero-side-card,
html[data-perf="lite"] .cta-card,
html[data-perf="lite"] .svc-card,
html[data-perf="lite"] .svc-phase,
html[data-perf="lite"] .svc-hstat,
html[data-perf="lite"] .svc-hex,
html[data-perf="lite"] .vm-card,
html[data-perf="lite"] .value-card,
html[data-perf="lite"] .adv-card,
html[data-perf="lite"] .abt-stat,
html[data-perf="lite"] .abt-highlight-card,
html[data-perf="lite"] .leader-card,
html[data-perf="lite"] .promise-card,
html[data-perf="lite"] .glass-card,
html[data-perf="lite"] .glass-panel,
html[data-perf="lite"] .glass-refract,
html[data-perf="lite"] .liquid-glass,
html[data-perf="lite"] [class*="glass"],
html[data-perf="lite"] [class*="liquid"] {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    filter: none !important;
}

html[data-perf="lite"] .site-nav,
html[data-perf="lite"] .footer,
html[data-perf="lite"] .feature-card,
html[data-perf="lite"] .stat-card,
html[data-perf="lite"] .stat-item,
html[data-perf="lite"] .process-step,
html[data-perf="lite"] .platform-card,
html[data-perf="lite"] .monetization-card,
html[data-perf="lite"] .about-tile,
html[data-perf="lite"] .services-tile,
html[data-perf="lite"] .contact-tile,
html[data-perf="lite"] .contact-card,
html[data-perf="lite"] .form-card,
html[data-perf="lite"] .cu-info-card,
html[data-perf="lite"] .cu-form-card,
html[data-perf="lite"] .hero-side-card,
html[data-perf="lite"] .cta-card,
html[data-perf="lite"] .svc-card,
html[data-perf="lite"] .svc-phase,
html[data-perf="lite"] .svc-hstat,
html[data-perf="lite"] .svc-hex-inner {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18) !important;
}

html[data-perf="lite"] .cine-section,
html[data-perf="lite"] .cine-child,
html[data-perf="lite"] .sa-reveal,
html[data-perf="lite"] .sa-hidden {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    will-change: auto !important;
}

html[data-perf="balanced"] .desktop-shader-layer {
    display: none !important;
}
