Балансировка размера элемента сетки и выравнивания по центру для адаптивных браузеров

#css #flexbox #responsive-design #css-grid

#css #flexbox #адаптивный дизайн #css-сетка

Вопрос:

Я настраиваю меню с использованием сетки с намерением сделать его отзывчивым и центрированным на странице. В сетке есть два элемента: шестнадцатеричное меню (созданное с помощью flex) и изображение. Они накладываются друг на друга так, что изображение (справа) выравнивается по центру шестнадцатеричного меню (слева). Я изо всех сил пытаюсь добиться того, чтобы высота обоих элементов всегда была одинаковой, сохраняя при этом центрирование всего объекта и оставаясь отзывчивым.
вот макет с включенной сеткой в Chrome inspector

 :root{
  /* Colors */
  --color-hex-default: #ffffff;
  --color-hex-hover: #ffffff;
  }

.hexcontainer {

  display: grid;
  grid-auto-columns: 1fr 1fr 1fr 1fr;
}


.hexmenu {
  grid-row: 1;
  grid-column: 1/3;
  z-index: 3;
  justify-self: center;
}
.notcat {
  background-image: url(/notcat1400.jpg);
  grid-row: 1;
  grid-column: 2 / 4;
  background-repeat: no-repeat;
  -webkit-mask-image: linear-gradient(to right, transparent 2%, black 25%);
  background-size: contain;
  z-index: 1;
    height: 100%;
}

.hexGrid {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 -1.75% 0;
  overflow: hidden;
  font-family: "Nunito Sans";
  font-weight: bold;
  list-style-type: none;
  padding-left: 0px;
}
ul.hexGrid {
  width:20vw;
  position:relative;
  padding-top: 100%

}

li.hexGrid {
  --h: calc(100% / 3);
  --w: calc(1.15470053838 * var(--h));
  --a: calc(0.28867513459 * var(--h));
  --d: calc(0.57735026919 * var(--h));
  height:var(--h);
  width:var(--w);
  position:absolute;
font-size: 1.25vw;
}


.hexLink {

    background-color: var(--color-hex-default);
    color: white; /*text in hex before color*/
    overflow: hidden;
        transition: background-color 0.4s ease;
        display:block;
        width:95%;
        height:95%;
        --aw:24.99999999999%;
        clip-path:polygon(
          var(--aw) 0,
          0 50%,
          var(--aw) 100%,
          calc(100% - var(--aw)) 100%,
          100% 50%,
          calc(100% - var(--aw)) 0
        );
}

.hexLink.color-contact {
  color:black;
  }

li:nth-of-type(1) {
  left:calc(50% - var(--a) - var(--d) * 0.5);
  top:0;
}
li:nth-of-type(2) {
  left:calc(50% - var(--a) * 2 - var(--d) * 1.5);
  top:calc(var(--h) * 0.5);
}
li:nth-of-type(3) {
  left:calc(50% - var(--a) * 2 - var(--d) * 1.5);
  top:calc(var(--h) * 1.5);
}
li:nth-of-type(4) {
  left:calc(50% - var(--a) - var(--d) * 0.5);
  top:calc(var(--h) * 2);
}
li:nth-of-type(5) {
  left:calc(50%   var(--d) * 0.5);
  top:calc(var(--h) * 0.5);
}
li:nth-of-type(6) {
  left:calc(50%   var(--d) * 0.5);
  top:calc(var(--h) * 1.5);
}
li:nth-of-type(7) {
  position:absolute;
  left:calc(50% - var(--a) - var(--d) * 0.5);
  top:calc(var(--h) * 1.0);

}

hext {
margin: 0;
position: absolute;
text-align: center;
top: 47.5%;
left: 47.5%;
/*font-size: 2vw;*/
-o-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
    font-weight: bold;
    word-break: keep-all;
}
hext:hover{
transition: 0.1s;
}

.hexLink:hover {
  background-color: var(--color-hex-hover);
  transition: 0.2s ease;
}
.hexLink.color-contact:hover{
  background-color: black;
}
.hexLink:hover::after,
.hexLink:hover::before {
  border-top-color: var(--color-hex-hover);
  border-bottom-color: var(--color-hex-hover);
}

 
     <div class="hexcontainer">
<div class="hexmenu">
<ul class="hexGrid">
<li class="hexGrid"><a class="hexLink color-design" href="#"><hext>design</hext></a></li>
<li class="hexGrid"><a class="hexLink color-blog" href="#"><hext>blog</hext></a></li>
<li class="hexGrid"><a class="hexLink color-workshop" href="#"><hext>workshop</hext></a></li>
<li class="hexGrid"><a class="hexLink color-teach" href="#"><hext>coach</hext></a></li>
<li class="hexGrid"><a class="hexLink color-coach" href="#"><hext>teach</hext></a></li>
<li class="hexGrid"><a class="hexLink color-about" href="#"><hext>about</hext></a></li>
<li class="hexGrid"><a class="hexLink color-contact" href="#"><hext>contact</hext></a></li>
</ul></div>
<div class="notcat">
    </div>
</div>