.page-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(420px, 1.06fr);
  gap: 36px;
  align-items: center;
}
.page-hero-grid.no-media {
  grid-template-columns: minmax(0, 900px);
}
.page-hero-media .vplayer,
.page-custom-module .vplayer {
  border: 0;
}
.page-media-link {
  display: block;
  border-radius: inherit;
  overflow: hidden;
}
.page-body {
  background: linear-gradient(180deg, #fff 0, #f7fbff 100%);
}
.page-content-card:empty {
  display: none;
}
.page-content-card > *:first-child {
  margin-top: 0;
}
.page-content-card > *:last-child {
  margin-bottom: 0;
}
.page-custom-module {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .82fr);
  gap: 24px;
  align-items: center;
}
.page-custom-module.no-media {
  display: block;
}
.page-custom-module .media-card {
  margin: 0;
}
.page-custom-module .btn {
  margin-top: 12px;
}
.page-contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 24px;
  align-items: start;
}
.page-company-box {
  position: sticky;
  top: 100px;
}
.page-company-box .hero-actions {
  margin-top: 18px;
}
.channel-card {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 10px 24px rgba(13, 27, 42, .05);
  transition: .2s;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.channel-card:hover {
  transform: translateY(-3px);
  border-color: #b9def8;
}
.channel-card .ic {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: #eaf6ff;
  color: var(--blue);
  display: grid;
  place-items: center;
  font-size: 20px;
}
.channel-card b {
  color: var(--dark);
  font-size: 17px;
}
.channel-card small {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
}
.map-frame {
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
  background: #eaf6ff;
  min-height: 360px;
}
.map-frame iframe {
  display: block;
  width: 100%;
  min-height: 360px;
  border: 0;
}
.page-cta-band {
  margin: 0;
}
@media (max-width: 1000px) {
  .page-hero-grid,
  .page-custom-module,
  .page-contact-layout {
    grid-template-columns: 1fr;
  }
  .page-company-box {
    position: static;
  }
}
@media (max-width: 640px) {
  .page-hero-media .cap {
    align-items: flex-start;
    flex-direction: column;
  }
  .page-custom-module {
    gap: 16px;
  }
  .map-frame,
  .map-frame iframe {
    min-height: 300px;
  }
}
