/* Target: any <h3> followed by another <h3>
   Goal: Maintain two headers (that share description) as close as possible and not spaced out. */
h3:has(+ h3),
h4:has(+ h4) {  /* First <h3> block */
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
h3 + h3,
h4 + h4{  /* Second <h3> block */
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Adding a horizontal rule on top of every <h2> header */
h2 {
  position: relative;
  padding-top: 1rem;   /* space for the line */
  margin-top: 2rem;
}

h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(
    to right,
    rgba(0,0,0,0),
    rgba(0,0,0,0.4),
    rgba(0,0,0,0)
  );
}
