.block.image-block .image-block__frame,
.block.image-block .block__content,
.block.image-block .image-block__figure {
  height: 100%;
  width: 100%;
}
.block.image-block .image-block__container {
  height: var(--image-container-height, 100%);
  position: relative;
  width: var(--image-container-width, 100%);
}
.block.image-block .image-block__frame img {
  height: 100%;
  position: absolute;
  width: 100%;
}
.block.image-block .image-block__frame .image-block__figure {
  display: flex;
}
.block.image-block .image-block__frame .image-block__figure {
  justify-content: flex-start;
}
.block.image-block .image-block__overlay {
  background-color: var(--image-overlay-color);
  height: 100%;
  left: 0;
  mix-blend-mode: var(--image-overlay-blend-mode);
  opacity: var(--image-overlay-opacity);
  position: absolute;
  top: 0;
  width: 100%;
}
.block.image-block .image-block__frame .image-block__container .image-block__fill {
  display: block;
}
.block.image-block .image-block__frame .image-block__container .image-block__fill,
.block.image-block .image-block__frame .image-block__container .image-block__fill img {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.home-grid {
  --grid-gutter: calc(var(--site-gutter-mobile, 6vw) - 11px);
  --cell-max-width: calc((var(--site-max-width, 1500px) - (11px * (8 - 1))) / 8);

  display: grid;
  position: relative;
  grid-area: 1/1/-1/-1;
  grid-template-rows: repeat(51, minmax(24px, auto));
  grid-template-columns:
    minmax(var(--grid-gutter), 1fr)
    repeat(8, minmax(0, var(--cell-max-width)))
    minmax(var(--grid-gutter), 1fr);
  row-gap: 11px;
  column-gap: 11px;
  overflow-x: hidden;
  overflow-x: clip;
}

@media (min-width: 768px) {
  .home-grid {
    --grid-gutter: calc(var(--site-gutter, 4vw) - 11px);
    --cell-max-width: calc((var(--site-max-width, 1500px) - (11px * (24 - 1))) / 24);
    --inset-padding: 0vw;

    --row-height-scaling-factor: 0.0215;
    --container-width: min(
      var(--site-max-width, 1500px),
      calc(100vw - var(--site-gutter, 4vw) * 2 - var(--inset-padding))
    );

    grid-template-rows: repeat(31, minmax(calc(var(--container-width) * var(--row-height-scaling-factor)), auto));
    grid-template-columns:
      minmax(var(--grid-gutter), 1fr)
      repeat(24, minmax(0, var(--cell-max-width)))
      minmax(var(--grid-gutter), 1fr);
  }
}

.home-grid__photo {
  grid-area: 2/3/11/9;
  z-index: 0;
}

.home-grid__photo .block {
  justify-content: center;
}

.home-grid__photo .image-block__figure {
  align-items: center;
}

@media (min-width: 768px) {
  .home-grid__photo {
    grid-area: 1/3/21/13;
    z-index: 3;
  }

  .home-grid__photo .block {
    justify-content: center;
  }

  .home-grid__photo .image-block__figure {
    align-items: center;
  }
}

.home-grid__details {
  grid-area: 12/3/25/9;
  z-index: 2;
}

.home-grid__details .block {
  justify-content: flex-start;
}

@media (min-width: 768px) {
  .home-grid__details {
    grid-area: 6/14/16/22;
    z-index: 1;
  }

  .home-grid__details .block {
    justify-content: flex-start;
  }
}

.home-grid__about {
  grid-area: 25/3/52/9;
  z-index: 6;
}

.home-grid__about .block {
  justify-content: flex-start;
}

@media (min-width: 768px) {
  .home-grid__about {
    grid-area: 23/3/32/22;
    z-index: 2;
  }

  .home-grid__about .block {
    justify-content: flex-start;
  }
}

.photo-block {
  --image-focal-point: 50% 50%;

  --image-object-fit: cover;
  --image-overlay-opacity: 0;
  --image-overlay-blend-mode: normal;
}
.photo-block .image-block__container {
  overflow: hidden;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
  clip-path: none;
  -webkit-clip-path: none;
}
.photo-block .image-block__media {
  position: relative;
  width: 100%;
  height: 100%;
  display: none;
}
.photo-block .image-block__media {
  display: block;
}

.home-grid__details {
  mix-blend-mode: var(--text-block-blend);
  border-radius: var(--text-block-radius);
}

.home-grid__details {
  --text-block-radius: 0px 0px 0px 0px;
}

.home-grid__details {
  --text-block-blend: normal;
}

.about-block {
  --text-block-stroke-color: hsla(var(--color-black-hsl), 1);
}

.home-grid__about {
  mix-blend-mode: var(--text-block-blend);
  border-radius: var(--text-block-radius);
}

.home-grid__about {
  --text-block-radius: 0px 0px 0px 0px;
}

.home-grid__about {
  --text-block-blend: normal;
}

.home-grid__about {
  --opacity: 100%;
  --origin-x: 50%;
  --origin-y: 50%;
  --block-transform: none;

  opacity: var(--opacity, 1);
  transform: var(--block-transform);
  transform-origin: var(--origin-x) var(--origin-y);
}
