/* ===== v8 performance + fidelity refinements ===== */

/* Off-screen sections: let the browser skip rendering until needed */
.section,
.section-manifesto,
.hiw,
.site-footer {
  content-visibility: auto;
  contain-intrinsic-size: 1px 900px;
}

/* True lazy iframe placeholders */
iframe[data-src] {
  background: #070a11;
}

/* Replace blur-heavy orbs with pre-rendered gradient falloffs */
.hero-orb {
  filter: none !important;
  will-change: transform;
  contain: paint;
  mix-blend-mode: screen;
}
.hero-orb-1 {
  background: radial-gradient(circle at 50% 50%, rgba(26,58,143,0.22) 0%, rgba(26,58,143,0.19) 20%, rgba(26,58,143,0.14) 38%, rgba(26,58,143,0.08) 55%, rgba(26,58,143,0.0) 76%) !important;
  animation-delay: -4s !important;
}
.hero-orb-2 {
  background: radial-gradient(circle at 50% 50%, rgba(212,175,55,0.11) 0%, rgba(212,175,55,0.08) 18%, rgba(212,175,55,0.05) 34%, rgba(212,175,55,0.028) 52%, rgba(212,175,55,0.0) 75%) !important;
  animation-delay: -9s !important;
}
.hero-orb-3 {
  background: radial-gradient(ellipse at 50% 50%, rgba(26,58,143,0.14) 0%, rgba(26,58,143,0.11) 24%, rgba(26,58,143,0.07) 44%, rgba(26,58,143,0.028) 62%, rgba(26,58,143,0.0) 82%) !important;
  animation-delay: -13s !important;
}
.hero-word-impact {
  animation-delay: 1.1s !important;
}
.hero-scroll-hint,
.hero-scroll-indicator {
  animation-delay: .8s !important;
}

/* Solid translucent cards instead of backdrop blur */
.step-card-premium,
.deliver-card-premium,
.port-preview-card,
.port-inline-browser,
.tile,
.case-side .tile {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.step-card-premium {
  background: rgba(12, 15, 24, 0.84) !important;
}
.deliver-card-premium {
  background: linear-gradient(135deg, rgba(14,17,26,0.92) 0%, rgba(10,12,20,0.88) 100%) !important;
}
.port-preview-card,
.port-inline-browser,
.tile,
.case-side .tile {
  background: rgba(10, 12, 18, 0.88) !important;
}

/* Keep medium/high full; only low or runtime frame-drop trims hero */
html.perf-medium #spaceCanvasHero,
html.perf-medium .hero-orb,
html.perf-medium .hero-grid-lines,
html.perf-medium .hero-word-impact::before {
  display: initial !important;
}
html.perf-medium #preloader {
  display: block !important;
}

/* Low-end + runtime frame drops: reduce only intro/hero */
html.perf-low #spaceCanvasHero,
html.hero-lite #spaceCanvasHero {
  display: none !important;
}
html.perf-low .hero-grid-lines,
html.hero-lite .hero-grid-lines {
  opacity: .18 !important;
}
html.perf-low .hero-orb,
html.hero-lite .hero-orb {
  animation-duration: 48s !important;
}
html.perf-low .hero-orb-3,
html.hero-lite .hero-orb-3 {
  opacity: .55 !important;
}
html.perf-low .hero-word-impact::before,
html.hero-lite .hero-word-impact::before {
  display: none !important;
}
html.perf-low .hero-word-impact,
html.hero-lite .hero-word-impact {
  filter: drop-shadow(0 0 34px rgba(212,175,55,0.12)) !important;
}
html.perf-low #preloader {
  background: #020304 !important;
}
html.perf-low .pre-grain {
  display: none !important;
}


/* v10 hero runtime refinements */
.hero-premium.hero-paused .hero-orb,
.hero-premium.hero-paused .hero-word-impact::before {
  animation-play-state: paused !important;
}
.hero-premium.hero-paused .hero-word-impact::before {
  opacity: .25;
}
