/* 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: 1030px;
    padding: 34px;
  }

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

  .xap-portal__grid {
    display: block;
    height: 950px;
    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: 180px;
    position: absolute;
    transform: translate(-50%, -50%);
    width: 230px;
  }

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

  .xap-portal__petal--1 { left: 50%; top: 12%; }
  .xap-portal__petal--2 { left: 72%; top: 15%; }
  .xap-portal__petal--3 { left: 89%; top: 29%; }
  .xap-portal__petal--4 { left: 91%; top: 49%; }
  .xap-portal__petal--5 { left: 84%; top: 70%; }
  .xap-portal__petal--6 { left: 66%; top: 84%; }
  .xap-portal__petal--7 { left: 46%; top: 87%; }
  .xap-portal__petal--8 { left: 27%; top: 83%; }
  .xap-portal__petal--9 { left: 9%; top: 67%; }
  .xap-portal__petal--10 { left: 10%; top: 44%; }
  .xap-portal__petal--11 { left: 25%; top: 20%; }
}

@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: 155px; padding: 14px; width: 195px; }
  .xap-portal__petal small { font-size: .68rem; }
  .xap-portal__hub { height: 190px; width: 190px; }
}
