* {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  height: 100%;
  background: #000;
  color: hsl(0 0% 100% / 0.56);
  font-family: system-ui, -apple-system, sans-serif;
}

.scene {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.image-layer {
  position: absolute;
  inset: 0;
  background: url("assets/still.avif") center / cover no-repeat;
  transform-origin: center;
  will-change: transform, filter;
}

.grain-layer {
  position: absolute;
  inset: 0;
  background: url("assets/noise.avif") repeat;
  opacity: 0.05;
  mix-blend-mode: soft-light;
  pointer-events: none;
}

.content {
  position: absolute;
  bottom: 10%;
  left: 8%;
  max-width: 420px;
}

h1 {
  font-size: 2.4rem;
  font-weight: 500;
  margin: 0 0 0.4em;
}

.subtitle {
  color: #a0a0a0;
  margin-bottom: 1.2em;
}

.contacts a {
  display: block;
  color: #e8e8e8;
  text-decoration: none;
  margin-bottom: 0.4em;
}

.contacts a:hover {
  text-decoration: underline;
}

footer {
  position: absolute;
  bottom: 2%;
  right: 3%;
  font-size: 0.75rem;
  color: hsla(0, 0%, 100%, 0.64);
}

@media (prefers-reduced-motion: reduce) {
  .image-layer {
    transform: none !important;
    filter: none !important;
  }
}

