/* --- Hero and gallery styles --- */
.hero {
  position: relative;
  padding: 40px 0 32px;
  background: radial-gradient(circle at top left, #111827, #020308);
  overflow: hidden;
}
.hero-inner {
  display: flex;
  align-items: center;
  gap: 32px;
}
.hero-copy h1 { font-size: 40px; margin-bottom: 8px; }
.hero-copy p { max-width: 480px; color: #c6c6c6; }
.hero-sub { margin-top: 10px; font-size: 13px; color: #9ca3af; }
.hero-visual { position: relative; flex: 1; min-width: 220px; }
.hero-pixelwave {
  position: absolute; inset: 0;
  background-image: url("assets/pixel-wave.svg");
  background-size: cover;
  background-position: bottom;
  opacity: 0.22;
  mix-blend-mode: screen;
  pointer-events: none;
}
.hero-floor-shot {
  position: relative;
  margin-left: auto;
  width: 260px; height: 160px;
  border-radius: 18px;
  background: linear-gradient(135deg, #111827, #111827 25%, #25a4ff 55%, #7dd3fc 100%);
  box-shadow: 0 16px 40px rgba(0,0,0,0.7);
  display: flex; align-items: flex-end; justify-content: flex-start;
  padding: 10px 12px; overflow: hidden;
}
.hero-floor-shot span {
  font-size: 11px; font-weight: 600; letter-spacing: 0.06em;
  text-transform: uppercase; color: #e5e7eb;
  background: rgba(5,6,8,0.7);
  padding: 4px 8px; border-radius: 999px;
}
.hero-floor-shot::after {
  content: ""; position: absolute; inset: 18px;
  border-radius: 16px; border: 1px solid rgba(249,250,251,0.14);
  opacity: 0.5;
}

/* Placeholder gallery */
.grid-gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px; margin-top: 16px;
}
.img-placeholder {
  background: radial-gradient(circle at top, #111827, #020308);
  border-radius: 12px;
  border: 1px solid #111827;
  padding: 10px;
  font-size: 11px;
  color: #e5e7eb;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 80px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
}
.img-placeholder span { font-size: 10px; color: #9ca3af; }

/* Responsive */
@media (max-width: 768px) {
  .hero-inner { flex-direction: column; align-items: flex-start; }
  .hero-floor-shot { margin: 14px 0 0; width: 100%; max-width: 320px; }
  .grid-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
