/* ────────────────────────────────────────────────────────────────
   THE RORT — Australia's Watchdog
   Broadsheet energy · serious with bite · editorial authority
   Dark default / Light toggle · burnt orange accent · slab serif display
   ──────────────────────────────────────────────────────────────── */

/* ── THEME TOKENS ─────────────────────────────────────────────── */

/* Dark theme (default) */
html[data-site="therort"],
html[data-site="therort"][data-theme="dark"] {
  --da-bg:              #0d0c0b;
  --da-bg-alt:          #141210;
  --da-bg-gradient:     linear-gradient(180deg, #0d0c0b 0%, #141210 100%);
  --da-surface:         rgba(255, 255, 255, 0.04);
  --da-surface-hover:   rgba(255, 255, 255, 0.07);
  --da-fg:              #b8b0a4;
  --da-fg-muted:        rgba(255, 255, 255, 0.4);
  --da-fg-dim:          rgba(255, 255, 255, 0.25);
  --da-fg-bright:       #f0ece4;
  --da-fg-inverse:      #0d0c0b;
  --da-accent:          #c85a00;
  --da-accent-hover:    #e06800;
  --da-accent-soft:     rgba(200, 90, 0, 0.12);
  --da-accent-muted:    rgba(200, 90, 0, 0.5);
  --da-border:          rgba(255, 255, 255, 0.06);
  --da-border-strong:   rgba(255, 255, 255, 0.12);
  --da-success:         #34d399;
  --da-success-soft:    rgba(52, 211, 153, 0.12);
  --da-error:           #f87171;
  --da-error-soft:      rgba(248, 113, 113, 0.12);
  --da-warning:         #fbbf24;
  --da-warning-soft:    rgba(251, 191, 36, 0.12);
  --da-info:            #60a5fa;
  --da-info-soft:       rgba(96, 165, 250, 0.12);
  --da-card-bg:         rgba(255, 255, 255, 0.04);
  --da-card-border:     rgba(255, 255, 255, 0.08);
  --da-card-hover-bg:   rgba(255, 255, 255, 0.07);
  --da-card-hover-border: rgba(200, 90, 0, 0.4);
  --da-navbar-bg:       rgba(13, 12, 11, 0.92);
  --da-separator:       rgba(200, 90, 0, 0.2);
  --da-selection-bg:    rgba(200, 90, 0, 0.3);
  --da-selection-fg:    #ffffff;
  --da-scrollbar-thumb: rgba(255, 255, 255, 0.1);
  --da-heading-fg:      #f0ece4;

  /* Rort-specific tokens */
  --rort-red:           #8b1a1a;
  --rort-red-hover:     #a82020;
  --rort-red-soft:      rgba(139, 26, 26, 0.15);
  --rort-embed-bg:      #1a1715;
  --rort-ticker-bg:     var(--da-accent);
  --rort-featured-bg:   var(--rort-red);
  --rort-voice-green:   #2a4a2a;
  --rort-voice-green-fg:#6db86d;
  --rort-masthead-rule:  #2a2520;

  color-scheme: dark;
}

/* Light theme */
html[data-site="therort"][data-theme="light"] {
  --da-bg:              #f7f4ef;
  --da-bg-alt:          #eeebe4;
  --da-bg-gradient:     linear-gradient(180deg, #f7f4ef 0%, #eeebe4 100%);
  --da-surface:         rgba(0, 0, 0, 0.03);
  --da-surface-hover:   rgba(0, 0, 0, 0.06);
  --da-fg:              #4a433c;
  --da-fg-muted:        rgba(0, 0, 0, 0.45);
  --da-fg-dim:          rgba(0, 0, 0, 0.3);
  --da-fg-bright:       #1a1714;
  --da-fg-inverse:      #f7f4ef;
  --da-accent:          #b84e00;
  --da-accent-hover:    #d45f00;
  --da-accent-soft:     rgba(184, 78, 0, 0.1);
  --da-accent-muted:    rgba(184, 78, 0, 0.5);
  --da-border:          rgba(0, 0, 0, 0.08);
  --da-border-strong:   rgba(0, 0, 0, 0.14);
  --da-success:         #059669;
  --da-success-soft:    rgba(5, 150, 105, 0.1);
  --da-error:           #dc2626;
  --da-error-soft:      rgba(220, 38, 38, 0.1);
  --da-warning:         #d97706;
  --da-warning-soft:    rgba(217, 119, 6, 0.1);
  --da-info:            #2563eb;
  --da-info-soft:       rgba(37, 99, 235, 0.1);
  --da-card-bg:         rgba(0, 0, 0, 0.03);
  --da-card-border:     rgba(0, 0, 0, 0.1);
  --da-card-hover-bg:   rgba(0, 0, 0, 0.05);
  --da-card-hover-border: rgba(184, 78, 0, 0.4);
  --da-navbar-bg:       rgba(247, 244, 239, 0.92);
  --da-separator:       rgba(184, 78, 0, 0.25);
  --da-selection-bg:    rgba(184, 78, 0, 0.2);
  --da-selection-fg:    #1a1714;
  --da-scrollbar-thumb: rgba(0, 0, 0, 0.12);
  --da-heading-fg:      #1a1714;

  /* Rort-specific tokens — light */
  --rort-red:           #7a1515;
  --rort-red-hover:     #941818;
  --rort-red-soft:      rgba(122, 21, 21, 0.1);
  --rort-embed-bg:      #ddd8ce;
  --rort-ticker-bg:     var(--da-accent);
  --rort-featured-bg:   var(--rort-red);
  --rort-voice-green:   #d0e8d0;
  --rort-voice-green-fg:#2a6a2a;
  --rort-masthead-rule:  #d0c8bc;

  color-scheme: light;
}

/* ── SVG ARTICLE GRAPHICS — theme-adaptive ──────────────────── */
/* SVGs are <img> so can't use CSS vars; darken on light theme  */
html[data-site="therort"][data-theme="light"] .ui-image__img[src*="/articles/"] {
  filter: brightness(0.45) saturate(1.3);
}

/* ── BASE ────────────────────────────────────────────────────── */

html[data-site="therort"] {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 16px;
  line-height: 1.6;
}

html[data-site="therort"] body {
  background: var(--da-bg);
  color: var(--da-fg);
  transition: background 0.3s, color 0.3s;
}

html[data-site="therort"] .ui-canvas {
  background: var(--da-bg);
  color: var(--da-fg);
  transition: background 0.3s, color 0.3s;
}

/* ── TYPOGRAPHY ──────────────────────────────────────────────── */

html[data-site="therort"] h1,
html[data-site="therort"] h2,
html[data-site="therort"] h3 {
  font-family: 'Playfair Display', Georgia, serif;
  color: var(--da-heading-fg);
  letter-spacing: -0.01em;
}

/* ── CONTAINER ───────────────────────────────────────────────── */

html[data-site="therort"] .ui-section-body__inner {
  max-width: none;
  margin: 0 auto;
  padding-left: 32px;
  padding-right: 32px;
}

/* ── MASTHEAD ────────────────────────────────────────────────── */

.rort-masthead {
  border-bottom: 1px solid var(--rort-masthead-rule);
  padding: 0 24px;
  background: var(--da-bg);
  transition: background 0.3s, border-color 0.3s;
}

.rort-masthead__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0 12px;
  border-bottom: 1px solid var(--da-border);
  transition: border-color 0.3s;
}

.rort-masthead__date {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--da-fg-muted);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1.7;
}
.rort-weather {
  margin-top: 6px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.05em;
  color: var(--da-fg);
  opacity: 0;
  transition: opacity 0.4s;
}
.rort-weather:not(:empty) {
  opacity: 1;
}

.rort-masthead__logo-wrap {
  text-align: center;
  flex: 1;
}

.rort-masthead__logo {
  font-family: 'Playfair Display', serif;
  font-size: clamp(42px, 10vw, 72px);
  font-weight: 900;
  color: var(--da-heading-fg);
  letter-spacing: -0.02em;
  line-height: 1;
  display: block;
}

.rort-masthead__logo .rort-accent {
  color: var(--da-accent);
}

.rort-masthead__tagline {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.25em;
  color: var(--da-fg-muted);
  text-transform: uppercase;
  margin-top: 4px;
  display: block;
}

.rort-masthead__edition {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--da-fg-muted);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1.7;
  text-align: right;
}

/* ── NAV (editorial) ─────────────────────────────────────────── */

.rort-nav {
  display: flex;
  overflow-x: auto;
  border-top: none;
  box-shadow: 0 -2px 0 0 var(--rort-masthead-rule);
  margin-left: -24px;
  margin-right: -24px;
  padding-left: 24px;
  padding-right: 24px;
  scrollbar-width: none;
}

.rort-nav::-webkit-scrollbar { display: none; }

.rort-nav__item {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--da-fg-muted);
  text-decoration: none;
  padding: 10px 16px;
  white-space: nowrap;
  border-right: 1px solid var(--da-border);
  transition: color 0.2s, background 0.2s;
}

.rort-nav__item:hover,
.rort-nav__item.active {
  color: var(--da-fg-bright);
  background: var(--da-surface-hover);
}

.rort-nav__item.active {
  color: var(--da-accent);
}

.rort-nav__cta {
  margin-left: auto;
  background: var(--da-accent);
  color: var(--da-fg-bright);
  border-right: none;
  font-weight: 700;
  padding: 10px 22px;
}

.rort-nav__cta:hover {
  background: var(--da-accent-hover);
  color: #fff;
}

/* ── TICKER ──────────────────────────────────────────────────── */

.rort-ticker {
  background: var(--rort-ticker-bg);
  padding: 6px 0;
  overflow: hidden;
  white-space: nowrap;
}

.rort-ticker__inner {
  display: inline-block;
  animation: rort-tick 35s linear infinite;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.08em;
  color: #fff;
  font-weight: 600;
  text-transform: uppercase;
}

@keyframes rort-tick {
  from { transform: translateX(100vw); }
  to   { transform: translateX(-100%); }
}

/* ── FEATURED BANNER ─────────────────────────────────────────── */

.rort-featured-banner {
  background: var(--rort-featured-bg);
  padding: 5px 24px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.85);
  display: flex;
  align-items: center;
  gap: 12px;
}

.rort-featured-banner::before {
  content: '\25CF';
  color: #ff8080;
  animation: rort-pulse 1.5s ease-in-out infinite;
}

@keyframes rort-pulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.3; }
}

/* ── CATEGORY TAG ────────────────────────────────────────────── */

.rort-category {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--da-accent);
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.rort-category::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 1px;
  background: var(--da-accent);
}

/* ── HERO PIECE ──────────────────────────────────────────────── */

.rort-hero__title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(22px, 4vw, 34px);
  font-weight: 700;
  line-height: 1.15;
  color: var(--da-heading-fg);
  margin-bottom: 16px;
  letter-spacing: -0.01em;
}

.rort-hero__summary {
  font-size: 15px;
  color: var(--da-fg);
  line-height: 1.65;
  margin-bottom: 20px;
  font-weight: 300;
  font-style: italic;
}

/* ── CREATOR CREDIT ──────────────────────────────────────────── */

.rort-creator-credit {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}

.rort-creator-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--da-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  color: #fff;
  flex-shrink: 0;
}

.rort-creator-avatar--red { background: var(--rort-red-hover); }
.rort-creator-avatar--green { background: var(--rort-voice-green); color: var(--rort-voice-green-fg); }

.rort-creator-info {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--da-fg-muted);
  letter-spacing: 0.05em;
}

.rort-creator-info strong {
  color: var(--da-fg-bright);
  font-weight: 600;
  display: block;
}

/* ── EMBED PLACEHOLDER ───────────────────────────────────────── */

.rort-embed {
  background: var(--rort-embed-bg);
  border: 1px solid var(--da-border-strong);
  aspect-ratio: 16 / 9;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transition: background 0.3s, border-color 0.3s;
}

.rort-embed::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(128,128,128,0.04) 10px, rgba(128,128,128,0.04) 20px);
}

.rort-embed__play {
  width: 56px;
  height: 56px;
  border: 2px solid var(--da-accent);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  cursor: pointer;
  background: transparent;
  transition: background 0.2s;
}

.rort-embed__play:hover { background: var(--da-accent); }

.rort-embed__play::after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 18px;
  border-color: transparent transparent transparent var(--da-accent);
  margin-left: 4px;
  transition: border-color 0.2s;
}

.rort-embed__play:hover::after { border-left-color: #fff; }

.rort-embed__label {
  position: absolute;
  bottom: 12px;
  left: 12px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--da-fg-muted);
  z-index: 1;
}

/* ── HERO SECTION (module-targeted) ──────────────────────────── */

/* Hero section — full bleed */
html[data-site="therort"] .module-wrapper--rort-hero-section .ui-section-body__inner {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.module-wrapper--rort-hero-section .ui-section-body {
  border-bottom: none;
}

/* Hero columns: divider between hero and sidebar */
.module-wrapper--rort-hero-columns .ui-columns__cell--left {
  padding: 48px 56px 52px 48px;
  border-right: 1px solid var(--da-border);
}

.module-wrapper--rort-hero-columns .ui-columns__cell--right {
  padding: 0;
  background: var(--da-surface);
}

/* Hero stack — generous vertical spacing */
.module-wrapper--rort-hero-stack .ui-stack {
  gap: 1.25rem;
}

/* Hero series label — refined mono */
.module-wrapper--rort-hero-series-label .ui-prose__item {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--da-fg-muted);
}

/* Hero category badge — refined pill with subtle border */
.module-wrapper--rort-hero-category .ui-feature {
  background: transparent;
  padding: 0;
  display: inline-flex;
}

.module-wrapper--rort-hero-category .ui-feature__card-link {
  text-decoration: none;
  color: inherit;
  display: inline-flex;
}

.module-wrapper--rort-hero-category .ui-feature__title {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--da-fg-bright);
  background: var(--da-accent);
  padding: 5px 14px;
  font-weight: 700;
  transition: background 0.25s;
}

.module-wrapper--rort-hero-category .ui-feature__card-link:hover .ui-feature__title {
  background: var(--da-accent-hover);
}

/* Hero title — large Playfair */
.module-wrapper--rort-hero-title .ui-feature {
  background: transparent;
  padding: 0;
}

.module-wrapper--rort-hero-title .ui-feature__card-link {
  text-decoration: none;
  color: inherit;
}

.module-wrapper--rort-hero-title .ui-feature__title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(30px, 4.8vw, 48px);
  font-weight: 800;
  line-height: 1.08;
  color: var(--da-heading-fg);
  letter-spacing: -0.025em;
  transition: color 0.25s;
}

.module-wrapper--rort-hero-title .ui-feature__card-link:hover .ui-feature__title {
  color: var(--da-accent);
}

/* Hero summary — elegant italic serif */
.module-wrapper--rort-hero-summary p.ui-prose__item {
  font-size: 16px;
  color: var(--da-fg);
  line-height: 1.7;
  font-weight: 300;
  font-style: italic;
  max-width: 580px;
}

/* Hero CTA — refined underline link */
.module-wrapper--rort-hero-cta {
  margin-top: 1rem;
  padding-bottom: 6px;
  border-bottom: 2px solid var(--da-accent);
  display: inline-block;
  transition: border-color 0.25s;
}

.module-wrapper--rort-hero-cta:hover {
  border-bottom-color: var(--da-accent-hover);
}

.module-wrapper--rort-hero-cta .ui-feature {
  background: transparent;
  padding: 0;
}

.module-wrapper--rort-hero-cta .ui-feature__title {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--da-accent);
  font-weight: 700;
  transition: color 0.25s;
}

.module-wrapper--rort-hero-cta .ui-feature__description {
  display: none;
}

.module-wrapper--rort-hero-cta .ui-feature__card-link {
  text-decoration: none;
  color: inherit;
}

.module-wrapper--rort-hero-cta .ui-feature:hover .ui-feature__title {
  color: var(--da-accent-hover);
}

/* ── OVERVIEW PANEL (right column) ────────────────────────────── */

/* Overview stack — left accent border on the whole panel */
.module-wrapper--rort-overview-stack {
  border-left: 3px solid var(--da-accent);
  height: 100%;
  display: flex;
  flex-direction: column;
}

.module-wrapper--rort-overview-stack > .ui-stack {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Overview heading */
.module-wrapper--rort-overview-heading .ui-prose__item {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--da-fg-muted);
  padding: 24px 32px 12px;
}

/* Overview meta row — compact pill-style tags */
.module-wrapper--rort-overview-meta {
  padding: 0 32px 20px;
}

.module-wrapper--rort-overview-meta .ui-stack {
  flex-direction: row;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.module-wrapper--rort-overview-meta .module-wrapper {
  display: inline-flex;
  align-items: center;
}

.module-wrapper--rort-overview-meta .ui-prose__item {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.06em;
  color: var(--da-fg-dim);
  padding: 3px 10px;
  background: var(--da-surface);
  border: 1px solid var(--da-border);
}

.module-wrapper--rort-overview-series .ui-prose__item {
  color: var(--da-accent);
  font-weight: 700;
  background: var(--da-accent-soft);
  border-color: var(--da-accent-muted);
}

/* No dot separators — using pill spacing instead */
.module-wrapper--rort-overview-series::after,
.module-wrapper--rort-overview-readtime::after {
  content: none;
}

/* Key findings heading */
.module-wrapper--rort-overview-points {
  padding: 0 32px 28px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.module-wrapper--rort-overview-points .ui-prose__wrap {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.module-wrapper--rort-overview-points .ui-prose__list {
  list-style: none;
  padding: 16px 0 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid var(--da-border);
  flex: 1;
}

.module-wrapper--rort-overview-points .ui-prose__list-item {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--da-fg);
  padding: 11px 0 11px 0;
  border-bottom: 1px solid var(--da-border);
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  transition: color 0.2s;
}

.module-wrapper--rort-overview-points .ui-prose__list-item:hover {
  color: var(--da-heading-fg);
}

.module-wrapper--rort-overview-points .ui-prose__list-item:last-child {
  border-bottom: none;
}

/* Numbered counter for key findings */
.module-wrapper--rort-overview-points .ui-prose__list {
  counter-reset: findings;
}

.module-wrapper--rort-overview-points .ui-prose__list-item {
  counter-increment: findings;
}

.module-wrapper--rort-overview-points .ui-prose__list-item::before {
  content: '0' counter(findings);
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 700;
  color: var(--da-accent);
  letter-spacing: 0.05em;
  flex-shrink: 0;
  width: auto;
  height: auto;
  background: none;
  border-radius: 0;
  opacity: 1;
  margin-top: 3px;
  position: static;
  transform: none;
}

/* ── FEATURED CARDS (3 below hero) ───────────────────────────── */

html[data-site="therort"] .module-wrapper--rort-featured-section .ui-section-body__inner {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.module-wrapper--rort-featured-section .ui-section-body {
  border-bottom: none;
}

.module-wrapper--rort-featured-grid .ui-grid {
  gap: 0;
  border-top: 1px solid var(--da-border);
}

/* Fading vertical divider between cards */
.module-wrapper--rort-featured-grid .ui-grid > .module-wrapper + .module-wrapper {
  border-left: 1px solid transparent;
  border-image: linear-gradient(
    180deg,
    transparent 0%,
    var(--da-border-strong) 25%,
    var(--da-border-strong) 75%,
    transparent 100%
  ) 1;
}

/* Accent top bar on hover */
.module-wrapper--rort-featured-grid .ui-grid > .module-wrapper {
  position: relative;
}

.module-wrapper--rort-featured-grid .ui-grid > .module-wrapper::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--da-accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.module-wrapper--rort-featured-grid .ui-grid > .module-wrapper:hover::after {
  transform: scaleX(1);
}

.module-wrapper--rort-featured-grid .ui-feature {
  background: transparent;
  padding: 28px 32px 32px;
  border-radius: 0;
  transition: background 0.3s;
  height: 100%;
}

.module-wrapper--rort-featured-grid .ui-feature:hover {
  background: var(--da-surface);
}

.module-wrapper--rort-featured-grid .ui-feature__card-link {
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
}

/* Category label via subtitle — reorder above title */
.module-wrapper--rort-featured-grid .ui-feature__subtitle {
  order: -1;
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--da-accent);
  font-weight: 700;
  margin-bottom: 10px;
  display: block;
}

.module-wrapper--rort-featured-grid .ui-feature__title {
  font-family: 'Playfair Display', serif;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--da-heading-fg);
  margin-bottom: 14px;
  letter-spacing: -0.01em;
}

.module-wrapper--rort-featured-grid .ui-feature__description {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--da-fg);
}

/* ── SECTION HEADINGS (module-targeted) ──────────────────────── */

.module-wrapper--rort-voices-heading .ui-prose__item,
.module-wrapper--rort-stories-heading .ui-prose__item {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--da-fg-muted);
  padding-bottom: 16px;
  border-bottom: 1px solid var(--da-border-strong);
  margin-bottom: 16px;
}

/* ── VOICE & STORY CARDS (module-targeted) ───────────────────── */

.module-wrapper--rort-voices-grid .ui-feature,
.module-wrapper--rort-stories-grid .ui-feature {
  background: var(--da-bg-alt);
  border: 1px solid var(--da-border-strong);
  padding: 20px;
  border-radius: 0;
  transition: border-color 0.2s, background 0.2s;
}

.module-wrapper--rort-voices-grid .ui-feature:hover,
.module-wrapper--rort-stories-grid .ui-feature:hover {
  border-color: var(--da-accent);
  background: var(--da-surface-hover);
}

.module-wrapper--rort-voices-grid .ui-feature__title,
.module-wrapper--rort-stories-grid .ui-feature__title {
  font-family: 'Playfair Display', serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--da-heading-fg);
  margin-bottom: 8px;
}

.module-wrapper--rort-voices-grid .ui-feature__description,
.module-wrapper--rort-stories-grid .ui-feature__description {
  font-size: 12px;
  color: var(--da-fg-muted);
  line-height: 1.5;
}

.module-wrapper--rort-stories-grid .ui-feature__description {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* ── STORIES SECTION TOP BORDER ──────────────────────────────── */

.module-wrapper--rort-stories-section .ui-section-body {
  border-top: 1px solid var(--da-border);
}

/* ── BOTTOM BAR / FOOTER ─────────────────────────────────────── */

.rort-bottom {
  border-top: 1px solid var(--da-border-strong);
  padding: 20px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--da-bg-alt);
  margin-top: 8px;
  transition: background 0.3s, border-color 0.3s;
}

.rort-bottom__logo {
  font-family: 'Playfair Display', serif;
  font-size: 16px;
  font-weight: 900;
  color: var(--da-fg-muted);
  letter-spacing: -0.01em;
}

.rort-bottom__logo .rort-accent { color: var(--da-accent); }

.rort-bottom__mission {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--da-fg-muted);
  text-align: center;
}

.rort-bottom__cta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--da-accent);
  cursor: pointer;
  border: 1px solid var(--da-accent);
  padding: 6px 12px;
  background: transparent;
  transition: background 0.2s, color 0.2s;
  text-decoration: none;
}

.rort-bottom__cta:hover {
  background: var(--da-accent);
  color: #fff;
}

/* ── THEME TOGGLE (dareakt_ pattern) ─────────────────────────── */

.da-theme-toggle {
  position: fixed;
  bottom: 28px;
  right: 24px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--da-bg-alt);
  border: 1.5px solid var(--da-border-strong);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 9999;
  font-size: 20px;
  color: var(--da-fg-bright);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
  transition: background 0.3s, border-color 0.3s, transform 0.15s, box-shadow 0.3s;
  user-select: none;
}

.da-theme-toggle:hover {
  transform: scale(1.08);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.45);
  border-color: var(--da-accent);
}

.da-theme-toggle:active { transform: scale(0.95); }

/* ── ARTICLE PAGE LAYOUT ────────────────────────────────────── */
/* Single-column editorial — consistent width for all content,
   generous whitespace, clear visual rhythm                    */

/* All article prose uses full container width */
html[data-site="therort"] .ssr-page .ui-prose {
  --ui-prose-max: 100%;
}

/* Article hero image — full bleed */
.module-wrapper--article-featured-image {
  margin: 0;
}
.module-wrapper--article-featured-image .ui-image { width: 100%; }
.module-wrapper--article-featured-image .ui-image__img {
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
  display: block;
}

/* Raster hero images — cap height; SVGs get full natural height */
.module-wrapper--article-featured-image .ui-image__img:not([src$=".svg"]) {
  max-height: 420px;
  object-fit: cover;
}

/* Image caption */
.module-wrapper--article-image-caption .ui-prose__item {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.05em;
  color: var(--da-fg-muted);
  margin-top: 8px;
  font-style: italic;
}

/* ── HEADER ──────────────────────────────────────────────────── */

/* Series label — small caps monospace with dash prefix */
.module-wrapper--article-series-label .ui-prose__item {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--da-accent);
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 32px;
}
.module-wrapper--article-series-label .ui-prose__item::before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 1px;
  background: var(--da-accent);
}

/* Title */
.module-wrapper--article-title h1.ui-prose__item {
  font-family: 'Playfair Display', serif;
  font-size: clamp(28px, 5vw, 42px);
  font-weight: 700;
  line-height: 1.12;
  color: var(--da-heading-fg);
  letter-spacing: -0.02em;
}

/* Subtitle / deck — accent border, italic */
.module-wrapper--article-subtitle p.ui-prose__item {
  font-size: 17px;
  color: var(--da-fg);
  line-height: 1.65;
  font-weight: 300;
  font-style: italic;
  border-left: 2px solid var(--da-accent);
  padding-left: 16px;
}

/* Byline */
.module-wrapper--article-byline .ui-prose__item {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.08em;
  color: var(--da-fg-muted);
  text-transform: uppercase;
}

/* ── BODY TEXT ────────────────────────────────────────────────── */

.module-wrapper--article-body-stack .ui-prose__item {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 18px;
  line-height: 1.8;
  color: var(--da-fg);
}

/* Section headings */
.module-wrapper--article-body-stack h2.ui-prose__item {
  font-family: 'Playfair Display', serif;
  font-size: clamp(22px, 3vw, 28px);
  font-weight: 700;
  line-height: 1.25;
  color: var(--da-heading-fg);
  letter-spacing: -0.01em;
  margin-top: 1rem;
}

/* First section heading — no top margin */
.module-wrapper--article-section-1-heading h2.ui-prose__item {
  margin-top: 0;
}

/* ── LEDE ─────────────────────────────────────────────────────── */

.module-wrapper--article-lede p.ui-prose__item {
  font-size: 19px;
  line-height: 1.7;
  color: var(--da-fg-bright);
}

/* First lede paragraph — slightly larger */
.module-wrapper--article-lede p.ui-prose__item:first-child {
  font-size: 21px;
  line-height: 1.65;
}

/* Paragraph spacing */
.module-wrapper--article-body-stack .module-wrapper.module-ui-prose {
  margin-bottom: 0.5rem;
}

/* Hide empty template slots (10 section slots, most articles use 7-8) */
.module-wrapper--article-content-stack .module-wrapper.module-ui-prose:has(.ui-prose:empty) {
  display: none;
}
/* Hide dividers followed by empty sections */
.module-wrapper--article-content-stack .module-wrapper.module-ui-divider:has(+ .module-wrapper.module-ui-prose .ui-prose:empty) {
  display: none;
}
/* Footer divider redundant — signoff provides visual closure */
.module-wrapper--article-divider-footer {
  display: none;
}

/* ── BLOCKQUOTE — attributed quotes with left accent ─────── */
.module-wrapper--article-content-stack .ui-prose__blockquote {
  font-family: 'Playfair Display', serif;
  font-size: 1.15rem;
  line-height: 1.6;
  font-style: italic;
  color: var(--da-fg-bright);
  border-left: 3px solid var(--da-accent);
  padding: 1.25rem 0 1.25rem 2rem;
  margin: 2.5rem 0;
  background: rgba(200, 90, 0, 0.03);
  border-radius: 0 4px 4px 0;
}

.module-wrapper--article-content-stack .ui-prose__cite {
  display: block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.65rem;
  font-style: normal;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--da-fg-muted);
  margin-top: 0.85rem;
  padding-top: 0.6rem;
  border-top: 1px solid rgba(200, 90, 0, 0.15);
}
.module-wrapper--article-content-stack .ui-prose__cite::before {
  content: '\2014\00a0';
}
.module-wrapper--article-content-stack .ui-prose__cite-source {
  font-style: italic;
  text-transform: none;
  letter-spacing: 0;
  color: var(--da-fg-dim);
}
.module-wrapper--article-content-stack .ui-prose__cite-ref {
  color: var(--da-accent);
  font-size: 0.6rem;
}

/* ── PULLQUOTE — editorial emphasis, centred accent ─────── */
.module-wrapper--article-content-stack .ui-prose__pullquote {
  font-family: 'Playfair Display', serif;
  font-size: 1.35rem;
  line-height: 1.55;
  font-style: italic;
  color: var(--da-fg-bright);
  text-align: center;
  padding: 1rem 3rem;
  margin: 1.5rem auto;
  max-width: 88%;
  border-top: none;
  border-bottom: none;
  position: relative;
}
.module-wrapper--article-content-stack .ui-prose__pullquote::before {
  content: '';
  display: block;
  width: 3rem;
  height: 3px;
  background: var(--da-accent);
  margin: 0 auto 0.75rem;
}
.module-wrapper--article-content-stack .ui-prose__pullquote::after {
  content: '';
  display: block;
  width: 3rem;
  height: 3px;
  background: var(--da-accent);
  margin: 0.75rem auto 0;
}

/* ── FACT — inline stat callout ─────────────────────────── */
.module-wrapper--article-content-stack .ui-prose__fact {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 1.75rem 2rem;
  margin: 2.5rem 0;
  background: rgba(200, 90, 0, 0.04);
  border-left: 3px solid var(--da-accent);
  border-radius: 0 4px 4px 0;
}
.module-wrapper--article-content-stack .ui-prose__fact-stat {
  font-family: 'Playfair Display', serif;
  font-size: 2.5rem;
  font-weight: 900;
  color: var(--da-accent);
  line-height: 1.1;
  flex-shrink: 0;
  white-space: nowrap;
  text-align: center;
  min-width: 5rem;
}
.module-wrapper--article-content-stack .ui-prose__fact-body {
  flex: 1;
  min-width: 0;
}
.module-wrapper--article-content-stack .ui-prose__fact-desc {
  display: block;
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--da-fg);
}
.module-wrapper--article-content-stack .ui-prose__fact-source {
  display: block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.6rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--da-fg-dim);
  margin-top: 0.5rem;
}

/* ── SIGNOFF — editorial closing tagline ──────────────────── */
.module-wrapper--article-content-stack .ui-prose__signoff {
  text-align: center;
  padding: 2.5rem 2rem 1rem;
  margin: 2.5rem 0 0;
  border-top: 1px solid var(--da-border);
  position: relative;
}
.module-wrapper--article-content-stack .ui-prose__signoff::before {
  content: '';
  display: block;
  width: 2.5rem;
  height: 3px;
  background: var(--da-accent);
  margin: 0 auto 1.75rem;
  position: absolute;
  top: -2px;
  left: 50%;
  transform: translateX(-50%);
}
.module-wrapper--article-content-stack .ui-prose__signoff-text {
  font-family: 'Playfair Display', serif;
  font-size: 1.15rem;
  font-weight: 700;
  font-style: italic;
  color: var(--da-fg-bright);
  letter-spacing: 0.01em;
}
.module-wrapper--article-content-stack .ui-prose__signoff-url {
  display: block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.6rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--da-accent);
  margin-top: 0.6rem;
  text-decoration: none;
}
.module-wrapper--article-content-stack .ui-prose__signoff-url:hover {
  text-decoration: underline;
}

/* ── TABLE — full width with accent header ────────────────── */
.module-wrapper--article-section-1-table {
  margin: 1.5rem 0;
}

/* ── CALLOUT — full width stat box ────────────────────────── */
.module-wrapper--article-section-4-callout {
  margin: 2rem 0;
}

/* ── FOOTER ──────────────────────────────────────────────────── */

/* Correction policy */
.module-wrapper--article-correction p.ui-prose__item {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--da-fg-muted);
  line-height: 1.7;
  letter-spacing: 0.02em;
  background: var(--da-accent-soft);
  border-left: 2px solid var(--da-accent);
  padding: 12px 16px;
}

/* References heading */
.module-wrapper--article-references-heading h3.ui-prose__item {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--da-fg-muted);
  padding-bottom: 8px;
  border-bottom: 1px solid var(--da-border);
}

/* References list */
.module-wrapper--article-references-list .ui-prose__list--references {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.module-wrapper--article-references-list .ui-prose__list-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 10px 0;
  border-bottom: 1px solid var(--da-border);
}
.module-wrapper--article-references-list .ui-prose__list-item::before {
  content: none;
}
.module-wrapper--article-references-list .ui-prose__ref-desc {
  font-family: 'Source Serif 4', serif;
  font-size: 12px;
  color: var(--da-fg);
  line-height: 1.5;
}
.module-wrapper--article-references-list .ui-link--ref {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  color: var(--da-accent);
  text-decoration: none;
  word-break: break-all;
  line-height: 1.4;
}
.module-wrapper--article-references-list .ui-link--ref:hover {
  text-decoration: underline;
}
.module-wrapper--article-references-list .ui-prose__ref-note {
  font-family: 'Source Serif 4', serif;
  font-size: 11px;
  font-style: italic;
  color: var(--da-fg-dim);
  line-height: 1.4;
}

/* ── ARTICLE TWO-COLUMN LAYOUT ──────────────────────────────── */

/* Grid layout — 3-column: TOC | article | sidebar */
.module-wrapper--article-layout .ui-columns {
  align-items: start;
}

/* TOC column — sticky */
.module-wrapper--article-layout .ui-columns__cell--toc {
  position: sticky;
  top: 2rem;
  padding-top: 2rem;
  border-right: 1px solid var(--da-border);
  padding-right: 1.5rem;
}

/* TOC heading */
.module-wrapper--article-toc-stack h3.ui-prose__item {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--da-fg-muted);
  padding-bottom: 8px;
  border-bottom: 1px solid var(--da-border);
}

/* TOC list */
.module-wrapper--toc-list .ui-prose__list {
  list-style: none;
  padding: 0;
}

.module-wrapper--toc-list .ui-prose__list-item {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 12px;
  line-height: 1.4;
  color: var(--da-fg-muted);
  padding: 6px 0;
  border-bottom: 1px solid var(--da-border);
  transition: color 0.2s;
  cursor: pointer;
}

.module-wrapper--toc-list .ui-prose__list-item:hover {
  color: var(--da-accent);
}

/* TOC anchor links */
.module-wrapper--toc-list .ui-prose__toc-link {
  color: inherit;
  text-decoration: none;
  display: block;
  transition: color 0.2s;
}
.module-wrapper--toc-list .ui-prose__toc-link:hover {
  color: var(--da-accent);
}

/* Active TOC item — scroll spy highlight */
.module-wrapper--toc-list .ui-prose__toc-active {
  color: var(--da-heading-fg);
  border-left: 2px solid var(--da-accent);
  padding-left: 10px;
  margin-left: -12px;
}

.module-wrapper--toc-list .ui-prose__toc-active .ui-prose__toc-link {
  color: var(--da-heading-fg);
  font-weight: 600;
}

/* Smooth scroll for anchor navigation */
html[data-site="therort"] {
  scroll-behavior: smooth;
}

/* Scroll offset for sticky header */
html[data-site="therort"] h2[id] {
  scroll-margin-top: 2rem;
}

/* Sidebar column — sticky, top-aligned */
.module-wrapper--article-layout .ui-columns__cell--sidebar {
  position: sticky;
  top: 2rem;
  border-left: 1px solid var(--da-border-strong);
  padding-left: 2rem;
  padding-top: 2rem;
}

/* Sidebar stack — tighter gap, sections spaced by heading margin */
.module-wrapper--article-sidebar-stack .ui-stack {
  gap: 0 !important;
}

/* Sidebar headings */
.module-wrapper--article-sidebar-stack h3.ui-prose__item {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--da-fg-muted);
  padding-bottom: 8px;
  border-bottom: 1px solid var(--da-border);
  margin-bottom: 0;
}

/* Sidebar heading wrappers — add top margin to create section separation */
.module-wrapper--sidebar-series-heading,
.module-wrapper--sidebar-keyfacts-heading,
.module-wrapper--sidebar-voices-heading,
.module-wrapper--sidebar-about-heading,
.module-wrapper--sidebar-contact-heading {
  margin-top: 1.75rem;
}

/* First child heading — no top margin */
.module-wrapper--article-sidebar-stack .ui-stack > .module-wrapper:first-child {
  margin-top: 0;
}

/* Content wrappers directly after headings — tight coupling */
.module-wrapper--sidebar-series,
.module-wrapper--sidebar-keyfacts,
.module-wrapper--sidebar-voices,
.module-wrapper--sidebar-about,
.module-wrapper--sidebar-contact,
.module-wrapper--sidebar-categories {
  margin-top: 0;
}

/* Sidebar category tags — inline pills (high specificity to beat global sidebar reset) */
.module-wrapper--article-sidebar-stack .module-wrapper--sidebar-categories .ui-prose__list {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
}

.module-wrapper--article-sidebar-stack .module-wrapper--sidebar-categories .ui-prose__list-item {
  display: inline-flex;
  padding-left: 0;
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--da-accent);
  background: transparent;
  padding: 3px 0;
  border: none;
  border-bottom: none;
}

.module-wrapper--article-sidebar-stack .module-wrapper--sidebar-categories .ui-prose__list-item + .ui-prose__list-item::before {
  content: '\00b7';
  display: inline;
  margin-right: 8px;
  color: var(--da-fg-muted);
  opacity: 0.5;
  width: auto;
  height: auto;
  border-radius: 0;
  background: none;
  position: static;
  flex-shrink: 0;
}

.module-wrapper--article-sidebar-stack .module-wrapper--sidebar-categories .ui-prose__series-link {
  color: var(--da-accent);
  text-decoration: none;
  transition: opacity 0.2s;
}
.module-wrapper--article-sidebar-stack .module-wrapper--sidebar-categories .ui-prose__series-link:hover {
  opacity: 0.7;
}

/* Sidebar lists — remove dot markers globally */
.module-wrapper--article-sidebar-stack .ui-prose__list-item::before {
  content: none;
  display: none;
}
.module-wrapper--article-sidebar-stack .ui-prose__list-item {
  padding-left: 0;
  display: block;
  gap: 0;
}
.module-wrapper--article-sidebar-stack .ui-prose__list {
  gap: 0;
}

/* Sidebar key facts */
.module-wrapper--sidebar-keyfacts .ui-prose__list {
  list-style: none;
  padding: 0;
}

.module-wrapper--sidebar-keyfacts .ui-prose__list-item {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 12px;
  line-height: 1.45;
  color: var(--da-fg);
  padding: 6px 0;
  border-bottom: 1px solid var(--da-border);
}

.module-wrapper--sidebar-keyfacts .ui-prose__list-item strong {
  color: var(--da-accent);
  font-family: 'Playfair Display', serif;
  font-size: 16px;
  font-weight: 900;
  display: inline;
  margin-right: 6px;
  line-height: 1.2;
}

/* Sidebar independent voices */
.module-wrapper--sidebar-voices .ui-prose__list {
  list-style: none;
  padding: 0;
}

.module-wrapper--sidebar-voices .ui-prose__list-item {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.04em;
  color: var(--da-fg);
  padding: 5px 0;
  border-bottom: 1px solid var(--da-border);
}

/* Sidebar series articles */
.module-wrapper--sidebar-series .ui-prose__list {
  list-style: none;
  padding: 0;
}

.module-wrapper--sidebar-series .ui-prose__list-item {
  font-family: 'Playfair Display', serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--da-heading-fg);
  padding: 8px 0;
  border-bottom: 1px solid var(--da-border);
  cursor: pointer;
  transition: color 0.2s;
}

.module-wrapper--sidebar-series .ui-prose__list-item:hover {
  color: var(--da-accent);
}
.module-wrapper--sidebar-series .ui-prose__series-link {
  text-decoration: none;
  color: inherit;
  display: block;
}
.module-wrapper--sidebar-series .ui-prose__series-link:hover {
  color: var(--da-accent);
}

/* Sidebar about */
.module-wrapper--sidebar-about p.ui-prose__item {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 12px;
  line-height: 1.55;
  color: var(--da-fg-muted);
  font-style: italic;
  margin-top: 2px;
}

/* Sidebar contact */
.module-wrapper--sidebar-contact p.ui-prose__item {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.05em;
  color: var(--da-accent);
}

/* ── RESPONSIVE ──────────────────────────────────────────────── */

@media (max-width: 768px) {
  /* Article layout — stack on mobile */
  .module-wrapper--article-layout .ui-columns {
    grid-template-columns: 1fr !important;
  }

  .module-wrapper--article-layout .ui-columns__cell--toc {
    position: static;
    border-right: none;
    padding-right: 0;
    border-bottom: 1px solid var(--da-border-strong);
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    padding-top: 0;
  }

  .module-wrapper--article-layout .ui-columns__cell--sidebar {
    position: static;
    border-left: none;
    padding-left: 0;
    border-top: 1px solid var(--da-border-strong);
    padding-top: 2rem;
    margin-top: 2rem;
  }

  .module-wrapper--rort-hero-columns .ui-columns {
    grid-template-columns: 1fr;
  }

  .module-wrapper--rort-hero-columns .ui-columns__cell--left {
    padding: 24px 24px;
    border-right: none;
    border-bottom: 1px solid var(--da-border-strong);
  }

  .module-wrapper--rort-hero-columns .ui-columns__cell--right {
    padding: 0;
  }

  .rort-masthead__top {
    flex-direction: column;
    text-align: center;
    gap: 8px;
  }

  .rort-masthead__date,
  .rort-masthead__edition {
    text-align: center;
  }

  .rort-bottom {
    flex-direction: column;
    gap: 12px;
    text-align: center;
  }

  /* Article pull quotes — tighter on mobile */
  .module-wrapper--article-body-stack .ui-prose p > em:only-child {
    font-size: 18px;
    padding: 1.5rem 1rem;
  }
  .module-wrapper--article-body-stack .ui-prose p > em:only-child::before {
    font-size: 2.5rem;
    left: 0.25rem;
  }
}

/* ── ARTICLE STYLING — GLOBAL ────────────────────────────────── */

/* Section headings — orange underline */
html[data-site="therort"] .ssr-page h2 {
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--da-accent);
  margin-bottom: 0;
}

/* Consistent heading→body gap: kill all spacing on heading/intro/body wrappers,
   then add exactly 1rem after the heading wrapper only */
.module-wrapper--article-content-stack [class*="section-"][class*="-heading"],
.module-wrapper--article-content-stack [class*="section-"][class*="-intro"],
.module-wrapper--article-content-stack [class*="section-"][class*="-body"] {
  margin-top: 0;
  margin-bottom: 0;
}
.module-wrapper--article-content-stack [class*="section-"][class*="-heading"] {
  margin-bottom: 1rem;
}

/* Article dividers — thin accent-colored rules */
html[data-site="therort"] .ssr-page hr.ui-divider {
  border: none;
  border-top: 1px solid var(--da-accent, #c85a00);
  opacity: 0.25;
  margin: 3rem 0;
}

/* Article body paragraphs — proper spacing */
html[data-site="therort"] .ssr-page .ui-prose p {
  margin-bottom: 1.1rem;
}

/* Article table */
html[data-site="therort"] .ssr-page .ui-prose__table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 0.9rem;
  line-height: 1.45;
}

html[data-site="therort"] .ssr-page .ui-prose__table thead th {
  background: var(--da-accent);
  color: #fff;
  font-family: 'Source Serif 4', Georgia, serif;
  font-weight: 700;
  font-size: 0.85rem;
  padding: 0.6rem 0.75rem;
  text-align: left;
  border: 1px solid rgba(200, 90, 0, 0.3);
}

html[data-site="therort"] .ssr-page .ui-prose__table tbody td {
  padding: 0.6rem 0.75rem;
  border: 1px solid var(--da-border-strong);
  vertical-align: top;
}

html[data-site="therort"] .ssr-page .ui-prose__table tbody tr:nth-child(even) td {
  background: var(--da-surface);
}

html[data-site="therort"] .ssr-page .ui-prose__table tbody tr:hover td {
  background: var(--da-surface-hover);
}

/* Article callout box */
html[data-site="therort"] .ssr-page .ui-prose__callout {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  background: #1a1714;
  padding: 1.25rem 1.75rem;
  margin: 1.5rem 0;
  border: 1px solid rgba(200, 90, 0, 0.15);
}

html[data-site="therort"] .ssr-page .ui-prose__callout-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: var(--da-accent);
  text-transform: uppercase;
}

html[data-site="therort"] .ssr-page .ui-prose__callout-stat {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 3rem;
  font-weight: 900;
  color: #fff;
  line-height: 1.1;
}

html[data-site="therort"] .ssr-page .ui-prose__callout-desc {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 0.9rem;
  color: #999;
  line-height: 1.4;
}

/* Light theme callout */
html[data-site="therort"][data-theme="light"] .ssr-page .ui-prose__callout {
  background: #1a1714;
  color: #fff;
}

/* Sub-headings within article body (bold lead-ins) */
html[data-site="therort"] .ssr-page .ui-prose p > strong:first-child {
  color: var(--da-heading-fg);
  font-family: 'Playfair Display', Georgia, serif;
}

/* Series label */
html[data-site="therort"] .module-wrapper--article-series-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--da-accent);
  font-weight: 700;
}

/* Byline */
html[data-site="therort"] .module-wrapper--article-byline {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--da-fg-muted);
  padding-bottom: 0.5rem;
  margin-bottom: 0;
  border-bottom: 1px solid var(--da-border);
}

/* Image caption */
html[data-site="therort"] .module-wrapper--article-image-caption {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  letter-spacing: 0.04em;
  color: var(--da-fg-muted);
  margin-top: 0.5rem;
}
