/* One untouched image. Canvas is transparent, non-interactive and decorative. */
body { background-color: #02030a; }
body::before, body::after { content: none; }
.energy-scene { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; background: #02030a; contain: strict; }
.energy-scene-art { position: absolute; top: 0; left: 0; display: block; width: 100%; max-width: none; height: auto; will-change: transform; }
.energy-scene-effects { position: absolute; inset: 0; width: 100%; height: 100%; }

/* Local reading surfaces protect the copy without filtering the artwork. */
.hero-copy, .section-head, .method-list, .hero-baseline, .footer-inner { isolation: isolate; position: relative; }
.hero-copy { max-width: 54rem; }
.hero-copy::before, .section-head::before, .method-list::before {
  content: ""; position: absolute; z-index: -1; inset: -3rem -2rem;
  background: radial-gradient(ellipse at center, #02030ae8 0%, #02030ac9 46%, #02030a73 66%, transparent 76%);
  pointer-events: none;
}
.hero-copy::before { inset: -3rem -5rem; background: radial-gradient(ellipse at center, #02030aeb 0%, #02030ad4 43%, #02030a8c 65%, transparent 77%); }
.hero h1 { text-shadow: 0 2px 24px #02030a80; }
.hero-lead, .section-head > p, .method-list p { color: #d0cfe2; }
.hero-baseline, .footer-inner { background: linear-gradient(90deg, transparent, #02030ab8 20%, #02030ab8 80%, transparent); }
.header-shell { background-color: #09081dd9; }
.glass { backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.orbit-node { background-color: #06051ae0; }
.service-card { background: radial-gradient(ellipse at 0 0, rgba(var(--accent), .11), transparent 65%), linear-gradient(140deg, #0c1028ed, #10091ee8); }
.contact-panel { background: radial-gradient(ellipse at 0 0, #583b8f20, transparent 58%), linear-gradient(130deg, #0c0b20f5, #101027eb 65%); }
.hero-universe { isolation: isolate; }
.hero-universe::before { content: ""; position: absolute; inset: -2rem 0; z-index: -1; pointer-events: none; background: linear-gradient(180deg, transparent, #06051acf 20%, #06051aeb 50%, #06051acf 80%, transparent); }
.universe-logo { filter: drop-shadow(0 0 12px #5778f52b); }

.energy-toggle { position: fixed; right: 1rem; bottom: 1rem; z-index: 35; display: inline-flex; align-items: center; gap: .5rem; min-height: 2.75rem; padding: .55rem .85rem; border: 1px solid #9f9ac139; border-radius: 999px; background: #080a18ed; color: #cecee4; font-size: .6875rem; line-height: 1.3; box-shadow: 0 3px 16px #0003; }
.energy-toggle:hover { border-color: #66bff582; color: #f5f5ff; }
.energy-toggle svg { fill: none; stroke: currentColor; stroke-width: 1.5; }
.energy-play-icon { display: none; }
.energy-toggle[aria-pressed="true"] .energy-pause-icon { display: none; }
.energy-toggle[aria-pressed="true"] .energy-play-icon { display: block; }
.site-footer { padding-bottom: 5rem; }

@media (max-width: 800px) {
  .hero-copy::before { inset: -3rem -1.25rem; background: radial-gradient(ellipse at center, #02030af0, #02030ad4 44%, #02030a85 65%, transparent 80%); }
  .section-head::before, .method-list::before { inset: -2rem -1rem; background: radial-gradient(ellipse at center, #02030ae8 20%, #02030acc 60%, transparent 80%); }
  .energy-toggle { right: .75rem; bottom: .75rem; }
  .glass { backdrop-filter: none; -webkit-backdrop-filter: none; }
  .header-shell { background-color: #09081df2; }
}
@media (prefers-reduced-motion: reduce) {
  .energy-scene-art { will-change: auto; }
  .energy-scene-effects { display: none; }
}
