diff --git a/hero-v4.html b/hero-v4.html
index 8ca8ac0..e2f5a89 100644
--- a/hero-v4.html
+++ b/hero-v4.html
@@ -3,7 +3,7 @@
-ROI24 — Perspective Hero
+ROI24 — Orbital Hero
@@ -34,30 +34,28 @@ body {
}
/* ============================================================
- PERSPECTIVE STAGE — the tunnel
+ STAGE
============================================================ */
.stage {
position: relative; width: 100%; height: 100vh;
overflow: hidden;
- perspective: 1000px;
- perspective-origin: 50% 50%;
}
/* ============================================================
- VISUAL EFFECTS LAYER
+ FX LAYER
============================================================ */
.fx-layer {
position: absolute; inset: 0; pointer-events: none; z-index: 1;
}
-/* Noise texture */
+/* Noise */
.fx-layer::before {
content: ''; position: absolute; inset: 0;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.02'/%3E%3C/svg%3E");
opacity: 0.5;
}
-/* Goo — ambient light ahead */
+/* ── Glow at center ── */
.goo {
position: absolute; top: 50%; left: 50%;
transform: translate(-50%, -50%);
@@ -70,58 +68,7 @@ body {
transition: transform 0.5s ease, opacity 0.5s ease;
}
-/* ============================================================
- TUNNEL WALLS — cards on left & right with 3D perspective
- ============================================================ */
-.wall {
- position: absolute; top: 50%; z-index: 20;
- transform-style: preserve-3d;
- pointer-events: none;
-}
-.wall-left {
- left: 4%;
- transform: translateY(-50%) rotateY(12deg);
- transform-origin: right center;
-}
-.wall-right {
- right: 4%;
- transform: translateY(-50%) rotateY(-12deg);
- transform-origin: left center;
-}
-
-/* Each card is a "panel" on the tunnel wall */
-.tunnel-card {
- background: rgba(22,22,24,0.88);
- backdrop-filter: blur(6px);
- border: 1px solid rgba(255,255,255,0.07);
- border-radius: 10px;
- padding: 12px 14px;
- width: 170px;
- margin-bottom: 16px;
- transition: opacity 0.4s ease, filter 0.4s ease;
-}
-
-.tunnel-card .tl {
- font-size: 9px; text-transform: uppercase; letter-spacing: 0.07em;
- color: var(--text-dim); font-weight: 600; margin-bottom: 3px;
-}
-.tunnel-card .tv {
- font-family: var(--mono); font-size: 17px; font-weight: 700;
- line-height: 1.15; margin-bottom: 2px;
-}
-.tunnel-card .tv.g { color: var(--accent); }
-.tunnel-card .tv.b { color: var(--blue); }
-.tunnel-card .tv.a { color: var(--amber); }
-
-.tunnel-card .td {
- display: inline-flex; align-items: center; gap: 2px;
- padding: 2px 5px; border-radius: 3px;
- font-family: var(--mono); font-weight: 600; font-size: 9px;
-}
-.tunnel-card .td.up { color: var(--accent); background: var(--accent-dim); }
-.tunnel-card .td.down { color: var(--red); background: rgba(239,68,68,0.12); }
-
-/* ── RADIAL LINES ── lines from center outward */
+/* ── Radial lines from center ── */
.radial-line {
position: absolute; top: 50%; left: 50%;
height: 1px;
@@ -133,26 +80,52 @@ body {
);
transform-origin: left center;
}
-
.radial-line.fast {
background: linear-gradient(90deg,
rgba(255,255,255,0.15) 0%,
- rgba(34,197,94,0.35) 25%,
+ rgba(34,197,94,0.3) 25%,
rgba(34,197,94,0.08) 55%,
transparent 100%
);
height: 1.5px;
}
-/* ── DOTS — starfield particles ── */
-.dot {
- position: absolute; border-radius: 50%;
- background: var(--accent);
- box-shadow: 0 0 4px var(--accent);
+/* ============================================================
+ ORBITING CARDS
+ ============================================================ */
+.orbit-card {
+ position: absolute;
+ background: rgba(22,22,24,0.88);
+ backdrop-filter: blur(6px);
+ border: 1px solid rgba(255,255,255,0.08);
+ border-radius: 10px;
+ padding: 12px 16px;
+ width: 190px;
+ pointer-events: none;
+ transition: opacity 0.2s ease;
}
+.orbit-card .tl {
+ font-size: 9px; text-transform: uppercase; letter-spacing: 0.07em;
+ color: var(--text-dim); font-weight: 600; margin-bottom: 4px;
+}
+.orbit-card .tv {
+ font-family: var(--mono); font-size: 18px; font-weight: 700;
+ line-height: 1.15; margin-bottom: 3px;
+}
+.orbit-card .tv.g { color: var(--accent); }
+.orbit-card .tv.b { color: var(--blue); }
+.orbit-card .tv.a { color: var(--amber); }
+
+.orbit-card .td {
+ display: inline-flex; align-items: center; gap: 3px;
+ padding: 2px 6px; border-radius: 4px;
+ font-family: var(--mono); font-weight: 600; font-size: 10px;
+}
+.orbit-card .td.up { color: var(--accent); background: var(--accent-dim); }
+.orbit-card .td.down { color: var(--red); background: rgba(239,68,68,0.12); }
/* ============================================================
- CENTER — clean, no data, just headline
+ CENTER — clean headline
============================================================ */
.center {
position: absolute; top: 50%; left: 50%;
@@ -217,15 +190,13 @@ body {
RESPONSIVE
============================================================ */
@media (max-width: 768px) {
- .wall-left { left: 1%; }
- .wall-right { right: 1%; }
- .tunnel-card { width: 140px; padding: 10px 12px; }
- .tunnel-card .tv { font-size: 15px; }
+ .orbit-card { width: 150px; padding: 10px 12px; }
+ .orbit-card .tv { font-size: 15px; }
}
@media (max-width: 480px) {
- .tunnel-card { width: 110px; padding: 8px 10px; }
- .tunnel-card .tv { font-size: 13px; }
- .tunnel-card .tl { font-size: 8px; }
+ .orbit-card { width: 120px; padding: 8px 10px; }
+ .orbit-card .tv { font-size: 13px; }
+ .orbit-card .tl { font-size: 8px; }
}
@@ -233,16 +204,12 @@ body {
-
-
-
-
+
-
@@ -271,81 +238,64 @@ body {