/*
Theme Name: RSNStats Editorial
Theme URI: https://rsnstats.com/
Author: RSNStats
Description: A minimal editorial block theme prototype for RSNStats staging.
Version: 0.37.0
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: rsnstats-editorial
*/
:root { --rsn-rule:#dedbd4; }
body { -webkit-font-smoothing: antialiased; }
a { text-underline-offset: .17em; }
.wp-site-blocks { overflow: clip; }
.rsn-brand a { text-decoration: none; }
.rsn-brand .rsn { color: #182d44; font-weight: 800; }
.rsn-brand .stats { color: #a32c32; font-weight: 500; }
.rsn-header { border-bottom: 1px solid var(--rsn-rule); }
.rsn-footer { border-top: 1px solid var(--rsn-rule); }
.rsn-article-title { text-wrap: balance; letter-spacing: -.035em; }
.rsn-article-content { line-height: 1.8; }
.rsn-article-content p { margin-block: 0 1.45em; }
.rsn-article-content h2, .rsn-article-content h3 { line-height: 1.18; letter-spacing: -.02em; margin-top: 1.9em; }
.rsn-article-content .wp-block-image figcaption, .rsn-article-content figcaption { color: #65717b; font-size: .85rem; }
.rsn-article-content .alignwide { max-width: min(1100px, calc(100vw - 40px)); }
.rsn-article-content table { font-variant-numeric: tabular-nums; }
.rsn-article-content .wp-block-table { overflow-x: auto; }
.rsn-kicker { text-transform: uppercase; letter-spacing: .15em; font-size: .72rem; font-weight: 700; }
@media (max-width: 650px) { .rsn-header-inner { gap: 14px; } .rsn-article-title { font-size: clamp(2.15rem, 9vw, 3rem) !important; } }

/* v0.2.0: Controlled typography test — retain all layout measurements. */
.rsn-article-content { font-family: "RSN Editorial Serif", Georgia, serif; }
.rsn-article-content p, .rsn-article-content li { font-family: inherit; }
.rsn-article-content h2, .rsn-article-content h3, .rsn-article-content h4 { font-family: "RSN Editorial Serif", Georgia, serif; font-weight: 600; }
.rsn-article-title { font-family: "RSN Editorial Serif", Georgia, serif; font-weight: 600; }

/* v0.3.0: Reading comfort and editorial hierarchy. */
.rsn-article-content { font-size: 19px; line-height: 1.65; }
.rsn-article-content p { margin-block: 0 1.35em; }
.rsn-article-content li { line-height: 1.65; }
.rsn-article-content h2 { font-size: clamp(1.65rem, 2.5vw, 1.95rem); line-height: 1.22; margin-top: 2em; margin-bottom: .55em; }
.rsn-article-content h3 { font-size: clamp(1.35rem, 2vw, 1.55rem); line-height: 1.25; margin-top: 1.7em; margin-bottom: .5em; }
.rsn-article-content :is(.wp-block-separator, hr) { border: 0; border-top: 1px solid #dedbd4; background: transparent; opacity: 1; height: 0; margin-block: 2.1em 1.5em; }
@media (max-width: 650px) { .rsn-article-content { font-size: 18px; line-height: 1.65; } }

/* v0.4.0: Article lists use the same reading typography as paragraphs.
   Scoped to article content; navigation and data components are unaffected. */
.rsn-article-content :is(ul, ol, .wp-block-list) {
  font-family: "RSN Editorial Serif", Georgia, serif;
  font-size: 1em;
  line-height: 1.65;
  padding-inline-start: 1.5em;
  margin-block: 0 1.35em;
}
.rsn-article-content :is(ul, ol, .wp-block-list) > li {
  font-family: inherit;
  font-size: 1em;
  line-height: inherit;
  margin-block: 0 .2em;
}
.rsn-article-content :is(ul, ol, .wp-block-list) > li::marker {
  font-size: 1em;
}
.rsn-article-content :is(ul, ol, .wp-block-list) :is(ul, ol) {
  margin-block: .35em .6em;
}

/* v0.5.0: Optional manually authored editorial deck. */
.rsn-article-deck {
  font-family: "RSN Editorial Serif", Georgia, serif;
  font-size: clamp(1.25rem, 2vw, 1.4rem);
  line-height: 1.48;
  color: #58636d;
  margin-top: .3em;
  margin-bottom: 1.1em;
}
.rsn-article-deck p { margin: 0; }
.rsn-article-deck .wp-block-post-excerpt__more-text { display: none; }

/* v0.6.0: Native, editable four-metric statistical summary pattern. */
.rsn-stat-summary {
  border: 1px solid #e1e2de;
  border-radius: 4px;
  background: #f4f5f1;
  padding: 18px 16px;
  margin-block: 1.8em;
}
.rsn-stat-summary .wp-block-columns { gap: 0; margin-bottom: 0; }
.rsn-stat-summary .wp-block-column { min-width: 0; padding: 8px 14px; }
.rsn-stat-summary .wp-block-column + .wp-block-column { border-left: 1px solid #d8dbd6; }
.rsn-stat-summary .rsn-stat-value {
  font-family: Iosevka, 'SFMono-Regular', Consolas, monospace;
  font-variant-numeric: tabular-nums;
  font-size: clamp(1.65rem, 2.8vw, 2.1rem);
  line-height: 1.15;
  font-weight: 600;
  color: #a32c32;
  text-align: center;
  margin: 0 0 .15em;
}
.rsn-stat-summary .rsn-stat-label {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: .83rem;
  font-weight: 600;
  line-height: 1.3;
  color: #182d44;
  text-align: center;
  margin: 0;
}
.rsn-stat-summary .rsn-stat-note {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: .72rem;
  line-height: 1.35;
  color: #68747c;
  text-align: center;
  margin: .3em 0 0;
}
@media (max-width: 680px) {
  .rsn-stat-summary .wp-block-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; }
  .rsn-stat-summary .wp-block-column { flex-basis: auto !important; padding: 14px 8px; }
  .rsn-stat-summary .wp-block-column:nth-child(3) { border-left: 0; }
  .rsn-stat-summary .wp-block-column:nth-child(n+3) { border-top: 1px solid #d8dbd6; }
}

/* v0.7.0: Wide editorial table, horizontally scrollable without shrinking data. */
.rsn-wide-table { margin-block: 2rem; }
.rsn-wide-table .wp-block-table { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-inline: contain; margin: 0; }
.rsn-wide-table .wp-block-table table {
  width: 100%; min-width: 890px; border-collapse: collapse; table-layout: auto;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 14px; line-height: 1.4; font-variant-numeric: tabular-nums;
}
.rsn-wide-table .wp-block-table :is(th,td) { padding: 11px 12px; border: 0; white-space: nowrap; }
.rsn-wide-table .wp-block-table thead { border-bottom: 2px solid #182d44; }
.rsn-wide-table .wp-block-table th { color: #182d44; font-weight: 700; text-align: right; }
.rsn-wide-table .wp-block-table td { text-align: right; }
.rsn-wide-table .wp-block-table :is(th,td):nth-child(2) { text-align: left; min-width: 135px; }
.rsn-wide-table .wp-block-table :is(th,td):first-child { text-align: left; }
.rsn-wide-table .wp-block-table tbody tr:nth-child(even) { background: #f0f1ef; }
.rsn-wide-table .wp-block-table tbody tr:nth-child(odd) { background: #faf9f6; }
.rsn-wide-table .wp-block-table tbody tr { border-bottom: 1px solid #e5e5e1; }
.rsn-wide-table .rsn-table-caption {
  color: #68747c; font: 12px/1.5 -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  margin: 9px 0 0;
}
@media (max-width: 760px) {
  .rsn-wide-table .wp-block-table { border: 1px solid #e1e2de; }
  .rsn-wide-table .wp-block-table table { font-size: 14px; }
}

/* v0.8.3: Full-height, accessible scroll button. Opacity transitions at the end. */
.rsn-wide-table .rsn-table-scroll-shell { position: relative; max-width: 100%; }
.rsn-wide-table .rsn-table-scroll-button {
  position: absolute; z-index: 3; inset-block: 0; right: 0;
  display: flex; align-items: center; justify-content: center;
  width: 34px; padding: 0; margin: 0;
  border: 0; border-left: 1px solid #cdd4d3; border-radius: 0;
  background: #e5e8e7; color: #182d44;
  font: 700 29px/1 -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  cursor: pointer; opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity 220ms ease, visibility 0s linear 220ms;
}
.rsn-wide-table .rsn-table-scroll-shell.rsn-has-overflow:not(.rsn-at-end) .rsn-table-scroll-button {
  opacity: 1; visibility: visible; pointer-events: auto;
  transition: opacity 220ms ease, visibility 0s;
}
.rsn-wide-table .rsn-table-scroll-button:focus-visible {
  outline: 2px solid #182d44; outline-offset: -3px;
}
@media (max-width: 760px) {
  .rsn-wide-table .rsn-table-scroll-button { width: 28px; font-size: 25px; }
}
@media (prefers-reduced-motion: reduce) {
  .rsn-wide-table .rsn-table-scroll-button { transition: none; }
}
/* Opt-in bold columns: add rsn-bold-col-N to the table block's Additional CSS class(es).
   Multiple classes may be combined, e.g. rsn-bold-col-2 rsn-bold-col-4. */
.rsn-wide-table .wp-block-table.rsn-bold-col-1 tbody td:nth-child(1),
.rsn-wide-table.rsn-bold-col-1 .wp-block-table tbody td:nth-child(1) { font-weight: 700; }
.rsn-wide-table .wp-block-table.rsn-bold-col-2 tbody td:nth-child(2),
.rsn-wide-table.rsn-bold-col-2 .wp-block-table tbody td:nth-child(2) { font-weight: 700; }
.rsn-wide-table .wp-block-table.rsn-bold-col-3 tbody td:nth-child(3),
.rsn-wide-table.rsn-bold-col-3 .wp-block-table tbody td:nth-child(3) { font-weight: 700; }
.rsn-wide-table .wp-block-table.rsn-bold-col-4 tbody td:nth-child(4),
.rsn-wide-table.rsn-bold-col-4 .wp-block-table tbody td:nth-child(4) { font-weight: 700; }
.rsn-wide-table .wp-block-table.rsn-bold-col-5 tbody td:nth-child(5),
.rsn-wide-table.rsn-bold-col-5 .wp-block-table tbody td:nth-child(5) { font-weight: 700; }
.rsn-wide-table .wp-block-table.rsn-bold-col-6 tbody td:nth-child(6),
.rsn-wide-table.rsn-bold-col-6 .wp-block-table tbody td:nth-child(6) { font-weight: 700; }
.rsn-wide-table .wp-block-table.rsn-bold-col-7 tbody td:nth-child(7),
.rsn-wide-table.rsn-bold-col-7 .wp-block-table tbody td:nth-child(7) { font-weight: 700; }
.rsn-wide-table .wp-block-table.rsn-bold-col-8 tbody td:nth-child(8),
.rsn-wide-table.rsn-bold-col-8 .wp-block-table tbody td:nth-child(8) { font-weight: 700; }
.rsn-wide-table .wp-block-table.rsn-bold-col-9 tbody td:nth-child(9),
.rsn-wide-table.rsn-bold-col-9 .wp-block-table tbody td:nth-child(9) { font-weight: 700; }
.rsn-wide-table .wp-block-table.rsn-bold-col-10 tbody td:nth-child(10),
.rsn-wide-table.rsn-bold-col-10 .wp-block-table tbody td:nth-child(10) { font-weight: 700; }

/* v0.9.0: Editorial homepage, distinct manually selected sticky feature. */
.rsn-home { padding-inline: 20px; }
.rsn-home .rsn-home-eyebrow {
  font: 700 11px/1.4 -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  letter-spacing: .17em; text-transform: uppercase; color: #a32c32;
  margin: 0 0 16px;
}
.rsn-home-feature { padding-block: 66px 58px; border-bottom: 1px solid var(--rsn-rule); }
.rsn-home-feature .wp-block-post-template { margin: 0; }
.rsn-home-feature .wp-block-post-title {
  font-family: 'RSN Editorial Serif', Georgia, serif; font-size: clamp(2.65rem, 5.3vw, 4.35rem);
  line-height: 1.09; letter-spacing: -.038em; font-weight: 600; margin: 0 0 19px;
  text-wrap: balance;
}
.rsn-home .wp-block-post-title a { text-decoration: none; color: #182d44; }
.rsn-home .wp-block-post-title a:hover { color: #a32c32; }
.rsn-home-feature .wp-block-post-excerpt {
  font: 400 clamp(1.22rem, 2vw, 1.45rem)/1.48 'RSN Editorial Serif', Georgia, serif;
  color: #596570; margin: 0 0 18px;
}
.rsn-home-feature .wp-block-post-excerpt__more-text { display: none; }
.rsn-home-feature .wp-block-post-featured-image { margin: 25px 0 0; }
.rsn-home-feature .wp-block-post-featured-image img { width: 100%; height: auto; display: block; }
.rsn-home .wp-block-post-date { color: #68747c; font: 400 12px/1.4 -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.rsn-home-latest { padding-block: 46px 85px; }
.rsn-home-section-title {
  font: 600 clamp(1.55rem, 3vw, 1.9rem)/1.2 'RSN Editorial Serif', Georgia, serif;
  color: #182d44; margin: 0 0 12px;
}
/* Latest Articles: separators, not Gutenberg gaps, define entry spacing. */
.rsn-home-latest .wp-block-post-template {
  margin: 0;
  padding: 0;
  row-gap: 0;
  column-gap: 0;
}
.rsn-home-latest .wp-block-post-template > li { padding: 27px 0 30px; border-bottom: 1px solid var(--rsn-rule); }
.rsn-home-latest .wp-block-post-title {
  font: 600 clamp(1.7rem, 3vw, 2.1rem)/1.2 'RSN Editorial Serif', Georgia, serif;
  letter-spacing: -.025em; margin: 9px 0 12px;
}
.rsn-home-latest .wp-block-post-excerpt {
  font: 400 18px/1.6 'RSN Editorial Serif', Georgia, serif;
  color: #49535d; margin: 0;
}
.rsn-home-latest .wp-block-post-excerpt__more-text { margin-top: 9px; font-size: 15px; }
.rsn-home-latest .wp-block-post-excerpt__more-link { color: #a32c32; }
.rsn-home-latest .wp-block-query-pagination { margin-top: 28px; }
.rsn-home-empty { color: #68747c; font: 17px/1.55 'RSN Editorial Serif', Georgia, serif; }
@media (max-width: 650px) {
  .rsn-home-feature { padding-block: 43px 39px; }
  .rsn-home-latest { padding-block: 37px 65px; }
  .rsn-home-latest .wp-block-post-excerpt { font-size: 17px; }
}

/* v0.9.1: Concise permanent homepage directory and five-item writing feed. */
.rsn-home-latest { padding-bottom: 48px; }
.rsn-home-more { font: 600 15px/1.5 -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.rsn-home-more a { color: #a32c32; }
.rsn-home-explore { border-top: 1px solid var(--rsn-rule); padding-block: 43px 12px; }
.rsn-home-explore .rsn-home-section-title { margin-bottom: 28px; }
.rsn-home-explore-columns { gap: 25px; margin-block: 0; }
.rsn-home-explore-columns > .wp-block-column { border-top: 2px solid #d5d8d7; padding-top: 16px; }
.rsn-home-explore-columns h3 { font: 600 21px/1.3 'RSN Editorial Serif', Georgia, serif; margin: 0 0 10px; }
.rsn-home-explore-columns h3 a { color: #182d44; text-decoration: none; }
.rsn-home-explore-columns h3 a:hover { color: #a32c32; }
.rsn-home-explore-columns p { color: #596570; font: 400 16px/1.55 'RSN Editorial Serif', Georgia, serif; margin: 0; }
@media (max-width: 781px) {
  .rsn-home-explore-columns { gap: 22px; }
  .rsn-home-explore-columns > .wp-block-column { padding-top: 14px; }
}

/* v0.10.0 — Homepage density and editorial rhythm, based on original mockup.
   Scoped to the homepage; article reading layouts and data components remain unchanged. */
.rsn-home { padding-inline: 20px; }
.rsn-home-feature { padding-block: 34px 32px; }
.rsn-home .rsn-home-eyebrow { margin-bottom: 12px; }
.rsn-home-feature .wp-block-post-template > li {
  display: grid; grid-template-columns: minmax(0,1fr); gap: 0 24px; align-items: stretch;
}
.rsn-home-feature .wp-block-post-template > li:has(.rsn-feature-image img) {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
}
.rsn-home-feature .rsn-feature-copy { min-width: 0; align-self: center; }
.rsn-home-feature .wp-block-post-title {
  font-size: clamp(2.15rem, 3.4vw, 3.15rem); line-height: 1.09;
  letter-spacing: -.034em; margin-bottom: 12px;
}
.rsn-home-feature .wp-block-post-excerpt {
  font-size: clamp(1.06rem, 1.45vw, 1.18rem); line-height: 1.43; margin-bottom: 11px;
}
.rsn-home-feature .wp-block-post-excerpt p { margin: 0; }
.rsn-home-feature .wp-block-post-date { margin-top: 10px; }
.rsn-home-feature .rsn-feature-read {
  display: inline-block; margin-top: 13px; color: #a32c32;
  font: 600 13px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  text-decoration: none;
}
.rsn-home-feature .rsn-feature-read:hover { text-decoration: underline; }
.rsn-home-feature .rsn-feature-image { margin: 0; align-self: stretch; }
.rsn-home-feature .rsn-feature-image a { display: block; height: 100%; }
.rsn-home-feature .rsn-feature-image img {
  width: 100%; height: 100%; min-height: 230px; max-height: 330px;
  object-fit: cover; display: block;
}
.rsn-home-latest { padding-block: 30px 28px; }
.rsn-home-latest .rsn-home-section-title { margin-bottom: 6px; }
/* Latest Articles: consistent spacing without Gutenberg's block margins. */
.rsn-home-latest .wp-block-post-template > li {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  align-items: start;
  column-gap: 16px;
  margin-block: 0 !important;
  padding: 17px 0 18px;
}
.rsn-home-latest .wp-block-post-template > li:has(.rsn-latest-image img) {
  grid-template-columns: 116px minmax(0,1fr);
}
.rsn-home-latest .rsn-latest-image { margin: 0; }
.rsn-home-latest .rsn-latest-image img {
  display: block; width: 116px; height: 90px; object-fit: cover;
}
.rsn-home-latest .rsn-latest-copy { min-width: 0; }
.rsn-home-latest .wp-block-post-title {
  font: 600 clamp(1.3rem, 1.8vw, 1.4rem)/1.2 'RSN Editorial Serif', Georgia, serif;
  letter-spacing: -.02em;
  margin: 0 0 6px;
}
.rsn-home-latest .wp-block-post-excerpt {
  font: 400 16px/1.45 'RSN Editorial Serif', Georgia, serif;
  color: #52606c;
  margin: 0 0 7px;
}
/* Editorial classification above each Latest Articles headline. */
.rsn-home-latest .rsn-latest-editorial-type {
  margin: 0 0 5px;
  font: 700 10px/1.3 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: .075em;
  text-transform: uppercase;
  color: #a32c32;
}

.rsn-home-latest .rsn-latest-editorial-type a {
  color: inherit;
  text-decoration: none;
}

.rsn-home-latest .rsn-latest-editorial-type a:hover {
  text-decoration: underline;
}
.rsn-home-latest .wp-block-post-excerpt p { margin: 0; }
.rsn-home-latest .wp-block-post-excerpt__more-text { display: none; }
.rsn-home-latest .wp-block-post-date { font-size: 11px; }
.rsn-home-latest .wp-block-query-pagination { margin-top: 16px; }
.rsn-home-more { font-size: 13px; }
.rsn-home-explore { padding-block: 27px 18px; }
.rsn-home-explore .rsn-home-section-title { margin-bottom: 18px; }
.rsn-home-explore-columns { gap: 19px; }
.rsn-home-explore-columns > .wp-block-column { padding-top: 12px; }
.rsn-home-explore-columns h3 { font-size: 18px; margin-bottom: 6px; }
.rsn-home-explore-columns p { font-size: 14px; line-height: 1.4; }
@media (max-width: 720px) {
  .rsn-home-feature { padding-block: 28px; }
  .rsn-home-feature .wp-block-post-template > li:has(.rsn-feature-image img) { grid-template-columns: minmax(0,1fr); }
  .rsn-home-feature .rsn-feature-image { margin-top: 18px; }
  .rsn-home-feature .rsn-feature-image img { height: auto; max-height: 290px; min-height: 0; aspect-ratio: 16/9; }
  .rsn-home-feature .wp-block-post-title { font-size: clamp(2.1rem, 8vw, 2.7rem); }

  .rsn-home-latest { padding-block: 25px; }

  /* Mobile: image right, text left. */
  .rsn-home-latest .wp-block-post-template > li:has(.rsn-latest-image img) {
    grid-template-columns: minmax(0, 1fr) 80px;
    gap: 12px;
  }

  .rsn-home-latest .wp-block-post-template > li:has(.rsn-latest-image img) > .rsn-latest-image {
    grid-column: 2;
    grid-row: 1;
  }

  .rsn-home-latest .wp-block-post-template > li:has(.rsn-latest-image img) > .rsn-latest-copy {
    grid-column: 1;
    grid-row: 1;
  }

  .rsn-home-latest .rsn-latest-image img {
    width: 80px;
    height: 80px;
  }

  .rsn-home-latest .wp-block-post-title { font-size: 1.3rem; }
  .rsn-home-latest .wp-block-post-excerpt { font-size: 16px; }
}

/* v0.11.0 — featured 60/40 composition, consistent image crops, date-first listings. */
@media (min-width: 721px) {
  .rsn-home-feature .wp-block-post-template > li:has(.rsn-feature-image img) {
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    column-gap: 22px;
  }
}
.rsn-home-feature .rsn-feature-image { align-self: start; }
.rsn-home-feature .rsn-feature-image a { display: block; height: auto; }
.rsn-home-feature .rsn-feature-image img {
  width: 100%; height: auto; min-height: 0; max-height: none;
  aspect-ratio: 4 / 3; object-fit: cover; object-position: center;
}
.rsn-home-latest .rsn-latest-image img {
  display: block;
  width: 116px;
  height: 116px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center;
}
.rsn-home-latest .rsn-latest-copy .wp-block-post-date {
  margin: 0 0 5px; font-size: 11px; line-height: 1.4;
}
@media (max-width: 720px) {
  .rsn-home-feature .rsn-feature-image img {
    aspect-ratio: 4 / 3; height: auto; max-height: none; min-height: 0;
  }
  .rsn-home-latest .rsn-latest-image img {
    width: 80px;
    height: 80px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
  }
}

/* v0.12.0 — two-tier editorial masthead built around the established RSNStats logo. */
.rsn-header { padding: 0 !important; border-bottom: 0; }
.rsn-masthead-top { padding: 17px 20px 16px; }
.rsn-masthead-top .wp-block-shortcode { margin: 0; }
.rsn-masthead-brand { display: flex; align-items: center; gap: 22px; min-width: 0; }
.rsn-masthead-logo { display: block; flex: 0 0 104px; line-height: 0; }
.rsn-masthead-logo img { display: block; width: 104px; height: 104px; object-fit: contain; }
.rsn-masthead-identity { min-width: 0; }
.rsn-masthead-name { display: inline-block; font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; font-size: clamp(31px,3.4vw,45px); font-weight: 800; line-height: 1.04; letter-spacing: -.065em; color: #182d44; text-decoration: none; }
.rsn-masthead-name span { color: #a32c32; }
.rsn-masthead-name:hover { text-decoration: none; }
.rsn-masthead-tagline { margin: 10px 0 0; color: #56616b; font: 650 10px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; letter-spacing: .13em; }
.rsn-masthead-nav-band { border-top: 1px solid #dedbd4; border-bottom: 1px solid #dedbd4; }
.rsn-masthead-nav-inner { padding: 0 20px; min-height: 47px; display: flex; align-items: center; }
.rsn-masthead-nav-inner .wp-block-navigation { width: 100%; }
.rsn-masthead-nav-inner .wp-block-navigation__container { gap: 30px; }
.rsn-masthead-nav-inner .wp-block-navigation-item__content { padding: 13px 0; text-decoration: none; }
.rsn-masthead-nav-inner .wp-block-navigation-item__content:hover { color: #a32c32; }
@media (max-width: 650px) {
  .rsn-masthead-top { padding: 13px 18px; }
  .rsn-masthead-brand { gap: 13px; }
  .rsn-masthead-logo { flex-basis: 70px; }
  .rsn-masthead-logo img { width: 70px; height: 70px; }
  .rsn-masthead-name { font-size: clamp(27px,7vw,35px); }
  .rsn-masthead-tagline { margin-top: 6px; font-size: 8px; letter-spacing: .07em; max-width: 245px; }
  .rsn-masthead-nav-inner { padding: 0 18px; min-height: 43px; }
  .rsn-masthead-nav-inner .wp-block-navigation__container { gap: 18px; }
}

/* v0.13.0 — Original Affinity masthead artwork and social links. */
.rsn-masthead-top { display:flex; align-items:center; justify-content:space-between; gap:28px; padding-block: 18px; }
.rsn-masthead-top > .wp-block-shortcode:first-child { flex: 1 1 auto; min-width:0; }
.rsn-masthead-art { display:block; width:min(100%, 740px); line-height:0; }
.rsn-masthead-art img { display:block; width:100%; height:auto; }
.rsn-masthead-social { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex:0 0 auto; }
.rsn-masthead-social a { width:35px; height:35px; border:1px solid #d6d9db; border-radius:50%; display:grid; place-items:center; color:#182d44; text-decoration:none; font:700 19px/1 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.rsn-masthead-social a:hover, .rsn-masthead-social a:focus-visible { color:#a32c32; border-color:#a32c32; }
.rsn-masthead-social a:nth-child(2) { font-size:19px; }
.rsn-masthead-social a:nth-child(3) { font-size:17px; }
@media (max-width: 760px) {
  .rsn-masthead-top { flex-wrap:wrap; gap:10px 16px; padding:15px 18px; }
  .rsn-masthead-top > .wp-block-shortcode:first-child { flex-basis:100%; }
  .rsn-masthead-art { width:100%; max-width:680px; }
  .rsn-masthead-social { margin-left:auto; }
  .rsn-masthead-social a { width:31px; height:31px; }
}

/* v0.14.0 — Wider editorial canvas. Keep single-post reading width unchanged. */
:root { --rsn-home-width: 1100px; --rsn-feed-width: 900px; }
/* Gutenberg's constrained layout defaults to 700px; override at each homepage level. */
.rsn-header > .rsn-masthead-top,
.rsn-masthead-nav-band > .rsn-masthead-nav-inner {
  width: min(calc(100% - 40px), var(--rsn-home-width));
  max-width: var(--rsn-home-width) !important;
  margin-inline: auto !important;
}
.rsn-header .rsn-masthead-top { padding-inline: 0; }
.rsn-header .rsn-masthead-nav-inner { padding-inline: 0; }
.rsn-header .rsn-masthead-art { width: min(100%, 740px); }
.rsn-header .rsn-masthead-social a {
  border: 0; border-radius: 0; width: 32px; height: 32px;
}
.rsn-header .rsn-masthead-social a:hover,
.rsn-header .rsn-masthead-social a:focus-visible { border: 0; }
.rsn-home {
  width: min(calc(100% - 40px), var(--rsn-home-width));
  max-width: var(--rsn-home-width) !important;
  margin-inline: auto !important;
  padding-inline: 0;
}
.rsn-home > .rsn-home-feature,
.rsn-home > .rsn-home-explore {
  width: 100% !important; max-width: none !important;
  margin-inline: auto !important;
}
.rsn-home-feature > .wp-block-query,
.rsn-home-feature > .wp-block-query > .wp-block-post-template,
.rsn-home-feature .rsn-feature-copy {
  width: 100% !important; max-width: none !important;
}
.rsn-home > .rsn-home-latest {
  width: min(100%, var(--rsn-feed-width)) !important;
  max-width: var(--rsn-feed-width) !important;
  margin-inline: auto !important;
}
.rsn-home-latest > .wp-block-query,
.rsn-home-latest > .wp-block-query > .wp-block-post-template,
.rsn-home-latest .rsn-latest-copy { width: 100% !important; max-width: none !important; }
.rsn-home-feature .wp-block-post-title { font-size: clamp(2.3rem, 3.6vw, 3.7rem); }
.rsn-home-feature .wp-block-post-template > li:has(.rsn-feature-image img) {
  column-gap: 42px;
}
@media (max-width: 720px) {
  .rsn-home { width: calc(100% - 36px); }
  .rsn-header > .rsn-masthead-top,
  .rsn-masthead-nav-band > .rsn-masthead-nav-inner { width: calc(100% - 36px); }
  .rsn-home-feature .wp-block-post-title { font-size: clamp(2.1rem, 8vw, 2.7rem); }
  .rsn-home-feature .wp-block-post-template > li:has(.rsn-feature-image img) { column-gap: 0; }
}

/* v0.15.0 — one coherent editorial grid for masthead, nav, and feature. */
:root { --rsn-editorial-grid: 1100px; --rsn-editorial-gutter: 24px; }
/* Remove Gutenberg constrained-layout width inheritance from header wrappers. */
.rsn-header,
.rsn-header.wp-block-group,
.rsn-header .rsn-masthead-nav-band {
  width: 100% !important;
  max-width: none !important;
}
.rsn-header > .rsn-masthead-top,
.rsn-header .rsn-masthead-nav-band > .rsn-masthead-nav-inner {
  box-sizing: border-box;
  width: min(calc(100% - 2 * var(--rsn-editorial-gutter)), var(--rsn-editorial-grid)) !important;
  max-width: var(--rsn-editorial-grid) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}
.rsn-header > .rsn-masthead-top {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  gap: 36px;
  padding-block: 25px 23px;
}
.rsn-masthead-top > .wp-block-shortcode:first-child {
  flex: 0 1 550px;
  min-width: 0;
  max-width: 550px;
  margin: 0;
}
.rsn-masthead-top .rsn-masthead-art {
  display: block;
  width: 100% !important;
  max-width: 550px;
}
.rsn-masthead-top .rsn-masthead-social { gap: 18px; }
.rsn-masthead-social a { font-size: 20px; }
.rsn-header .rsn-masthead-nav-inner { min-height: 50px; }
.rsn-home.alignwide,
.rsn-home.wp-block-group {
  box-sizing: border-box;
  width: min(calc(100% - 2 * var(--rsn-editorial-gutter)), var(--rsn-editorial-grid)) !important;
  max-width: var(--rsn-editorial-grid) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}
.rsn-home > .rsn-home-feature { padding-top: 53px; }
.rsn-home > .rsn-home-latest { max-width: 900px !important; }
@media (max-width: 760px) {
  :root { --rsn-editorial-gutter: 18px; }
  .rsn-header > .rsn-masthead-top { flex-wrap: wrap; gap: 10px 16px; padding-block: 17px 13px; }
  .rsn-masthead-top > .wp-block-shortcode:first-child { flex: 1 1 100%; max-width: 100%; }
  .rsn-masthead-top .rsn-masthead-art { max-width: 100%; }
  .rsn-masthead-top .rsn-masthead-social { margin-left: 0; gap: 14px; }
  .rsn-home > .rsn-home-feature { padding-top: 30px; }
}

/* v0.15.1 — verified masthead image sizing and clearer social marks. */
.rsn-header .rsn-masthead-top .rsn-masthead-art img {
  display: block;
  width: 550px !important;
  max-width: 100% !important;
  height: auto !important;
}
.rsn-header .rsn-masthead-social { gap: 21px; }
.rsn-header .rsn-masthead-social a,
.rsn-header .rsn-masthead-social .rsn-social-pending {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 32px; padding: 0; border: 0; border-radius: 0;
  font-size: 24px; line-height: 1; font-weight: 700;
  color: #182d44; background: transparent; text-decoration: none;
}
.rsn-header .rsn-masthead-social .rsn-social-pending { opacity: .55; cursor: default; }
.rsn-header .rsn-masthead-social a:hover,
.rsn-header .rsn-masthead-social a:focus-visible { color: #a32c32; }
@media (max-width: 760px) {
  .rsn-header .rsn-masthead-top .rsn-masthead-art img { width: 100% !important; }
  .rsn-header .rsn-masthead-social { gap: 17px; }
}


/* v0.16.0 — editorial homepage with a functional, restrained resources rail. */
.rsn-home > .rsn-home-below {
  box-sizing: border-box; width: 100% !important; max-width: none !important;
  margin: 0 auto !important; display: grid; grid-template-columns: minmax(0, 1fr) 300px;
  gap: clamp(32px, 4.5vw, 64px); align-items: start;
}
.rsn-home-below > .rsn-home-latest {
  box-sizing: border-box; min-width: 0; width: 100% !important;
  max-width: none !important; margin: 0 !important; padding-top: 39px;
}
.rsn-home-below .rsn-home-latest > .wp-block-query,
.rsn-home-below .rsn-home-latest .wp-block-post-template { width: 100% !important; max-width: none !important; }
.rsn-home-below > .rsn-home-sidebar {
  box-sizing: border-box; min-width: 0; width: 100% !important;
  max-width: none !important; margin: 0 !important; padding: 42px 0 48px;
}
.rsn-home-sidebar .rsn-side-section {
  box-sizing: border-box; width: 100% !important; max-width: none !important;
  margin: 0 0 30px !important; padding: 0 0 26px;
  border-bottom: 1px solid var(--rsn-rule, #dedbd4);
}
.rsn-home-sidebar .rsn-side-section > * { margin-block-start: 0; }
.rsn-home-sidebar .rsn-side-section h3 {
  margin: 0 0 11px; color: #182d44;
  font: 600 21px/1.2 'RSN Editorial Serif', Georgia, serif;
}
.rsn-home-sidebar .rsn-side-section p {
  margin: 0 0 10px; color: #596570;
  font: 400 15px/1.5 'RSN Editorial Serif', Georgia, serif;
}
.rsn-home-sidebar .rsn-side-section .rsn-side-link { margin: 13px 0 0; font: 650 12px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.rsn-home-sidebar .rsn-side-link a { color: #a32c32; text-decoration: none; }
.rsn-home-sidebar .rsn-side-link a:hover { text-decoration: underline; }
.rsn-home-sidebar .rsn-side-live { background: #f2f0eb; padding: 21px 20px 22px; border-top: 3px solid #a32c32; border-bottom: 0; }
.rsn-home-sidebar .rsn-side-live .rsn-side-eyebrow { color: #a32c32; font: 700 10px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 9px; }
.rsn-home-sidebar .wp-block-search { margin: 10px 0 0; }
.rsn-home-sidebar .wp-block-search__inside-wrapper { border: 1px solid #d3d4d1; background: #fff; padding: 3px 5px 3px 9px; }
.rsn-home-sidebar .wp-block-search__input { min-width: 0; width: 100%; font-size: 13px; background: transparent; border: 0; }
.rsn-home-sidebar .wp-block-search__button { margin: 0; background: #182d44; color: #fff; border: 0; padding: 8px; }
@media (max-width: 820px) {
  .rsn-home > .rsn-home-below { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .rsn-home-below > .rsn-home-latest { padding-bottom: 24px; }
  .rsn-home-below > .rsn-home-sidebar { padding-top: 10px; border-top: 1px solid var(--rsn-rule, #dedbd4); }
  .rsn-home-sidebar .rsn-side-section { margin-bottom: 22px !important; }
}

/* v0.17.0 — article-page editorial grid; body remains a readable column. */
.rsn-single-main { box-sizing: border-box; width: min(calc(100% - 48px), 1100px) !important; max-width: 1100px !important; margin-inline: auto !important; padding: 48px 0 76px; }
.rsn-single-main > .rsn-single-grid { display: grid; grid-template-columns: minmax(0, 700px) minmax(0, 300px); column-gap: clamp(38px, 5vw, 76px); align-items: start; width: 100% !important; max-width: none !important; margin: 0 !important; }
.rsn-single-grid > .rsn-single-story { min-width: 0; width: 100% !important; max-width: none !important; margin: 0 !important; }
.rsn-single-grid > .rsn-single-sidebar { min-width: 0; width: 100% !important; max-width: none !important; padding-top: 5px; }
.rsn-single-story .rsn-article-title { margin-top: 12px; }
.rsn-single-story .wp-block-post-date { margin: 0 0 28px !important; font: 400 13px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.rsn-single-story .rsn-article-content { margin-top: 0; }
.rsn-single-story .rsn-article-content > :first-child { margin-top: 0; }
.rsn-single-story .rsn-article-content figure.wp-block-image { margin: 1.5em auto 1.4em; max-width: 100%; }
.rsn-single-story .rsn-article-content figure.wp-block-image img { display: block; max-width: 100%; height: auto; }
.rsn-single-story .rsn-article-content figcaption,
.rsn-single-story .rsn-article-content .wp-element-caption { font: 400 13px/1.45 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important; color: #66717b; margin: 7px 0 0 !important; text-align: left; }
.rsn-single-story .rsn-article-content figcaption a { color: #a32c32; }
/* The shared sidebar has the same editorial treatments as the homepage rail. */
.rsn-single-sidebar .rsn-side-section { box-sizing: border-box; margin: 0 0 30px !important; padding: 0 0 26px; border-bottom: 1px solid var(--rsn-rule); }
.rsn-single-sidebar .rsn-side-section h3 { font: 600 21px/1.2 'RSN Editorial Serif',Georgia,serif; color: #182d44; margin: 0 0 11px; }
.rsn-single-sidebar .rsn-side-section p { font: 400 15px/1.5 'RSN Editorial Serif',Georgia,serif; color: #596570; margin: 0 0 10px; }
.rsn-single-sidebar .rsn-side-section .rsn-side-link { font: 650 12px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.rsn-single-sidebar .rsn-side-link a { color: #a32c32; text-decoration: none; }
.rsn-single-sidebar .rsn-side-live { background: #f2f0eb; border-top: 3px solid #a32c32; border-bottom: 0; padding: 21px 20px 22px; }
.rsn-single-sidebar .rsn-side-live .rsn-side-eyebrow { color: #a32c32; font: 700 10px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; text-transform: uppercase; letter-spacing: .12em; }
.rsn-single-sidebar .wp-block-search__inside-wrapper { border: 1px solid #d3d4d1; background: #fff; padding: 3px 5px 3px 9px; }
.rsn-single-sidebar .wp-block-search__input { min-width: 0; font-size: 13px; border: 0; }
.rsn-single-sidebar .wp-block-search__button { margin: 0; background: #182d44; color: #fff; border: 0; padding: 8px; }
@media (max-width: 860px) {
  .rsn-single-main { width: calc(100% - 36px) !important; padding-top: 32px; }
  .rsn-single-main > .rsn-single-grid { grid-template-columns: minmax(0, 1fr); }
  .rsn-single-grid > .rsn-single-sidebar { border-top: 1px solid var(--rsn-rule); margin-top: 48px !important; padding-top: 30px; }
}
@media (max-width: 650px) {
  .rsn-single-story .rsn-article-title { font-size: clamp(2.1rem, 9vw, 3rem) !important; }
  .rsn-single-story .rsn-article-content figure.wp-block-image { margin: 1.15em auto 1.1em; }
  .rsn-single-story .rsn-article-content figcaption,
  .rsn-single-story .rsn-article-content .wp-element-caption { font-size: 13px !important; }
}

/* 0.18.0 — shared editorial grid: one left datum across masthead, feature, feed, articles and archives. */
:root { --rsn-editorial-grid: 1100px; --rsn-editorial-gutter: 24px; --rsn-rail-width: 300px; --rsn-editorial-gap: 56px; }
.rsn-header > .rsn-masthead-top,
.rsn-header .rsn-masthead-nav-band > .rsn-masthead-nav-inner,
.rsn-home.alignwide,
.rsn-single-main,
.rsn-archive-main,
.rsn-page-main,
.rsn-footer > .wp-block-group {
  box-sizing: border-box !important;
  width: min(calc(100% - 2 * var(--rsn-editorial-gutter)), var(--rsn-editorial-grid)) !important;
  max-width: var(--rsn-editorial-grid) !important;
  margin-left: auto !important; margin-right: auto !important;
  padding-left: 0 !important; padding-right: 0 !important;
}
/* Neutralize Gutenberg's content-size centering on editorial first-level children. */
.rsn-home > .rsn-home-feature,
.rsn-home > .rsn-home-below,
.rsn-single-main > .rsn-single-grid,
.rsn-archive-main > .rsn-archive-grid,
.rsn-page-main > .rsn-page-content {
  width: 100% !important; max-width: none !important;
  margin-left: 0 !important; margin-right: 0 !important;
}
.rsn-home .rsn-home-eyebrow { width: 100% !important; max-width: none !important; margin-left: 0 !important; text-align: left !important; }
.rsn-home-feature > .wp-block-query { margin-left: 0 !important; margin-right: 0 !important; }
.rsn-home-feature .rsn-feature-copy { margin-left: 0 !important; margin-right: 0 !important; }
.rsn-home > .rsn-home-below,
.rsn-single-main > .rsn-single-grid,
.rsn-archive-main > .rsn-archive-grid {
  display: grid; grid-template-columns: minmax(0, 1fr) var(--rsn-rail-width);
  gap: var(--rsn-editorial-gap); align-items: start;
}
.rsn-home-below > .rsn-home-latest,
.rsn-single-grid > .rsn-single-story,
.rsn-archive-grid > .rsn-archive-feed { min-width: 0; width: 100% !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.rsn-home-below > .rsn-home-latest { padding-left: 0 !important; }
.rsn-home-below > .rsn-home-sidebar,
.rsn-single-grid > .rsn-single-sidebar,
.rsn-archive-grid > .rsn-archive-sidebar { width: 100% !important; max-width: none !important; margin: 0 !important; min-width: 0; }
.rsn-archive-main { padding-top: 48px; padding-bottom: 65px; }
.rsn-archive-heading { margin: 0 0 28px !important; }
.rsn-archive-eyebrow { color: #a32c32; text-transform: uppercase; letter-spacing: .12em; font: 700 11px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; margin: 0 0 9px !important; }
.rsn-archive-title { font: 600 clamp(2.4rem,4vw,3.5rem)/1.12 'RSN Editorial Serif',Georgia,serif; color: #182d44; letter-spacing: -.035em; margin: 0 0 14px !important; }
.rsn-archive-description { color: #596570; font-size: 17px; line-height: 1.5; }
.rsn-archive-feed .wp-block-post-template { margin: 0; padding: 0; }
.rsn-archive-feed .wp-block-post-template > li { display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; padding: 23px 0; border-bottom: 1px solid var(--rsn-rule); }
.rsn-archive-feed .wp-block-post-template > li:has(.rsn-archive-image img) { grid-template-columns: 116px minmax(0,1fr); }
.rsn-archive-image { margin: 0; }
.rsn-archive-image img { width: 116px; height: 90px; object-fit: cover; display: block; }
.rsn-archive-copy { min-width: 0; margin: 0 !important; }
.rsn-archive-copy .wp-block-post-date { color: #66717b; font: 400 12px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.rsn-archive-copy .wp-block-post-title { font: 600 24px/1.2 'RSN Editorial Serif',Georgia,serif; margin: 4px 0 7px; }
.rsn-archive-copy .wp-block-post-title a { text-decoration: none; }
.rsn-archive-copy .wp-block-post-excerpt { font-size: 16px; line-height: 1.5; margin: 0; }
.rsn-archive-copy .wp-block-post-excerpt p { margin: 0; }
.rsn-archive-feed .wp-block-query-pagination { margin-top: 26px; gap: 16px; font: 600 13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.rsn-archive-feed .wp-block-query-pagination a { color: #a32c32; }
.rsn-related { margin-top: 46px; border-top: 1px solid var(--rsn-rule); padding-top: 24px; }
.rsn-related h2 { font: 600 25px/1.2 'RSN Editorial Serif',Georgia,serif; margin: 0 0 18px; color: #182d44; }
.rsn-related-list { list-style: none; margin: 0; padding: 0; }
.rsn-related-list li { padding: 11px 0; border-bottom: 1px solid var(--rsn-rule); }
.rsn-related-list a { color: #182d44; font: 600 19px/1.3 'RSN Editorial Serif',Georgia,serif; text-decoration: none; }
.rsn-related-list a:hover { color: #a32c32; text-decoration: underline; }
.rsn-related-list time { display: block; color: #66717b; font: 400 12px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; margin-top: 3px; }
.rsn-page-main { padding-top: 52px; padding-bottom: 70px; }

/* Standard pages use the editorial two-column grid. */
.rsn-page-main > .rsn-page-grid {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

.rsn-page-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--rsn-rail-width);
  gap: var(--rsn-editorial-gap);
  align-items: start;
}

.rsn-page-grid > .rsn-page-story {
  min-width: 0;
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

.rsn-page-grid > .rsn-page-sidebar {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  min-width: 0;
}

/* Keep page titles and content aligned within the story column. */
.rsn-page-story > .wp-block-post-title,
.rsn-page-story > .wp-block-post-content {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Give standard page titles appropriate editorial prominence. */
.rsn-page-story > .wp-block-post-title {
  font-size: clamp(2.5rem, 4vw, 3.5rem);
  line-height: 1.12;
  letter-spacing: -0.025em;
}

/* The live-stats card already has its own red top border. */
.rsn-home-sidebar .rsn-side-section:has(+ .rsn-side-live),
.rsn-single-sidebar .rsn-side-section:has(+ .rsn-side-live),
.rsn-page-sidebar .rsn-side-section:has(+ .rsn-side-live) {
  border-bottom: 0;
}

/* Prevent Gutenberg from recentering page-content blocks. */
.rsn-page-story > .wp-block-post-content.is-layout-constrained
  > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* Collapse to a single column on narrower screens. */
@media (max-width: 860px) {
  .rsn-page-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }

  .rsn-page-grid > .rsn-page-sidebar {
    border-top: 1px solid var(--rsn-rule);
    padding-top: 24px;
  }
}

@media (max-width: 860px) {
  :root { --rsn-editorial-gutter: 18px; }
  .rsn-home > .rsn-home-below,
  .rsn-single-main > .rsn-single-grid,
  .rsn-archive-main > .rsn-archive-grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .rsn-archive-main { padding-top: 32px; }
  .rsn-archive-grid > .rsn-archive-sidebar { border-top: 1px solid var(--rsn-rule); padding-top: 24px; }
}
@media (max-width: 650px) {
  .rsn-archive-feed .wp-block-post-template > li:has(.rsn-archive-image img) { grid-template-columns: 86px minmax(0,1fr); gap: 12px; }
  .rsn-archive-image img { width: 86px; height: 78px; }
  .rsn-archive-copy .wp-block-post-title { font-size: 21px; }
  .rsn-archive-copy .wp-block-post-excerpt { font-size: 14px; }
}


/* 0.19.0 — enforce a single LEFT datum, including Gutenberg constrained children.
   Gutenberg's .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull))
   adds auto margins/max-width even when an ancestor is 1100px wide. */
:root { --rsn-editorial-grid: 1100px; --rsn-editorial-gutter: 24px; }
/* Shared outer containers: same left/right boundaries at every breakpoint. */
body .rsn-header > .rsn-masthead-top,
body .rsn-header .rsn-masthead-nav-band > .rsn-masthead-nav-inner,
body main.rsn-home,
body main.rsn-single-main,
body main.rsn-archive-main,
body main.rsn-page-main {
  box-sizing: border-box !important;
  width: min(1100px, calc(100% - 2 * var(--rsn-editorial-gutter))) !important;
  max-width: 1100px !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}
/* The masthead shortcode wrapper must not inherit Gutenberg's 700px content limit. */
body .rsn-masthead-top > .wp-block-shortcode,
body .rsn-masthead-top > .wp-block-shortcode:first-child,
body .rsn-masthead-top .rsn-masthead-art,
body .rsn-masthead-top .rsn-masthead-art a {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body .rsn-masthead-top > .wp-block-shortcode:first-child {
  flex: 0 1 550px !important;
  width: min(550px, 100%) !important;
  max-width: 550px !important;
}
/* Navigation is deliberately left-aligned with the logo and story, not inset. */
body .rsn-masthead-nav-inner > .wp-block-navigation,
body .rsn-masthead-nav-inner > .wp-block-navigation__responsive-container {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body .rsn-masthead-nav-inner .wp-block-navigation__container { justify-content: flex-start !important; }
/* Neutralize Gutenberg's constrained-layout centering at every homepage level. */
body .rsn-home > .rsn-home-feature,
body .rsn-home > .rsn-home-below,
body .rsn-home-feature > .wp-block-query,
body .rsn-home-feature .wp-block-post-template,
body .rsn-home-feature .rsn-feature-copy,
body .rsn-home-below > .rsn-home-latest,
body .rsn-home-latest > .wp-block-query,
body .rsn-home-latest .wp-block-post-template,
body .rsn-home-latest .rsn-latest-copy {
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  max-width: none !important;
}
body .rsn-home > .rsn-home-feature,
body .rsn-home > .rsn-home-below,
body .rsn-home-feature > .wp-block-query,
body .rsn-home-feature .wp-block-post-template,
body .rsn-home-below > .rsn-home-latest,
body .rsn-home-latest > .wp-block-query,
body .rsn-home-latest .wp-block-post-template { width: 100% !important; }
/* The heading and unillustrated entries start at the same x-coordinate as the feature. */
body .rsn-home-latest > .rsn-home-section-title,
body .rsn-home-latest .wp-block-post-template > li,
body .rsn-home-latest .wp-block-post-template > li:not(:has(.rsn-latest-image img)) > .rsn-latest-copy {
  margin-left: 0 !important;
  padding-left: 0 !important;
}
body .rsn-home-latest .wp-block-post-template > li {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
}
/* Post image aligns to the datum; only the copy beside it is inset by the grid. */
body .rsn-home-latest .rsn-latest-image { margin-left: 0 !important; }
/* Keep single-page reading-column alignment, without moving the sidebar. */
body .rsn-single-grid > .rsn-single-story,
body .rsn-archive-grid > .rsn-archive-feed,
body .rsn-single-story > .rsn-article-title,
body .rsn-archive-feed > .wp-block-query {
  margin-left: 0 !important;
  padding-left: 0 !important;
}
@media (max-width: 860px) {
  :root { --rsn-editorial-gutter: 18px; }
  body .rsn-masthead-top > .wp-block-shortcode:first-child { flex: 1 1 auto !important; }
}


/* 0.20.0 — structural left-datum fix. All desktop regions use the same
   centered 1100px shell; content within the shell starts at its left edge. */
:root { --rsn-shell: 1100px; }
body .rsn-header > .rsn-masthead-top,
body .rsn-header .rsn-masthead-nav-band > .rsn-masthead-nav-inner,
body main.rsn-home,
body main.rsn-single-main,
body main.rsn-archive-main,
body main.rsn-page-main {
  width: min(var(--rsn-shell), calc(100% - 2 * var(--rsn-editorial-gutter))) !important;
  max-width: var(--rsn-shell) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
  box-sizing: border-box !important;
}
/* Shortcode output can be wrapped in a paragraph by the block renderer.
   Reset that wrapper as well as the shortcode's own anchor. */
body .rsn-masthead-top > :first-child,
body .rsn-masthead-top > :first-child > p,
body .rsn-masthead-top > :first-child .rsn-masthead-art,
body .rsn-masthead-top > :first-child .rsn-masthead-art img {
  margin-inline: 0 !important;
  padding-inline: 0 !important;
  text-indent: 0 !important;
}
body .rsn-masthead-top > :first-child { min-width: 0; }
body .rsn-masthead-top .rsn-masthead-art { display: block; }
body .rsn-masthead-top .rsn-masthead-art img { display: block; height: auto; }
/* Explicit grid placement avoids constrained-layout auto margins on the
   navigation, feature post, and latest-articles list. */
body .rsn-masthead-nav-inner > .wp-block-navigation {
  margin-inline: 0 !important;
  padding-inline: 0 !important;
  justify-content: flex-start !important;
}
body .rsn-home-feature > .wp-block-query,
body .rsn-home-feature .wp-block-post-template,
body .rsn-home-below,
body .rsn-home-latest,
body .rsn-home-latest > .wp-block-query,
body .rsn-home-latest .wp-block-post-template {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}
body .rsn-home-feature .wp-block-post-template > li,
body .rsn-home-latest .wp-block-post-template > li {
  margin-inline: 0 !important;
  padding-inline: 0 !important;
  max-width: none !important;
  box-sizing: border-box;
}
body .rsn-home-feature .rsn-feature-copy,
body .rsn-home-latest > .rsn-home-section-title,
body .rsn-home-latest .rsn-latest-copy {
  margin-left: 0 !important;
  padding-left: 0 !important;
}
/* Preserve the intentional inset for text beside a thumbnail; unillustrated
   entries have no phantom image column. */
body .rsn-home-latest .wp-block-post-template > li:not(:has(.rsn-latest-image img)) {
  grid-template-columns: minmax(0, 1fr) !important;
}
/* Reading column is narrower by design but shares the shell's left edge. */
body .rsn-single-grid > .rsn-single-story,
body .rsn-archive-grid > .rsn-archive-feed {
  margin-left: 0 !important;
  padding-left: 0 !important;
}
@media (max-width: 860px) {
  body .rsn-home-below,
  body .rsn-single-grid,
  body .rsn-archive-grid { grid-template-columns: minmax(0, 1fr) !important; }
}

/* 0.20.1 — Empty featured-image blocks must not consume a grid cell.
   Gutenberg may render an empty figure even when a post has no thumbnail. */
body .rsn-home-latest .wp-block-post-template > li:not(:has(.rsn-latest-image img)) > .rsn-latest-image {
  display: none !important;
}
body .rsn-home-latest .wp-block-post-template > li:not(:has(.rsn-latest-image img)) > .rsn-latest-copy {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  justify-self: stretch !important;
  width: 100% !important;
}


/* 0.20.2 — Text-only latest posts: avoid a ghost grid track and Gutenberg's
   constrained-block auto margins. The entire row becomes normal block flow. */
body .rsn-home-latest .wp-block-post-template > li:not(:has(.rsn-latest-image img)) {
  display: block !important;
  grid-template-columns: none !important;
  column-gap: 0 !important;
  padding-inline: 0 !important;
  text-indent: 0 !important;
}
body .rsn-home-latest .wp-block-post-template > li:not(:has(.rsn-latest-image img)) > .rsn-latest-image {
  display: none !important;
}
body .rsn-home-latest .wp-block-post-template > li:not(:has(.rsn-latest-image img)) > .rsn-latest-copy {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
  transform: none !important;
  position: static !important;
}
body .rsn-home-latest .wp-block-post-template > li:not(:has(.rsn-latest-image img)) > .rsn-latest-copy > * {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
}

/* 0.20.3 — Single-article left datum. WordPress constrained post-content
   layout gives direct children automatic inline margins; eliminate the
   extra inset without changing the reading-column width or sidebar. */
body .rsn-single-story > .rsn-article-content,
body .rsn-single-story > .rsn-article-title,
body .rsn-single-story > .wp-block-post-date,
body .rsn-single-story > .rsn-single-categories,
body .rsn-single-story > .rsn-article-deck {
  margin-left: 0 !important;
  padding-left: 0 !important;
}
body .rsn-single-story .rsn-article-content {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}
body .rsn-single-story .rsn-article-content > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/* Preserve intentional figure centering, but don't add a text inset. */
body .rsn-single-story .rsn-article-content > figure.wp-block-image {
  margin-left: 0 !important;
}


/* 0.21.0 — editorial pull quotes. Native, editable block patterns.
   Floating patterns must be placed BETWEEN paragraphs, not inside one. */
.rsn-article-content > .rsn-pullquote,
.editor-styles-wrapper .rsn-pullquote {
  box-sizing: border-box;
  max-width: none;
  clear: none;
}
.rsn-article-content .rsn-pullquote,
.editor-styles-wrapper .rsn-pullquote {
  border: 0;
  padding: 0;
  background: transparent;
}
.rsn-article-content .rsn-pullquote blockquote,
.editor-styles-wrapper .rsn-pullquote blockquote {
  margin: 0;
  border: 0;
  padding: 0;
  background: transparent;
}
.rsn-article-content .rsn-pullquote blockquote p,
.editor-styles-wrapper .rsn-pullquote blockquote p {
  font-family: "RSN Editorial Serif", Georgia, serif;
  color: #192e43;
  font-size: clamp(1.45rem, 2.3vw, 1.9rem);
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: -.018em;
  margin: 0 0 .5em;
}
.rsn-article-content .rsn-pullquote blockquote cite,
.editor-styles-wrapper .rsn-pullquote blockquote cite {
  display: block;
  color: #66727d;
  font: normal 600 .72rem/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: .045em;
}
.rsn-article-content > .rsn-pullquote-wide,
.editor-styles-wrapper .rsn-pullquote-wide {
  float: none;
  clear: both;
  width: 100%;
  margin: 2.15em 0 2.2em !important;
  padding: 1.15em 0 1.1em !important;
  border-top: 2px solid #a32c32;
  border-bottom: 1px solid #dedbd4;
}
.rsn-article-content .rsn-pullquote-wide blockquote p,
.editor-styles-wrapper .rsn-pullquote-wide blockquote p {
  font-size: clamp(1.7rem, 3vw, 2.35rem);
}
.rsn-article-content > .rsn-pullquote-left,
.rsn-article-content > .rsn-pullquote-right,
.editor-styles-wrapper .rsn-pullquote-left,
.editor-styles-wrapper .rsn-pullquote-right {
  width: 37%;
  padding: .15em 0 .2em 1em !important;
  border-left: 3px solid #a32c32;
  margin-top: .3em !important;
  margin-bottom: 1.05em !important;
}
.rsn-article-content > .rsn-pullquote-left,
.editor-styles-wrapper .rsn-pullquote-left {
  float: left;
  margin-left: 0 !important;
  margin-right: 1.35em !important;
}
.rsn-article-content > .rsn-pullquote-right,
.editor-styles-wrapper .rsn-pullquote-right {
  float: right;
  margin-right: 0 !important;
  margin-left: 1.35em !important;
}
.rsn-article-content .rsn-pullquote-left blockquote p,
.rsn-article-content .rsn-pullquote-right blockquote p,
.editor-styles-wrapper .rsn-pullquote-left blockquote p,
.editor-styles-wrapper .rsn-pullquote-right blockquote p {
  font-size: clamp(1.3rem, 2vw, 1.6rem);
}
/* Keep the floating quote adjacent to body text; clear floats before
   major sections and media so they cannot collide with data displays. */
.rsn-article-content > :is(h2,h3,h4,.wp-block-table,.rsn-stat-summary) { clear: both; }
@media (max-width: 650px) {
  .rsn-article-content > .rsn-pullquote-left,
  .rsn-article-content > .rsn-pullquote-right {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    margin: 1.65em 0 !important;
    padding: .15em 0 .15em .85em !important;
  }
  .rsn-article-content > .rsn-pullquote-wide { margin-block: 1.7em !important; }
}

/* 0.21.1 — additional editorial breathing room around floating quotes.
   Scoped to the two floating patterns; full-width pattern is unchanged. */
@media (min-width: 651px) {
  .rsn-article-content > .rsn-pullquote-left,
  .editor-styles-wrapper .rsn-pullquote-left {
    margin-right: 32px !important;
    margin-bottom: 1.4em !important;
  }
  .rsn-article-content > .rsn-pullquote-right,
  .editor-styles-wrapper .rsn-pullquote-right {
    margin-left: 32px !important;
    margin-bottom: 1.4em !important;
  }
  .rsn-article-content .rsn-pullquote-left blockquote p,
  .rsn-article-content .rsn-pullquote-right blockquote p,
  .editor-styles-wrapper .rsn-pullquote-left blockquote p,
  .editor-styles-wrapper .rsn-pullquote-right blockquote p {
    font-size: clamp(1.25rem, 1.8vw, 1.45rem);
    line-height: 1.32;
  }
}

/* 0.21.2 — stronger separation between floating pull quotes and article copy.
   Explicit physical margins override WordPress block-layout defaults. */
@media (min-width: 651px) {
  body .rsn-single-story .rsn-article-content > .rsn-pullquote-right {
    margin-left: 52px !important;
    margin-right: 0 !important;
  }
  body .rsn-single-story .rsn-article-content > .rsn-pullquote-left {
    margin-right: 44px !important;
    margin-left: 0 !important;
  }
}

/* 0.22.0 — article-to-article navigation below the story. */
.rsn-single-story .rsn-article-navigation {
  clear: both;
  margin: 30px 0 0 !important;
  padding: 23px 0 6px;
  border-top: 1px solid #dedbd4;
}
.rsn-single-story .rsn-article-navigation-pair {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 28px;
  align-items: start;
}
.rsn-single-story .rsn-article-navigation-pair > .wp-block-group {
  min-width: 0;
  margin: 0 !important;
}
.rsn-single-story .rsn-article-nav-next { text-align: right; }
.rsn-single-story .rsn-article-nav-label {
  margin: 0 0 8px !important;
  color: #a32c32;
  font: 700 11px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.rsn-single-story .rsn-article-navigation .post-navigation-link-previous,
.rsn-single-story .rsn-article-navigation .post-navigation-link-next {
  display: block;
  margin: 0;
  font: 600 clamp(17px,2vw,21px)/1.3 "RSN Editorial Serif",Georgia,serif;
}
.rsn-single-story .rsn-article-navigation a {
  color: #182d44;
  text-decoration: none;
}
.rsn-single-story .rsn-article-navigation a:hover,
.rsn-single-story .rsn-article-navigation a:focus-visible {
  color: #a32c32;
  text-decoration: underline;
}
@media (max-width: 650px) {
  .rsn-single-story .rsn-article-navigation-pair { grid-template-columns: 1fr; gap: 20px; }
  .rsn-single-story .rsn-article-nav-next { text-align: left; }
}

/* v0.23.0 — consistent editorial metadata across article surfaces. */
.rsn-post-meta {
  display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 7px; row-gap: 2px;
  color: #5e6e7b; font: 500 11px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing: .01em;
}
.rsn-post-meta a.rsn-meta-category {
  color: #a32c32; font-weight: 700; text-decoration: none;
}
.rsn-post-meta a.rsn-meta-category:hover { text-decoration: underline; }
.rsn-post-meta .rsn-meta-separator { color: #a4aab0; }
.rsn-post-meta--single { margin: 0 0 26px !important; font-size: 13px; }
.rsn-home-feature .rsn-post-meta { margin: 6px 0 5px !important; }
.rsn-archive-feed .rsn-post-meta {
  margin: 0 0 5px !important;
}

.rsn-home-latest .rsn-post-meta--compact {
  margin: 0 !important;
  font-size: 12px;
  line-height: 1.4;
  color: #5e6e7b;
}

@media (max-width: 650px) {
  .rsn-post-meta { column-gap: 5px; }
}

/* 0.23.1 — consistent article-end alignment and distinct recommendations label. */
.rsn-single-story > .rsn-article-navigation {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
  box-sizing: border-box;
}
.rsn-single-story > .rsn-article-navigation > .rsn-article-navigation-pair {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}
.rsn-single-story .rsn-related h2 {
  margin: 0 0 19px;
  color: #182d44;
  font: 700 12px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* 0.23.2 — uncluttered article footer; align navigation with reading-column rule.
   The single-story wrapper is wider than the constrained post-content blocks. */
body .rsn-single-story > .rsn-article-navigation {
  width: min(100%, var(--wp--style--global--content-size, 700px)) !important;
  max-width: min(100%, var(--wp--style--global--content-size, 700px)) !important;
  margin: 16px auto 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
body .rsn-single-story > .rsn-article-navigation > .rsn-article-navigation-pair {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body .rsn-single-story .rsn-related {
  border-top: 0 !important;
  margin-top: 28px !important;
  padding-top: 0 !important;
}

/* 0.24.0 — browse and search discovery, scoped to archives. */
.rsn-category-browse { margin: 24px 0 10px; }
.rsn-category-browse-label { display:block; color:#182d44; font:700 11px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; letter-spacing:.13em; text-transform:uppercase; margin-bottom:11px; }
.rsn-category-browse ul { display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0; list-style:none; }
.rsn-category-browse li { margin:0; padding:0; }
.rsn-category-browse a { display:inline-block; border:1px solid var(--rsn-rule); padding:6px 11px; color:#182d44; text-decoration:none; font:600 12px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.rsn-category-browse a:hover,.rsn-category-browse a:focus-visible { color:#a32c32; border-color:#a32c32; }
.rsn-archive-heading .rsn-category-browse { margin-top:21px; }
.rsn-search-intro { color:#596570; margin-top:0; }
.rsn-archive-feed .wp-block-query-no-results { padding:24px 0; }
.rsn-archive-feed .wp-block-query-no-results .wp-block-search { max-width:420px; margin:18px 0; }
@media(max-width:600px){.rsn-category-browse ul{gap:6px}.rsn-category-browse a{padding:6px 9px}}

/* 0.26.0 — masthead, navigation, archive links, and publication footer. */
body .rsn-header > .rsn-masthead-top { padding-block: 12px 10px !important; }
body .rsn-header .rsn-masthead-nav-inner { min-height: 47px; }
body .rsn-header .rsn-masthead-nav-inner .wp-block-navigation-item__content {
  position: relative; padding-block: 13px 12px;
  color: #182d44; font-size: 14px; font-weight: 700;
  letter-spacing: .012em; text-decoration: none;
}
body .rsn-header .rsn-masthead-nav-inner .wp-block-navigation__container { gap: 35px; }
body .rsn-header .rsn-masthead-nav-inner .wp-block-navigation-item__content:hover,
body .rsn-header .rsn-masthead-nav-inner .wp-block-navigation-item__content:focus-visible,
body .rsn-header .rsn-masthead-nav-inner .current-menu-item > .wp-block-navigation-item__content,
body .rsn-header .rsn-masthead-nav-inner .current-menu-ancestor > .wp-block-navigation-item__content { color: #a32c32; }
body .rsn-header .rsn-masthead-nav-inner .current-menu-item > .wp-block-navigation-item__content::after,
body .rsn-header .rsn-masthead-nav-inner .current-menu-ancestor > .wp-block-navigation-item__content::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0;
  height: 3px; background: #b32b36;
}
/* Article archive titles are headings, not calls to action. */
body .rsn-archive-feed .rsn-archive-copy .wp-block-post-title a,
body .rsn-archive-feed .wp-block-post-title a { color: #182d44; }
body .rsn-archive-feed .wp-block-post-title a:hover,
body .rsn-archive-feed .wp-block-post-title a:focus-visible { color: #a32c32; }
/* Footer intentionally uses a full-bleed navy field and a shared 1100px datum. */
body .rsn-footer.wp-block-group {
  background: #182d44 !important; color: #f5f2eb !important;
  border: 0 !important; margin-top: 78px !important;
  padding: 34px var(--rsn-editorial-gutter) 28px !important;
}
body .rsn-footer > .rsn-footer-inner {
  width: min(100%, var(--rsn-editorial-grid)) !important;
  max-width: var(--rsn-editorial-grid) !important;
  margin: 0 auto !important; padding: 0 !important;
}
.rsn-footer-top { display: flex; justify-content: space-between; align-items: start; gap: 30px; }
.rsn-footer-brand { margin: 0; font: 750 20px/1.1 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; letter-spacing: -.035em; color: #fff; }
.rsn-footer-brand span { color: #f0a2a7; }
.rsn-footer-description { margin: 7px 0 0; font: 400 13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color: #c3ced6; }
.rsn-footer-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap: 10px 24px; margin: 3px 0 0; font: 650 13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
body .rsn-footer a { color: #f5f2eb; text-decoration: none; }
body .rsn-footer a:hover,body .rsn-footer a:focus-visible { color: #fff; text-decoration: underline; }
.rsn-footer-bottom { border-top: 1px solid rgba(255,255,255,.18); margin-top: 27px; padding-top: 16px; font: 400 12px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color: #c3ced6; }
@media (max-width: 760px) {
  body .rsn-header > .rsn-masthead-top { padding-block: 11px 9px !important; }
  body .rsn-header .rsn-masthead-nav-inner .wp-block-navigation__container { gap: 19px; }
  body .rsn-footer.wp-block-group { padding-block: 30px 25px !important; }
  .rsn-footer-top { flex-direction: column; gap: 20px; }
  .rsn-footer-links { justify-content: flex-start; }
}

/* 0.27.0 — publication-green footer and a genuinely defined navigation band. */
body .rsn-header .rsn-masthead-nav-band { background: #e8ede8 !important; border-top: 1px solid #d4dcd5 !important; border-bottom: 1px solid #cbd6cd !important; }
body .rsn-header .rsn-masthead-nav-inner { min-height: 54px !important; }
body .rsn-header .rsn-masthead-nav-inner .wp-block-navigation-item__content { padding: 16px 0 15px !important; font-size: 14px !important; font-weight: 750 !important; letter-spacing: .025em !important; }
body .rsn-header .rsn-masthead-nav-inner .wp-block-navigation__container { gap: 38px !important; }
body .rsn-header .rsn-masthead-nav-inner .current-menu-item > .wp-block-navigation-item__content::after,
body .rsn-header .rsn-masthead-nav-inner .current-menu-ancestor > .wp-block-navigation-item__content::after { bottom: -1px !important; height: 3px !important; }
body .rsn-footer.wp-block-group { background: #173e34 !important; padding: 38px var(--rsn-editorial-gutter) 30px !important; }
body .rsn-footer > .rsn-footer-inner { width: min(100%, var(--rsn-editorial-grid)) !important; max-width: var(--rsn-editorial-grid) !important; margin-inline: auto !important; }
.rsn-footer-brand-image { display: block; width: 198px; max-width: 100%; height: auto; }
.rsn-footer-description { color: #d6e3dc !important; font-size: 13px !important; margin-top: 10px !important; }
.rsn-footer-bottom { color: #bcd0c5 !important; border-top-color: rgba(255,255,255,.25) !important; }
.rsn-footer-links { max-width: 430px; row-gap: 12px !important; }
body .rsn-footer a { color: #f4f6f0 !important; }
body .rsn-footer a:hover { color: #fff !important; }
/* Explicitly target archive/search headings and links, including direct Query Loop children. */
body .rsn-archive-main .wp-block-post-title a,
body .rsn-archive-main .wp-block-post-title a:link,
body .rsn-archive-main .wp-block-post-title a:visited { color: #182d44 !important; }
body .rsn-archive-main .wp-block-post-title a:hover,
body .rsn-archive-main .wp-block-post-title a:focus-visible { color: #b32b36 !important; }
@media (max-width: 760px) {
 body .rsn-header .rsn-masthead-nav-inner .wp-block-navigation__container { gap: 21px !important; }
 body .rsn-footer.wp-block-group { padding: 30px var(--rsn-editorial-gutter) 26px !important; }
}

/* 0.28.0 — user-supplied outlined Sackers wordmark; red footer on the shared shell. */
body .rsn-footer.wp-block-group {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding: 42px 0 30px !important;
  background: #b32b36 !important;
}
/* Explicitly override nested Gutenberg constrained width and the old 700px
   content-size rule. This datum matches masthead, home and archive shells. */
body .rsn-footer.wp-block-group > .rsn-footer-inner.wp-block-group {
  box-sizing: border-box !important;
  display: block !important;
  width: min(var(--rsn-shell, 1100px), calc(100% - 2 * var(--rsn-editorial-gutter, 24px))) !important;
  max-width: var(--rsn-shell, 1100px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
}
body .rsn-footer .rsn-footer-brand-image {
  display: block;
  width: 272px; /* artboard widened for ™; keeps original letter size */
  height: auto;
  max-width: 100%;
}
body .rsn-footer .rsn-footer-description,
body .rsn-footer .rsn-footer-bottom { color: rgba(255,255,255,.88) !important; }
body .rsn-footer .rsn-footer-bottom { border-top-color: rgba(255,255,255,.3) !important; }
@media (max-width: 760px) {
  body .rsn-footer.wp-block-group { padding: 32px 0 26px !important; }
  body .rsn-footer .rsn-footer-brand-image { width: 241px; }
}

/* 0.28.1 — Gutenberg constrains the nested HTML block to contentSize (700px).
   Let the footer's HTML fill its already-aligned 1100px editorial shell. */
body .rsn-footer > .rsn-footer-inner > .wp-block-html,
body .rsn-footer .rsn-footer-inner > .wp-block-html {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 0.28.2 — footer shell is now a direct HTML child of the full-width footer.
   Avoid Gutenberg's nested constrained groups, which kept centering at 700px. */
body .rsn-footer.wp-block-group { display: flow-root !important; }
body .rsn-footer > .wp-block-html { width: 100% !important; max-width: none !important; margin: 0 !important; }
body .rsn-footer .rsn-footer-shell {
  box-sizing: border-box !important;
  width: min(1100px, calc(100% - 48px)) !important;
  max-width: 1100px !important;
  margin-inline: auto !important;
  padding: 0 !important;
}

/* 0.29.0 — enlarged masthead, roomier mark/wordmark separation, unified tagline.
   Original Sackers vector wordmark remains untouched except for positioning;
   old outlined tagline removed from the SVG and replaced by accessible text. */
body .rsn-masthead-top > .wp-block-shortcode:first-child {
  flex: 0 1 650px !important; width: min(650px, 100%) !important; max-width: 650px !important;
}
body .rsn-header .rsn-masthead-top .rsn-masthead-art img { width: 650px !important; max-width: 100% !important; }
body .rsn-masthead-art { position: relative; }
body .rsn-masthead-new-tagline {
  position: absolute; left: 14.3%; bottom: 9%;
  font: 600 clamp(8px, 1vw, 12px)/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  letter-spacing: .09em; color: #101010; white-space: nowrap;
}
body .rsn-footer-bottom { letter-spacing: .065em; font-size: 11px !important; }
@media (max-width: 760px) {
  body .rsn-masthead-top > .wp-block-shortcode:first-child { flex: 1 1 100% !important; width: 100% !important; }
  body .rsn-header .rsn-masthead-top .rsn-masthead-art img { width: 100% !important; }
  body .rsn-masthead-new-tagline { font-size: clamp(6px, 1.7vw, 10px); letter-spacing: .035em; }
}

/* 0.30.0 — complete Affinity masthead with outlined Sackers tagline. */
body .rsn-masthead-top > .wp-block-shortcode:first-child {
  flex: 0 1 620px !important; width: min(620px, 100%) !important; max-width: 620px !important;
}
body .rsn-header .rsn-masthead-top .rsn-masthead-art img {
  width: 620px !important; max-width: 100% !important; height: auto !important;
}
body .rsn-masthead-new-tagline { display: none !important; }
@media (max-width: 760px) {
 body .rsn-masthead-top > .wp-block-shortcode:first-child { flex: 1 1 100% !important; width: 100% !important; }
 body .rsn-header .rsn-masthead-top .rsn-masthead-art img { width: 100% !important; }
}

/* 0.31.0 — a single-purpose brand row, with social destinations in the nav band. */
body .rsn-header > .rsn-masthead-top {
  padding-top: 27px !important;
  padding-bottom: 15px !important;
}
body .rsn-header .rsn-masthead-nav-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 22px !important;
  min-height: 52px !important;
}
body .rsn-header .rsn-masthead-nav-inner > .wp-block-navigation {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}
body .rsn-header .rsn-masthead-nav-inner > .wp-block-shortcode {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 0 0 auto !important;
}
body .rsn-header .rsn-masthead-nav-inner .rsn-masthead-social {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  margin: 0 !important;
}
body .rsn-header .rsn-masthead-nav-inner .rsn-masthead-social a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 27px !important;
  height: 34px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #182d44 !important;
  font-size: 18px !important;
  text-decoration: none !important;
}
body .rsn-header .rsn-masthead-nav-inner .rsn-masthead-social a:hover,
body .rsn-header .rsn-masthead-nav-inner .rsn-masthead-social a:focus-visible {
  color: #a32c32 !important;
  background: transparent !important;
  outline-offset: 3px;
}
@media (max-width: 760px) {
  body .rsn-header > .rsn-masthead-top { padding-top: 20px !important; padding-bottom: 12px !important; }
  body .rsn-header .rsn-masthead-nav-inner { gap: 12px !important; }
  body .rsn-header .rsn-masthead-nav-inner .rsn-masthead-social { gap: 7px !important; }
  body .rsn-header .rsn-masthead-nav-inner .rsn-masthead-social a { width: 24px !important; height: 34px !important; font-size: 16px !important; }
}
@media (max-width: 430px) {
  body .rsn-header .rsn-masthead-nav-inner { flex-wrap: wrap !important; padding-block: 7px !important; }
  body .rsn-header .rsn-masthead-nav-inner > .wp-block-navigation { flex: 1 1 100% !important; }
  body .rsn-header .rsn-masthead-nav-inner > .wp-block-shortcode { margin-left: 0 !important; }
  body .rsn-header .rsn-masthead-nav-inner .rsn-masthead-social { justify-content: flex-start !important; }
}

/* 0.31.1 — increase navigation legibility while retaining the two-band layout. */
body .rsn-header .rsn-masthead-nav-inner { min-height: 50px !important; }
body .rsn-header .rsn-masthead-nav-inner .wp-block-navigation-item__content {
  font-size: 14px !important;
  font-weight: 650 !important;
  padding-block: 14px !important;
}
body .rsn-header .rsn-masthead-nav-inner .wp-block-navigation__container { gap: 28px !important; }
body .rsn-header .rsn-masthead-nav-inner .rsn-masthead-social { gap: 20px !important; }
body .rsn-header .rsn-masthead-nav-inner .rsn-masthead-social a {
  font-size: 20px !important;
  width: 30px !important;
  height: 40px !important;
}
@media (max-width: 760px) {
  body .rsn-header .rsn-masthead-nav-inner .wp-block-navigation__container { gap: 18px !important; }
  body .rsn-header .rsn-masthead-nav-inner .rsn-masthead-social { gap: 9px !important; }
  body .rsn-header .rsn-masthead-nav-inner .rsn-masthead-social a {
    font-size: 18px !important; width: 27px !important; height: 38px !important;
  }
}

/* 0.31.2 — header scale and a single mobile navigation row.
   Explicit selectors also target the WordPress Navigation responsive button. */
body .rsn-header > .rsn-masthead-top { padding-top: 37px !important; }
body .rsn-header .rsn-masthead-nav-inner { min-height: 54px !important; }
body .rsn-header .rsn-masthead-nav-inner .wp-block-navigation-item__content,
body .rsn-header .rsn-masthead-nav-inner .wp-block-navigation-item__label {
  font-size: 16px !important; font-weight: 650 !important; line-height: 1.25 !important;
}
body .rsn-header .rsn-masthead-nav-inner .wp-block-navigation__container { gap: 32px !important; }
body .rsn-header .rsn-masthead-nav-inner .rsn-masthead-social { gap: 20px !important; }
body .rsn-header .rsn-masthead-nav-inner .rsn-masthead-social a {
  font-size: 22px !important; width: 32px !important; height: 42px !important;
}
@media (max-width: 760px) {
  body .rsn-header > .rsn-masthead-top { padding-top: 30px !important; }
  body .rsn-header .rsn-masthead-nav-inner {
    display: flex !important; flex-wrap: nowrap !important;
    flex-direction: row !important; justify-content: space-between !important;
    align-items: center !important; min-height: 50px !important;
    padding-block: 0 !important; gap: 12px !important;
  }
  body .rsn-header .rsn-masthead-nav-inner > .wp-block-navigation {
    flex: 0 0 auto !important; width: auto !important; min-width: 0 !important;
    max-width: none !important; margin: 0 !important;
  }
  body .rsn-header .rsn-masthead-nav-inner > .wp-block-shortcode {
    flex: 0 0 auto !important; width: auto !important; margin: 0 0 0 auto !important;
  }
  body .rsn-header .rsn-masthead-nav-inner .wp-block-navigation__responsive-container-open {
    display: flex; align-items: center; justify-content: center;
    min-width: 40px; min-height: 44px; padding: 8px !important;
  }
  body .rsn-header .rsn-masthead-nav-inner .rsn-masthead-social {
    justify-content: flex-end !important; gap: 9px !important;
  }
  body .rsn-header .rsn-masthead-nav-inner .rsn-masthead-social a {
    font-size: 19px !important; width: 27px !important; height: 42px !important;
  }
}
@media (max-width: 430px) {
  body .rsn-header .rsn-masthead-nav-inner { flex-wrap: nowrap !important; padding-block: 0 !important; }
  body .rsn-header .rsn-masthead-nav-inner > .wp-block-navigation { flex: 0 0 auto !important; width: auto !important; }
  body .rsn-header .rsn-masthead-nav-inner > .wp-block-shortcode { margin-left: auto !important; }
  body .rsn-header .rsn-masthead-nav-inner .rsn-masthead-social { justify-content: flex-end !important; }
}

/* 0.32.0 — editorial/data type hierarchy. Iosevka Term loads when supplied;
   the monospace fallback is intentional until licensed/open-source WOFF2 files
   are installed in assets/fonts. Do not imply a font comparison is valid without them. */
:root { --rsn-data-font: 'Iosevka Term', 'SFMono-Regular', Consolas, monospace; }
.rsn-wide-table .wp-block-table table { font-size: 14px; }
.rsn-wide-table .wp-block-table tbody td:not(:nth-child(2)):not(:nth-child(3)) {
  font-family: var(--rsn-data-font); font-variant-numeric: tabular-nums;
  font-weight: 400; font-feature-settings: 'tnum' 1;
}
.rsn-wide-table .wp-block-table :is(th,td):nth-child(2) { font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.rsn-stat-summary .rsn-stat-value { font-family: var(--rsn-data-font); font-variant-numeric: tabular-nums; }
/* Comparison pattern uses exactly the same numbers and table layout. */
.rsn-type-specimen { margin-block: 2rem; }
.rsn-type-specimen .rsn-type-specimen-heading { font: 650 13px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; letter-spacing: .035em; margin: 20px 0 8px; }
.rsn-type-specimen .rsn-type-specimen-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.rsn-type-specimen .rsn-type-sample { border: 1px solid #dedbd4; padding: 16px 12px; min-width: 0; background: #faf9f6; }
.rsn-type-specimen .rsn-type-sample-label { font: 700 11px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color: #a32c32; margin: 0 0 12px; }
.rsn-type-specimen .rsn-type-sample-data { font: 400 14px/1.65 var(--rsn-data-font); white-space: pre; overflow-x: auto; margin: 0; }
.rsn-type-specimen .rsn-type-medium .rsn-type-sample-data { font-weight: 500; }
.rsn-type-specimen .rsn-type-slab .rsn-type-sample-data { font-family: 'Iosevka Term Slab','SFMono-Regular',Consolas,monospace; }
.rsn-type-specimen .rsn-type-caveat { font: 12px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color: #65717b; margin: 12px 0 0; }
@media(max-width:700px){ .rsn-type-specimen .rsn-type-specimen-grid { grid-template-columns: 1fr; } }

/* 0.32.1 — quieter, accessible native statistical tables. */
.rsn-wide-table .wp-block-table tbody tr:nth-child(even),
.rsn-wide-table .wp-block-table tbody tr:nth-child(odd) { background: transparent; }
.rsn-wide-table .wp-block-table tbody tr { border-bottom: 1px solid #e4e6e5; }
.rsn-wide-table .wp-block-table tbody tr:hover { background: #f3f4f1; }
.rsn-wide-table .wp-block-table :is(th,td) { padding: 10px 11px; }
.rsn-wide-table .rsn-table-title { color: #182d44; font: 700 17px/1.35 Georgia,serif; margin: 0 0 5px; }
.rsn-wide-table .rsn-table-subtitle { color: #69747b; font: 12px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; margin: 0 0 12px; }
.rsn-wide-table .rsn-table-caption { margin: 10px 0 0; font-size: 12px; line-height: 1.5; }
.rsn-wide-table .rsn-table-scroll-button {
  inset-block: auto; top: 50%; transform: translateY(-50%); right: 7px;
  width: 28px; height: 38px; border: 1px solid #ccd3d5;
  border-radius: 19px; background: rgba(250,249,246,.96);
  box-shadow: 0 1px 5px rgba(24,45,68,.13);
  font-size: 24px;
}
.rsn-wide-table .rsn-table-scroll-shell.rsn-has-overflow:not(.rsn-at-end)::after {
  content: ''; position: absolute; pointer-events: none; right: 0; top: 0; bottom: 0;
  width: 18px; background: linear-gradient(90deg, transparent, rgba(250,249,246,.65));
}
.rsn-wide-table .rsn-table-scroll-button { z-index: 4; }
@media (max-width: 760px) {
 .rsn-wide-table .wp-block-table { max-width: 100%; overflow-x: auto; }
 .rsn-wide-table .wp-block-table table { font-size: 13px; }
 .rsn-wide-table .rsn-table-scroll-button { width: 27px; height: 36px; right: 5px; }
}

/* 0.32.2 — bundled Iosevka Term webfonts. */
@font-face { font-family: "Iosevka Term"; src: url("assets/fonts/iosevka-term-regular.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Iosevka Term"; src: url("assets/fonts/iosevka-term-medium.woff2") format("woff2"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "Iosevka Term"; src: url("assets/fonts/iosevka-term-bold.woff2") format("woff2"); font-style: normal; font-weight: 700; font-display: swap; }

/* Self-hosted editorial serif (replaces Google Fonts). Subset of Adobe's Source Serif 4
   variable font, limited to weights 400-600 with the optical-size axis, as previously served
   by Google. Renamed per the SIL OFL Reserved Font Name; see assets/fonts/rsn-editorial-serif-OFL.txt. */
@font-face { font-family: "RSN Editorial Serif"; src: url("assets/fonts/rsn-editorial-serif-latin.woff2") format("woff2"); font-style: normal; font-weight: 400 600; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "RSN Editorial Serif"; src: url("assets/fonts/rsn-editorial-serif-latin-ext.woff2") format("woff2"); font-style: normal; font-weight: 400 600; font-display: swap; unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
/* Real italic (Source Serif 4 Italic, same subset and renaming). Not preloaded:
   it downloads only on pages that use italic text. */
@font-face { font-family: "RSN Editorial Serif"; src: url("assets/fonts/rsn-editorial-serif-italic-latin.woff2") format("woff2"); font-style: italic; font-weight: 400 600; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "RSN Editorial Serif"; src: url("assets/fonts/rsn-editorial-serif-italic-latin-ext.woff2") format("woff2"); font-style: italic; font-weight: 400 600; font-display: swap; unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* A compact, quiet affordance that stays clear of visible table values. */
.rsn-wide-table .rsn-table-scroll-shell { padding-right: 34px; box-sizing: border-box; }
.rsn-wide-table .rsn-table-scroll-button {
  inset-block: auto; top: 50%; transform: translateY(-50%); right: 3px;
  width: 26px; height: 30px; border: 1px solid #d4d9dc;
  border-radius: 50%; background: #faf9f6; box-shadow: none;
  font-size: 22px; line-height: 1; z-index: 4;
}
.rsn-wide-table .rsn-table-scroll-shell.rsn-has-overflow:not(.rsn-at-end)::after {
  right: 34px; width: 12px; background: linear-gradient(90deg, transparent, rgba(250,249,246,.65));
}
@media (max-width: 760px) {
 .rsn-wide-table .rsn-table-scroll-shell { padding-right: 30px; }
 .rsn-wide-table .rsn-table-scroll-button { right: 2px; width: 24px; height: 28px; }
 .rsn-wide-table .rsn-table-scroll-shell.rsn-has-overflow:not(.rsn-at-end)::after { right: 30px; }
}

/* 0.32.3 — general-purpose wrapping for native statistical table headers.
   Keep body cells compact; wrap headings at word boundaries, not mid-word.
   Constrain numerical header widths so multiword labels can break naturally.
   Preserve horizontal scrolling for tables that still exceed the reading column. */
.rsn-wide-table .wp-block-table table {
  min-width: 760px;
}
.rsn-wide-table .wp-block-table thead th {
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  line-height: 1.25;
  vertical-align: bottom;
}
.rsn-wide-table .wp-block-table thead th:nth-child(n+4) {
  max-width: 100px;
}
.rsn-wide-table .wp-block-table tbody td {
  white-space: nowrap;
}


/* 0.32.4 — native core/Table block statistical style.
   The class is applied to the FIGURE by the WordPress block editor; unlike
   the wide-table pattern, no enclosing .rsn-wide-table group is required.
   Also supports applying the class directly to a table in custom markup. */
:is(figure.wp-block-table.rsn-table-data, .wp-block-table figure.rsn-table-data) {
  max-width: 100%;
  margin-block: 1.5rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
}
:is(figure.wp-block-table.rsn-table-data, table.rsn-table-data) table,
table.rsn-table-data {
  width: 100%;
  min-width: 0;
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: auto;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 14px;
  line-height: 1.45;
  font-variant-numeric: tabular-nums;
}
:is(figure.wp-block-table.rsn-table-data table, table.rsn-table-data) :is(th,td) {
  padding: 10px 12px;
  border: 0;
  border-left: 0;
  border-right: 0;
  border-top: 0;
  background: transparent;
  vertical-align: middle;
}
:is(figure.wp-block-table.rsn-table-data table, table.rsn-table-data) thead {
  border-bottom: 2px solid #182d44;
}
:is(figure.wp-block-table.rsn-table-data table, table.rsn-table-data) thead th {
  color: #182d44;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  text-align: right;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}
:is(figure.wp-block-table.rsn-table-data table, table.rsn-table-data) tbody tr {
  border-bottom: 1px solid #e4e6e5;
  background: transparent;
}
:is(figure.wp-block-table.rsn-table-data table, table.rsn-table-data) tbody tr:hover {
  background: #f3f4f1;
}
:is(figure.wp-block-table.rsn-table-data table, table.rsn-table-data) tbody td {
  text-align: right;
  white-space: nowrap;
  font-family: var(--rsn-data-font, 'Iosevka Term', monospace);
  font-weight: 400;
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}
/* First column is the row label (player, team, season, etc.). */
:is(figure.wp-block-table.rsn-table-data table, table.rsn-table-data) :is(th,td):first-child {
  text-align: left;
}
:is(figure.wp-block-table.rsn-table-data table, table.rsn-table-data) tbody td:first-child {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 650;
  white-space: normal;
  min-width: 125px;
}
:is(figure.wp-block-table.rsn-table-data, table.rsn-table-data) figcaption,
figure.wp-block-table.rsn-table-data figcaption {
  color: #68747c;
  font: 12px/1.5 -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  margin-top: 9px;
}
@media (max-width: 600px) {
  :is(figure.wp-block-table.rsn-table-data table, table.rsn-table-data) :is(th,td) { padding: 8px 9px; }
  :is(figure.wp-block-table.rsn-table-data table, table.rsn-table-data) tbody td { font-size: 13px; }
  :is(figure.wp-block-table.rsn-table-data table, table.rsn-table-data) thead th { font-size: 12px; }
}

/* 0.32.5 — slightly denser native statistical table rows.
   Reduce vertical padding without approaching TablePress density. */
:is(figure.wp-block-table.rsn-table-data table, table.rsn-table-data) :is(th,td) {
  padding-block: 7px;
}
@media (max-width: 600px) {
  :is(figure.wp-block-table.rsn-table-data table, table.rsn-table-data) :is(th,td) {
    padding-block: 6px;
  }
}

/* 0.32.6 — native statistical table source note and editor parity. */
/* The native Table block's optional caption is our table-attached source note. */
figure.wp-block-table.rsn-table-data > figcaption {
  display: block;
  margin: 8px 0 0;
  padding: 0;
  color: #68747c;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 12px;
  font-weight: 400;
  font-style: normal;
  line-height: 1.5;
  text-align: left;
}
figure.wp-block-table.rsn-table-data > figcaption a {
  color: #a32c32;
  text-decoration: underline;
  text-underline-offset: 2px;
}
/* Keep the editing surface close to the article's 700px reading measure.
   Restrict this to statistical Table blocks; do not resize the editor canvas. */
.editor-styles-wrapper figure.wp-block-table.rsn-table-data,
.editor-styles-wrapper .block-editor-block-list__block.wp-block-table.rsn-table-data {
  box-sizing: border-box;
  width: min(100%, 700px) !important;
  max-width: 700px !important;
  margin-inline: auto !important;
}
.editor-styles-wrapper figure.wp-block-table.rsn-table-data table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: auto !important;
  border-collapse: collapse !important;
}
.editor-styles-wrapper figure.wp-block-table.rsn-table-data table :is(th,td) {
  box-sizing: border-box;
  padding: 7px 12px !important;
  border: 0 !important;
  border-bottom: 1px solid #e4e6e5 !important;
  vertical-align: middle;
}
.editor-styles-wrapper figure.wp-block-table.rsn-table-data table thead th {
  border-bottom: 2px solid #182d44 !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #182d44 !important;
  text-align: right !important;
}
.editor-styles-wrapper figure.wp-block-table.rsn-table-data table :is(th,td):first-child {
  text-align: left !important;
}
.editor-styles-wrapper figure.wp-block-table.rsn-table-data table tbody td {
  font-family: 'Iosevka Term', monospace !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  text-align: right !important;
}
.editor-styles-wrapper figure.wp-block-table.rsn-table-data table tbody td:first-child {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-weight: 650 !important;
  text-align: left !important;
  white-space: normal;
}
.editor-styles-wrapper figure.wp-block-table.rsn-table-data > figcaption {
  color: #68747c !important;
  font: normal 400 12px/1.5 -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  text-align: left !important;
}
@media (max-width: 600px) {
  .editor-styles-wrapper figure.wp-block-table.rsn-table-data table :is(th,td) {
    padding: 6px 9px !important;
  }
}

/* Sortable statistical tables */
:is(figure.rsn-table-sortable table, table.rsn-table-sortable)
thead th .rsn-sort-button {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: inherit;
    cursor: pointer;
}

:is(figure.rsn-table-sortable table, table.rsn-table-sortable)
thead th:first-child .rsn-sort-button {
    justify-content: flex-start;
}

:is(figure.rsn-table-sortable table, table.rsn-table-sortable)
thead th .rsn-sort-button::after {
    content: "⇅";
    opacity: 0.35;
    font-size: 12px;
}

:is(figure.rsn-table-sortable table, table.rsn-table-sortable)
thead th[aria-sort="ascending"] .rsn-sort-button::after {
    content: "▲";
    opacity: 0.85;
}

:is(figure.rsn-table-sortable table, table.rsn-table-sortable)
thead th[aria-sort="descending"] .rsn-sort-button::after {
    content: "▼";
    opacity: 0.85;
}

:is(figure.rsn-table-sortable table, table.rsn-table-sortable)
.rsn-sort-button:focus-visible {
    outline: 2px solid #315a78;
    outline-offset: 3px;
}

/* Highlight follows the original row when sorted. */
:is(figure.rsn-table-data table, table.rsn-table-data)
tbody tr.rsn-row-highlight,
:is(figure.rsn-table-data table, table.rsn-table-data)
tbody tr.rsn-row-highlight:hover {
    background: #edf3f8;
}

:is(figure.rsn-table-data table, table.rsn-table-data)
tbody tr.rsn-row-highlight > :first-child {
    box-shadow: inset 3px 0 #315a78;
}

/* 0.32.7 — intentional article ending, taxonomy, navigation, and further reading. */
body .rsn-single-story > .rsn-article-endmark {
  position: relative;
  width: min(100%, var(--wp--style--global--content-size, 700px)) !important;
  max-width: 700px !important;
  margin: 42px auto 0 !important;
  height: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
}
body .rsn-single-story > .rsn-article-endmark::before,
body .rsn-single-story > .rsn-article-endmark::after {
  content: "";
  display: block;
  width: 74px;
  height: 1px;
  background: #d4d7d5;
}
body .rsn-single-story .rsn-article-endmark-symbol {
  margin: 0 15px !important;
  color: #a32c32;
  font: 400 12px/1 Georgia, serif;
}
body .rsn-single-story > .rsn-article-topics {
  width: min(100%, var(--wp--style--global--content-size, 700px)) !important;
  max-width: 700px !important;
  margin: 25px auto 0 !important;
}
body .rsn-single-story .rsn-article-topics .wp-block-post-terms {
  margin: 0 !important;
  color: #68747c;
  font: 500 12px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
}
body .rsn-single-story .rsn-article-topics a {
  color: #a32c32;
  text-decoration: none;
  border-bottom: 1px solid #d8b5b7;
}
body .rsn-single-story .rsn-article-topics a:hover { border-bottom-color: currentColor; }
body .rsn-single-story > .rsn-article-navigation {
  margin: 28px auto 0 !important;
  padding: 23px 24px 25px !important;
  background: #f2f1ed;
  border-top: 2px solid #d7d9d6 !important;
  box-sizing: border-box !important;
}
body .rsn-single-story .rsn-article-navigation-pair { gap: 28px; }
body .rsn-single-story .rsn-article-nav-label { margin-bottom: 9px !important; }
body .rsn-single-story .rsn-related {
  width: min(100%, var(--wp--style--global--content-size, 700px)) !important;
  max-width: 700px !important;
  margin: 44px auto 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
body .rsn-single-story .rsn-related h2 {
  color: #182d44;
  font: 600 22px/1.25 'RSN Editorial Serif',Georgia,serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin: 0 0 14px !important;
}
body .rsn-single-story .rsn-related-list li { padding: 12px 0 13px; }
body .rsn-single-story .rsn-related-list a { font-size: 18px; }
body main.rsn-single-main { padding-bottom: 84px; }
@media (max-width: 650px) {
  body .rsn-single-story > .rsn-article-endmark { margin-top: 34px !important; }
  body .rsn-single-story > .rsn-article-navigation { padding: 20px 18px 22px !important; }
  body .rsn-single-story .rsn-related { margin-top: 34px !important; }
  body main.rsn-single-main { padding-bottom: 65px; }
}

/* 0.32.8 — align post-article sections to the article text datum and
   tighten the two overly generous vertical transitions. */
body .rsn-single-grid > .rsn-single-story > :is(.rsn-article-endmark,.rsn-article-topics,.rsn-article-navigation,.rsn-related) {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body .rsn-single-story > .rsn-article-endmark {
  margin-top: 22px !important;
}
body .rsn-single-story > .rsn-article-topics {
  margin-top: 19px !important;
}
body .rsn-single-story > .rsn-article-navigation {
  margin-top: 24px !important;
}
body .rsn-single-story .rsn-related {
  margin-top: 38px !important;
}
body main.rsn-single-main {
  padding-bottom: 42px !important;
}
@media (max-width: 650px) {
  body .rsn-single-story > .rsn-article-endmark { margin-top: 20px !important; }
  body .rsn-single-story .rsn-related { margin-top: 30px !important; }
  body main.rsn-single-main { padding-bottom: 38px !important; }
}

/* 0.32.9 — final article-end rhythm and footer transition.
   Limit spacing at the content/endmark boundary, including Gutenberg block gap. */
body .rsn-single-story > .rsn-article-content {
  margin-bottom: 0 !important;
}
body .rsn-single-story > .rsn-article-endmark {
  margin-top: 10px !important;
}
/* The recommendations are the final visible element when comments are disabled.
   Avoid adding another large gap beneath their last rule. */
body .rsn-single-story .rsn-related {
  margin-bottom: 0 !important;
}
body .rsn-single-story .rsn-related-list {
  margin-bottom: 0 !important;
}
body main.rsn-single-main {
  padding-bottom: 8px !important;
}
@media (max-width: 650px) {
  body .rsn-single-story > .rsn-article-endmark { margin-top: 10px !important; }
  body main.rsn-single-main { padding-bottom: 16px !important; }
}

/* 0.33.0 — native article discussion. Keep hidden when comments are closed and empty. */
body .rsn-single-story .rsn-comments {
  max-width: 100%; margin: 44px 0 0 !important; padding: 28px 0 0;
  border-top: 2px solid #182d44; color: #273540;
}
.rsn-comments-heading { margin: 0 0 22px; color: #182d44; font: 600 26px/1.2 'RSN Editorial Serif', Georgia, serif; }
.rsn-comment-list, .rsn-comment-list .children { list-style: none; padding: 0; margin: 0; }
.rsn-comment-list > li { border-bottom: 1px solid var(--rsn-rule); padding: 19px 0; }
.rsn-comment-list .children { margin: 18px 0 0 22px; padding-left: 18px; border-left: 2px solid #e1e3e2; }
.rsn-comment-list .children li { padding: 12px 0; }
.rsn-comment-list .comment-body { font: 400 16px/1.6 'RSN Editorial Serif',Georgia,serif; overflow-wrap: anywhere; }
.rsn-comment-list .comment-meta { font: 400 12px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color: #697681; margin-bottom: 12px; }
.rsn-comment-list .comment-author { display: flex; gap: 10px; align-items: center; margin-bottom: 4px; }
.rsn-comment-list .comment-author .avatar { border-radius: 50%; }
.rsn-comment-list .comment-author .fn { color: #182d44; font-weight: 700; font-style: normal; font-size: 14px; }
.rsn-comment-list .comment-author .says { display: none; }
.rsn-comment-list .comment-metadata { margin-left: 52px; }
.rsn-comment-list .comment-content p { margin: 0 0 12px; }
.rsn-comment-list .reply, .rsn-comment-list .comment-awaiting-moderation { font: 600 12px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.rsn-comments a { color: #a32c32; }
.rsn-comment-pagination { margin: 22px 0; font: 600 13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.rsn-comment-pagination .page-numbers { display: inline-block; margin-right: 10px; }
.rsn-comments #respond { margin-top: 32px; }
.rsn-comments #reply-title { margin: 0 0 16px; color: #182d44; font: 600 23px/1.25 'RSN Editorial Serif',Georgia,serif; }
.rsn-comments .comment-notes, .rsn-comments .logged-in-as, .rsn-comments .comment-form-cookies-consent, .rsn-comments-closed { color: #5f6b76; font: 400 13px/1.55 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.rsn-comments .comment-form p { margin: 0 0 16px; }
.rsn-comments .comment-form label { display: block; margin-bottom: 5px; color: #182d44; font: 600 13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.rsn-comments .comment-form input:not([type=checkbox]), .rsn-comments .comment-form textarea { box-sizing: border-box; width: 100%; padding: 11px 12px; border: 1px solid #cbd0d2; background: #fff; color: #273540; border-radius: 2px; font: 400 16px/1.5 'RSN Editorial Serif',Georgia,serif; }
.rsn-comments .comment-form textarea { min-height: 135px; resize: vertical; }
.rsn-comments .comment-form-cookies-consent label { display: inline; font-weight: 400; }
.rsn-comments .rsn-comment-submit { display: inline-block; width: auto !important; border: 0 !important; padding: 11px 19px !important; background: #a72d36 !important; color: white !important; cursor: pointer; font: 700 13px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important; }
.rsn-comments .rsn-comment-submit:hover { background: #821f29 !important; }
@media (max-width: 650px) { body .rsn-single-story .rsn-comments { margin-top: 32px !important; padding-top: 22px; } .rsn-comment-list .children { margin-left: 9px; padding-left: 12px; } }

/* 0.33.1 — soften the discussion divider and tighten the article-to-footer transition. */
body .rsn-single-story .rsn-comments {
  border-top: 1px solid #aeb7bd;
}
/* WordPress shortcode wrappers can contribute a trailing block gap. */
body .rsn-single-story > .wp-block-shortcode:last-child {
  margin-bottom: 0 !important;
}
body .rsn-single-story .rsn-comments {
  margin-bottom: 0 !important;
}
body main.rsn-single-main {
  padding-bottom: 48px !important;
}
@media (max-width: 650px) {
  body main.rsn-single-main { padding-bottom: 40px !important; }
}

/* 0.33.2 — remove duplicate comments divider; correct the section-to-footer gap. */
body .rsn-single-story .rsn-comments {
  border-top: 0 !important;
  padding-top: 0 !important;
  margin-top: 42px !important;
}
body .rsn-single-story .rsn-comments .comment-form > :last-child,
body .rsn-single-story .rsn-comments #respond > :last-child { margin-bottom: 0 !important; }
body main.rsn-single-main { padding-bottom: 64px !important; }
/* The mobile navigation overlay is supplied by WordPress core. Its default
   full-height flex layout must not distribute the menu items vertically. */
@media (max-width: 760px) {
  body main.rsn-single-main { padding-top: 34px !important; padding-bottom: 56px !important; }
  body .rsn-single-story .rsn-comments { margin-top: 38px !important; }
  body .rsn-header .wp-block-navigation__responsive-container.is-menu-open {
    box-sizing: border-box !important;
    padding: max(24px, env(safe-area-inset-top)) 24px 28px !important;
  }
  body .rsn-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-close {
    width: 100% !important; max-width: none !important;
  }
  body .rsn-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-dialog {
    margin-top: 0 !important;
  }
  body .rsn-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-close {
    top: 0 !important; right: 0 !important;
    min-width: 44px; min-height: 44px;
    display: flex; align-items: center; justify-content: center;
  }
  body .rsn-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content {
    padding-top: 72px !important;
    display: block !important;
  }
  body .rsn-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__container {
    display: flex !important; flex-direction: column !important;
    align-items: stretch !important; justify-content: flex-start !important;
    gap: 10px !important; width: 100% !important;
  }
  body .rsn-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item {
    width: 100% !important; margin: 0 !important;
  }
  body .rsn-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content {
    box-sizing: border-box; display: flex !important;
    align-items: center; min-height: 48px; width: 100%;
    padding: 8px 0 !important;
  }
}

/* 0.33.3 — Sackers outlined navigation artwork and mobile content rhythm. */
.rsn-header .rsn-nav-wordmark { display: block; width: auto; height: 11px; max-width: none; }
.rsn-header .rsn-nav-wordmark-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.rsn-header .wp-block-navigation-item__content:has(> .rsn-nav-wordmark) { display: inline-flex; align-items: center; }
@media (max-width: 760px) {
  body main.rsn-home { padding-top: 24px !important; }
  body main.rsn-single-main { padding-top: 26px !important; }
  .rsn-header .wp-block-navigation__responsive-container.is-menu-open .rsn-nav-wordmark { height: 19px; }
}

/* 0.33.4 — WordPress renders native Navigation blocks server-side. */
.rsn-header .wp-block-navigation-item__content .rsn-nav-wordmark { display: inline-block; vertical-align: middle; }

/* 0.33.5 — enlarge Sackers nav artwork and tighten the feature's top edge.
   Scope the spacing change to the homepage; retain feature bottom spacing. */
body .rsn-header .rsn-nav-wordmark { height: 13.2px; }
body .rsn-home > .rsn-home-feature { padding-top: 16px !important; }
@media (max-width: 760px) {
  body .rsn-header .wp-block-navigation__responsive-container.is-menu-open .rsn-nav-wordmark { height: 22.8px; }
  body .rsn-home > .rsn-home-feature { padding-top: 12px !important; }
}

/* 0.33.7 — viewport-specific spacing after the masthead navigation.
   iPad retains the homepage's editorial breathing room; articles open sooner.
   iPhone uses compact openings on both templates. */
@media (min-width: 761px) and (max-width: 1100px) {
  body main.rsn-single-main {
    padding-top: 24px !important;
    margin-top: 0 !important;
  }
  body main.rsn-single-main > .rsn-single-grid {
    margin-top: 0 !important;
  }
}
@media (max-width: 760px) {
  body main.rsn-home {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }
  body main.rsn-home > .rsn-home-feature {
    padding-top: 12px !important;
    margin-top: 0 !important;
  }
  body main.rsn-single-main {
    padding-top: 14px !important;
    margin-top: 0 !important;
  }
  body main.rsn-single-main > .rsn-single-grid,
  body main.rsn-single-main .rsn-single-story {
    margin-top: 0 !important;
  }
}

/* 0.33.8 — iPhone masthead: preserve top padding; reduce only bottom padding. */
@media (max-width: 600px) {
  body .rsn-header > .rsn-masthead-top { padding-bottom: 2px !important; }
}

/* 0.33.9 — desktop masthead balance and latest-story thumbnail alignment.
   The copy determines each row height; the image aligns to the excerpt's
   final line, without stretching/cropping the original 4:3 thumbnail. */
@media (min-width: 1200px) {
  body .rsn-header > .rsn-masthead-top { padding-top: 53px !important; }
}
/* Allow up to three lines of summary text; shorter excerpts remain shorter. */
body .rsn-home-latest .rsn-latest-copy .wp-block-post-excerpt {
  margin-bottom: 7px !important;
}
body .rsn-home-latest .rsn-latest-copy .wp-block-post-excerpt p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
}
/* Align thumbnails with the beginning of each article entry. */
body .rsn-home-latest .wp-block-post-template > li:has(.rsn-latest-image img) {
  align-items: start;
}
body .rsn-home-latest .rsn-latest-image {
  align-self: start;
  transform: none;
}

/* 0.34.0 — scoped page openings. Preserve existing mobile home/article rhythm.
   Standard pages were using 65px of inline template padding. */
body main.rsn-page-main { padding-top: 30px !important; margin-top: 0 !important; }
@media (max-width: 760px) {
  body main.rsn-page-main { padding-top: 18px !important; }
}
/* Only large desktop articles move closer to the navigation band. */
@media (min-width: 1200px) {
  body main.rsn-single-main { padding-top: 24px !important; }
}


/* RSNStats social feed — consolidated styling.
   Desktop/tablet: 375px scroll region with a progressive scroll cue.
   Narrow viewports: six posts in normal page flow, no nested scrolling.
   Individual articles: hide the feed on narrow viewports. */
.rsn-side-bluesky .rsn-bluesky-posts {
  list-style: none;
  margin: 0;
  padding: 0 8px 0 0;
}
.rsn-side-bluesky .rsn-bluesky-posts li {
  margin: 0;
  padding: 11px 0;
  border-bottom: 1px solid var(--rsn-rule, #dedbd4);
}
.rsn-side-bluesky .rsn-bluesky-posts li:first-child { padding-top: 2px; }
.rsn-side-bluesky .rsn-bluesky-posts a {
  display: block;
  color: inherit;
  text-decoration: none;
}
.rsn-side-bluesky .rsn-bluesky-posts a:hover .rsn-bluesky-text { color: #a32c32; }
.rsn-side-bluesky .rsn-bluesky-text {
  display: block;
  overflow: visible;
  font: 400 15px/1.5 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  overflow-wrap: break-word;
}
.rsn-side-bluesky time {
  display: block;
  margin-top: 5px;
  color: #5e6974;
  font: 500 11px/1.45 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
}
.rsn-side-bluesky .rsn-bluesky-viewport {
  position: relative;
  background: #f4f3ef;
}
.rsn-side-bluesky .rsn-bluesky-scroll {
  max-height: 375px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
  padding: 4px 10px 0;
}
.rsn-side-bluesky .rsn-bluesky-scroll:focus-visible {
  outline: 2px solid #a32c32;
  outline-offset: 2px;
}
/* Keep obsolete metadata elements hidden if older markup is ever rendered. */
.rsn-side-bluesky .rsn-feed-hint,
.rsn-side-bluesky .rsn-feed-source { display: none; }
.rsn-side-bluesky .rsn-feed-follow {
  margin: 8px 0 0;
  font: 400 12px/1.6 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
}
.rsn-side-bluesky .rsn-feed-follow strong { font-weight: 600; }
.rsn-side-bluesky .rsn-feed-follow strong a {
  color: inherit;
}
.rsn-side-bluesky .rsn-feed-follow a { color: #a32c32; text-decoration: none; }
.rsn-side-bluesky .rsn-feed-follow a:hover { text-decoration: underline; }
.rsn-side-bluesky .rsn-feed-scroll-next[hidden] { display: none !important; }
.rsn-side-bluesky .rsn-feed-scroll-next {
  position: absolute;
  z-index: 2;
  bottom: 7px;
  left: 50%;
  transform: translateX(-50%);
  width: 34px;
  height: 34px;
  border: 1px solid #b8c0c4;
  border-radius: 50%;
  background: #fff;
  color: #21384c;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 1px 4px rgba(21, 37, 50, .12);
}
.rsn-side-bluesky .rsn-feed-scroll-next svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.rsn-side-bluesky .rsn-feed-scroll-next:hover { border-color: #a32c32; color: #a32c32; }
.rsn-side-bluesky .rsn-feed-scroll-next:focus-visible { outline: 2px solid #a32c32; outline-offset: 3px; }
.rsn-side-bluesky .rsn-bluesky-viewport:has(.rsn-feed-scroll-next:not([hidden]))::before {
  content: '';
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  right: 0;
  height: 54px;
  background: linear-gradient(to bottom, rgba(244,243,239,0), #f4f3ef 85%);
  pointer-events: none;
}
@media (max-width: 760px) {
  .rsn-side-bluesky .rsn-bluesky-scroll {
    max-height: none;
    overflow: visible;
    scrollbar-gutter: auto;
    padding: 10px 14px;
  }
  .rsn-side-bluesky .rsn-bluesky-posts li:nth-child(n+4) { display: none; }
  .rsn-side-bluesky .rsn-feed-scroll-next { display: none !important; }
  .rsn-side-bluesky .rsn-bluesky-viewport::before { display: none; }
  /* Hide the social feed on mobile articles and standard pages. */
  body.single-post .rsn-side-bluesky,
  body.page .rsn-side-bluesky {
    display: none;
  }
  /* Preserve mobile thumbnail alignment without changing desktop baselines. */
  body .rsn-home-latest .rsn-latest-image {
    align-self: start;
    transform: none;
  }
}

/* Article images: normalize legacy WordPress alignment and spacing. */

/* Preserve editorial image alignment without wrapping article text. */
body .rsn-single-story .rsn-article-content > figure.wp-block-image.alignright {
  float: none !important;
  clear: both;
  width: fit-content;
  max-width: 85%;
  margin: 24px 0 28px auto !important;
}

body .rsn-single-story .rsn-article-content > figure.wp-block-image.alignleft {
  float: none !important;
  clear: both;
  width: fit-content;
  max-width: 85%;
  margin: 24px auto 28px 0 !important;
}

body .rsn-single-story .rsn-article-content > figure.wp-block-image img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* Article images: preserve text wrapping on larger screens. */
@media (min-width: 761px) {
  body .rsn-single-story .rsn-article-content > figure.wp-block-image.alignright {
    float: right !important;
    clear: right;
    width: fit-content;
    max-width: 55%;
    /* Right edge aligns with the 700px text column, not the wider content area. */
    margin: 8px max(0px, calc(100% - var(--wp--style--global--content-size, 700px))) 24px 28px !important;
  }

  body .rsn-single-story .rsn-article-content > figure.wp-block-image.alignleft {
    float: left !important;
    clear: left;
    width: fit-content;
    max-width: 55%;
    margin: 8px 28px 24px 0 !important;
  }
}

/* Narrow screens: center article and page images; disable text wrapping. */
@media (max-width: 760px) {
  body .rsn-single-story .rsn-article-content > figure.wp-block-image.alignright,
  body .rsn-single-story .rsn-article-content > figure.wp-block-image.alignleft,
  body .rsn-page-story .rsn-article-content > figure.wp-block-image.alignright,
  body .rsn-page-story .rsn-article-content > figure.wp-block-image.alignleft {
    float: none !important;
    clear: both !important;
    display: table;
    width: fit-content;
    max-width: 100%;
    margin: 1.15em auto 1.4em !important;
  }

  body .rsn-single-story .rsn-article-content > figure.wp-block-image.alignright img,
  body .rsn-single-story .rsn-article-content > figure.wp-block-image.alignleft img,
  body .rsn-page-story .rsn-article-content > figure.wp-block-image.alignright img,
  body .rsn-page-story .rsn-article-content > figure.wp-block-image.alignleft img {
    display: block;
    max-width: 100%;
    height: auto;
  }
}

/* Align featured-story content with the editorial grid. */
body .rsn-home-feature .rsn-feature-copy > * {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/* Legacy Genesis Blocks notices.
   Preserve existing article formatting without Genesis Page Builder. */

.rsnstats-editorial .gb-block-notice,
body .gb-block-notice {
  overflow: hidden;
  border-radius: 6px;
  margin-block: 1.5em;
}

body .gb-block-notice .gb-notice-title {
  padding: 14px 18px;
}

body .gb-block-notice .gb-notice-title p {
  margin: 0;
  color: inherit;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
}

body .gb-block-notice .gb-notice-text {
  background: #fff;
  border: 2px solid;
  border-top: 0;
  padding: 18px;
  color: #32373c;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.92em;
  line-height: 1.55;
}

body .gb-block-notice .gb-notice-text p:first-child {
  margin-top: 0;
}

body .gb-block-notice .gb-notice-text p:last-child {
  margin-bottom: 0;
}

/* Legacy Genesis Blocks testimonials. */

body .gb-block-testimonial {
  padding: 1.5rem;
  margin-block: 1.5rem;
  border-left: 4px solid #b22c34;
  border-radius: 3px;
}

body .gb-block-testimonial .gb-testimonial-text {
  font-style: italic;
  line-height: 1.6;
}

body .gb-block-testimonial .gb-testimonial-text p:first-child {
  margin-top: 0;
}

body .gb-block-testimonial .gb-testimonial-info {
  margin-top: 1rem;
}

body .gb-block-testimonial .gb-testimonial-name {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0;
}

body .gb-block-testimonial .gb-testimonial-title {
  display: block;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.8rem;
  margin-top: 0.25rem;
}


/* Legacy Genesis Blocks buttons. */

body .gb-block-button {
  margin-block: 1.5rem;
}

body .gb-block-button .gb-button {
  display: inline-block;
  padding: 0.8rem 1.4rem;
  border-radius: 5px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
}

body .gb-block-button .gb-button:hover {
  filter: brightness(0.9);
}

/* Legacy Genesis and Atomic Blocks spacers. */

body .gb-block-spacer,
body .ab-block-spacer {
  clear: both;
  margin: 0;
  padding: 0;
}

body .gb-block-spacer hr,
body .ab-block-spacer hr {
  display: block;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

body .gb-spacer-divider hr,
body .ab-spacer-divider hr {
  border-top: 1px solid currentColor;
  background: transparent;
}

/* Desktop: label and headline run full width, so every headline shares one left
   edge; a 100px square thumbnail sits beside the excerpt and date below them.
   (Phones mirror this with the thumbnail on the right.) */
@media (min-width: 721px) {
  body .rsn-home-latest .wp-block-post-template > li:has(.rsn-latest-image img) {
    display: block;
  }

  body .rsn-home-latest .rsn-latest-copy:has(.rsn-latest-image img) {
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr);
    column-gap: 18px;
    align-items: start;
  }

  body .rsn-home-latest .rsn-latest-copy > .rsn-latest-editorial-type {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  body .rsn-home-latest .rsn-latest-copy > .wp-block-post-title {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  body .rsn-home-latest .rsn-latest-copy > .rsn-latest-image {
    grid-column: 1;
    grid-row: 3 / span 2;
    margin-top: 4px !important;
  }

  body .rsn-home-latest .rsn-latest-copy > .rsn-latest-image img {
    width: 100px !important;
    height: 100px !important;
  }

  body .rsn-home-latest .rsn-latest-copy > .wp-block-post-excerpt {
    grid-column: 2;
    grid-row: 3;
  }

  body .rsn-home-latest .rsn-latest-copy > .rsn-post-meta {
    grid-column: 2;
    grid-row: 4;
  }
}

/* Mobile: label and headline run full width. Below them, a fixed-size
   square thumbnail sits on the right beside a three-line excerpt and the
   date, so every illustrated entry has the same shape. Entries without an
   image use the full width. */
@media (max-width: 720px) {
  body .rsn-home-latest .wp-block-post-template > li:has(.rsn-latest-image img) {
    display: block;
  }

  body .rsn-home-latest .rsn-latest-copy:has(.rsn-latest-image img) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 80px;
    column-gap: 14px;
    align-items: start;
  }

  body .rsn-home-latest .rsn-latest-copy > .rsn-latest-image {
    grid-column: 2;
    grid-row: 3 / span 2;
    width: 80px;
    margin: 4px 0 0 !important;
  }

  body .rsn-home-latest .rsn-latest-copy > .rsn-latest-image img {
    width: 80px;
    height: 80px;
    object-fit: cover;
  }

  body .rsn-home-latest .rsn-latest-copy:has(.rsn-latest-image img) > .rsn-latest-editorial-type { grid-column: 1 / -1; grid-row: 1; }
  body .rsn-home-latest .rsn-latest-copy:has(.rsn-latest-image img) > .wp-block-post-title { grid-column: 1 / -1; grid-row: 2; }
  body .rsn-home-latest .rsn-latest-copy:has(.rsn-latest-image img) > .wp-block-post-excerpt { grid-column: 1; grid-row: 3; }
  body .rsn-home-latest .rsn-latest-copy:has(.rsn-latest-image img) > .rsn-post-meta { grid-column: 1; grid-row: 4; }

  /* Three lines of summary at most, so the text block matches the image. */
  body .rsn-home-latest .rsn-latest-copy .wp-block-post-excerpt p {
    -webkit-line-clamp: 3;
    line-clamp: 3;
  }
}

/* Sidebar: a second link in the same section sits close under the first. */
body .rsn-side-section .rsn-side-link + .rsn-side-link {
  margin-top: 6px !important;
}

/* Advertisements: labeled, centered, with space reserved so the page does not
   jump while an ad loads. Slots AdSense leaves unfilled collapse entirely. */
.rsn-ad {
  margin: 32px 0;
  text-align: center;
}
.rsn-ad-label {
  margin: 0 0 6px;
  font: 600 10px/1.3 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #68747c;
}
.rsn-ad ins.adsbygoogle { min-height: 250px; }
.rsn-ad:has(ins.adsbygoogle[data-ad-status="unfilled"]) { display: none; }
.rsn-ad--sidebar { margin: 28px 0; }
.rsn-ad-placeholder {
  display: grid;
  place-items: center;
  min-height: 250px;
  border: 1px dashed #b9b4a8;
  color: #68747c;
  font: 600 12px/1.3 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
}
/* The sidebar falls to the bottom of the page on phones; skip its ad there. */
@media (max-width: 760px) {
  .rsn-ad--sidebar { display: none; }
}

/* Footer menu: the button that reopens Google's consent message looks like the links beside it. */
body .rsn-footer .rsn-footer-links .rsn-privacy-choices {
  padding: 0; border: 0; background: none; cursor: pointer;
  font: inherit; letter-spacing: inherit; color: #f4f6f0;
}
body .rsn-footer .rsn-footer-links .rsn-privacy-choices:hover,
body .rsn-footer .rsn-footer-links .rsn-privacy-choices:focus-visible { color: #fff; text-decoration: underline; }

/* Phones: long Bluesky posts and threads show four lines each; tapping opens the full post. */
@media (max-width: 760px) {
  .rsn-side-bluesky .rsn-bluesky-text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    overflow: hidden;
  }
}

/* Article end: one quiet support line, centered under the end mark. */
body .rsn-single-grid > .rsn-single-story > .rsn-article-support {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  margin: 12px 0 0 !important;
  text-align: center;
  font: 400 13px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #68747c;
}
body .rsn-single-story > .rsn-article-support a {
  color: #a32c32;
  font-weight: 650;
  text-decoration: none;
}
body .rsn-single-story > .rsn-article-support a:hover,
body .rsn-single-story > .rsn-article-support a:focus-visible {
  text-decoration: underline;
}

/* Floated (left/right-aligned) images align with the 700px text column, not the
   wider content area, so they sit beside the text instead of in the margin.
   Phones keep the existing centered, unfloated treatment (760px and narrower). */
@media (min-width: 761px) {
  body :is(.rsn-single-story, .rsn-page-story) .rsn-article-content > .alignright {
    margin-right: max(0px, calc(100% - var(--wp--style--global--content-size, 700px))) !important;
  }
}
/* Block editor: the text column is centered in a wider canvas. */
.editor-styles-wrapper .is-layout-constrained > .alignright {
  margin-right: max(0px, calc((100% - var(--wp--style--global--content-size, 700px)) / 2)) !important;
}
.editor-styles-wrapper .is-layout-constrained > .alignleft {
  margin-left: max(0px, calc((100% - var(--wp--style--global--content-size, 700px)) / 2)) !important;
}

/* Homepage: "Latest articles" is a section label (small caps over a navy rule),
   matching the Featured story eyebrow, not a headline competing with titles.
   The label's rule replaces the gray divider under the featured story. */
body main.rsn-home > .rsn-home-feature {
  border-bottom: 0 !important;
}
body main.rsn-home .rsn-home-latest {
  padding-top: 26px !important;
}
body main.rsn-home .rsn-home-latest > h2.rsn-home-section-title {
  /* Full list width, so the rule lines up with the dividers between articles. */
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 4px !important;
  padding: 0 0 10px !important;
  border-bottom: 2px solid #182d44;
  font: 700 12px/1.3 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  letter-spacing: .14em !important;
  text-transform: uppercase;
  color: #182d44 !important;
}
/* Start the sidebar on the same line as the label. */
body main.rsn-home .rsn-home-sidebar.wp-block-template-part {
  padding-top: 26px !important;
}
/* Tighten the space around the label: less gap between the rule and the first
   article (all widths), and above the label on phones. */
body main.rsn-home .rsn-home-latest > .wp-block-query {
  margin-top: 6px !important;
}
@media (max-width: 760px) {
  body main.rsn-home .rsn-home-latest {
    padding-top: 12px !important;
  }
}

/* Search fields: readable typed text. 16px is also the minimum that stops
   iPhone Safari from zooming the page when the field is tapped. */
body .wp-block-search .wp-block-search__input {
  font-size: 20px !important;
}

/* Article navigation: hide "Newer article" on the newest post and "Older article"
   on the oldest, when WordPress has no link to show; hide the box if both are empty. */
body .rsn-article-nav-next:not(:has(a)),
body .rsn-article-nav-previous:not(:has(a)),
body .rsn-article-navigation:not(:has(a)) {
  display: none !important;
}

/* Featured image credit (from the image's caption), at the end of the article text. */
body .rsn-single-grid > .rsn-single-story .rsn-featured-credit {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--wp--style--global--content-size, 700px) !important;
  /* Flush left with the article text at every width, just above the end mark. */
  margin: 28px 0 0 !important;
  font: 400 13px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #68747c;
}
body .rsn-single-story .rsn-featured-credit p { margin: 0; display: inline; }
body .rsn-single-story .rsn-featured-credit a { color: inherit; text-decoration: underline; text-underline-offset: .15em; }
body .rsn-single-story .rsn-featured-credit a:hover { color: #a32c32; }

/* Articles: group the date and reading time with the article body rather than
   leaving them midway between the deck and the first paragraph. */
body .rsn-single-story > .rsn-article-deck {
  margin-bottom: 0 !important;
}
body .rsn-single-story > .rsn-article-deck + .rsn-post-meta--single {
  margin-top: 30px !important;
}
body .rsn-single-story > .rsn-post-meta--single {
  margin-bottom: 12px !important;
}
body .rsn-single-story > .rsn-article-content {
  margin-top: 0 !important;
}

/* Articles: less empty space between the comment form and the footer. */
html body main.rsn-single-main {
  padding-bottom: 24px !important;
}
html body.single footer.wp-block-template-part > .rsn-footer {
  margin-top: 0 !important;
}
body .rsn-comments .form-submit {
  margin-bottom: 0 !important;
}

/* Link posts (inc/link-posts.php): headline goes to another site in a new tab. */
.rsn-link-arrow {
  color: #a32c32; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 700; font-size: .8em; margin-left: .18em; white-space: nowrap;
}
.rsn-post-meta--link .rsn-link-source { color: #5e6e7b; }
.rsn-post-meta--link .rsn-link-source a { color: #182d44; font-weight: 600; text-decoration: none; }
.rsn-post-meta--link a:hover, .rsn-post-meta--link a:focus-visible { text-decoration: underline; }
.rsn-post-meta--link .rsn-link-permalink { color: inherit; text-decoration: none; }
body .rsn-home-latest .rsn-latest-copy .rsn-link-comment p, .rsn-link-comment p { margin: 0 0 .6em; }
body .rsn-home-latest .rsn-latest-copy .rsn-link-comment p:last-child, .rsn-link-comment p:last-child { margin-bottom: 0; }
/* The comment is the whole post: exempt it from the homepage's three-line excerpt limit. */
body .rsn-home-latest .rsn-latest-copy .wp-block-post-excerpt.rsn-link-comment p {
  display: block; -webkit-line-clamp: unset; line-clamp: none; overflow: visible;
}
.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* Getty Images embeds (inc/getty-embeds.php): theme spacing around Getty's frame. */
.rsn-article-content .rsn-getty-embed { margin: 1.5em 0 1.4em; padding: 0; max-width: 100%; overflow: hidden; }
.rsn-article-content .rsn-getty-embed iframe { display: block; max-width: 100%; border: 0; }
/* Getty's player never enlarges a photo past its embed size (a wider frame only adds
   white space), so landscape embeds are centered in the reading column instead.
   Getty's box is inline-block; its own label keeps Getty's left alignment. */
.rsn-article-content .rsn-getty-embed:not(.rsn-getty-embed--portrait) { text-align: center; }
.rsn-article-content .rsn-getty-embed > div { text-align: left; }
@media (max-width: 650px) {
  .rsn-article-content .rsn-getty-embed { margin: 1.15em 0 1.1em; }
}
/* Portrait embeds float right on desktop, matching right-aligned article images. */
@media (min-width: 761px) {
  body .rsn-single-story .rsn-article-content > figure.rsn-getty-embed--portrait {
    float: right;
    clear: right;
    width: 50%;
    /* Right edge aligns with the 700px text column, not the wider content area.
       !important: an earlier rule zeroes side margins of article children. */
    margin: 8px max(0px, calc(100% - var(--wp--style--global--content-size, 700px))) 24px 32px !important;
  }
}
