/* Standard WordPress content views. Keep this separate from homepage art direction. */
.mjh-content {
  padding: clamp(56px, 7vw, 104px) 0 clamp(86px, 10vw, 148px);
}

.mjh-content .layout-shell {
  max-width: 1180px;
}

.mjh-content__header {
  max-width: 820px;
  margin-bottom: clamp(42px, 6vw, 72px);
}

.mjh-content__header--search {
  max-width: 900px;
}

.mjh-content__eyebrow {
  color: var(--accent-on-tint, var(--accent));
  font-size: var(--text-micro, .8rem);
  font-weight: 700;
  letter-spacing: .13em;
  line-height: 1.3;
  text-transform: uppercase;
}

.mjh-content .page-title,
.mjh-content .entry-title {
  color: var(--primary-deep);
  font-family: var(--font-display);
  font-size: clamp(1.875rem, 3.2vw, 2.625rem);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: 1.16;
  margin: 12px 0 0;
  text-wrap: balance;
}

.mjh-content__description {
  color: var(--muted);
  font-size: 1.125rem;
  line-height: 1.7;
  margin-top: 22px;
  max-width: 68ch;
}

.mjh-post-grid {
  display: grid;
  gap: clamp(22px, 3vw, 32px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mjh-post-card {
  background: var(--white);
  border: 1px solid rgba(var(--primary-deep-rgb), .14);
  border-radius: var(--radius, 4px);
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}

.mjh-post-card__media {
  aspect-ratio: 16 / 9;
  background: var(--mineral);
  display: block;
  overflow: hidden;
}

.mjh-post-card__image {
  height: 100%;
  object-fit: cover;
  transition: transform .2s ease;
  width: 100%;
}

.mjh-post-card:hover .mjh-post-card__image {
  transform: scale(1.025);
}

.mjh-post-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 24px 24px 26px;
}

.mjh-post-card__title {
  color: var(--primary-deep);
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  letter-spacing: -.035em;
  line-height: 1.08;
  margin: 12px 0 0;
}

.mjh-post-card__title a:hover,
.mjh-post-card__title a:focus-visible {
  color: var(--accent);
}

.mjh-post-card__excerpt {
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.6;
  margin-top: 14px;
}

.mjh-post-card__excerpt p {
  margin: 0;
}

.mjh-content__read-more,
.mjh-content__button {
  align-items: center;
  background: var(--primary);
  border: 1px solid var(--primary);
  border-radius: var(--radius, 4px);
  color: var(--white);
  display: inline-flex;
  font-size: var(--text-body, 1rem);
  font-weight: 700;
  gap: 10px;
  justify-content: center;
  margin-top: auto;
  min-height: 48px;
  padding: 10px 16px;
  transition: background-color .18s, border-color .18s, color .18s, transform .18s;
  width: fit-content;
}

.mjh-content__read-more {
  align-self: flex-start;
  background: transparent;
  border-color: var(--primary);
  color: var(--primary);
  margin-top: 24px;
}

.mjh-content__read-more:hover,
.mjh-content__read-more:focus-visible,
.mjh-content__button:hover,
.mjh-content__button:focus-visible {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--white);
  transform: translateY(-1px);
}

.mjh-content__button--quiet {
  background: transparent;
  border-color: rgba(var(--primary-rgb), .3);
  color: var(--primary);
}

.mjh-pagination,
.mjh-post__nav {
  margin-top: clamp(42px, 6vw, 72px);
}

.mjh-pagination .nav-links,
.mjh-post__nav .nav-links {
  align-items: stretch;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.mjh-pagination .page-numbers,
.mjh-post__nav a {
  align-items: center;
  border: 1px solid rgba(var(--primary-rgb), .24);
  border-radius: var(--radius, 4px);
  color: var(--primary);
  display: inline-flex;
  justify-content: center;
  min-height: 44px;
  padding: 8px 14px;
}

.mjh-pagination .current,
.mjh-pagination a:hover,
.mjh-pagination a:focus-visible,
.mjh-post__nav a:hover,
.mjh-post__nav a:focus-visible {
  background: var(--primary);
  border-color: var(--primary);
  color: var(--white);
}

.mjh-post {
  max-width: 860px;
  margin-inline: auto;
}

.mjh-post--page.mjh-post--elementor {
  max-width: none;
}

.mjh-post--page.mjh-post--elementor .mjh-post__content {
  font-size: inherit;
  line-height: inherit;
  max-width: none;
}

.mjh-post__header {
  margin-bottom: clamp(34px, 5vw, 58px);
}

.mjh-post__featured-image {
  margin: 0 0 clamp(34px, 5vw, 58px);
}

.mjh-post__featured-image img {
  border-radius: var(--radius-frame, 16px);
  height: auto;
  width: 100%;
}

.mjh-post:not(.mjh-post--elementor) .mjh-post__content {
  color: var(--text);
  font-size: clamp(1.0625rem, 1.2vw, 1.125rem);
  line-height: 1.7;
  max-width: 70ch;
}

.mjh-post:not(.mjh-post--elementor) .mjh-post__content > * + * {
  margin-top: 1.25em;
}

.mjh-post:not(.mjh-post--elementor) .mjh-post__content h2,
.mjh-post:not(.mjh-post--elementor) .mjh-post__content h3,
.mjh-post:not(.mjh-post--elementor) .mjh-post__content h4,
.mjh-post:not(.mjh-post--elementor) .mjh-post__content h5,
.mjh-post:not(.mjh-post--elementor) .mjh-post__content h6 {
  color: var(--primary-deep);
  font-family: var(--font-display);
  letter-spacing: -.03em;
  line-height: 1.15;
  margin-top: 2em;
}

.mjh-post:not(.mjh-post--elementor) .mjh-post__content h2 { font-size: clamp(1.375rem, 2vw, 1.75rem); }
.mjh-post:not(.mjh-post--elementor) .mjh-post__content h3 { font-size: clamp(1.25rem, 1.8vw, 1.5rem); }
.mjh-post:not(.mjh-post--elementor) .mjh-post__content h4 { font-size: 1.25rem; }

.mjh-post:not(.mjh-post--elementor) .mjh-post__content a {
  color: var(--accent-on-tint, var(--accent));
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.mjh-post:not(.mjh-post--elementor) .mjh-post__content a:hover,
.mjh-post:not(.mjh-post--elementor) .mjh-post__content a:focus-visible {
  color: var(--urgent, var(--accent));
}

.mjh-post:not(.mjh-post--elementor) .mjh-post__content ul,
.mjh-post:not(.mjh-post--elementor) .mjh-post__content ol {
  padding-left: 1.4em;
}

.mjh-post:not(.mjh-post--elementor) .mjh-post__content li + li {
  margin-top: .4em;
}

.mjh-post:not(.mjh-post--elementor) .mjh-post__content blockquote {
  border-left: 4px solid var(--accent);
  color: var(--muted);
  margin-left: 0;
  padding-left: 22px;
}

.mjh-post:not(.mjh-post--elementor) .mjh-post__content img,
.mjh-post:not(.mjh-post--elementor) .mjh-post__content figure {
  height: auto;
  max-width: 100%;
}

.mjh-post:not(.mjh-post--elementor) .mjh-post__content figure {
  margin-inline: 0;
}

.mjh-post:not(.mjh-post--elementor) .mjh-post__content figcaption {
  color: var(--muted);
  font-size: var(--text-meta, .875rem);
  margin-top: 8px;
}

.mjh-post:not(.mjh-post--elementor) .mjh-post__content pre {
  background: var(--primary-deep);
  border-radius: var(--radius, 4px);
  color: var(--white);
  overflow-x: auto;
  padding: 18px;
}

.mjh-post:not(.mjh-post--elementor) .mjh-post__content code {
  font-size: .92em;
}

.mjh-post:not(.mjh-post--elementor) .mjh-post__content table {
  border-collapse: collapse;
  display: block;
  max-width: 100%;
  overflow-x: auto;
  width: 100%;
}

.mjh-post:not(.mjh-post--elementor) .mjh-post__content th,
.mjh-post:not(.mjh-post--elementor) .mjh-post__content td {
  border: 1px solid var(--rule);
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
}

.mjh-post:not(.mjh-post--elementor) .mjh-post__content th {
  background: var(--paper);
  color: var(--primary-deep);
  font-weight: 700;
}

.mjh-post__pages,
.mjh-post__footer {
  color: var(--muted);
  font-size: var(--text-meta, .875rem);
}

.mjh-post__pages {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.mjh-post__pages a,
.mjh-post__footer a {
  color: var(--primary);
  font-weight: 700;
}

.mjh-post__footer {
  border-top: 1px solid var(--rule);
  display: grid;
  gap: 8px;
  margin-top: 42px;
  padding-top: 20px;
}

.mjh-post__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.mjh-post__tags > span {
  color: var(--primary-deep);
  font-weight: 700;
}

.mjh-post__nav .nav-links {
  justify-content: space-between;
}

.mjh-post__nav .nav-previous,
.mjh-post__nav .nav-next {
  display: flex;
  flex-direction: column;
  max-width: 46%;
}

.mjh-post__nav .nav-next {
  margin-left: auto;
  text-align: right;
}

.mjh-post__nav-label {
  border: 0 !important;
  color: var(--muted) !important;
  font-size: var(--text-micro, .8rem);
  justify-content: flex-start !important;
  min-height: 0 !important;
  padding: 0 !important;
  text-transform: uppercase;
}

.mjh-post__nav-title {
  border: 0 !important;
  font-family: var(--font-display);
  font-size: 1.1rem;
  justify-content: flex-start !important;
  min-height: 0 !important;
  padding: 0 !important;
}

/* Keep both child labels readable when their navigation card changes colour. */
.mjh-post__nav a:is(:hover, :focus-visible) :is(.mjh-post__nav-label, .mjh-post__nav-title) {
  color: var(--white) !important;
}

.mjh-post__nav a:focus-visible {
  outline: 3px solid var(--primary);
  outline-offset: 3px;
}

.mjh-comments {
  border-top: 1px solid var(--rule);
  margin: clamp(58px, 8vw, 96px) auto 0;
  max-width: 860px;
  padding-top: clamp(34px, 5vw, 58px);
}

.mjh-comments__title {
  color: var(--primary-deep);
  font-family: var(--font-display);
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  letter-spacing: -.035em;
  line-height: 1.1;
}

.mjh-comments .comment-list {
  display: grid;
  gap: 18px;
  list-style: none;
  margin: 30px 0 0;
  padding: 0;
}

.mjh-comments .comment-body {
  background: var(--white);
  border: 1px solid rgba(var(--primary-deep-rgb), .1);
  border-radius: var(--radius-card, 16px);
  padding: 18px;
}

.mjh-comments .comment-meta {
  color: var(--muted);
  font-size: var(--text-meta, .875rem);
}

.mjh-comments .comment-content {
  line-height: 1.65;
  margin-top: 12px;
}

.mjh-comments .reply {
  margin-top: 12px;
}

.mjh-comments .reply a {
  color: var(--primary);
  font-size: var(--text-meta, .875rem);
  font-weight: 700;
}

.mjh-comments__nav {
  margin-top: 24px;
}

.mjh-comment-form {
  margin-top: 40px;
}

.mjh-comment-form p {
  margin-top: 16px;
}

.mjh-comment-form label {
  color: var(--primary-deep);
  display: block;
  font-weight: 700;
  margin-bottom: 6px;
}

.mjh-comment-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.mjh-comment-form textarea,
.mjh-search-form input[type="search"] {
  background: var(--white);
  border: 1px solid var(--rule);
  border-radius: var(--radius, 4px);
  color: var(--text);
  min-height: 48px;
  padding: 10px 12px;
  width: 100%;
}

.mjh-comment-form input[type="checkbox"],
.mjh-comment-form input[type="radio"] {
  accent-color: var(--accent);
  height: 1.1rem;
  min-height: 0;
  width: 1.1rem;
}

.mjh-comment-form textarea {
  min-height: 150px;
}

.mjh-comment-form input:focus-visible,
.mjh-comment-form textarea:focus-visible,
.mjh-search-form input:focus-visible {
  border-color: var(--accent);
  outline: 3px solid rgba(var(--accent-rgb), .24);
  outline-offset: 1px;
}

.mjh-comment-form .form-submit input,
.mjh-search-form button {
  background: var(--primary);
  border: 1px solid var(--primary);
  border-radius: var(--radius, 4px);
  color: var(--white);
  cursor: pointer;
  font-weight: 700;
  min-height: 48px;
  padding: 10px 18px;
}

.mjh-comment-form .form-submit input:hover,
.mjh-comment-form .form-submit input:focus-visible,
.mjh-search-form button:hover,
.mjh-search-form button:focus-visible {
  background: var(--accent);
  border-color: var(--accent);
}

.mjh-search-form {
  align-items: stretch;
  display: flex;
  gap: 10px;
  margin-top: 26px;
  max-width: 620px;
}

.mjh-search-form label {
  flex: 1;
}

.mjh-search-form input[type="search"] {
  min-width: 0;
}

.mjh-content__empty {
  max-width: 680px;
  padding: clamp(20px, 4vw, 42px) 0;
}

.mjh-content__empty > p {
  color: var(--muted);
  font-size: 1.125rem;
  line-height: 1.7;
  margin-top: 18px;
}

.mjh-404__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

@media (max-width: 900px) {
  .mjh-post-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .mjh-post-grid {
    grid-template-columns: 1fr;
  }

  .mjh-post-card__body {
    padding: 20px;
  }

  .mjh-search-form {
    flex-direction: column;
  }

  .mjh-search-form button {
    width: fit-content;
  }

  .mjh-post__nav .nav-previous,
  .mjh-post__nav .nav-next {
    max-width: 100%;
  }
}

/* Article canvas: shared institutional chrome, generous title, quiet reading column. */
body.single-post .site-header,
body.archive .site-header,
body.blog .site-header,
body.search .site-header,
body.error404 .site-header { background: var(--primary-deep); }
.mjh-single { padding-top: clamp(48px, 5vw, 72px); }
.mjh-single .mjh-post__header { max-width: 860px; border-bottom: 1px solid var(--rule); padding-bottom: 30px; }
.mjh-single .entry-title { overflow-wrap: break-word; }
.mjh-single .mjh-post__content { margin-inline: auto; }
.mjh-post:not(.mjh-post--elementor) .mjh-post__content p,
.mjh-post:not(.mjh-post--elementor) .mjh-post__content li { font-family: var(--font-sans) !important; font-size: 1.125rem !important; line-height: 1.75 !important; color: var(--text); }
.mjh-post:not(.mjh-post--elementor) .mjh-post__content :is(h2,h3,h4,h5,h6) { font-family: var(--font-display) !important; line-height: 1.3 !important; }
.mjh-post:not(.mjh-post--elementor) .mjh-post__content h2 { font-size: clamp(1.375rem, 2vw, 1.75rem) !important; }
.mjh-post:not(.mjh-post--elementor) .mjh-post__content h3 { font-size: 1.5rem !important; }
.mjh-post:not(.mjh-post--elementor) .mjh-post__content :is(h4,h5,h6) { font-size: 1.125rem !important; }
.mjh-single .mjh-post__featured-image img { border-radius: 4px; max-height: 520px; object-fit: contain; }
.mjh-single .mjh-post__nav a { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 18px; }
@media (max-width: 640px) {
  .mjh-single { padding-top: 40px; }
  .mjh-post:not(.mjh-post--elementor) .mjh-post__content :is(p,li) { font-size: 1.0625rem !important; line-height: 1.7 !important; }
  .mjh-single .mjh-post__nav .nav-links { flex-direction: column; }
  .mjh-single .mjh-post__nav .nav-next { margin-left: 0; text-align: left; }
}
