:root {
  color-scheme: dark;
  background: #050308;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  min-height: 100%;
  margin: 0;
  overflow: hidden;
  background: #050308;
}

.site-shell {
  position: relative;
  display: grid;
  width: 100%;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  place-items: center;
  isolation: isolate;
  background: #050308;
}

@supports (height: 100dvh) {
  .site-shell {
    height: 100dvh;
  }
}

.primary-artwork,
.primary-artwork img {
  display: block;
  width: 100%;
  height: 100%;
}

.primary-artwork img {
  object-fit: cover;
  object-position: center;
}

.ambient-artwork {
  position: absolute;
  z-index: -1;
  inset: -2rem;
  display: none;
  overflow: hidden;
  background: #050308;
}

.ambient-artwork img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: blur(18px) brightness(0.42) saturate(0.8);
  transform: scale(1.06);
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  white-space: nowrap;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
}

@media (orientation: portrait), (max-width: 47.9375rem), (max-aspect-ratio: 4 / 3), (orientation: landscape) and (max-height: 35rem) {
  .ambient-artwork {
    inset: -3rem;
    display: block;
  }

  .ambient-artwork img {
    filter: blur(20px) brightness(0.95) saturate(1);
    transform: scale(1.1);
  }

  .primary-artwork {
    min-width: 0;
    min-height: 0;
  }

  .primary-artwork img {
    object-fit: contain;
  }
}
