/* Containers */
.rr-container { width: min(100% - 2 * var(--gutter), var(--content-max)); margin-inline: auto; }
.rr-main { padding-block: var(--space-5) var(--space-8); }
img { border-radius: var(--radius); }
.rr-masthead__logo img { border-radius: 0; }

/* Masthead */
.rr-masthead { text-align: center; padding-block: var(--space-6) var(--space-5); display: grid; gap: var(--space-4); justify-items: center; }
.rr-masthead__brand { display: grid; gap: var(--space-2); justify-items: center; }
.rr-masthead__logo img { height: clamp(44px, 3rem + 2.5vw, 80px); width: auto; }
.rr-masthead__tagline { max-width: 60ch; }
/* Publisher credit (USARiseUp, Inc.) in the masthead's right slot */
.rr-masthead__publisher { display: grid; gap: var(--space-1); justify-items: center; }
.rr-masthead__publisher-name { font-family: var(--font-cond); font-weight: 700; font-size: var(--step-2); line-height: var(--lh-tight); }
.rr-masthead__publisher-link { display: inline-flex; align-items: center; gap: 0.3em; margin-top: var(--space-1); padding: var(--space-1) var(--space-4); border: 1px solid var(--red); border-radius: 999px; color: var(--red); font-weight: 700; font-size: var(--step--1); }
.rr-masthead__publisher-link:hover, .rr-masthead__publisher-link:focus-visible { background: var(--red); color: #fff; }
.rr-masthead__publisher-link .rr-ext { opacity: 1; }
.rr-masthead__publisher-link sup { font-size: 0.65em; line-height: 0; vertical-align: super; margin-left: 0.05em; } /* ® without changing the pill height */
/* Front-page hero: the featured story, above Latest */
.rr-hero { display: grid; gap: var(--space-5); margin-block: var(--space-4) var(--space-8); align-items: center; }
@media (min-width: 1024px) { .rr-hero { grid-template-columns: 7fr 5fr; gap: var(--space-7); } }
.rr-hero__figure img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.rr-hero__text { display: grid; gap: var(--space-3); align-content: center; }
.rr-hero__eyebrow { display: flex; align-items: center; gap: var(--space-3); }
.rr-hero__eyebrow a:hover { color: var(--red); }
.rr-hero__title { font-weight: 700; font-size: clamp(1.625rem, 1.3rem + 1.5vw, 2.5rem); line-height: var(--lh-tight); }
.rr-hero__date { margin-top: calc(-1 * var(--space-1)); }
.rr-hero__excerpt { font-size: var(--step-0); max-width: 48ch; }
.rr-hero__more { display: inline-flex; align-items: center; gap: 0.3em; justify-self: start; font-family: var(--font-cond); font-weight: 700; font-size: var(--step-1); color: var(--red); }
.rr-hero__more:hover { color: var(--ink); } .rr-hero__more:hover .rr-arrow { transform: translateX(0.15em); }
/* Two columns from desktop: brand left, context line right */
@media (min-width: 1024px) {
  .rr-masthead { grid-template-columns: 1fr auto; align-items: center; justify-items: start; text-align: left; gap: var(--space-7); padding-block: var(--space-6); }
  .rr-masthead__brand { justify-items: start; }
  .rr-masthead__logo { margin-left: -15px; } /* optical: the italic wordmark's slant leaves a visual gap at the left edge */
  .rr-masthead__tagline { max-width: 44ch; }
  .rr-masthead__publisher { justify-self: end; justify-items: end; text-align: right; }
}

/* Department bar — two grammars: departments (jump) left, collections (pages) right */
.rr-bar { background: var(--red); color: #fff; position: sticky; top: 0; z-index: 20; }
.rr-bar__inner { display: flex; align-items: center; gap: var(--space-3); min-height: 48px; }
/* Centre with auto margins, not justify-content: when the strip overflows, auto margins collapse to 0 so the left edge stays reachable */
.rr-bar__list--depts { margin-left: auto; }
.rr-bar__list:last-child { margin-right: auto; }
.rr-bar__list { display: flex; gap: var(--space-1); flex: none; justify-content: center; }
.rr-bar__link { display: inline-flex; align-items: center; gap: 0.25em; border-radius: 3px; padding: var(--space-2) var(--space-3); font-family: var(--font-cond); font-weight: 700; font-size: clamp(1.125rem, 1.03rem + 0.4vw, 1.3125rem); /* 18 → 21px */ line-height: 1.2; color: #fff; white-space: nowrap; scroll-snap-align: start; }
.rr-bar__link:hover, .rr-bar__link:focus-visible { color: #fff; background: rgba(255,255,255,0.14); outline-color: #fff; }
.rr-bar__link[aria-current="page"], .rr-bar__link.is-active { background: #fff; color: var(--red); }
.rr-bar__link--page { font-weight: 500; font-size: clamp(0.9375rem, 0.86rem + 0.33vw, 1.125rem); /* 15 → 18px */ opacity: 0.88; }
.rr-bar__link--page .rr-arrow { width: 0.75em; height: 0.75em; }
.rr-bar__link--page:hover, .rr-bar__link--page:focus-visible { opacity: 1; }
.rr-bar__link--page:hover .rr-arrow { transform: translateX(0.15em); }
@media (max-width: 1023px) {
  /* one horizontal scroller for both groups */
  .rr-bar__inner { overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; scroll-padding-inline: var(--gutter); padding-inline: var(--gutter); width: 100%; }
  .rr-bar__inner::-webkit-scrollbar { display: none; }
  /* Edge fades: a cue that the strip continues. bar.js sets data-fade="right" | "left" | "both" | "none". */
  .rr-bar__inner[data-fade="right"] { -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 56px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 56px), transparent); }
  .rr-bar__inner[data-fade="left"]  { -webkit-mask-image: linear-gradient(to right, transparent, #000 56px); mask-image: linear-gradient(to right, transparent, #000 56px); }
  .rr-bar__inner[data-fade="both"]  { -webkit-mask-image: linear-gradient(to right, transparent, #000 56px, #000 calc(100% - 56px), transparent); mask-image: linear-gradient(to right, transparent, #000 56px, #000 calc(100% - 56px), transparent); }
  .rr-bar__list--pages { margin-left: var(--space-4); padding-left: var(--space-4); border-left: 1px solid rgba(255,255,255,0.35); }
}
@media (min-width: 1024px) {
  .rr-bar__inner { flex-wrap: wrap; align-items: center; padding-block: var(--space-1); }
  .rr-bar__list { flex-wrap: wrap; margin-inline: auto; } /* each row centres on its own */
  .rr-bar__list--pages { flex-basis: 100%; justify-content: center; }
}

/* Latest strip */
.rr-latest { margin-block: var(--space-5) calc(var(--space-8) + var(--space-5)); }
.rr-latest__headrow { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-3); flex-wrap: wrap; }
/* Pill: the one highlight treatment (date on Latest, Featured on the hero) */
.rr-pill, .rr-latest__date { display: inline-block; color: var(--red); background: var(--red-10); border-radius: 999px; padding: var(--space-1) var(--space-4); line-height: 1.4; font-size: var(--step--1); }
.rr-latest__head { margin-bottom: 0; }
.rr-latest__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4) var(--space-7); } /* 3-up: one per department, edges align with the department columns */
@media (max-width: 1023px) { .rr-latest__list { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .rr-latest__list { grid-template-columns: 1fr; gap: var(--space-3); } }

/* Columns */
.rr-columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-7); align-items: start; }
@media (max-width: 1023px) { .rr-columns { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .rr-columns { grid-template-columns: 1fr; } }
.rr-widget + .rr-widget { margin-top: var(--space-5); }
.rr-dept + .rr-feed { margin-top: var(--space-4); }
.rr-dept { scroll-margin-top: calc(var(--rr-bar-h, 96px) + var(--space-3) + var(--space-4)); }
/* Department group highlight: padding + equal negative margin, so nothing moves */
.rr-dept-group { --pad: var(--space-4); padding: var(--pad); margin: calc(-1 * var(--pad)); border-radius: 10px; transition: background-color 180ms ease; }
/* Between departments: bottom margin on each group (the next group's negative top inset takes one pad back) = exactly 1.5× the column gap (--space-7); internal padding unchanged */
.rr-dept-group:not(:last-child) { margin-bottom: calc(1.5 * var(--space-7) - var(--pad)); }
/* Variant "screen": tint behind the hovered department */
[data-highlight="screen"] .rr-dept-group:hover, [data-highlight="screen"] .rr-dept-group.is-hot { background-color: var(--tint-light); }
[data-highlight="screen"] .rr-dept-group.is-flash { animation: rr-flash 1.4s ease-out; }
@keyframes rr-flash { 0%, 35% { background-color: var(--tint-light); } 100% { background-color: transparent; } }
/* Variants "dim" / "dim-blur": the hovered department stays as-is, every other one recedes */
.rr-dept-group { transition: background-color 180ms ease, opacity 220ms ease, filter 220ms ease; }
[data-highlight^="dim"]:has(.rr-dept-group:hover, .rr-dept-group.is-hot, .rr-dept-group.is-flash) .rr-dept-group:not(:hover):not(.is-hot):not(.is-flash) { opacity: 0.35; }
[data-highlight="dim-blur"]:has(.rr-dept-group:hover, .rr-dept-group.is-hot, .rr-dept-group.is-flash) .rr-dept-group:not(:hover):not(.is-hot):not(.is-flash) { filter: blur(1px); }
@media (prefers-reduced-motion: reduce) { .rr-dept-group { transition: none; animation: none; } }
.rr-dept__head { margin-bottom: var(--space-3); }
.rr-widget:not(:first-child) .rr-dept__head { margin-top: var(--space-7); }
.rr-dept__head a:hover { color: var(--ink); }
/* Off-site marker: ↗ after any link that opens the source in a new tab */
.rr-ext { display: inline-block; width: 0.62em; height: 0.62em; margin-left: 0.28em; vertical-align: 0.08em; opacity: 0.55; transition: opacity 160ms ease, transform 160ms ease; }
.rr-ext svg { display: block; width: 100%; height: 100%; transform: rotate(-45deg); }
a:hover .rr-ext, a:focus-visible .rr-ext { opacity: 1; transform: translate(0.08em, -0.08em); }
.rr-cta__button .rr-ext { opacity: 1; width: 0.8em; height: 0.8em; }
/* Heading arrows (J.Schmid pattern) */
.rr-arrow { width: 0.8em; height: 0.8em; vertical-align: -0.08em; flex: none; transition: transform 160ms ease; }
.rr-dept__link { display: inline-flex; align-items: center; gap: 0.3em; }
.rr-dept__link:hover .rr-arrow--right, .rr-dept__link:focus-visible .rr-arrow--right { transform: translateX(0.15em); }
.rr-archive__head { display: flex; align-items: center; gap: 0.3em; position: relative; }
.rr-back { display: inline-flex; color: var(--red); }
.rr-back:hover, .rr-back:focus-visible { color: var(--ink); }
.rr-back:hover .rr-arrow--left, .rr-back:focus-visible .rr-arrow--left { transform: translateX(-0.15em); }
@media (min-width: 1024px) { .rr-back { position: absolute; left: calc(-0.8em - 0.3em); top: 50%; transform: translateY(-50%); } .rr-back:hover .rr-arrow--left, .rr-back:focus-visible .rr-arrow--left { transform: translateX(-0.15em); } }

/* Headline items */
.rr-list { display: grid; gap: var(--space-5); }
.rr-item { display: grid; gap: var(--space-2); }
.rr-item__title { display: block; }
/* Hierarchy: curated = 700 (the anchor), automated = 500 */
.rr-item--lead { gap: var(--space-3); margin-bottom: var(--space-4); }
.rr-item--lead .rr-item__title { font-size: var(--step-2); font-weight: 700; line-height: var(--lh-tight); }
.rr-list--feed .rr-item__title, .rr-latest__item .rr-item__title { font-weight: 500; }
.rr-item__figure img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-top: 3px solid var(--red); }
.rr-item--row { grid-template-columns: 120px 1fr; gap: var(--space-4); align-items: start; }
.rr-item--row .rr-item__figure img { aspect-ratio: 3 / 2; }
@media (max-width: 640px) { .rr-item--row { grid-template-columns: 1fr; } }
.rr-feed__note { margin-top: var(--space-2); }

/* Utility bands (full-bleed, each with its own tint) */
.rr-band { margin-top: calc(var(--space-8) + var(--space-5)); padding-block: calc(var(--space-8) + var(--space-4)) var(--space-8); }
.rr-band + .rr-band { margin-top: 0; }
.rr-band--light { background: var(--tint-light); }
.rr-band--dark { background: var(--tint-dark); color: var(--on-dark); padding-top: calc(var(--space-8) + var(--space-1)); }
.rr-band--dark .rr-t-meta, .rr-band--dark .rr-item__source { color: var(--on-dark-2); }
.rr-band--dark a:hover, .rr-band--dark a:focus-visible { color: var(--on-dark); text-decoration: underline; text-underline-offset: 0.15em; }
.rr-utility { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--space-6); }
@media (max-width: 1023px) { .rr-utility { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .rr-utility { grid-template-columns: 1fr; } }
.rr-utility .rr-widget + .rr-widget { margin-top: 0; }
.rr-utility .rr-widget__title { font-family: var(--font-cond); font-weight: 700; font-size: var(--step-2); line-height: var(--lh-tight); color: inherit; margin-bottom: var(--space-3); }
.rr-list--static { gap: var(--space-2); }
.rr-list--static .rr-item__title { font-weight: 500; }
.rr-utility select, .rr-search__input { font: inherit; padding: var(--space-2) var(--space-3); border: 1px solid currentColor; background: transparent; color: inherit; max-width: 100%; border-radius: var(--radius); }
.rr-band--dark select option { color: var(--ink); }
.rr-search { display: flex; gap: var(--space-2); }
.rr-search__button { font: inherit; font-weight: 700; padding: var(--space-2) var(--space-4); background: var(--red); color: #fff; border: 0; cursor: pointer; border-radius: var(--radius); }

/* Archives + prose */
/* Category: stacked (original) */
.rr-archive .rr-list--archive { gap: var(--space-4); margin-block: var(--space-4) var(--space-6); max-width: 72ch; }
.rr-archive--stacked .rr-feed--archive { margin-top: var(--space-7); max-width: 72ch; }
/* Category: split — cards left, sticky feed right */
.rr-archive__head { margin-bottom: var(--space-5); }
.rr-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-6) var(--space-6); margin-bottom: var(--space-6); }
@media (max-width: 640px) { .rr-cards { grid-template-columns: 1fr; } }
/* Collections (no Google News feed): the card grid takes the full width, 3-up like the department columns */
.rr-archive--split.rr-archive--nofeed { grid-template-columns: 1fr; }
@media (min-width: 1024px) { .rr-archive--nofeed .rr-cards { grid-template-columns: repeat(3, 1fr); gap: var(--space-6) var(--space-7); } }
.rr-card { display: grid; gap: var(--space-2); align-content: start; }
.rr-card__figure { margin-bottom: var(--space-1); }
.rr-card__title { display: block; }
.rr-archive__feedhead { font-size: var(--step-2); margin-bottom: var(--space-5); }
.rr-archive__feed { padding-top: 6px; }
.rr-archive--split .rr-list--feed { gap: var(--space-4); }
.rr-archive--split .rr-list--feed .rr-item__title { font-weight: 500; font-size: var(--step-0); }
@media (min-width: 1024px) {
  .rr-archive--split { display: grid; grid-template-columns: 2fr 1fr; gap: var(--space-8); align-items: start; }
  .rr-archive--split .rr-archive__feed { position: sticky; top: calc(var(--rr-bar-h, 96px) + var(--space-5)); }
}
@media (max-width: 1023px) { .rr-archive--split .rr-archive__feed { margin-top: var(--space-7); } }
.rr-prose { max-width: var(--measure); }
.rr-prose__title { margin-bottom: var(--space-4); }
.rr-prose__body > * + * { margin-top: var(--space-4); }
/* Embedded video in article bodies (6 live posts carry raw YouTube/Vimeo iframes with fixed width/height; FitVids used to do this) */
.rr-prose__body iframe, .rr-prose__body embed, .rr-prose__body object, .rr-prose__body video { max-width: 100%; }
.rr-prose__body iframe[src*="youtube"], .rr-prose__body iframe[src*="youtu.be"], .rr-prose__body iframe[src*="vimeo"], .rr-prose__body iframe[src*="dailymotion"] { width: 100%; height: auto; aspect-ratio: 16 / 9; }
.rr-prose__body a { text-decoration: underline; text-underline-offset: 0.15em; }
.rr-prose__body h2 { font-size: var(--step-1); font-weight: 700; margin-top: var(--space-6); }
.rr-prose__body ul, .rr-prose__body ol { padding-left: 1.2em; list-style: revert; }
.rr-article__nav { margin-bottom: var(--space-4); }
.rr-article__header { display: grid; gap: var(--space-3); margin-bottom: var(--space-5); }
.rr-article__header .rr-prose__title { margin-bottom: 0; font-size: var(--step-3); font-weight: 700; line-height: var(--lh-tight); }
/* Return-to-section: a red back link with the shared arrow; clearly navigation, a step below the title */
.rr-article__dept-link { display: inline-flex; align-items: center; gap: 0.3em; font-family: var(--font-cond); font-weight: 700; font-size: var(--step-0); color: var(--red); }
.rr-article__dept-link:hover, .rr-article__dept-link:focus-visible { color: var(--ink); }
.rr-article__dept-link:hover .rr-arrow--left { transform: translateX(-0.15em); }
.rr-article__dept-link .rr-arrow { width: 0.9em; height: 0.9em; }
/* WordPress image alignment + captions inside article bodies */
.rr-prose__body::after { content: ""; display: table; clear: both; }
.rr-prose__body .alignright { float: right; margin: 1em 0 var(--space-4) var(--space-5); }
.rr-prose__body .alignleft { float: left; margin: 1em var(--space-5) var(--space-4) 0; }
.rr-prose__body .aligncenter { display: block; margin: var(--space-4) auto; }
.rr-prose__body .alignnone { margin: var(--space-4) 0; }
.rr-prose__body img.alignright, .rr-prose__body img.alignleft { max-width: min(50%, 320px); height: auto; }
.rr-prose__body .wp-caption { max-width: min(50%, 320px); box-sizing: border-box; }
.rr-prose__body .wp-caption.aligncenter, .rr-prose__body .wp-caption.alignnone { max-width: 100%; width: auto !important; }
.rr-prose__body .wp-caption img { width: 100%; height: auto; margin: 0; }
.rr-prose__body .wp-caption-text, .rr-prose__body figcaption { font-size: var(--step--1); line-height: var(--lh-base); color: var(--ink-2); margin-top: var(--space-2); }
.rr-prose__body img[width="1"][height="1"] { display: none; } /* broken tracking-size leftovers in old posts */
@media (max-width: 480px) {
  .rr-prose__body .alignright, .rr-prose__body .alignleft { float: none; margin: var(--space-4) auto; }
  .rr-prose__body img.alignright, .rr-prose__body img.alignleft, .rr-prose__body .wp-caption { max-width: 100%; width: auto !important; }
}
.rr-article__figure { margin-bottom: var(--space-5); }
/* Article: prose left, sticky source card right (same split as category pages) */
.rr-article__credit { margin-top: var(--space-2); }
@media (min-width: 1024px) {
  .rr-article-layout--card { display: grid; grid-template-columns: minmax(0, var(--measure)) 1fr; gap: var(--space-8); align-items: start; }
  .rr-article__aside { position: sticky; top: calc(var(--rr-bar-h, 96px) + var(--space-5)); max-width: 22rem; }
}
@media (max-width: 1023px) { .rr-article__aside { margin-top: var(--space-6); max-width: 28rem; } }
.rr-cta { background: var(--tint-light); border-radius: 10px; padding: var(--space-5) var(--space-5) var(--space-5); display: grid; gap: var(--space-2); }
.rr-cta__label { text-transform: uppercase; letter-spacing: 0.08em; font-weight: 500; }
.rr-cta__outlet { font-family: var(--font-cond); font-weight: 700; font-size: var(--step-2); line-height: var(--lh-tight); overflow-wrap: anywhere; }
.rr-cta__attr { font-weight: 500; }
.rr-cta__button { display: inline-flex; align-items: center; gap: 0.3em; justify-self: start; margin-top: var(--space-2); padding: var(--space-2) var(--space-4); background: var(--red); color: #fff; border-radius: var(--radius); font-weight: 700; }
.rr-cta__button:hover, .rr-cta__button:focus-visible { color: #fff; background: var(--ink); }
.rr-cta__button:hover .rr-arrow { transform: translateX(0.15em); }
.rr-cta__note { margin-top: var(--space-2); }
.rr-article__figure img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.pagination .nav-links { display: flex; gap: var(--space-2); flex-wrap: wrap; align-items: center; }
.pagination .page-numbers { padding: var(--space-1) var(--space-3); font-weight: 500; border-radius: 3px; }
.pagination .page-numbers.current { background: var(--red); color: #fff; }
.pagination .page-numbers.prev, .pagination .page-numbers.next { font-weight: 700; }
.pagination .page-numbers.dots { padding-inline: var(--space-1); color: var(--ink-2); }

/* Footer */
.rr-footer { background: var(--tint-darker); padding-block: var(--space-5); text-align: left; }
.rr-footer .rr-t-meta { color: var(--on-dark-2); }
.rr-footer a { color: var(--on-dark); text-decoration: underline; text-underline-offset: 0.15em; }
.rr-footer a:hover, .rr-footer a:focus-visible { color: var(--on-dark); text-decoration: none; }
