/* Shared typography refinements; preserve the portfolio's existing layout and copy. */
:root {
  --font-body: Ibmplexsans, Arial, sans-serif;
  --font-heading: Martel, Georgia, serif;
  --font-size-reading: 1.125rem; /* 18px at the default root size */
  --line-height-reading: 1.75rem; /* 28px; scales with user font settings */
}

body, .body {
  font-family: var(--font-body);
  font-weight: 400;
}

.article-text-content p {
  font-weight: 400;
}

h1, h2, h3, h4, h5, h6 {
  text-wrap: balance;
}

p {
  text-wrap: pretty;
}

/* Keep prose and lists on the same reading rhythm, including narrow screens. */
.article-text-content :is(ul, ol) {
  margin-block: 0 1.1rem;
  padding-inline: 1.5em 0;
  font-size: var(--font-size-reading);
  font-weight: 400;
  line-height: var(--line-height-reading);
}

.article-text-content li + li {
  margin-top: 0.3em;
}

.article-text-content :is(h2, h3, h4) {
  margin-top: 1.5em;
  margin-bottom: 0.6em;
}

.article-text-content > :is(h2, h3, h4):first-child {
  margin-top: 0;
}

.article-text-content figcaption {
  font-size: 0.875rem;
  line-height: 1.5;
}

.section-academic-degrees .degree-year {
  font-family: var(--font-body);
  font-size: 0.875rem;
}

.utility-page-content h1 {
  font-family: var(--font-heading);
  font-weight: 400;
}

/* Sections retain their desktop size instead of overtaking the homepage hero. */
@media (max-width: 767px) {
  .home-page h2.heading-as-h1 {
    font-size: 1.8rem;
    line-height: 1.5;
  }
}

@media (max-width: 479px) {
  .casestudies_content .heading-medium {
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

/* Compact section summaries on the landing page. */
.home-page #hero .home-hero_heading2 > p:first-of-type,
.home-page .home-ai-position__copy p,
.home-page .service_introtext,
.home-page .work-showcase .profile_text,
.home-page .section-aimanifesto p,
.home-page .contact_content > p,
.home-page .testimonial_item .w-col-8 > div:first-child {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 400;
}

/* Longer prose retains the more generous reading size. */
.article-text-content p,
.home-page .service_dialog_copy p:not(.service_dialog_eyebrow) {
  font-size: var(--font-size-reading);
  line-height: var(--line-height-reading);
  font-weight: 400;
}
