.home-connections, .home-faq { color-scheme: dark; color: #f3f3f1; }
.home-connections { background: #1b1c1e; }
.home-faq { background: #171819; }
.connections-inner, .faq-inner {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
  align-items: start;
  gap: clamp(40px, 6.6vw, 108px);
  padding-block: clamp(64px, 7.5vw, 116px);
}
.connections-inner h2, .faq-inner h2 {
  max-width: 15ch;
  font-size: clamp(44px, 4.4vw, 70px);
  line-height: 1.01;
  font-weight: 560;
  letter-spacing: -.04em;
}
.connection-directory { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 3vw, 54px); }
.connection-column h3 { font-size: clamp(22px, 1.7vw, 27px); line-height: 1.18; font-weight: 580; }
.connection-column > p { min-height: 3.2em; margin-top: 10px; color: #babbbd; font-size: 15px; }
.connection-column ul { list-style: none; margin: 22px 0 0; padding: 0; }
.connection-column li {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 60px;
  padding-block: 6px;
  border-top: 1px solid #3c3d40;
  font-size: clamp(16px, 1.25vw, 20px);
  font-weight: 535;
}
.connection-icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 35px;
  height: 35px;
  border-radius: 10px;
  background: #f5f5f3;
}
.connection-icon img { display: block; width: 22px; height: 22px; }
.connection-state { display: inline-flex; align-items: center; gap: 5px; margin-left: auto; color: #b8b9bb; font-size: 12px; font-weight: 475; text-align: end; }
.connection-state.available { color: #b3e6c7; }
.connection-state.available::before { content: ''; flex: none; width: 5px; height: 5px; border-radius: 50%; background: #8ad5a5; }
.faq-heading a { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; margin-top: 17px; font-size: 15px; color: #d6d7d8; text-decoration: underline; text-decoration-color: #777c7f; text-underline-offset: 5px; }
.faq-heading a:hover { color: white; text-decoration-color: currentColor; }
.faq-questions { border-top: 1px solid #3d4042; }
.faq-questions details { border-bottom: 1px solid #3d4042; }
.faq-questions summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding-block: 20px;
  min-height: 66px;
  list-style: none;
  cursor: pointer;
  font-size: clamp(17px, 1.35vw, 22px);
  line-height: 1.4;
  font-weight: 525;
}
.faq-questions summary::-webkit-details-marker { display: none; }
.faq-questions summary svg { flex: none; color: #c2c4c3; }
.faq-questions details[open] .faq-stem { display: none; }
.faq-questions summary:hover { color: #c8e6d1; }
.faq-questions details > p { max-width: 60ch; margin: 0 30px 24px 0; font-size: clamp(15px, 1.13vw, 18px); color: #bbbec0; line-height: 1.55; }
.home-faq :is(a, summary):focus-visible { outline-color: #edecea; }
@media (max-width: 1000px) {
  .connections-inner, .faq-inner { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .connections-inner h2 { max-width: 17ch; }
  .connection-column ul { margin-top: 10px; }
  .connection-column > p { min-height: auto; }
}
@media (max-width: 760px) {
  .connections-inner, .faq-inner { grid-template-columns: minmax(0, 1fr); gap: 28px; max-width: 640px; padding-block: 58px; }
  .connections-inner h2, .faq-inner h2 { font-size: clamp(35px, 6.7vw, 51px); }
  .faq-heading a { margin-top: 9px; }
}
@media (max-width: 575px) {
  .connection-directory { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .connection-column h3 { font-size: 21px; }
  .connection-column > p { margin-top: 5px; }
  .connection-column ul { margin-top: 16px; }
  .connection-column li { min-height: 50px; }
}
