.materials-intro {
  max-width: 560px;
  margin: 6px auto 38px;
  font-size: 14px;
  line-height: 1.34;
  color: #5a514b;
  text-align: center;
  font-weight: 300;
}

.materials-home > h1 {
  margin-bottom: 4px;
}

.materials-home .category-list {
  margin-top: 0;
  gap: 8px;
}

.materials-home-split {
  display: grid;
  grid-template-columns: minmax(250px, 34%) minmax(620px, 820px);
  gap: clamp(56px, 8vw, 130px);
  align-items: center;
  min-height: 62vh;
  padding-top: clamp(88px, 12vh, 112px);
}

.materials-home-split.no-communication {
  display: block;
  width: min(560px, 100%);
  margin: 0 auto;
  text-align: center;
}

.materials-home-split.no-communication .materials-home-left {
  text-align: center;
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
}

.materials-home-split.no-communication .materials-intro {
  text-align: center;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
}

.materials-home-left {
  text-align: left;
  max-width: 500px;
  margin-top: 36px;
}

.materials-home-left h1 {
  margin-bottom: 4px;
  line-height: 1.08;
}

.materials-home-left .materials-intro {
  text-align: left;
  margin: 6px 0 26px;
  max-width: 430px;
  font-size: 14px;
  line-height: 1.34;
}

.communication-panel {
  width: min(860px, 100%);
  max-height: 58vh;
  overflow: auto;
  padding: 2px 0;
  color: #123f75;
  text-align: left;
  scrollbar-width: none;
  -ms-overflow-style: none;
  justify-self: end;
}

.communication-panel::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.communication-panel h2 {
  font-family: 'Segoe Print', 'Bradley Hand', 'Comic Sans MS', cursive;
  font-weight: 400;
  font-size: 34px;
  line-height: 1.16;
  margin: 0 0 18px;
  color: #0a4b93;
}

.communication-text {
  font-family: 'Segoe Print', 'Bradley Hand', 'Comic Sans MS', cursive;
  font-size: 15px;
  line-height: 1.38;
  letter-spacing: .01em;
  color: #0a4b93;
  white-space: normal;
}

.communication-image {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 54vh;
  object-fit: contain;
  border-radius: 14px;
  box-shadow: 0 8px 28px rgba(0,0,0,.08);
  margin: auto;
}

.communication-video {
  position: relative;
  z-index: 10;
  display: block;
  width: 100%;
  height: auto;
  max-height: 54vh;
  object-fit: contain;
  border-radius: 14px;
  box-shadow: 0 8px 28px rgba(0,0,0,.08);
  background: #000;
  pointer-events: auto;
  touch-action: manipulation;
}

.communication-embed {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 14px;
  overflow: hidden;
  background: #000;
  box-shadow: 0 8px 28px rgba(0,0,0,.08);
}

.communication-embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 950px) {
  .materials-home-split {
    display: block;
  }

  .materials-home-left {
    text-align: center;
    margin: auto;
  }

  .materials-home-left .materials-intro {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  .communication-panel {
    margin: 34px auto 0;
    max-height: none;
    justify-self: auto;
  }

  .communication-panel h2 {
    font-size: 22px;
  }

  .communication-text {
    font-size: 16px;
    line-height: 1.45;
  }
}
@media (max-width: 700px) {
  .materials-nav {
    top: 8px;
  }

  .materials-home-split {
    padding-top: 92px;
  }

  .materials-home-left {
    margin-top: 0;
  }

  .materials-home-left h1,
  .materials-home > h1 {
    font-size: 42px;
    line-height: 1.02;
    margin-bottom: 10px;
  }

  .materials-home-left .materials-intro,
  .materials-intro {
    margin-bottom: 22px;
  }

  .materials-home-left .category-list,
  .materials-home .category-list {
    gap: 5px;
  }

  .category-link {
    line-height: 1.14;
    padding: 1px 0;
  }

  .materials-home-split .communication-panel {
    position: relative;
    z-index: 10;
    width: 320px;
    max-width: calc(100vw - 48px);
    max-height: none;
    margin: 32px auto 0;
    overflow: visible;
    pointer-events: auto;
  }

  .materials-home-split .communication-image {
    display: block;
    width: 100%;
    max-width: none;
    max-height: none;
    height: auto;
  }

  .materials-home-split .communication-video {
    position: relative;
    z-index: 11;
    width: 100%;
    height: auto;
    max-height: 35vh;
    object-fit: contain;
    pointer-events: auto;
  }

  .materials-home-split .communication-embed {
    width: 100%;
    max-height: 35vh;
  }
}
