/* Prose */
.prose {
  font-size: 16px;
}

.prose h1,
.prose h2,
.prose h3,
.prose h4,
.prose h5,
.prose h6 {
  font-weight: 500;
}

.prose h1 a,
.prose h2 a,
.prose h3 a,
.prose h4 a,
.prose h5 a,
.prose h6 a,
.prose p a,
.prose li a,
.prose span a,
.prose td a,
.prose th a,
.prose blockquote a,
.widget h1 a,
.widget h2 a,
.widget h3 a,
.widget h4 a,
.widget h5 a,
.widget h6 a,
.widget p a,
.widget li a,
.widget span a,
.widget td a,
.widget th a,
.widget blockquote a {
  text-decoration: underline;
}

.prose h1 {
  font-size: 2.25em;
  margin-top: 0;
  margin-bottom: 0.8888889em;
  line-height: 1.1111111;
}

.prose h2 {
  font-size: 1.5em;
  margin-top: 2em;
  margin-bottom: 1em;
  line-height: 1.3333333;
}

.prose h3 {
  font-size: 1.25em;
  margin-top: 1.6em;
  margin-bottom: 0.6em;
  line-height: 1.6;
}

.prose h4 {
  font-size: 1.1em;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  line-height: 1.5;
}

.prose h5 {
  font-size: 1em;
  margin-top: 1.25em;
  margin-bottom: 0.4em;
  line-height: 1.4;
}

.prose h6 {
  font-size: 0.9em;
  margin-top: 1.1em;
  margin-bottom: 0.25em;
  line-height: 1.3;
}

.prose p {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}

.prose video {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose figure {
  margin-top: 2em;
  margin-bottom: 2em;
  max-width: 100%;
}

.prose figcaption {
  font-size: 0.875em;
  line-height: 1.4285714;
  margin-top: 0.8571429em;
}

.prose p a,
.prose li a {
  color: var(--color-gray-900);
  text-decoration: underline;
  font-weight: 600;
}

.prose .skip-prose-colors a {
  color: inherit;
}

@media (max-width: 1024px) {

  .prose p a,
  .prose li a,
  .prose p code,
  .prose li code {
    word-break: break-all;
  }
}

.prose strong {
  font-weight: 600;
}

.prose strong {
  font-weight: 600;
}

.prose ol {
  list-style-type: decimal;
  padding-left: 1.625em;
}

.prose ol ol {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose hr {
  border-top: 0.1em solid rgba(0, 0, 0, 0.05);
  margin-top: 3em;
  margin-bottom: 3em;
}

.prose code {
  overflow-x: auto;
  background-color: transparent;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-weight: inherit;
  font-size: inherit;
  font-family: inherit;
  border: 0.05em solid var(--color-gray-300);
  padding: 0.1em 0.5em;
  font-weight: 600;
  font-size: 0.8em;
  margin-bottom: 0;
  border-radius: 0.25em;
  background-color: var(--color-gray-100);
}

.prose .skip-prose-colors code  {
  border-color: inherit;
  background-color: rgba(255, 255, 255, 0.25);
}

.prose h1 *,
.prose h2 *,
.prose h3 *,
.prose h4 *,
.prose h5 *,
.prose h6 * {
  font-weight: 500;
}

/*
.prose p code {
  word-break: break-all;
}
*/


.prose code::before {
  content: none;
}

.prose code::after {
  content: none;
}

.prose code::before {
  content: "`";
}

.prose code::after {
  content: "`";
}

a .prose code {
  color: var(--color-gray-900);
}

.prose ol {
  list-style-type: decimal;
  padding-left: 1.625em;
}

.prose ol[type="A"] {
  list-style-type: upper-alpha;
}

.prose ol[type="a"] {
  list-style-type: lower-alpha;
}

.prose ol[type="a"] {
  list-style-type: lower-alpha;
}

.prose ol[type="I"] {
  list-style-type: upper-roman;
}

.prose ol[type="i"] {
  list-style-type: lower-roman;
}

.prose ol[type="1"] {
  list-style-type: decimal;
}

.prose ol ol {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose li {
  margin: 0.5em 0;
  padding-left: 0.375em;
}

.prose li p {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose li p {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose li *:first-child {
  margin-top: 1.25em;
}

.prose li *:last-child {
  margin-bottom: 1.25em;
}

.prose ol>li::marker {
  font-weight: 400;
  color: #757575;
}

.prose ul {
  list-style-type: disc;
  padding-left: 1.625em;
}

.prose ul ul {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose ul li {
  margin: 0.5em 0;
  padding-left: 0.375em;
}

.prose ul li p {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose li *:first-child {
  margin-top: 1.25em;
}

.prose li *:last-child {
  margin-bottom: 1.25em;
}

.prose ul>li::marker {
  font-weight: 400;
  color: #757575;
  font-size: 1em;
}

.prose hr {
  border-top: 0.1em solid rgba(0, 0, 0, 0.05);
  margin-top: 3em;
  margin-bottom: 3em;
}

.prose pre {
  font-family: 'Roboto Mono', monospace;
  background-color: var(--color-gray-100);
  border: 0.1em solid var(--color-gray-300);
  color: var(--color-gray-900);
  overflow-x: auto;
  font-weight: 400;
  font-size: 0.875em;
  line-height: 1.7142857;
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
  border-radius: 0;
  padding: 0;
}

.prose pre code {
  overflow-x: auto;
  background-color: transparent;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-weight: inherit;
  font-size: inherit;
  font-family: inherit;
  padding-top: 0.8571429em;
  padding-right: 1.1428571em;
  padding-bottom: 0.8571429em;
  padding-left: 1.1428571em;
}

.prose pre code::before {
  content: none;
}

.prose pre code::after {
  content: none;
}

.prose table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  table-layout: auto;
  text-align: left;
  margin-top: 2em;
  margin-bottom: 2em;
  font-size: 0.95em;
  line-height: 1.7;
  background-color: var(--color-gray-50);
  border: 1px solid var(--color-gray-300);
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.03);
}

.prose table thead {
  background: var(--color-gray-100);
  border-bottom: 2px solid var(--color-gray-300);
}

.prose table thead th {
  color: var(--color-dark);
  vertical-align: bottom;
  font-weight: 700;
  padding: 1em 0.75em;
  background: var(--color-gray-100);
  border-bottom: 2px solid var(--color-gray-300);
}

.prose table thead tr {
  border-bottom: none;
}

.prose table tbody td,
.prose table tbody th {
  vertical-align: baseline;
  padding: 0.85em 0.75em;
  border-bottom: 1px solid var(--color-gray-200);
  transition: background 0.2s;
}

.prose table tbody tr {
  border-bottom: none;
}

.prose table tbody tr:nth-child(even) td {
  background: var(--color-gray-100);
}

.prose table tbody tr:hover td {
  background: var(--color-gray-50);
}

.prose table tbody tr:last-child td {
  border-bottom: none;
}

.prose table tfoot {
  background: var(--color-gray-50);
}

.prose table tfoot td {
  font-weight: 600;
  padding: 0.85em 0.75em;
  border-top: 2px solid var(--color-gray-300);
}

.prose table tr:nth-child(even) {
  background-color: var(--color-gray-100);
}

.prose table thead {
  border-bottom: 0.05em solid rgba(0, 0, 0, 0.1);
  text-indent: 0;
}

.prose table thead th {
  color: var(--color-dark);
  vertical-align: bottom;
  font-weight: 600;
  padding-right: 0.6em;
  padding-bottom: 0.8em;
  padding-left: 0.6em;
}

.prose table thead tr {
  border-bottom: 0.05em solid rgba(0, 0, 0, 0.1);
}

.prose table thead tr:last-child {
  border-bottom: 0;
}

.prose table tbody td {
  vertical-align: baseline;
  padding: 0.8em 0.6em;
  padding-left: 0.6em;
}

.prose table tbody tr {
  border-bottom: 0.05em solid rgba(0, 0, 0, 0.1);
}

.prose table tbody tr:last-child {
  border-bottom: 0;
}

.prose dl {
  display: flex;
  flex-flow: row wrap;
  border: 0.1em solid rgba(0, 0, 0, 0.1);
  padding: 1rem 0 0 0;
}

.prose dt {
  flex-basis: 20%;
  padding: 0 1rem 1rem 1rem;
  color: var(--color-dark);
  font-weight: 600;
}

.prose dd {
  flex-basis: 70%;
  flex-grow: 1;
  margin: 0;
  padding: 0 1rem 1rem 1rem;
}

.prose blockquote {
  background-color: var(--color-gray-100);
  border: 0.1em solid var(--color-gray-300);
  color: var(--color-gray-900);
  padding: 1.5rem;
}

.prose blockquote>*:first-child {
  margin: 0;
}

.prose .wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
  height: 0;
  overflow: hidden;
}
.prose .wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.prose iframe {
  max-width: 100%;
  border: 0;
  display: block;
}
