:root {
  --background-color: #0b1014;
  --text-color: #efe6ea;
  --primary-color: #1d2b34;
  --secondary-color: #8c99a1;
  --accent-color: #d5695d;
  --font-placeholder: 'Upheaval', serif;
  --font-placeholder-caption: 'Ithaca', serif;
}

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

body, h1, h2, h3, h4, p, ul, ol, figure, blockquote, dl, dd {
  margin: 0;
  padding: 0;
  font-weight: 100;
  font-style: normal;
}

ul, ol {
  list-style: none;
}

a {
  text-decoration: none;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
}

input, button, textarea, select {
  font: inherit;
  border: none;
  outline: none;
}

.width {
  max-width: 1440px;
  margin: 0 auto;
}

.height {
  min-height: 900px;
}

.body {
  background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.4)), url("brick-wall-background_v3.webp");
  background-size: 100%;
  background-position: top;
  background-repeat: repeat;
  image-rendering: pixelated;
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;
}

.header {
  position: relative;
  display: flex;
  height: max(3vw, 40px);
  justify-content: space-between;
  align-items: center;
  padding: 0;
  background-color: var(--primary-color);
  border: max(2vw, 16px) solid transparent;
  -o-border-image: url("div-texture-1.png") 6 stretch;
     border-image: url("div-texture-1.png") 6 fill stretch;
  image-rendering: pixelated;
  line-height: 0;
  color: var(--secondary-color);
  font-family: var(--font-placeholder-caption);
  font-style: normal;
}
.header__logo {
  display: inline-block;
  height: calc(13px * 5);
  width: calc(70px * 5);
  cursor: pointer;
  background-image: url("logo_anim.png");
  background-repeat: no-repeat;
  image-rendering: pixelated;
  background-position: 0 0;
  background-size: auto calc(13px * 5);
}
.header__logo.play {
  animation: logo-anim 0.4s steps(6);
}
.header__nav {
  width: -moz-fit-content;
  width: fit-content;
}
.header__nav-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: max(1.5vw, 12px);
  cursor: pointer;
  padding-bottom: 0.1em;
}
.header__nav-link img {
  height: max(2.5vw, 28px);
  -o-object-fit: cover;
     object-fit: cover;
}
.header__nav-link--telegram {
  display: inline-block;
  height: calc(13px * 5);
  width: calc(76px * 5);
  background-image: url("art_updates_anim.png");
  background-repeat: no-repeat;
  image-rendering: pixelated;
  background-position: 0 0;
  background-size: auto calc(13px * 5);
}
.header__nav-link--telegram.play {
  animation: tg-link-anim 0.4s steps(6);
}

@media screen and (max-width: 3540px) {
  .header__logo {
    height: calc(13px * 4);
    width: calc(70px * 4);
    background-size: auto calc(13px * 4);
  }
  .header__logo.play {
    animation-name: logo-anim-desktop;
  }
}
@media screen and (max-width: 2200px) {
  .header__logo {
    height: calc(13px * 2.3);
    width: calc(70px * 2.3);
    background-size: auto calc(13px * 2.3);
  }
  .header__logo.play {
    animation-name: logo-anim-desktop--small;
  }
}
@media screen and (max-width: 1440px) {
  .header__logo {
    height: calc(13px * 1.9);
    width: calc(70px * 1.9);
    background-size: auto calc(13px * 1.9);
  }
  .header__logo.play {
    animation-name: logo-anim-tablet;
  }
}
@media screen and (max-width: 680px) {
  .header__logo {
    height: calc(13px * 1.4);
    width: calc(70px * 1.4);
    background-size: auto calc(13px * 1.4);
  }
  .header__logo.play {
    animation-name: logo-anim-mobile;
  }
}
@media screen and (max-width: 3540px) {
  .header__nav-link--telegram {
    height: calc(13px * 4);
    width: calc(76px * 4);
    background-size: auto calc(13px * 4);
  }
  .header__nav-link--telegram.play {
    animation-name: tg-link-anim-desktop;
  }
}
@media screen and (max-width: 2200px) {
  .header__nav-link--telegram {
    height: calc(13px * 2.3);
    width: calc(76px * 2.3);
    background-size: auto calc(13px * 2.3);
  }
  .header__nav-link--telegram.play {
    animation-name: tg-link-anim-desktop--small;
  }
}
@media screen and (max-width: 1440px) {
  .header__nav-link--telegram {
    height: calc(13px * 1.9);
    width: calc(76px * 1.9);
    background-size: auto calc(13px * 1.9);
  }
  .header__nav-link--telegram.play {
    animation-name: tg-link-anim-tablet;
  }
}
@media screen and (max-width: 680px) {
  .header__nav-link--telegram {
    height: calc(13px * 1.4);
    width: calc(76px * 1.4);
    background-size: auto calc(13px * 1.4);
  }
  .header__nav-link--telegram.play {
    animation-name: tg-link-anim-mobile;
  }
}
@keyframes logo-anim-mobile {
  from {
    background-position: 0 0;
  }
  to {
    background-position: calc(70px * 6 * 1.4 * -1) 0;
  }
}
@keyframes logo-anim-tablet {
  from {
    background-position: 0 0;
  }
  to {
    background-position: calc(70px * 6 * 1.9 * -1) 0;
  }
}
@keyframes logo-anim-desktop--small {
  from {
    background-position: 0 0;
  }
  to {
    background-position: calc(70px * 6 * 2.3 * -1) 0;
  }
}
@keyframes logo-anim-desktop {
  from {
    background-position: 0 0;
  }
  to {
    background-position: calc(70px * 6 * 4 * -1) 0;
  }
}
@keyframes logo-anim {
  from {
    background-position: 0 0;
  }
  to {
    background-position: calc(70px * 6 * 5 * -1) 0;
  }
}
@keyframes tg-link-anim-mobile {
  from {
    background-position: 0 0;
  }
  to {
    background-position: calc(76px * 6 * 1.4 * -1) 0;
  }
}
@keyframes tg-link-anim-tablet {
  from {
    background-position: 0 0;
  }
  to {
    background-position: calc(76px * 6 * 1.9 * -1) 0;
  }
}
@keyframes tg-link-anim-desktop--small {
  from {
    background-position: 0 0;
  }
  to {
    background-position: calc(76px * 6 * 2.3 * -1) 0;
  }
}
@keyframes tg-link-anim-desktop {
  from {
    background-position: 0 0;
  }
  to {
    background-position: calc(76px * 6 * 4 * -1) 0;
  }
}
@keyframes tg-link-anim {
  from {
    background-position: 0 0;
  }
  to {
    background-position: calc(76px * 6 * 5 * -1) 0;
  }
}
.content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0));
}

.placeholder {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: top;
  align-items: center;
  container-type: inline-size;
  overflow: hidden;
  color: var(--text-color);
  margin: 0;
  padding: min(1em, 24px) 0 max(1em, 10px) 0;
  background-color: var(--primary-color);
  border: max(2vw, 16px) solid transparent;
  -o-border-image: url("div-texture-1.png") 6 stretch;
     border-image: url("div-texture-1.png") 6 fill stretch;
  image-rendering: pixelated;
}
.placeholder h1 {
  font-family: var(--font-placeholder);
  width: 100%;
  display: block;
  white-space: wrap;
  font-size: clamp(1px, 7vw, 88px);
  text-align: center;
  margin-bottom: 0.3em;
  margin-top: 0.2em;
  letter-spacing: 0.03em;
}
.placeholder h2 {
  font-family: var(--font-placeholder-caption);
  padding: 0.8em 1em 0.2em 1em;
  width: 100%;
  font-size: clamp(1px, 4.2vw, 36px);
  text-align: left;
  letter-spacing: 0.06em;
  line-height: 1.3em;
}

.grid-wrapper {
  width: 100%;
  -moz-column-count: 2;
       column-count: 2;
  gap: 0;
  padding: 1em 1em 1em 1em;
}
.grid-wrapper img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .grid-wrapper {
    -moz-column-count: 4;
         column-count: 4;
    gap: 1.5em;
  }
  .grid-wrapper img {
    margin-bottom: 1.5em;
  }
}