/* Omni Health Company family band. Identical on every family site.
   Self-contained: it does not depend on the host site's tokens. */
.fam {
  background: #071634;
  color: #C9D6EE;
  padding: 72px 0 64px;
  font-family: "Sora", system-ui, sans-serif;
}
.fam-wrap {
  width: min(1200px, 100% - 32px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 2fr);
  gap: 56px;
}
.fam-parent-logo { display: inline-block; border-radius: 6px; }
.fam-parent-logo img { height: 52px; width: auto; display: block; }
.fam-title {
  margin: 22px 0 0;
  font: 500 1.05rem/1.5 "Sora", system-ui, sans-serif;
  letter-spacing: -0.005em;
  color: #E8EEFA;
  max-width: 19em;
}
.fam-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
.fam-group h3 {
  margin: 0 0 18px;
  font: 600 0.95rem/1.3 "Sora", system-ui, sans-serif;
  color: #FFFFFF;
  letter-spacing: 0;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(201, 214, 238, 0.18);
}
.fam-group ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.fam-group a {
  display: grid;
  gap: 8px;
  padding: 14px 14px 14px 12px;
  margin-inline: -12px;
  border-radius: 10px;
  color: #A9B9D8;
  text-decoration: none;
  font: 400 0.9rem/1.45 system-ui, sans-serif;
  border-left: 2px solid transparent;
  transition: background-color 0.15s ease;
}
.fam-group a:hover { background: rgba(255, 255, 255, 0.05); color: #E8EEFA; }
.fam-group a[aria-current="page"] { border-left-color: #3FE0DA; background: rgba(63, 224, 218, 0.06); }
.fam-group img { height: 30px; width: auto; display: block; }
.fam a:focus-visible { outline: 3px solid #3FE0DA; outline-offset: 2px; }
@media (max-width: 900px) {
  .fam-wrap { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 620px) {
  .fam { padding: 56px 0 48px; }
  .fam-groups { grid-template-columns: 1fr; gap: 32px; }
}
