body { overflow-x: hidden; }

/* Stable POI matrix: avoids collisions caused by the former orbit layout. */
.channel-stage {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
  height: auto;
  margin: 64px auto 0;
}

.channel-stage::before,
.channel-stage::after { display: none; }

.channel-center {
  position: relative;
  top: auto;
  left: auto;
  grid-column: 1 / -1;
  width: 150px;
  height: 150px;
  margin: 0 auto 30px;
  transform: none;
}

.channel-center .pulse { inset: -22px; }

.channel {
  position: relative;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 100%;
  min-width: 0;
  min-height: 88px;
  padding: 16px 18px;
  border: 1px solid #303039;
  background: #1b1b21;
}

.channel i { flex: 0 0 48px; }

.channel > div {
  min-width: 0;
  overflow: hidden;
}

.channel b,
.channel small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 850px) {
  .new-path > div {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin-top: 20px;
  }

  .new-path b {
    display: block;
    padding: 13px 16px;
    border: 1px solid #35363d;
    text-align: center;
    background: #1c1d22;
  }

  .new-path i,
  .new-path i:nth-of-type(2) {
    display: block !important;
    height: 25px;
    margin: 0;
    color: #7d72ed;
    line-height: 25px;
    text-align: center;
    transform: rotate(90deg);
  }

  .channel-stage {
    grid-template-columns: 1fr 1fr;
    margin-top: 45px;
  }

  .channel-center {
    grid-column: 1 / -1;
    width: 126px;
    height: 126px;
    margin: 0 auto 24px;
  }

  .channel {
    min-height: 72px;
    padding: 12px;
  }

  .channel i { flex: 0 0 38px; }

  .cap-main {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .cap-main .cap-text {
    position: relative;
    z-index: 2;
  }

  .cap-main img {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    height: 250px;
    margin: 10px 0 -30px;
    object-fit: contain;
    opacity: 1;
  }
}

@media (max-width: 430px) {
  .channel-stage { grid-template-columns: 1fr; }
  .channel-center { grid-column: 1; }
  .channel { width: 100%; }
  .channel small { display: block; }
  .contact h2 { font-size: 36px; }
  .phone-contact strong { font-size: 25px; }
}
