body {
  background: #0c1018;
  color: #fff;
  overflow: hidden;
}

.home-hero {
  position: relative;
  width: 100vw;
  height: 100vh;
}

.home-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}

.home-button {
  position: fixed;
  top: 8vmin;
  left: 8vmin;
  z-index: 101;
}

.home-button img {
  width: 6vmin;
}

.home-title {
  position: fixed;
  top: 52%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  font-size: clamp(28px, 3.8vw, 52px);
  font-family: 'Space Grotesk', 'Open Sans', sans-serif;
  letter-spacing: -0.01em;
  padding: 0.6ex 1ex;
  border: 3px solid rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(6px) brightness(70%);
  pointer-events: none;
  text-align: center;
  max-width: min(90vw, 720px);
  line-height: 1.25;
}

.home-github {
  position: absolute;
  top: 1vmin;
  right: 1vmin;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.2rem 0.4rem;
  color: #fff;
  font-size: 2vmin;
}

.home-github img {
  width: 4vmin;
}

.home-tiles {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: flex;
  overflow: hidden;
}

.home-tiles a {
  position: relative;
  flex: 1;
  display: block;
  height: 100%;
  overflow: hidden;
}

.home-tiles .programmer-bg,
.home-tiles .photographer-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s ease-out, filter 0.2s ease-out;
  will-change: transform;
  transform: translateZ(0);
  filter: brightness(0.85);
}

.home-tiles .programmer-title,
.home-tiles .photographer-title {
  position: absolute;
  font-size: clamp(26px, 3.6vw, 44px);
  font-family: 'Space Grotesk', 'Open Sans', sans-serif;
  font-weight: 700;
  color: #fff;
  z-index: 2;
  pointer-events: none;
  text-shadow: 0 10px 25px rgba(0, 0, 0, 0.35);
  letter-spacing: 0.02em;
}

.home-tiles .programmer-title {
  top: 16vh;
  right: 5vw;
  text-align: right;
}

.home-tiles .photographer-title {
  top: 16vh;
  left: 5vw;
}

.home-tiles .programmer-link::after,
.home-tiles .photographer-link::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.45) 100%);
  z-index: 1;
  transition: opacity 0.2s ease-out;
}

.home-tiles a:hover img {
  transform: scale(1.02);
  filter: brightness(1);
}

.home-tiles a:hover::after {
  opacity: 0.7;
}

@media (hover: hover) {
  .home-tiles:hover a:not(:hover) img {
    filter: blur(4px) brightness(0.7);
  }
}

#tou {
  position: fixed;
  bottom: 10px;
  right: 10px;
  text-align: right;
  z-index: 100;
}

#tou h6 {
  margin: 0 0 4px 0;
  font-size: 10pt;
  font-weight: 600;
}

#tou p {
  margin: 0;
  font-size: 7pt;
}

@media (prefers-reduced-motion: reduce) {
  .home-tiles .programmer-bg,
  .home-tiles .photographer-bg,
  .home-tiles a::after {
    transition: none;
  }
}
