/* NorthStar on WordPress: what the static site didn't need.
   Pages built with Elementor or the WordPress editor, article bodies written in the block
   editor, and the admin bar for signed-in editors. */

/* Signed-in editors see the WordPress bar above the fixed header */
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }

/* Ordinary pages start below the fixed header */
.ns-page { padding-top: calc(88 * var(--u)); min-height: 60vh; }
@media (max-width: 1023px) { .ns-page { padding-top: 72px; } }
@media (max-width: 767px) { .ns-page { padding-top: 64px; } }

.ns-prose { padding-top: calc(120 * var(--u)); padding-bottom: calc(140 * var(--u)); }
.ns-prose__title {
  max-width: 900px; margin: 0 auto calc(48 * var(--u));
  font-size: clamp(36px, calc(64 * var(--u)), 64px); line-height: 1.18; font-weight: 600;
  color: var(--burgundy); text-align: center;
}
.ns-prose__body, .ns-list { max-width: 860px; margin-inline: auto; font-size: 18px; line-height: 1.7; color: var(--charcoal); }
.ns-prose__body > * + * { margin-top: 1.1em; }
.ns-prose__body h2, .ns-prose__body h3 { color: var(--burgundy); font-weight: 600; line-height: 1.3; margin-top: 1.8em; }
.ns-prose__body h2 { font-size: 28px; }
.ns-prose__body h3 { font-size: 22px; }
.ns-prose__body a, .ns-list a { color: var(--burgundy); text-decoration: underline; text-underline-offset: 3px; }
.ns-prose__body ul, .ns-prose__body ol { padding-left: 1.3em; }
.ns-prose__body ul { list-style: disc; }
.ns-prose__body ol { list-style: decimal; }
.ns-prose__body img { max-width: 100%; height: auto; }
.ns-prose__body blockquote { border-left: 2px solid var(--gold); padding-left: 1em; color: var(--burgundy); }
.ns-list { list-style: none; padding: 0; }
.ns-list li { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid rgba(80, 5, 35, .12); }
.ns-list span { color: var(--rule); white-space: nowrap; }

/* Article bodies written in the block editor (Insights) */
.article__body .wp-block-image, .article__body figure { margin-inline: 0; }
.article__body .wp-block-image img, .article__body figure img { max-width: 100%; height: auto; }
.article__body .wp-block-image figcaption { font-size: 14px; color: var(--rule); margin-top: 8px; }
.article__body .wp-block-embed iframe { max-width: 100%; }
.article__body ol { list-style: decimal; padding-left: 1.3em; }

/* Elementor: keep its sections from sliding under the header's blur on first paint */
.elementor-page .ns-page { overflow-x: clip; }
