/* Artigo IPSM: complementos editoriais do modelo de publicação aprovado. */
.ipsm-article .article-body h3 { font-size: 1.17em; line-height: 1.35; margin: 28px 0 14px; }
.ipsm-article .article-body a:not(.button) { color: #46513f; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.ipsm-article .article-body a:not(.button):hover { text-decoration-thickness: 2px; }
.ipsm-article .ipsm-figure img { width: 100%; height: auto; aspect-ratio: 1404 / 762; border-radius: 4px; filter: grayscale(1); background: #f7f7f7; }
.ipsm-article .article-sources { font: 14px/1.65 var(--sans); padding-left: 20px; }
.ipsm-article .article-sources li { margin-bottom: 12px; }
.ipsm-article .article-accountability h2 { font-size: 1.2em; }
.ipsm-article .article-meta p a { text-decoration: underline; text-underline-offset: 3px; }
.ipsm-article .article-deck { max-width: 740px; }
.ipsm-article .article-meta time { white-space: nowrap; }
.ipsm-article .ipsm-sede { max-width: 600px; margin-inline: auto; }
.ipsm-article .ipsm-sede img { display: block; width: 100%; height: auto; border-radius: 4px; filter: grayscale(.85); }
.ipsm-article .article-figure figcaption { font-size: 14px; }
.ipsm-history { margin: 36px 0; padding: 26px 24px 22px; background: #eef0eb; border-radius: 4px; }
.ipsm-history figcaption strong { display: block; font: 400 25px/1.25 var(--serif); letter-spacing: -.015em; }
.ipsm-history figcaption span { display: block; margin-top: 8px; font: 16px/1.5 var(--sans); color: #46513f; }
.ipsm-article .ipsm-history-flow { list-style: none; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; margin: 28px 0 24px; padding: 0; }
.ipsm-article .ipsm-history-flow li { position: relative; min-width: 0; margin: 0; padding: 0; }
.history-symbol { display: flex; height: 46px; align-items: center; margin-bottom: 14px; color: #46513f; }
.history-symbol svg { width: 40px; height: 40px; stroke: currentColor; stroke-width: 1.4; stroke-linejoin: round; stroke-linecap: round; }
.ipsm-history-flow li:not(:last-child)::after { content: ''; position: absolute; top: 22px; left: 60px; right: 0; border-top: 1px solid #aeb5a6; }
.ipsm-history-flow strong { display: block; font: 600 17px/1.4 var(--sans); }
.ipsm-article .ipsm-history-flow p { font: 16px/1.55 var(--sans); margin: 8px 0 0; }
.ipsm-article .ipsm-history .history-note { margin: 0; padding-top: 16px; border-top: 1px solid #ccd2c5; font: 15px/1.55 var(--sans); color: #46513f; }
@media (max-width: 540px) {
  .ipsm-article .article-opening h1 { text-wrap: pretty; }
  .ipsm-article .article-body h3 { margin-top: 25px; }
  .ipsm-history { margin-block: 30px; padding: 24px 20px; }
  .ipsm-history figcaption strong { font-size: 24px; }
  .ipsm-article .ipsm-history-flow { grid-template-columns: 1fr; gap: 26px; }
  .ipsm-article .ipsm-history-flow li { padding-left: 56px; }
  .history-symbol { position: absolute; left: 0; top: 0; margin: 0; }
  .ipsm-history-flow li:not(:last-child)::after { top: 53px; bottom: -14px; left: 19px; right: auto; border-top: 0; border-left: 1px solid #aeb5a6; }
}
