/* Reference-inspired desktop composition, while keeping the Elementor controls editable. */
@media (min-width: 901px) {
  .xap-portal {
    align-items: center;
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 28px;
    min-height: 840px;
    padding: 34px;
  }

  .xap-portal__intro { align-self: center; }

  .xap-portal__grid {
    display: block;
    height: 760px;
    margin: 0;
    max-width: none;
    position: relative;
  }

  .xap-portal__hub {
    height: 235px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 235px;
  }

  .xap-portal__petal {
    height: 175px;
    position: absolute;
    transform: translate(-50%, -50%);
    width: 225px;
  }

  .xap-portal__petal:hover,
  .xap-portal__petal:focus-visible { transform: translate(-50%, calc(-50% - 6px)); }

.xap-portal__petal--11  { left: 43.5%; top: 16%; }
.xap-portal__petal--1  { left: 56.5%; top: 16%; }
.xap-portal__petal--2  { left: 69%; top: 26%; }
.xap-portal__petal--3  { left: 79%; top: 45%; }
.xap-portal__petal--4  { left: 75%; top: 65%; }
.xap-portal__petal--5  { left: 62.5%; top: 75%; }
.xap-portal__petal--6  { left: 50%; top: 85%; }
.xap-portal__petal--7  { left: 37.5%; top: 75%; }
.xap-portal__petal--8  { left: 25%; top: 65%; }
.xap-portal__petal--9 { left: 21%; top: 45%; }
.xap-portal__petal--10 { left: 31%; top: 26%; }
}

@media (min-width: 901px) and (max-width: 1220px) {
  .xap-portal { grid-template-columns: 175px minmax(0, 1fr); padding: 22px; }
  .xap-portal__grid { height: 790px; }
  .xap-portal__petal { height: 150px; padding: 14px; width: 190px; }
  .xap-portal__petal small { font-size: .68rem; }
  .xap-portal__hub { height: 190px; width: 190px; }
}

