/*
 * Blog index, archives, single posts and the sidebar.
 *
 * Every number here was measured on the rendered old site at a 1280px viewport, not read out
 * of Astra's or Elementor's stored settings -- several of those were never applied.
 */

/*
 * Market ticker: quiet full-width band directly under the header.
 *
 * Rendered from server-side cached numbers, so there is no embed to reserve space for and
 * no iframe to size around.
 */

.nx-ticker {
  background-color: #f5f6f7;
  color: var(--nx-text);
  border-bottom: 1px solid var(--nx-border);
}

.nx-ticker-inner {
  padding-top: 4px;
  padding-bottom: 4px;
}

.nx-ticker-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.nx-ticker-viewport {
  flex: 1;
  min-width: 0;
  overflow-x: auto;
  padding-block: 8px;
}

.nx-ticker-track {
  display: flex;
  width: max-content;
}

.nx-ticker-list {
  display: flex;
  flex: none;
  align-items: center;
  gap: 32px;
  margin: 0;
  padding: 0 32px 0 0;
  list-style: none;
}

.nx-ticker-item {
  position: relative;
  display: flex;
  flex: none;
  align-items: baseline;
  gap: 8px;
  font-family: var(--nx-font-body);
  font-size: 14px;
  white-space: nowrap;
}

.nx-ticker-copy {
  display: none;
}

.nx-ticker.is-animated .nx-ticker-viewport {
  overflow: hidden;
}

.nx-ticker.is-animated .nx-ticker-copy {
  display: flex;
}

.nx-ticker.is-animated .nx-ticker-track {
  animation: nx-ticker-scroll var(--nx-ticker-duration, 50s) linear infinite;
}

.nx-ticker.is-paused .nx-ticker-track,
.nx-ticker:focus-within .nx-ticker-track {
  animation-play-state: paused;
}

.nx-ticker-toggle {
  flex: none;
  min-width: 58px;
  min-height: 44px;
  padding: 8px;
  border: 1px solid var(--nx-border);
  border-radius: 5px;
  color: var(--nx-heading);
  background: transparent;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}

.nx-ticker-toggle[hidden] {
  display: none;
}

.nx-ticker-toggle:focus-visible,
.nx-ticker-viewport:focus-visible {
  outline: 2px solid var(--nx-brand);
  outline-offset: 2px;
}

@keyframes nx-ticker-scroll {
  to { transform: translateX(-50%); }
}

@media (hover: hover) {
  .nx-ticker:hover .nx-ticker-track {
    animation-play-state: paused;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nx-ticker.is-animated .nx-ticker-track {
    animation: none;
  }

  .nx-ticker.is-animated .nx-ticker-viewport {
    overflow-x: auto;
  }

  .nx-ticker.is-animated .nx-ticker-copy,
  .nx-ticker-toggle {
    display: none;
  }
}

.nx-ticker-label {
  color: var(--nx-muted);
}

.nx-ticker-value {
  font-weight: 500;
}

.nx-ticker-change--up {
  color: #167347;
}

.nx-ticker-change--down {
  color: #b3261e;
}

.nx-ticker-change--flat {
  color: var(--nx-muted);
}

.nx-ticker-sources { font-size: 11px; color: var(--nx-muted); }
.nx-ticker-sources summary { cursor: pointer; width: fit-content; padding-block: 3px; }
.nx-ticker-sources[open] .nx-ticker-credit { margin-top: 8px; }
.nx-ticker-sources summary:focus-visible { outline-color: var(--nx-brand); }

/* Attribution required by CoinGecko's terms; kept above their 10px minimum. */
.nx-ticker-credit {
  margin: 0;
  font-size: 11px;
  color: var(--nx-muted);
}

/* Up to three equally weighted editorial selections with compact preview images. */
.nx-featured { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 32px; padding-block: 32px 36px; border-bottom: 1px solid var(--nx-border); }
.nx-featured:has(> .nx-featured-item:nth-of-type(2):last-of-type) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nx-featured:has(> .nx-featured-item:only-of-type) { grid-template-columns: minmax(0, 1fr); }
.nx-featured > .nx-section-label { grid-column: 1 / -1; margin: 0; color: var(--nx-brand); }
.nx-featured-item { display: flex; flex-direction: column; min-width: 0; }
.nx-featured-inner { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.nx-featured-categories { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-bottom: 12px; font-size: var(--nx-type-label); font-weight: 500; text-transform: uppercase; letter-spacing: .045em; }
.nx-featured-categories a { color: var(--nx-text); }
.nx-featured-title { margin: 0 0 18px; font-size: clamp(20px, 1.8vw, 24px); line-height: 1.3; letter-spacing: -.025em; font-weight: 600; overflow-wrap: break-word; }
.nx-featured-title a:hover, .nx-card-title a:hover { color: var(--nx-heading); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.nx-featured-meta { margin: auto 0 0; color: var(--nx-muted); font-size: var(--nx-type-meta); }
.nx-featured-image { display: block; margin-bottom: 20px; }
.nx-featured-image img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
@media (max-width: 700px) {
  .nx-featured, .nx-featured:has(> .nx-featured-item:nth-of-type(2):last-of-type) { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-block: 28px 32px; }
  .nx-featured-item + .nx-featured-item { border-top: 1px solid var(--nx-border); padding-top: 28px; }
  .nx-featured-image img { max-height: 240px; }
  .nx-featured-title { font-size: 23px; }
}
.nx-home-layout { padding-top: 40px; }

/* Article previews are laid directly on the page. */
.nx-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 28px; }
.nx-card { min-width: 0; }
.nx-card-thumb { display: block; margin-bottom: 20px; }
.nx-card-thumb img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.nx-card-title { margin: 0 0 12px; font-size: 23px; line-height: 1.3; letter-spacing: -.025em; overflow-wrap: break-word; }
.nx-card-meta { color: var(--nx-muted); font-size: var(--nx-type-meta); }
.nx-card-excerpt { font-size: var(--nx-type-summary); line-height: 1.6; }
.nx-card-excerpt p { margin: 12px 0 0; }
.home .nx-card-grid { display: block; }
.home .nx-card { border-bottom: 1px solid var(--nx-border); padding-bottom: 28px; margin-bottom: 28px; }
.home .nx-card:last-child { margin-bottom: 0; }
.home .nx-card-inner { display: grid; grid-template-columns: 210px minmax(0, 1fr); column-gap: 28px; align-items: start; }
.home .nx-card-inner > * { grid-column: 2; }
.home .nx-card-inner .nx-card-thumb { grid-column: 1; grid-row: 1 / 5; margin: 0; }
.home .nx-card-inner:not(:has(.nx-card-thumb)) { grid-template-columns: 1fr; }
.home .nx-card-inner:not(:has(.nx-card-thumb)) > * { grid-column: 1; }
.home .nx-card-title { font-size: 22px; }

/* Article title and introduction precede the uncropped editorial image. */
.nx-single .entry-header { margin-bottom: 30px; }
.nx-single .entry-title { font-size: clamp(32px, 3.5vw, 48px); line-height: 1.16; letter-spacing: -.035em; margin-bottom: 22px; text-wrap: balance; overflow-wrap: break-word; }
.nx-standfirst { max-width: 60ch; font-size: 21px; line-height: 1.5; }
.nx-standfirst p { margin: 0 0 24px; }
.nx-single-meta { display: flex; flex-wrap: wrap; gap: 8px 24px; font-size: var(--nx-type-meta); color: var(--nx-muted); padding-block: 18px; border-block: 1px solid var(--nx-border); }
.nx-single-meta a { font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.nx-single-thumb { margin: 0 0 36px; }
.nx-single-thumb img { display: block; width: auto; max-width: 100%; max-height: min(56vw, 460px); height: auto; margin-inline: auto; object-fit: contain; }
.nx-single-thumb figcaption { margin-top: 8px; color: var(--nx-muted); font-size: var(--nx-type-label); }
.nx-single .entry-content { max-width: min(68ch, 680px); margin-inline: auto; font-size: 19px; line-height: 1.75; overflow-wrap: break-word; }
.nx-single .entry-content p { margin: 0 0 1.35em; }
.nx-single .entry-content h2 { font-size: 30px; line-height: 1.25; letter-spacing: -.025em; margin-top: 1.6em; }
.nx-single .entry-content h3 { font-size: 24px; line-height: 1.35; margin-top: 1.6em; }
.nx-single .entry-content h4 { font-size: 21px; line-height: 1.4; margin-top: 1.5em; }
.nx-single .entry-content blockquote, .nx-single .entry-content .nx-takeaway { margin: 32px 0; padding: 8px 0 8px 24px; border-left: 3px solid var(--nx-brand); }
.nx-single .entry-content blockquote p:last-child, .nx-takeaway p:last-child { margin-bottom: 0; }
.nx-archive-header { margin-bottom: 36px; padding-bottom: 24px; border-bottom: 1px solid var(--nx-border); }
.nx-archive-title { overflow-wrap: anywhere; font-size: 36px; line-height: 1.2; letter-spacing: -.025em; }
.nx-archive-description { max-width: 62ch; font-size: 19px; }
.nx-sidebar .widget, .nx-author-profile, .nx-follow-up { margin-bottom: 36px; }
.nx-sidebar .widget:last-child { margin-bottom: 0; }
.nx-sidebar p { margin: 0 0 18px; font-size: 16px; line-height: 1.6; }
.nx-author-profile h2 { font-size: 22px; margin-bottom: 16px; line-height: 1.3; }
.nx-sidebar .nx-section-label { font-size: var(--nx-type-label); }
.nx-sidebar .widget:has(.nx-ad-slot) { border-top: 1px solid var(--nx-border); padding-top: 22px; }
.nx-sidebar .widget:has(.nx-ad-slot) .widget-title { color: var(--nx-muted); font-size: var(--nx-type-label); font-weight: 400; text-align: center; margin-bottom: 12px; }
.nx-related { margin: 0; padding: 0; list-style: none; }
.nx-related li { border-top: 1px solid var(--nx-border); padding-block: 16px; }
.nx-related a { display: block; color: var(--nx-heading); font: 500 16px/1.45 var(--nx-font-heading); letter-spacing: -.02em; }
.nx-related time { display: block; font-size: var(--nx-type-meta); margin-top: 8px; color: var(--nx-muted); }
.nx-pagination { margin-top: 36px; }
.nx-pagination .page-numbers { display: inline-block; min-width: 44px; padding: 8px 14px; }
.nx-pagination .page-numbers.current { background: var(--nx-heading); color: white; }
.entry-content .nx-eyebrow { margin-bottom: 8px; font-size: var(--nx-type-label); text-transform: uppercase; letter-spacing: .05em; }
.entry-content .nx-lead { font-size: 21px; }
.nx-social { margin: 0; padding: 0; list-style: none; }
.nx-social-item { display: flex; align-items: center; gap: 10px; padding-block: 8px; }
.nx-social-item svg { flex: none; width: 20px; height: 20px; fill: var(--nx-brand); }
.entry-content p:empty { display: none; }
@media (max-width: 1024px) {
  .home .nx-card-inner { grid-template-columns: 150px minmax(0, 1fr); gap: 0 22px; }
}
@media (max-width: 768px) {
  .nx-single .entry-content { font-size: 18px; line-height: 1.7; }
  .nx-standfirst { font-size: 19px; }
}
@media (max-width: 544px) {
  .nx-ticker-inner { padding-bottom: 8px; }
  .nx-card-grid { grid-template-columns: minmax(0, 1fr); }
  .home .nx-card-inner { grid-template-columns: minmax(0, 1fr) 100px; gap: 0 18px; }
  .home .nx-card-inner > * { grid-column: 1; }
  .home .nx-card-inner .nx-card-thumb { grid-column: 2; grid-row: 1 / 4; }
  .home .nx-card-thumb img { aspect-ratio: 1; }
  .home .nx-card-inner .nx-card-excerpt { grid-column: 1 / -1; }
  .home .nx-card-title { font-size: 20px; }
  .nx-single .entry-title { font-size: 32px; }
  .nx-single .entry-content h2 { font-size: 26px; }
  .nx-single-thumb { margin-bottom: 28px; }
}
