/* Shared vertical rhythm, loaded last in all four languages. */
:root {
  --reading-gap: 1.25rem;
  --reading-section: clamp(2.25rem, 4vw, 3rem);
}

/* Shortcut margin and article padding used to add up to a large empty band. */
main > .page-shortcuts {
  width: min(1340px, calc(100% - 80px));
  margin-block: 1.5rem 0;
  padding: 1.25rem 1.5rem;
}
main > .page-shortcuts + .page-layout {
  padding-top: clamp(2rem, 4vw, 3rem);
}
.page-layout { row-gap: var(--reading-section); }

.article-body header { margin-bottom: 1.5rem; }
.article-body .article-text-block { margin: 0 0 var(--reading-gap); line-height: 1.8; }
.article-body header > .article-text-block:first-child {
  margin-bottom: 1rem;
  font-size: .85rem;
  line-height: 1.65;
  color: #526961;
}
.article-body .m1331-fact { margin-block: 1.5rem; }
.article-body .m1331-fact > strong { margin-bottom: .6rem; }
.article-body :is(h2, h3, h4) {
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
  text-wrap: balance;
}
.article-body h2 { line-height: 1.2; margin-bottom: 1.15rem; }
.article-body h3 { line-height: 1.4; margin-bottom: .85rem; }
.article-body h4 { line-height: 1.45; margin: 1.5rem 0 .75rem; }
.article-body p { margin-bottom: var(--reading-gap); }
.article-body :is(ul, ol) { margin-block: 1rem 1.5rem; padding-left: 1.5rem; }
.article-body li + li { margin-top: .5rem; }
.article-body li > :is(ul, ol) { margin-block: .5rem .75rem; }
.article-body section { margin-bottom: var(--reading-section); }
.article-body section + section { margin-top: var(--reading-section); }
.article-body :is(header, section) > :last-child { margin-bottom: 0; }
.article-body section > :is(h2, h3, h4):first-child { margin-top: 0; }
.article-body .article-text-block + :is(h2, h3, h4) { margin-top: 1.5rem; }
.article-body :is(.practical-guide, .context-box, .intent-path) > :last-child { margin-bottom: 0; }

/* Keep the sidebar and action links spacious without enlarging body leading. */
.sidebar :is(h2, h3) { line-height: 1.3; margin: 0 0 1.25rem; }
.sidebar p { margin-bottom: 1.25rem; }
.sidebar a:not(.btn) { padding-block: .8rem; line-height: 1.65; }
.sidebar .btn { margin-top: 1.5rem; }
.sidebar { margin-top: 0; }
.footer-grid > div:first-child > p { margin-top: 1.25rem; }
.topic-card h3, .price-card h3 { line-height: 1.35; }
.price-card li + li { margin-top: .5rem; }
.legal :is(h2, h3) { margin-bottom: 1rem; line-height: 1.3; }
.legal li + li { margin-top: .5rem; }

@media (max-width: 1100px) {
  main > .page-shortcuts { width: calc(100% - 48px); }
}
@media (max-width: 780px) {
  main > .page-shortcuts { width: calc(100% - 36px); padding: 1.1rem; }
  .article-body h2 { font-size: clamp(1.45rem, 5.5vw, 2rem); }
  .article-body h3 { font-size: 1.1rem; }
  .article-body :is(.practical-guide, .context-box) { padding: 1.25rem; }
}
