/* Shared reading layout. Keep section spacing from overriding article headers. */
.article-header.section {
  width: 100%;
  max-width: 1120px;
  margin-inline: auto;
  padding: 44px 6% 42px;
}
.article-header .article-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  font-size: 12px;
}
.article-header .eyebrow { margin: 20px 0 18px; }
.article-header h1 {
  max-width: 920px;
  margin-inline: auto;
  font-size: clamp(36px, 4.5vw, 64px);
  line-height: 1.12;
  letter-spacing: -.035em;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.article-header .page-lead {
  max-width: 640px;
  margin: 24px auto 0;
  font-size: 16px;
  line-height: 1.75;
  text-wrap: pretty;
}
.article-header .article-meta {
  margin: 22px 0 0;
  font-size: 12px;
  line-height: 1.7;
}
.article-cover { width: 100%; max-width: 1120px; padding-inline: 6%; }
.article-cover img { display: block; max-height: 680px; }
.article-cover figcaption { max-width: 760px; margin: 12px auto 0; text-align: center; }
.article-contents {
  width: calc(100% - 48px);
  max-width: 736px;
  margin: 40px auto 0;
  padding: 24px 0;
}
.article-contents li { font-size: 15px; line-height: 1.65; margin: 12px 0; }
.article-body { width: 100%; max-width: 784px; padding: 32px 24px 64px; }
.article-body p, .article-body li { font-size: 17px; line-height: 1.85; overflow-wrap: anywhere; }
.article-body .article-paragraph { margin: 0 0 24px; }
.article-body h2 {
  margin: 44px 0 20px;
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.22;
  letter-spacing: -.025em;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.article-body .text-link { display: inline; line-height: 1.8; padding: 4px 0; border: 0; text-decoration: underline; }
.article-body .text-link .studio-icon { display: inline-block; vertical-align: middle; margin-left: 6px; }
.article-image { margin: 32px 0; }
.article-image figcaption { font-size: 12px; }
.page-intro.section { padding-top: 48px; padding-bottom: 56px; }
.page-intro h1 { max-width: 1000px; margin-inline: auto; font-size: clamp(42px, 6vw, 88px); line-height: 1.08; text-wrap: balance; overflow-wrap: anywhere; }
.page-intro .page-lead { font-size: 16px; line-height: 1.75; }
.legal-page h1 { font-size: clamp(36px, 5vw, 64px); line-height: 1.15; overflow-wrap: anywhere; }
.blog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.blog-card { min-width: 0; }
.blog-card h2, .home-guides h3 { font-size: clamp(27px, 2.6vw, 34px); line-height: 1.2; letter-spacing: -.025em; overflow-wrap: anywhere; }
.blog-card p:not(.eyebrow) { font-size: 14px; line-height: 1.75; }
.related-posts > h2 { font-size: clamp(36px, 4.5vw, 56px); line-height: 1.15; }
.closing h2 { max-width: 1000px; margin-inline: auto; font-size: clamp(40px, 5.5vw, 80px); line-height: 1.12; text-wrap: balance; overflow-wrap: anywhere; }
@media (max-width: 900px) {
  .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .article-header.section { padding: 16px 24px 32px; }
  .article-header .eyebrow { margin: 14px 0 18px; }
  .article-header h1 { font-size: clamp(32px, 8.5vw, 44px); line-height: 1.16; letter-spacing: -.025em; }
  .article-header .page-lead { margin-top: 20px; }
  .article-cover { padding-inline: 24px; }
  .article-cover img { max-height: 560px; }
  .article-contents { margin-top: 28px; }
  .article-body { padding-top: 28px; padding-bottom: 40px; }
  .article-body p, .article-body li { font-size: 16px; line-height: 1.8; }
  .article-body h2 { margin-top: 36px; }
  .page-intro.section { padding: 28px 24px 40px; }
  .page-intro h1 { font-size: clamp(38px, 10vw, 56px); }
  .blog-grid { grid-template-columns: minmax(0, 1fr); }
  .blog-pagination { flex-wrap: wrap; gap: 16px; }
}
