+
+
+ Montegrotto Terme · 35036 (PD)
+
-
-
- Prime
-
-
- Build
-
-
+
+ Prime
+ Build
+
-
-
- PC gaming progettati intorno a te. Consulenza reale, assemblaggio preciso e prestazioni ottimizzate senza sprechi.
-
-
-
- {["Preventivo gratuito", "Componenti selezionati", "Supporto post-vendita"].map((item) => (
-
- {item}
-
- ))}
+
+ {["Preventivo gratuito", "Componenti selezionati", "Supporto post-vendita"].map((item) => (
+
+ {item}
+
+ ))}
+
-
-
- Esplora
-
-
+
+ Esplora
+
+
);
};
diff --git a/client/src/index.css b/client/src/index.css
index a047e4a..36495f7 100644
--- a/client/src/index.css
+++ b/client/src/index.css
@@ -52,6 +52,9 @@
html.motion-preview .hero-ring-two { animation-duration: 17s !important; animation-iteration-count: infinite !important; }
html.motion-preview .hero-prism { animation-duration: 10s !important; animation-iteration-count: infinite !important; }
html.motion-preview .hero-scan { animation-duration: 2.4s !important; animation-iteration-count: 1 !important; }
+ html.motion-preview .matrix-column { animation-duration: 12s !important; animation-iteration-count: infinite !important; }
+ html.motion-preview .gear-clockwise { animation-duration: 28s !important; animation-iteration-count: infinite !important; }
+ html.motion-preview .gear-counter { animation-duration: 34s !important; animation-iteration-count: infinite !important; }
html.motion-preview .hero-enter { animation-duration: .6s !important; }
html.motion-preview .brand-enter-left,
html.motion-preview .brand-enter-right { animation-duration: .85s !important; }
@@ -120,6 +123,150 @@
background: linear-gradient(315deg, hsl(var(--primary) / .55), rgba(255,255,255,.16));
transform: rotate(-12deg);
}
+ .matrix-field {
+ overflow: hidden;
+ background:
+ linear-gradient(rgba(255,102,0,.035) 1px, transparent 1px),
+ linear-gradient(90deg, rgba(255,102,0,.035) 1px, transparent 1px),
+ radial-gradient(circle at 50% 48%, #120b07, #050505 68%);
+ background-size: 64px 64px, 64px 64px, auto;
+ mask-image: linear-gradient(to bottom, #000 84%, transparent);
+ }
+ .matrix-column {
+ position: absolute;
+ top: -75%;
+ color: hsl(var(--primary) / .48);
+ font: 600 12px/1.55 ui-monospace, SFMono-Regular, Menlo, monospace;
+ letter-spacing: .12em;
+ text-orientation: upright;
+ text-shadow: 0 0 10px hsl(var(--primary) / .55);
+ writing-mode: vertical-rl;
+ animation-name: matrix-rain;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ will-change: transform;
+ }
+ .matrix-column:nth-child(3n) { color: rgba(255,255,255,.36); font-size: 10px; }
+ .matrix-column:nth-child(even) { opacity: .56; }
+ .matrix-column:nth-child(5n) { font-size: 14px; opacity: .72; }
+ .matrix-reticle {
+ position: absolute;
+ left: 50%;
+ top: 50%;
+ width: min(54vw, 42rem);
+ aspect-ratio: 1;
+ translate: -50% -50%;
+ border: 1px solid hsl(var(--primary) / .15);
+ border-radius: 50%;
+ box-shadow: inset 0 0 70px hsl(var(--primary) / .04);
+ }
+ .matrix-reticle::before,
+ .matrix-reticle::after,
+ .matrix-reticle span {
+ content: "";
+ position: absolute;
+ border: 1px solid hsl(var(--primary) / .1);
+ border-radius: 50%;
+ }
+ .matrix-reticle::before { inset: 11%; border-style: dashed; }
+ .matrix-reticle::after { inset: 28%; }
+ .matrix-reticle span:nth-child(1) { inset: 4% 49%; border-radius: 0; }
+ .matrix-reticle span:nth-child(2) { inset: 49% 4%; border-radius: 0; }
+ .matrix-reticle span:nth-child(3) { inset: 38%; background: hsl(var(--primary) / .035); }
+ .matrix-panel {
+ position: absolute;
+ z-index: 1;
+ display: grid;
+ gap: .3rem;
+ min-width: 12rem;
+ padding: .75rem 1rem;
+ border: 1px solid hsl(var(--primary) / .16);
+ background: rgba(0,0,0,.28);
+ color: hsl(var(--primary) / .5);
+ font: 500 9px/1.35 ui-monospace, SFMono-Regular, Menlo, monospace;
+ letter-spacing: .13em;
+ }
+ .matrix-panel b { color: hsl(var(--primary) / .82); font-size: 10px; }
+ .matrix-panel-a { left: 5%; bottom: 15%; }
+ .matrix-panel-b { right: 5%; top: 16%; text-align: right; }
+ .matrix-bracket {
+ position: absolute;
+ top: 24%;
+ bottom: 22%;
+ width: 4rem;
+ border-block: 1px solid hsl(var(--primary) / .2);
+ }
+ .matrix-bracket-left { left: 12%; border-left: 1px solid hsl(var(--primary) / .2); }
+ .matrix-bracket-right { right: 12%; border-right: 1px solid hsl(var(--primary) / .2); }
+
+ .gear-field {
+ overflow: hidden;
+ background:
+ linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
+ linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
+ radial-gradient(circle at 50% 45%, #17100b, #050505 70%);
+ background-size: 72px 72px, 72px 72px, auto;
+ mask-image: linear-gradient(to bottom, #000 84%, transparent);
+ }
+ .hero-gear {
+ position: absolute;
+ color: hsl(var(--primary) / .28);
+ will-change: transform;
+ }
+ .hero-gear::before {
+ content: "";
+ position: absolute;
+ inset: 7%;
+ border: 1px dashed hsl(var(--primary) / .22);
+ border-radius: 50%;
+ }
+ .gear-icon { width: 100%; height: 100%; }
+ .gear-inner {
+ position: absolute;
+ inset: 31%;
+ border: 1px solid hsl(var(--primary) / .36);
+ border-radius: 50%;
+ box-shadow: inset 0 0 18px hsl(var(--primary) / .08);
+ }
+ .gear-hub {
+ position: absolute;
+ left: 50%;
+ top: 50%;
+ width: 8%;
+ aspect-ratio: 1;
+ translate: -50% -50%;
+ border-radius: 50%;
+ background: hsl(var(--primary) / .7);
+ box-shadow: 0 0 14px hsl(var(--primary) / .36);
+ }
+ .gear-belt {
+ position: absolute;
+ height: 12rem;
+ border-block: 1px dashed hsl(var(--primary) / .15);
+ transform-origin: left center;
+ }
+ .gear-belt-a { left: 14%; top: 28%; width: 54%; transform: rotate(14deg); }
+ .gear-belt-b { left: 52%; top: 55%; width: 38%; transform: rotate(-18deg); }
+ .gear-blueprint {
+ position: absolute;
+ padding-left: 2rem;
+ color: hsl(var(--primary) / .38);
+ font: 600 9px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
+ letter-spacing: .2em;
+ }
+ .gear-blueprint::before { content: ""; position: absolute; left: 0; top: 50%; width: 1.4rem; border-top: 1px solid hsl(var(--primary) / .35); }
+ .gear-blueprint-a { left: 8%; bottom: 13%; }
+ .gear-blueprint-b { right: 7%; top: 17%; }
+ .gear-clockwise { animation: gear-clockwise 28s linear infinite; }
+ .gear-counter { animation: gear-counter 34s linear infinite; }
+
+ @media (max-width: 640px) {
+ .matrix-panel, .matrix-bracket, .gear-blueprint, .gear-belt { display: none; }
+ .matrix-reticle { width: 145vw; opacity: .55; }
+ .matrix-column:nth-child(even) { display: none; }
+ .hero-gear { opacity: .72; }
+ }
+
.hero-glow {
position: absolute;
inset: 18% 22%;
@@ -229,6 +376,12 @@ html.motion-paused *::after,
animation-play-state: paused !important;
}
+@keyframes matrix-rain {
+ from { transform: translate3d(0, -10%, 0); }
+ to { transform: translate3d(0, 190vh, 0); }
+}
+@keyframes gear-clockwise { to { transform: rotate(360deg); } }
+@keyframes gear-counter { to { transform: rotate(-360deg); } }
@keyframes enter-up { from { opacity: 0; transform: translateY(12px); } }
@keyframes brand-left { from { transform: translateX(-18vw) scale(.88); letter-spacing: .02em; } }
@keyframes brand-right { from { transform: translateX(18vw) scale(.88); letter-spacing: .02em; } }