body {
  margin: 0;
  padding: 0;
  background: #040214;
  color: #fff;
  font-family: 'Inter', sans-serif;
  overflow-x: hidden;
  overflow-y: auto;
  height: auto;
  min-height: 100vh;
}

html { background: #040214; scroll-behavior: smooth; }

body::before {
  content: "";
  position: fixed;
  inset: 0;
  background: url('../assets/background.png') center / cover no-repeat;
  z-index: 0; /* sotto ai glow, sopra al colore base */
  pointer-events: none;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  background:
    radial-gradient(75% 75% at 28% 6%, rgba(255, 80, 215, 0.38), transparent 62%),
    radial-gradient(55% 55% at 80% 72%, rgba(55, 255, 214, 0.28), transparent 78%);
  mix-blend-mode: screen;
  z-index: 1; /* sopra immagine, sotto contenuti */
  pointer-events: none;
}

main.page-wrap { position: relative; z-index: 0; }
main.page-wrap > * { position: relative; z-index: 1; }

.hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: clamp(5rem, 8vw, 7rem) 1.5rem 4rem;
  gap: 3rem;
}

.hero-content {
  flex: 1;
  max-width: 600px;
}

.hero-title {
  font-family: 'Orbitron', sans-serif;
  font-size: clamp(2.4rem, 5vw, 3.8rem);
  margin-bottom: 1rem;
  background: linear-gradient(120deg, #00d1ff, #a37dff);
  -webkit-background-clip: text;
  color: transparent;
  text-shadow: 0 0 20px rgba(111, 255, 244, 0.45);
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  margin-top: 1.5rem;
}

.contact-form label span {
  display: block;
  font-size: 0.9rem;
  margin-bottom: 0.4rem;
  opacity: 0.8;
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  padding: 0.9rem 1.1rem;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.2);
  background: rgba(255,255,255,0.06);
  color: #fff;
  font-family: inherit;
  font-size: 1rem;
  outline: none;
  transition: border-color 0.3s ease, background 0.3s ease;
}

.contact-form input:focus,
.contact-form textarea:focus {
  border-color: #00d1ff;
  background: rgba(255,255,255,0.1);
}

.hero-visual {
  flex: 1;
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: 100%;
}

.hero-card {
  position: absolute;
  padding: 0.9rem 1.4rem;
  border-radius: 1rem;
  background: linear-gradient(150deg, rgba(255,255,255,0.32), rgba(255,255,255,0.08));
  border: 1px solid rgba(255,255,255,0.3);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: rgba(255,255,255,0.9);
  box-shadow: 0 18px 40px rgba(20,10,60,0.38);
}

@supports not ((-webkit-backdrop-filter: none) or (backdrop-filter: none)) {
  .hero-card {
    background: rgba(255,255,255,0.12); /* leggermente più opaca senza blur */
  }
}

.hero-card--auth { top: 20%; right: 6%; }
.hero-card--creators { top: 36%; right: 18%; }
.hero-card--stored { bottom: 34%; right: 4%; }

@media (max-width: 900px) {
  .hero { flex-direction: column; text-align: center; }
  .hero-visual { justify-content: center; margin-top: 2rem; }
}

/* Performance tweaks */
html, body { -webkit-overflow-scrolling: touch; }
.hero-card { will-change: transform; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero-card { box-shadow: 0 12px 24px rgba(20,10,60,0.28); }
}