main h1 { text-align: center; counter-reset: h2counter; }
main h2 { counter-reset: h3counter; counter-increment: h2counter; }
main h3 { counter-reset: h4counter; counter-increment: h3counter; }
main h4 { counter-increment: h4counter; }

main h2::before {
  content: counter(h2counter) ". ";
}

aside h2::before {
    content: none;
}

main h3::before {
  content: counter(h2counter) "." counter(h3counter) " ";
}

main h4::before {
  content: counter(h2counter) "." counter(h3counter) "." counter(h4counter) " ";
}

figure {
    text-align: center;
}

figcaption {
    font-size: 0.9em;
    color: darkgray;
}

figcaption p {
    margin-top: 0;
}

.tags {
    word-break: keep-all; /* Keeps words intact */
    overflow-wrap: normal; /* Default wrapping behavior */
}
