/*
 * ═══════════════════════════════════════════════════════════════
 *  RAGE X INTELLIGENCE — ULTRA VISUAL SYSTEM  v2.7
 *  ragex-ultra.css  |  Theme v27 — Decode. Dominate. Deliver.
 *  Loaded last — wins all specificity
 *
 *  V27 CHANGES:
 *  ✦ READING PROGRESS BAR — top:0, Intel Blue→Tactical Yellow gradient
 *  ✦ HEADER/NAV — desktop width fix, max 1200px, properly contained
 *  ✦ COLOR BALANCE — Red/Blue/Yellow used purposefully by role
 *  ✦ CARDS — tricolor glow system (blue=default, red=alert, gold=nuclear)
 *  ✦ SECTION HEADERS — animated dual-color accent lines
 *  ✦ BADGES — tricolor system (red=breaking, blue=intel, gold=exclusive)
 *  ✦ FOOTER — tricolor top border, depth reveal
 *  ✦ TYPOGRAPHY — H3 blue accent, blockquote intel-blue
 *  ✦ LIGHT MODE — full v27 parity
 * ═══════════════════════════════════════════════════════════════
 */


/* ═══════════════════════════════════════════════════════════════
   01  DESIGN TOKENS — V27 SYSTEM
   ═══════════════════════════════════════════════════════════════ */
:root {
  --rx-r-sharp:  0px;
  --rx-r-sm:     3px;
  --rx-r-card:   6px;
  --rx-r-pill:   20px;

  --rx-red:        #9A0000;
  --rx-blue:       #4A90E2;
  --rx-yellow:     #CCAA00;
  --rx-red-dim:    rgba(154,0,0,0.5);
  --rx-blue-dim:   rgba(74,144,226,0.45);
  --rx-yellow-dim: rgba(204,170,0,0.5);

  /* Desktop max-width — v28: unified at 1280px */
  --rx-container: 1280px;

  --rx-shadow-card:      0 1px 3px rgba(0,0,0,0.4), 0 4px 16px rgba(0,0,0,0.3);
  --rx-shadow-hover:     0 6px 28px rgba(0,0,0,0.55), 0 2px 8px rgba(0,0,0,0.4);
  --rx-shadow-red-glow:  0 0 0 1px rgba(154,0,0,0.35), 0 6px 28px rgba(0,0,0,0.55);
  --rx-shadow-blue-glow: 0 0 0 1px rgba(74,144,226,0.35), 0 6px 28px rgba(0,0,0,0.5);
  --rx-shadow-gold-glow: 0 0 0 1px rgba(204,170,0,0.35), 0 6px 28px rgba(0,0,0,0.5);
  --rx-shadow-deep:      0 16px 48px rgba(0,0,0,0.8), 0 4px 12px rgba(0,0,0,0.5);
  --rx-shadow-header:    0 2px 32px rgba(0,0,0,0.6);
  --rx-shadow-widget:    0 1px 4px rgba(0,0,0,0.35), 0 4px 20px rgba(0,0,0,0.2);

  --rx-t-instant: 0.08s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --rx-t-quick:   0.15s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --rx-t-smooth:  0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --rx-t-entry:   0.4s  cubic-bezier(0.16, 1, 0.3, 1);
  --rx-t-spring:  0.5s  cubic-bezier(0.34, 1.56, 0.64, 1);

  --rx-anim-play: running;
}


/* ═══════════════════════════════════════════════════════════════
   02  READING PROGRESS BAR — V27 FIXED
   FIX 1: top: 0 — sits at absolute viewport top (not mid-page)
   FIX 2: Intel Blue → Tactical Yellow gradient (not all red)
   FIX 3: z-index: 999999 — above ticker and header
   ═══════════════════════════════════════════════════════════════ */
.reading-progress {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0;
  height: 3px !important;
  width: 0;
  z-index: 999999 !important;
  pointer-events: none;
  opacity: 0;
  transform-origin: left center;

  background: linear-gradient(
    90deg,
    #1B365D    0%,
    #4A90E2   35%,
    #5ABBE8   60%,
    #A8B800   80%,
    #CCAA00  100%
  ) !important;
  background-size: 200% 100%;

  box-shadow:
    0 0 6px rgba(74,144,226,0.8),
    0 0 14px rgba(74,144,226,0.25),
    0 1px 0 rgba(0,0,0,0.6) !important;

  transition:
    width 0.06s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    opacity 0.3s ease,
    box-shadow 0.4s ease;
}

.reading-progress.is-active {
  opacity: 1;
}

.reading-progress::after {
  content: '';
  position: absolute;
  top: 0;
  left: -60px;
  width: 60px;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,255,255,0.4) 50%,
    transparent 100%
  );
  animation: rx-scan-line 2.4s ease-in-out infinite;
  animation-play-state: var(--rx-anim-play);
}

/* Near 100%: glow shifts to gold */
.reading-progress[style*="width: 9"],
.reading-progress[style*="width: 10"] {
  box-shadow:
    0 0 8px rgba(204,170,0,0.8),
    0 0 18px rgba(204,170,0,0.35),
    0 1px 0 rgba(0,0,0,0.6) !important;
}


/* ═══════════════════════════════════════════════════════════════
   03  HEADER — V27 DESKTOP WIDTH FIX + GLASS MORPHISM
   FIX: header-inner constrained to 1200px, balanced, no overflow.
   ═══════════════════════════════════════════════════════════════ */
.site-header {
  transition:
    box-shadow var(--rx-t-smooth),
    background var(--rx-t-smooth),
    backdrop-filter var(--rx-t-smooth);
  will-change: box-shadow;
}

.header-inner {
  max-width: var(--rx-container) !important;
  margin: 0 auto !important;
  padding: 0 28px !important;
  position: relative;
  gap: 16px;
}

.site-header.is-scrolled {
  background: rgba(0, 0, 0, 0.92);
  backdrop-filter: blur(12px) saturate(1.4);
  -webkit-backdrop-filter: blur(12px) saturate(1.4);
  box-shadow: var(--rx-shadow-header);
}

/* V27: Gold top-edge — subtle brand identity line */
.site-header::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(204,170,0,0.4) 20%,
    rgba(204,170,0,0.15) 50%,
    rgba(204,170,0,0.4) 80%,
    transparent 100%
  );
  z-index: 1;
  pointer-events: none;
}

/* Scanline texture */
.header-inner::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent, transparent 2px,
    rgba(255,255,255,0.012) 2px, rgba(255,255,255,0.012) 4px
  );
  pointer-events: none;
  z-index: 0;
}

.site-logo {
  transition: opacity var(--rx-t-quick);
}
.site-logo:hover {
  opacity: 0.85;
}

/* V27: LIVE badge — Intel Blue (blue = live intel feed) */
.header-live {
  background: rgba(74,144,226,0.1);
  border: 1px solid rgba(74,144,226,0.3);
  border-radius: var(--rx-r-sm);
  color: #4A90E2;
  font-size: 9px;
  letter-spacing: 0.18em;
  padding: 3px 8px;
  display: flex;
  align-items: center;
  gap: 5px;
}

.header-live__dot {
  width: 6px;
  height: 6px;
  background: #4A90E2;
  border-radius: 50%;
  animation: rx-pulse-dot 1.6s ease-in-out infinite;
  animation-play-state: var(--rx-anim-play);
  box-shadow: 0 0 6px rgba(74,144,226,0.7);
  flex-shrink: 0;
}


/* ═══════════════════════════════════════════════════════════════
   04  BREAKING TICKER — REFINED
   ═══════════════════════════════════════════════════════════════ */
.rx-ticker,
.breaking-ticker {
  border-bottom: 1px solid rgba(154,0,0,0.3);
  box-shadow: 0 2px 12px rgba(0,0,0,0.4);
}

.rx-ticker__badge,
.breaking-ticker__badge {
  border-radius: var(--rx-r-sharp);
  letter-spacing: 0.16em;
  box-shadow: 0 0 8px rgba(154,0,0,0.4);
}

.breaking-ticker__item a:hover,
.rx-ticker__item a:hover {
  color: var(--rx-yellow);
  text-shadow: 0 0 12px rgba(204,170,0,0.4);
}

.rx-ticker__fade-r {
  background: linear-gradient(to right, transparent, var(--header-bg, #000) 80%);
  width: 80px;
}


/* ═══════════════════════════════════════════════════════════════
   05  NAVIGATION — V27 DESKTOP FIX + YELLOW HOVER / RED ACTIVE
   FIX: nav wrap matches header 1200px container.
   UPGRADE: hover = yellow underline; active = red underline.
   ═══════════════════════════════════════════════════════════════ */
.nav-primary__wrap {
  max-width: var(--rx-container) !important;
  margin: 0 auto !important;
  padding: 0 28px !important;
}

.nav-primary__menu > li > a {
  position: relative;
  border-bottom: none !important;
  padding: 0 15px;
  font-size: 11.5px;
  letter-spacing: 0.09em;
  color: var(--nav-item, #b8b8b8);
  transition: color var(--rx-t-quick);
  min-height: 44px;
}

/* Underline: grows from center on hover = YELLOW */
.nav-primary__menu > li > a::after {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  width: 0; height: 2px;
  background: var(--rx-yellow);
  transform: translateX(-50%);
  transition: width var(--rx-t-smooth);
  border-radius: 1px 1px 0 0;
}

.nav-primary__menu > li > a:hover::after {
  width: 100%;
  box-shadow: 0 0 8px rgba(204,170,0,0.5);
}

/* Active page = RED underline (stronger identity) */
.nav-primary__menu > li.current-menu-item > a::after,
.nav-primary__menu > li.current-menu-ancestor > a::after,
.nav-primary__menu > li.current-category-ancestor > a::after,
.nav-primary__menu > li.current_page_item > a::after,
.nav-primary__menu > li.current-post-ancestor > a::after,
.nav-primary__menu > li.active > a::after {
  width: 100%;
  background: var(--rx-red);
  box-shadow: 0 0 10px rgba(154,0,0,0.6);
  transition: none;
}

.nav-primary__menu > li > a:hover,
.nav-primary__menu > li.current-menu-item > a,
.nav-primary__menu > li.current-menu-ancestor > a,
.nav-primary__menu > li.current-category-ancestor > a,
.nav-primary__menu > li.current_page_item > a,
.nav-primary__menu > li.current-post-ancestor > a,
.nav-primary__menu > li.active > a {
  color: #fff;
}

/* Sub-menu */
.nav-primary__menu .sub-menu {
  border-radius: 0 0 var(--rx-r-sm) var(--rx-r-sm);
  box-shadow: 0 12px 40px rgba(0,0,0,0.7), 0 2px 8px rgba(0,0,0,0.4);
  border-top: 2px solid var(--rx-red-dim);
}

.nav-primary__menu .sub-menu li a {
  transition: all var(--rx-t-quick);
  border-left: 2px solid transparent;
}

.nav-primary__menu .sub-menu li a:hover {
  border-left-color: var(--rx-yellow);
  padding-left: 20px;
  color: var(--rx-yellow);
}


/* ═══════════════════════════════════════════════════════════════
   06  HERO SECTION — CINEMATIC DEPTH
   ═══════════════════════════════════════════════════════════════ */
.hero-main {
  border-radius: var(--rx-r-card) var(--rx-r-card) 0 0;
  box-shadow: var(--rx-shadow-deep);
  overflow: hidden;
}

.hero-main__img {
  transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform;
}

.hero-main:hover .hero-main__img {
  transform: scale(1.04);
}

.hero-main__overlay {
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.95)    0%,
    rgba(0,0,0,0.7)     25%,
    rgba(10,20,40,0.2)  60%,
    transparent         100%
  );
}

/* V27: Dual-color bottom edge — red fades to blue */
.hero-main__body::before {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(
    90deg,
    var(--rx-red)  0%,
    var(--rx-blue) 50%,
    transparent    100%
  );
  z-index: 4;
}

.hero-main__title {
  text-shadow:
    0 2px 4px rgba(0,0,0,0.8),
    0 4px 16px rgba(0,0,0,0.6),
    0 0 48px rgba(0,0,0,0.4);
}

.hero-main__action {
  border-radius: var(--rx-r-sm);
  transition: all var(--rx-t-quick);
  backdrop-filter: blur(4px);
}

.hero-main__action--primary { box-shadow: 0 0 16px rgba(154,0,0,0.4); }
.hero-main__action--primary:hover {
  box-shadow: 0 0 24px rgba(154,0,0,0.6);
  transform: translateY(-1px);
}

.hero-side__item {
  border-radius: var(--rx-r-card);
  overflow: hidden;
  box-shadow: var(--rx-shadow-card);
  transition: box-shadow var(--rx-t-smooth), transform var(--rx-t-smooth);
}

.hero-side__item:hover {
  box-shadow: var(--rx-shadow-hover);
  transform: translateY(-2px);
}

.hero-side__img { transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.hero-side__item:hover .hero-side__img { transform: scale(1.06); }


/* ═══════════════════════════════════════════════════════════════
   07  ARTICLE CARDS — TRICOLOR GLOW SYSTEM
   Default: blue glow  |  Alert: red glow  |  Nuclear/Report: gold
   ═══════════════════════════════════════════════════════════════ */
.article-card {
  border-radius: var(--rx-r-card);
  box-shadow: var(--rx-shadow-card);
  border: 1px solid var(--card-border);
  transition:
    transform      var(--rx-t-smooth),
    box-shadow     var(--rx-t-smooth),
    border-color   var(--rx-t-quick);
  will-change: transform, box-shadow;
  animation: rx-card-enter 0.5s var(--rx-t-entry) both;
  animation-play-state: var(--rx-anim-play);
}

/* V27: Default hover = BLUE (not red — red is reserved for alerts) */
.article-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--rx-shadow-blue-glow);
  border-color: rgba(74,144,226,0.4);
}

.article-card__img-wrap {
  border-radius: var(--rx-r-card) var(--rx-r-card) 0 0;
  overflow: hidden;
}

.article-card__img-wrap img,
.article-card .wp-post-image {
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform;
}

.article-card:hover .article-card__img-wrap img,
.article-card:hover .wp-post-image { transform: scale(1.07); }

/* Staggered entrance */
.article-grid .article-card:nth-child(1) { animation-delay: 0.00s; }
.article-grid .article-card:nth-child(2) { animation-delay: 0.06s; }
.article-grid .article-card:nth-child(3) { animation-delay: 0.12s; }
.article-grid .article-card:nth-child(4) { animation-delay: 0.18s; }
.article-grid .article-card:nth-child(5) { animation-delay: 0.24s; }
.article-grid .article-card:nth-child(6) { animation-delay: 0.30s; }
.article-grid .article-card:nth-child(7) { animation-delay: 0.36s; }
.article-grid .article-card:nth-child(8) { animation-delay: 0.42s; }

/* Alert cards = RED */
.article-card--alert,
.cat-alerts .article-card,
.category-alerts .article-card {
  border-left: 3px solid var(--rx-red) !important;
  box-shadow: var(--rx-shadow-card), inset 3px 0 0 rgba(154,0,0,0.15);
}
.article-card--alert:hover,
.cat-alerts .article-card:hover {
  box-shadow: var(--rx-shadow-red-glow);
  border-color: rgba(154,0,0,0.5);
  border-left-color: var(--rx-red) !important;
}

/* Nuclear/Report cards = GOLD */
.cat-nuclear .article-card:hover,
.category-nuclear-dynamics .article-card:hover,
.cat-reports .article-card:hover {
  box-shadow: var(--rx-shadow-gold-glow);
  border-color: rgba(204,170,0,0.4);
}

.article-list-item {
  border-radius: var(--rx-r-sm);
  transition: background var(--rx-t-quick), padding-left var(--rx-t-quick);
}

.article-list-item:hover {
  background: rgba(74,144,226,0.03);
  padding-left: 6px;
}

.cat-section-featured {
  border-radius: var(--rx-r-card);
  box-shadow: var(--rx-shadow-card);
  transition: transform var(--rx-t-smooth), box-shadow var(--rx-t-smooth);
}

.cat-section-featured:hover {
  transform: translateY(-3px);
  box-shadow: var(--rx-shadow-hover);
}

.cat-section-featured__thumb {
  border-radius: var(--rx-r-card) var(--rx-r-card) 0 0;
  overflow: hidden;
}

.cat-section-list__item {
  border-radius: var(--rx-r-card);
  box-shadow: var(--rx-shadow-card);
  transition: transform var(--rx-t-smooth), box-shadow var(--rx-t-smooth), border-color var(--rx-t-quick);
}

.cat-section-list__item:hover {
  transform: translateX(3px);
  box-shadow: var(--rx-shadow-hover);
  border-color: rgba(74,144,226,0.35);
}

.nd-grid {
  border-radius: var(--rx-r-card);
  overflow: hidden;
  box-shadow: var(--rx-shadow-card);
}

.nd-cards .article-card { animation: rx-card-enter 0.5s var(--rx-t-entry) both; }
.nd-cards .article-card:nth-child(1) { animation-delay: 0.05s; }
.nd-cards .article-card:nth-child(2) { animation-delay: 0.11s; }
.nd-cards .article-card:nth-child(3) { animation-delay: 0.17s; }
.nd-cards .article-card:nth-child(4) { animation-delay: 0.23s; }


/* ═══════════════════════════════════════════════════════════════
   08  SECTION HEADERS — DUAL-COLOR ACCENT
   ═══════════════════════════════════════════════════════════════ */
.section-header {
  margin-bottom: 16px;
  padding-bottom: 10px;
  position: relative;
}

/* V27: Red + Blue dual accent line */
.section-header::after {
  content: '';
  position: absolute;
  bottom: -1px; left: 0;
  width: 0; height: 2px;
  background: linear-gradient(
    90deg,
    var(--rx-red)  0px,
    var(--rx-red)  32px,
    var(--rx-blue) 32px,
    var(--rx-blue) 56px,
    transparent    56px
  );
  animation: rx-accent-grow 0.6s 0.2s var(--rx-t-entry) forwards;
  animation-play-state: var(--rx-anim-play);
}

.homepage-cat-section__header::before {
  transition: width 0.4s var(--rx-t-entry);
}

.hero-command__metric {
  border-radius: var(--rx-r-sm);
  transition: background var(--rx-t-quick), border-color var(--rx-t-quick), transform var(--rx-t-smooth);
}

.hero-command__metric:hover {
  background: var(--bg-s3);
  border-color: var(--border-mid);
  transform: translateY(-2px);
}


/* ═══════════════════════════════════════════════════════════════
   09  TYPOGRAPHY — EDITORIAL GRADE
   ═══════════════════════════════════════════════════════════════ */
.article-body.has-dropcap > p:first-of-type::first-letter {
  font-size: 4.2em;
  line-height: 0.82;
  margin: 6px 12px -2px 0;
  color: var(--rx-red);
  text-shadow: 0 0 24px rgba(154,0,0,0.3);
}

.article-body h2,
.rx-article .article-body h2 {
  border-left-color: var(--rx-red) !important;
  position: relative;
  transition: padding-left var(--rx-t-smooth);
}

.article-body h2:hover,
.rx-article .article-body h2:hover {
  padding-left: 20px !important;
}

/* V27: H3 — Intel Blue accent (sub-section = informational) */
.article-body h3,
.rx-article .article-body h3 {
  border-left: 2px solid var(--rx-blue);
  padding-left: 10px;
  transition: padding-left var(--rx-t-smooth);
}

/* V27: Blockquote — Intel Blue (sourcing = intelligence) */
.article-body blockquote,
.rx-article .article-body blockquote {
  border-left: 4px solid var(--rx-blue);
  border-radius: 0 var(--rx-r-sm) var(--rx-r-sm) 0;
  box-shadow: inset 4px 0 0 rgba(74,144,226,0.08), 0 2px 12px rgba(0,0,0,0.12);
  background: rgba(74,144,226,0.04);
}

.article-body hr,
.rx-article .article-body hr {
  height: 1px;
  background: linear-gradient(
    90deg,
    var(--rx-red) 0%,
    var(--rx-blue) 50%,
    transparent 100%
  );
  opacity: 1; border: none;
  margin: 2.8em 0;
  animation: rx-hr-grow 0.8s var(--rx-t-entry) both;
  animation-play-state: var(--rx-anim-play);
}

/* V27: Article deck — blue accent (intel = blue) */
.rx-article__deck {
  border-left: 3px solid var(--rx-blue) !important;
  padding-left: 20px !important;
  border-radius: 0 var(--rx-r-sm) var(--rx-r-sm) 0;
  background: rgba(74,144,226,0.04);
}

.rx-byline__avatar {
  transition: border-color var(--rx-t-smooth), box-shadow var(--rx-t-smooth);
}

.rx-byline:hover .rx-byline__avatar {
  border-color: var(--rx-blue);
  box-shadow: 0 0 12px rgba(74,144,226,0.35);
}

/* Tags — blue family */
.article-tag {
  border-radius: var(--rx-r-pill);
  transition: all var(--rx-t-quick);
}

.article-tag:hover {
  background: rgba(74,144,226,0.1);
  border-color: var(--rx-blue);
  color: var(--rx-blue);
  transform: translateY(-1px);
}

/* Share buttons */
.share-btn {
  border-radius: var(--rx-r-sm);
  transition: all var(--rx-t-quick);
}

.share-btn:hover {
  background: rgba(74,144,226,0.08);
  border-color: var(--rx-blue);
  transform: translateY(-1px);
}

/* Post nav */
.post-nav__item {
  border-radius: var(--rx-r-card);
  transition: all var(--rx-t-smooth);
}

.post-nav__item:hover {
  transform: translateY(-2px);
  box-shadow: var(--rx-shadow-hover);
  border-color: rgba(74,144,226,0.3);
}

/* Author box — blue top border (credibility = intel) */
.author-box {
  border-radius: var(--rx-r-card);
  border-top: 2px solid var(--rx-blue) !important;
  border-left: none !important;
  box-shadow: var(--rx-shadow-card);
}

.author-box__avatar {
  border-radius: 50%;
  transition: transform var(--rx-t-smooth), box-shadow var(--rx-t-smooth);
}

.author-box:hover .author-box__avatar {
  transform: scale(1.05);
  box-shadow: 0 0 16px rgba(74,144,226,0.3);
}


/* ═══════════════════════════════════════════════════════════════
   10  SIDEBAR — BLUE-ACCENTED DEPTH
   ═══════════════════════════════════════════════════════════════ */
.widget {
  border-radius: var(--rx-r-card);
  box-shadow: var(--rx-shadow-widget);
  border: 1px solid var(--border);
  overflow: hidden;
  transition: box-shadow var(--rx-t-smooth);
  animation: rx-card-enter 0.5s var(--rx-t-entry) both;
  animation-play-state: var(--rx-anim-play);
}

.widget:hover { box-shadow: 0 4px 28px rgba(0,0,0,0.45); }

.sidebar__sticky .widget:nth-child(1) { animation-delay: 0.1s; }
.sidebar__sticky .widget:nth-child(2) { animation-delay: 0.2s; }
.sidebar__sticky .widget:nth-child(3) { animation-delay: 0.3s; }
.sidebar__sticky .widget:nth-child(4) { animation-delay: 0.4s; }

/* V27: Widget title — blue underline (informational) */
.widget .widget-title {
  letter-spacing: 0.18em !important;
  border-bottom: 1px solid rgba(74,144,226,0.3) !important;
}

/* Alert widget keeps red */
.widget--alerts .widget-title,
.alert-panel .widget-title {
  border-bottom: 1px solid rgba(154,0,0,0.4) !important;
}

.alert-panel {
  border-radius: var(--rx-r-card);
  border-left: 3px solid var(--rx-red) !important;
}

.alert-panel__item-dot {
  animation: rx-alert-pulse 2s ease-in-out infinite;
  animation-play-state: var(--rx-anim-play);
}

.trending-item__num {
  transition: color var(--rx-t-smooth), transform var(--rx-t-smooth);
}

.trending-item:hover .trending-item__num {
  color: var(--rx-blue);
  transform: scale(1.12);
}

.trending-item {
  border-radius: var(--rx-r-sm);
  transition: background var(--rx-t-quick), padding-left var(--rx-t-quick);
}

.trending-item:hover {
  background: rgba(74,144,226,0.03);
  padding-left: 4px;
}

.cat-list-item__count { border-radius: var(--rx-r-pill); }

.nl-input {
  border-radius: var(--rx-r-sm);
  transition: border-color var(--rx-t-quick), box-shadow var(--rx-t-quick);
}

.nl-input:focus {
  border-color: var(--rx-blue);
  box-shadow: 0 0 0 3px rgba(74,144,226,0.15);
}

.nl-submit {
  border-radius: var(--rx-r-sm);
  transition: background var(--rx-t-quick), transform var(--rx-t-quick), box-shadow var(--rx-t-quick);
  overflow: hidden;
}

.nl-submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(154,0,0,0.4);
}

.nl-submit:active { transform: translateY(0); }


/* ═══════════════════════════════════════════════════════════════
   11  BADGES — TRICOLOR SYSTEM
   Red = Breaking/Alert/War
   Blue = Analysis/Intel/Defense/Global
   Gold = Exclusive/Nuclear/Report/Technology
   ═══════════════════════════════════════════════════════════════ */
.cat-badge {
  border-radius: var(--rx-r-sm);
  transition: box-shadow var(--rx-t-quick), transform var(--rx-t-quick);
  font-size: 9px;
  letter-spacing: 0.14em;
  padding: 2px 6px;
  font-weight: 800;
  text-transform: uppercase;
}

.cat-badge--breaking,
.cat-badge--alert,
.cat-badge--war {
  background: var(--rx-red);
  color: #fff;
  box-shadow: 0 0 8px rgba(154,0,0,0.5);
  animation: rx-badge-breaking 2.4s ease-in-out infinite;
  animation-play-state: var(--rx-anim-play);
}

.cat-badge--analysis,
.cat-badge--intel,
.cat-badge--intelligence,
.cat-badge--defense,
.cat-badge--global {
  background: rgba(74,144,226,0.15);
  color: #4A90E2;
  border: 1px solid rgba(74,144,226,0.4);
  box-shadow: 0 0 6px rgba(74,144,226,0.2);
}

.cat-badge--exclusive,
.cat-badge--nuclear,
.cat-badge--report,
.cat-badge--technology {
  background: rgba(204,170,0,0.12);
  color: #CCAA00;
  border: 1px solid rgba(204,170,0,0.4);
  animation: rx-badge-exclusive 3s ease-in-out infinite;
  animation-play-state: var(--rx-anim-play);
}

.live-wire__breaking {
  border-radius: var(--rx-r-sm);
  background: var(--rx-red);
  animation: rx-badge-breaking 1.8s ease-in-out infinite;
  animation-play-state: var(--rx-anim-play);
}

.rx-byline__updated {
  border-radius: var(--rx-r-sm);
  background: rgba(204,170,0,0.12);
  color: #CCAA00;
  border: 1px solid rgba(204,170,0,0.3);
}


/* ═══════════════════════════════════════════════════════════════
   12  LIVE WIRE — PULSE REFINEMENT
   ═══════════════════════════════════════════════════════════════ */
.live-wire__pulse {
  position: relative;
  animation: rx-pulse-dot 1.6s ease-in-out infinite;
  animation-play-state: var(--rx-anim-play);
}

.live-wire__pulse::after {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 1.5px solid var(--rx-red);
  animation: rx-ripple 1.6s ease-out infinite;
  animation-play-state: var(--rx-anim-play);
}

.live-wire__headline {
  transition: color var(--rx-t-quick);
}

/* V27: gold hover (not red — red = danger/alert only) */
.live-wire__headline:hover { color: var(--rx-yellow); }

.live-wire__item {
  transition: background var(--rx-t-quick);
  border-radius: var(--rx-r-sm);
}

.live-wire__item:hover { background: rgba(74,144,226,0.03); }


/* ═══════════════════════════════════════════════════════════════
   13  BUTTONS & INPUTS — TACTILE FEEL
   ═══════════════════════════════════════════════════════════════ */
.header-search__input {
  border-radius: var(--rx-r-sm);
  transition: width 0.3s var(--rx-t-entry), border-color var(--rx-t-quick), box-shadow var(--rx-t-quick), background var(--rx-t-quick);
}

/* V27: search focus = blue ring */
.header-search__input:focus {
  border-color: var(--rx-blue);
  box-shadow: 0 0 0 2px rgba(74,144,226,0.25), 0 4px 12px rgba(0,0,0,0.3);
}

.theme-toggle__btn {
  border-radius: var(--rx-r-sm);
  transition: background var(--rx-t-quick), border-color var(--rx-t-quick), transform var(--rx-t-quick);
}

.theme-toggle__btn:hover { transform: rotate(12deg); }

.scroll-top {
  border-radius: var(--rx-r-sm);
  transition: opacity 0.3s, visibility 0.3s, background var(--rx-t-quick), transform var(--rx-t-smooth), box-shadow var(--rx-t-smooth);
}

.scroll-top:hover {
  background: #c41c1c;
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(154,0,0,0.5);
}


/* ═══════════════════════════════════════════════════════════════
   14  IMAGES — SOPHISTICATED FADE-IN
   ═══════════════════════════════════════════════════════════════ */
.article-card__thumb img,
.cat-section-featured__thumb img,
.hero-main__img,
.hero-side__img,
.article-hero .wp-post-image {
  opacity: 0;
  animation: rx-img-fade 0.4s ease forwards;
  animation-play-state: var(--rx-anim-play);
}

.article-card:nth-child(1) .article-card__thumb img { animation-delay: 0.05s; }
.article-card:nth-child(2) .article-card__thumb img { animation-delay: 0.10s; }
.article-card:nth-child(3) .article-card__thumb img { animation-delay: 0.15s; }
.article-card:nth-child(4) .article-card__thumb img { animation-delay: 0.20s; }


/* ═══════════════════════════════════════════════════════════════
   15  INTEL STRIP TABS — BLUE ACTIVE STATE
   ═══════════════════════════════════════════════════════════════ */
.intel-strip__tab {
  border-radius: var(--rx-r-sm);
  transition: all var(--rx-t-quick);
  position: relative;
}

.intel-strip__tab::after {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  width: 0; height: 2px;
  background: var(--rx-blue);
  transform: translateX(-50%);
  transition: width var(--rx-t-smooth);
}

.intel-strip__tab:hover::after,
.intel-strip__tab.is-active::after { width: 100%; }

.intel-strip__tab.is-active {
  color: #fff;
  background: rgba(74,144,226,0.12);
}


/* ═══════════════════════════════════════════════════════════════
   16  FOOTER — V27 TRICOLOR TOP BORDER + DEPTH
   ═══════════════════════════════════════════════════════════════ */
.site-footer {
  position: relative;
  overflow: hidden;
}

/* V27: Tricolor footer top border — all three brand colors */
.site-footer::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(
    90deg,
    var(--rx-red)    0%,
    var(--rx-red)    33.3%,
    var(--rx-blue)   33.3%,
    var(--rx-blue)   66.6%,
    var(--rx-yellow) 66.6%,
    var(--rx-yellow) 100%
  );
  opacity: 0.65;
}

.footer-brand__tagline {
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rx-yellow);
  opacity: 0.7;
}

.footer-col a:hover { color: var(--rx-blue); }
.footer-bottom { border-top: 1px solid rgba(74,144,226,0.1); }

.footer-social a {
  transition: color var(--rx-t-quick), transform var(--rx-t-quick);
}

.footer-social a:hover {
  color: var(--rx-yellow);
  transform: translateY(-2px);
}


/* ═══════════════════════════════════════════════════════════════
   17  WAR TRACKER — STATUS COLORS
   ═══════════════════════════════════════════════════════════════ */
.war-tracker__status--active    { color: var(--rx-red);    border-color: rgba(154,0,0,0.4); }
.war-tracker__status--monitoring { color: var(--rx-yellow); border-color: rgba(204,170,0,0.4); }
.war-tracker__status--resolved  { color: var(--rx-blue);   border-color: rgba(74,144,226,0.4); }

.war-tracker__item {
  border-radius: var(--rx-r-card);
  transition: all var(--rx-t-smooth);
}

.war-tracker__item:hover {
  transform: translateX(4px);
  border-color: rgba(154,0,0,0.3);
}


/* ═══════════════════════════════════════════════════════════════
   18  LIGHT MODE — FULL V27 PARITY
   ═══════════════════════════════════════════════════════════════ */
[data-theme="light"] .reading-progress {
  box-shadow:
    0 0 6px rgba(74,144,226,0.6),
    0 0 14px rgba(74,144,226,0.2),
    0 1px 0 rgba(0,0,0,0.15) !important;
}

[data-theme="light"] .header-live {
  background: rgba(74,144,226,0.08);
  border-color: rgba(74,144,226,0.25);
}

[data-theme="light"] .article-card:hover {
  box-shadow: 0 0 0 1px rgba(74,144,226,0.25), 0 6px 24px rgba(0,0,0,0.1);
  border-color: rgba(74,144,226,0.35);
}

[data-theme="light"] .article-body blockquote,
[data-theme="light"] .rx-article .article-body blockquote {
  background: rgba(74,144,226,0.03);
  border-left-color: var(--rx-blue);
}

[data-theme="light"] .author-box {
  border-top: 2px solid var(--rx-blue) !important;
  border-left: none !important;
}

[data-theme="light"] .nav-primary {
  border-bottom: 2px solid var(--rx-red);
}

[data-theme="light"] .site-header::before {
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(204,170,0,0.3) 20%,
    rgba(204,170,0,0.1) 50%,
    rgba(204,170,0,0.3) 80%,
    transparent 100%
  );
}

[data-theme="light"] .widget .widget-title {
  border-bottom-color: rgba(74,144,226,0.2) !important;
}

[data-theme="light"] .trending-item:hover .trending-item__num {
  color: var(--rx-blue);
}

[data-theme="light"] .site-footer::before {
  opacity: 0.45;
}

[data-theme="light"] .article-body h3,
[data-theme="light"] .rx-article .article-body h3 {
  border-left-color: var(--rx-blue);
}

[data-theme="light"] .article-tag:hover {
  background: rgba(74,144,226,0.08);
  border-color: var(--rx-blue);
  color: var(--rx-blue);
}


/* ═══════════════════════════════════════════════════════════════
   19  MOBILE — PRESERVED V27 FIXES
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  .reading-progress { height: 2px !important; }

  .header-inner,
  .nav-primary__wrap {
    padding: 0 16px !important;
  }
}

@media (max-width: 600px) {
  .article-card:hover { transform: none; } /* no lift on touch */
}


/* ═══════════════════════════════════════════════════════════════
   20  REDUCED MOTION — ACCESSIBILITY
   ═══════════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  :root { --rx-anim-play: paused; }

  .reading-progress,
  .article-card,
  .widget,
  .hero-main__img,
  .hero-side__img {
    animation: none !important;
    transition: none !important;
  }

  .article-card:hover { transform: none; }
}


/* ═══════════════════════════════════════════════════════════════
   21  KEYFRAMES LIBRARY — V27
   ═══════════════════════════════════════════════════════════════ */
@keyframes rx-card-enter {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes rx-accent-grow {
  from { width: 0; }
  to   { width: 56px; }
}

@keyframes rx-hr-grow {
  from { transform: scaleX(0); transform-origin: left; }
  to   { transform: scaleX(1); transform-origin: left; }
}

@keyframes rx-img-fade {
  from { opacity: 0; filter: blur(4px); }
  to   { opacity: 1; filter: blur(0); }
}

@keyframes rx-scan-line {
  0%   { left: -60px; }
  100% { left: 110%; }
}

@keyframes rx-pulse-dot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.6; transform: scale(0.85); }
}

@keyframes rx-ripple {
  0%   { transform: scale(1);   opacity: 0.6; }
  100% { transform: scale(2.4); opacity: 0; }
}

@keyframes rx-alert-pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.5; }
}

@keyframes rx-badge-breaking {
  0%, 100% { box-shadow: 0 0 8px rgba(154,0,0,0.5); }
  50%       { box-shadow: 0 0 16px rgba(154,0,0,0.8), 0 0 28px rgba(154,0,0,0.3); }
}

@keyframes rx-badge-exclusive {
  0%, 100% { box-shadow: none; }
  50%       { box-shadow: 0 0 10px rgba(204,170,0,0.5); }
}


/* ═══════════════════════════════════════════════════════════════
   22  FRONT-PAGE SCROLL-REVEAL ANIMATIONS — V28
   Uses IntersectionObserver (JS adds .is-visible class on scroll).
   Staggered entrance for hero, wire, sections, tracker, widgets.
   ═══════════════════════════════════════════════════════════════ */

/* --- Keyframes --- */
@keyframes rx-fade-up {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes rx-scale-in {
  from { opacity: 0; transform: scale(0.94); }
  to   { opacity: 1; transform: scale(1); }
}

@keyframes rx-slide-left {
  from { opacity: 0; transform: translateX(-24px); }
  to   { opacity: 1; transform: translateX(0); }
}

@keyframes rx-counter-pop {
  0%   { opacity: 0; transform: translateY(12px) scale(0.9); }
  70%  { transform: translateY(-2px) scale(1.02); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes rx-wire-flash-in {
  0%   { background: rgba(154,0,0,.1); border-left-color: var(--rx-red); }
  100% { background: transparent; border-left-color: transparent; }
}

@keyframes rx-glow-breathe {
  0%, 100% { box-shadow: 0 0 0 0 rgba(154,0,0,0); }
  50%       { box-shadow: 0 0 18px 2px rgba(154,0,0,.12); }
}


/* --- Hero entrance --- */
.hero-section {
  animation: rx-img-fade .5s ease-out both;
}

.hero-main {
  animation: rx-scale-in .65s cubic-bezier(.16,1,.3,1) .1s both;
  animation-play-state: var(--rx-anim-play);
}

.hero-side__item {
  animation: rx-fade-up .5s cubic-bezier(.16,1,.3,1) both;
  animation-play-state: var(--rx-anim-play);
}
.hero-side__item:nth-child(1) { animation-delay: .2s; }
.hero-side__item:nth-child(2) { animation-delay: .32s; }
.hero-side__item:nth-child(3) { animation-delay: .44s; }

.hero-command__metric {
  animation: rx-counter-pop .45s cubic-bezier(.16,1,.3,1) both;
  animation-play-state: var(--rx-anim-play);
}
.hero-command__metric:nth-child(1) { animation-delay: .15s; }
.hero-command__metric:nth-child(2) { animation-delay: .25s; }
.hero-command__metric:nth-child(3) { animation-delay: .35s; }

.hero-main__action {
  animation: rx-fade-up .4s cubic-bezier(.16,1,.3,1) .5s both;
  animation-play-state: var(--rx-anim-play);
}


/* --- Live Wire entrance --- */
.live-wire {
  animation: rx-img-fade .4s ease-out .15s both;
  animation-play-state: var(--rx-anim-play);
}

.live-wire__item {
  animation: rx-fade-up .35s cubic-bezier(.16,1,.3,1) both;
  animation-play-state: var(--rx-anim-play);
}
.live-wire__item:nth-child(1) { animation-delay: .06s; }
.live-wire__item:nth-child(2) { animation-delay: .12s; }
.live-wire__item:nth-child(3) { animation-delay: .18s; }
.live-wire__item:nth-child(4) { animation-delay: .24s; }
.live-wire__item:nth-child(5) { animation-delay: .30s; }
.live-wire__item:nth-child(6) { animation-delay: .36s; }
.live-wire__item:nth-child(7) { animation-delay: .42s; }
.live-wire__item:nth-child(8) { animation-delay: .48s; }

/* AJAX refresh flash */
.live-wire__item--new {
  animation: rx-wire-flash-in .7s ease-out !important;
}

.live-wire__title {
  animation: rx-slide-left .4s cubic-bezier(.16,1,.3,1) .1s both;
  animation-play-state: var(--rx-anim-play);
}


/* --- News Dashboard entrance --- */
.news-dashboard {
  animation: rx-fade-up .5s cubic-bezier(.16,1,.3,1) .2s both;
  animation-play-state: var(--rx-anim-play);
}


/* --- Intel Strip counter animation --- */
.intel-strip__item {
  animation: rx-counter-pop .4s cubic-bezier(.16,1,.3,1) both;
  animation-play-state: var(--rx-anim-play);
}
.intel-strip__item:nth-child(1) { animation-delay: .08s; }
.intel-strip__item:nth-child(2) { animation-delay: .14s; }
.intel-strip__item:nth-child(3) { animation-delay: .20s; }
.intel-strip__item:nth-child(4) { animation-delay: .26s; }
.intel-strip__item:nth-child(5) { animation-delay: .32s; }
.intel-strip__item:nth-child(6) { animation-delay: .38s; }


/* --- Section header slide --- */
.section-header__title {
  animation: rx-slide-left .4s cubic-bezier(.16,1,.3,1) both;
  animation-play-state: var(--rx-anim-play);
}


/* --- Scroll-reveal sections (JS adds .is-visible) --- */
.homepage-cat-section {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity .55s cubic-bezier(.16,1,.3,1), transform .55s cubic-bezier(.16,1,.3,1);
}
.homepage-cat-section.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger cards inside revealed sections */
.homepage-cat-section.is-visible .article-card {
  animation: rx-card-enter .45s var(--rx-t-entry) both !important;
}
.homepage-cat-section.is-visible .article-card:nth-child(1) { animation-delay: .06s !important; }
.homepage-cat-section.is-visible .article-card:nth-child(2) { animation-delay: .13s !important; }
.homepage-cat-section.is-visible .article-card:nth-child(3) { animation-delay: .20s !important; }
.homepage-cat-section.is-visible .article-card:nth-child(4) { animation-delay: .27s !important; }

.homepage-cat-section.is-visible .cat-section-featured {
  animation: rx-card-enter .5s var(--rx-t-entry) .05s both !important;
}
.homepage-cat-section.is-visible .cat-section-list__item {
  animation: rx-card-enter .4s var(--rx-t-entry) both !important;
}
.homepage-cat-section.is-visible .cat-section-list__item:nth-child(1) { animation-delay: .1s !important; }
.homepage-cat-section.is-visible .cat-section-list__item:nth-child(2) { animation-delay: .16s !important; }
.homepage-cat-section.is-visible .cat-section-list__item:nth-child(3) { animation-delay: .22s !important; }
.homepage-cat-section.is-visible .cat-section-list__item:nth-child(4) { animation-delay: .28s !important; }


/* --- War Tracker scroll-reveal --- */
.war-tracker {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity .55s cubic-bezier(.16,1,.3,1), transform .55s cubic-bezier(.16,1,.3,1);
}
.war-tracker.is-visible { opacity: 1; transform: translateY(0); }

.war-tracker.is-visible .tracker-node {
  animation: rx-card-enter .45s var(--rx-t-entry) both;
}
.war-tracker.is-visible .tracker-node:nth-child(1) { animation-delay: .1s; }
.war-tracker.is-visible .tracker-node:nth-child(2) { animation-delay: .18s; }
.war-tracker.is-visible .tracker-node:nth-child(3) { animation-delay: .26s; }
.war-tracker.is-visible .tracker-node:nth-child(4) { animation-delay: .34s; }


/* --- Trust Protocol scroll-reveal --- */
.trust-protocol {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity .55s cubic-bezier(.16,1,.3,1), transform .55s cubic-bezier(.16,1,.3,1);
}
.trust-protocol.is-visible { opacity: 1; transform: translateY(0); }

.trust-protocol.is-visible .trust-card {
  animation: rx-card-enter .45s var(--rx-t-entry) both;
}
.trust-protocol.is-visible .trust-card:nth-child(1) { animation-delay: .1s; }
.trust-protocol.is-visible .trust-card:nth-child(2) { animation-delay: .18s; }
.trust-protocol.is-visible .trust-card:nth-child(3) { animation-delay: .26s; }


/* --- Live wire glow breathe --- */
.live-wire__pulse { animation: rx-glow-breathe 2.5s ease-in-out infinite, rx-pulse-dot 1.6s ease-in-out infinite; animation-play-state: var(--rx-anim-play); }


/* --- Reduced motion: kill all v28 additions --- */
@media (prefers-reduced-motion: reduce) {
  .hero-section, .hero-main, .hero-side__item, .hero-command__metric,
  .hero-main__action, .live-wire, .live-wire__item, .live-wire__title,
  .news-dashboard, .intel-strip__item, .section-header__title,
  .homepage-cat-section, .war-tracker, .trust-protocol,
  .homepage-cat-section.is-visible .article-card,
  .homepage-cat-section.is-visible .cat-section-featured,
  .homepage-cat-section.is-visible .cat-section-list__item,
  .war-tracker.is-visible .tracker-node,
  .trust-protocol.is-visible .trust-card {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* --- Mobile: faster animations for performance --- */
@media (max-width: 767px) {
  .hero-section, .hero-main, .hero-side__item, .live-wire, .news-dashboard {
    animation-duration: .3s !important;
  }
  .live-wire__item, .intel-strip__item, .hero-command__metric {
    animation-duration: .2s !important;
  }
  /* No hover lift on touch */
  .article-card:hover { transform: none !important; }
  .cat-section-featured:hover { transform: none !important; }
  .cat-section-list__item:hover { transform: none !important; }
}



/* ═══════════════════════════════════════════════════════════════
   23  SMOOTH SYSTEM — V29.1
   Motion refinements: parallax hooks, spring pop-ins, shimmer,
   sub-menu easing, footer reveal, count-up, load-more stagger.
   ═══════════════════════════════════════════════════════════════ */

/* ── NEW KEYFRAMES ─────────────────────────────────────────── */

/* Spring pop-in: for scroll-to-top button */
@keyframes rx-btn-pop {
  0%   { opacity: 0; transform: scale(0.65) translateY(10px); }
  65%  { transform: scale(1.07) translateY(-3px); }
  100% { opacity: 1; transform: scale(1)   translateY(0); }
}

/* Card stagger: for load-more AJAX results */
@keyframes rx-card-stagger {
  from { opacity: 0; transform: translateY(20px) scale(0.97); }
  to   { opacity: 1; transform: translateY(0)    scale(1); }
}

/* Shimmer: skeleton loader for image placeholders */
@keyframes rx-shimmer {
  0%   { background-position: 200% center; }
  100% { background-position: -200% center; }
}

/* Footer reveal */
@keyframes rx-footer-enter {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}


/* ── SCROLL-TO-TOP BUTTON — spring pop ─────────────────────── */
/* Remove old opacity-only transition, replace with spring anim */
.scroll-top {
  transition:
    background var(--rx-t-quick),
    box-shadow  var(--rx-t-quick),
    transform   0.18s ease !important;
}

.scroll-top.is-visible {
  animation: rx-btn-pop 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}


/* ── FOOTER SCROLL REVEAL ───────────────────────────────────── */
/* JS will add rx-reveal-footer class to opt-in (no FOUC risk) */
.site-footer.rx-reveal-footer {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity   0.65s cubic-bezier(0.16, 1, 0.3, 1) 0.05s,
    transform 0.65s cubic-bezier(0.34, 1.2, 0.64, 1) 0.05s;
}
.site-footer.rx-reveal-footer.is-visible {
  opacity: 1;
  transform: translateY(0);
}


/* ── DESKTOP SUB-MENU — smoother entrance ────────────────────── */
/* Upgrade: transition from 0.14s ease to spring curve */
@media (min-width: 901px) {
  .nav-primary__menu .sub-menu {
    transition:
      opacity    0.18s cubic-bezier(0.16, 1, 0.3, 1),
      transform  0.22s cubic-bezier(0.16, 1, 0.3, 1),
      visibility 0.18s !important;
    /* Hidden state: sit 10px above + slightly squeezed */
    transform: translateY(10px) scaleY(0.95) !important;
    transform-origin: top center;
  }

  .nav-primary__menu > li:hover > .sub-menu,
  .nav-primary__menu > li:focus-within > .sub-menu,
  .nav-primary__menu > li.sub-open > .sub-menu {
    transform: translateY(0) scaleY(1) !important;
  }
}


/* ── MOBILE MENU — snappier, smoother easing ──────────────────── */
@media (max-width: 900px) {
  .nav-primary__menu {
    /* Upgrade from .22s ease to deceleration curve */
    transition: transform 0.3s cubic-bezier(0.32, 0.72, 0, 1) !important;
  }
}


/* ── SECTION ENTRY — add light bounce to translateY ────────────── */
.homepage-cat-section,
.war-tracker,
.trust-protocol {
  transition:
    opacity   0.55s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.65s cubic-bezier(0.34, 1.15, 0.64, 1) !important;
}


/* ── IMAGE SHIMMER SKELETON ─────────────────────────────────── */
/* Visible only while the image src is still loading */
.article-card__img-wrap {
  position: relative;
  background:
    linear-gradient(
      90deg,
      var(--bg-s1, #141414) 0%,
      var(--bg-s2, #1e1e1e) 40%,
      var(--bg-s1, #141414) 80%
    );
  background-size: 200% 100%;
  animation: rx-shimmer 1.8s ease-in-out infinite;
}

/* Stop shimmer once the img inside has loaded */
.article-card__img-wrap:has(> img.is-loaded),
.article-card__img-wrap:has(> .wp-post-image.is-loaded) {
  background: none !important;
  animation: none !important;
}


/* ── INTEL STRIP — tabular numbers for count-up ─────────────── */
.intel-strip__value {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}


/* ── LOAD-MORE: stagger newly injected cards ─────────────────── */
/* JS adds rx-card-new class to each appended card */
.article-card.rx-card-new {
  animation: rx-card-stagger 0.4s var(--rx-t-entry) both !important;
}


/* ── HERO PARALLAX CSS HOOK ─────────────────────────────────── */
/* JS writes --rx-parallax-y via inline style on .hero-section */
.hero-section {
  --rx-parallax-y: 0px;
}
.hero-main__img {
  transform: translateY(var(--rx-parallax-y, 0px)) !important;
  transition:
    transform  0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    filter     0.4s ease !important;
}
/* Merge with hover scale: JS parallax + CSS hover scale */
.hero-main:hover .hero-main__img {
  transform: translateY(var(--rx-parallax-y, 0px)) scale(1.04) !important;
}


/* ── REDUCED MOTION — kill all v29.1 additions ──────────────── */
@media (prefers-reduced-motion: reduce) {
  .scroll-top.is-visible        { animation: none !important; }
  .site-footer.rx-reveal-footer { opacity: 1; transform: none; transition: none !important; }
  .homepage-cat-section,
  .war-tracker,
  .trust-protocol               { transition: none !important; }
  .article-card__img-wrap       { background: var(--bg-s1, #141414) !important; animation: none !important; }
  .article-card.rx-card-new     { animation: none !important; }
  .hero-main__img               { transition: none !important; }
  @media (min-width: 901px) {
    .nav-primary__menu .sub-menu { transition: none !important; }
  }
}

/* ── MOBILE: skip parallax ──────────────────────────────────── */
@media (max-width: 767px) {
  .hero-main__img {
    transform: none !important;
  }
}

/* ============================================================
   SECTION 24 — POLISH PASS v29.2
   Perfect-feel refinements: branded scrollbar, selection,
   focus ring, button shine, link underlines, input glow,
   multi-layer shadows, decorative quote, gradient hr.
   ============================================================ */

/* ── Branded scrollbar (html-scoped only, preserves internal
      horizontal scrollers that explicitly hide their bars) ── */
html::-webkit-scrollbar        { width: 11px; height: 11px; }
html::-webkit-scrollbar-track  { background: #0a0a0a; }
html::-webkit-scrollbar-thumb  {
  background: linear-gradient(180deg, var(--rx-red, #9A0000) 0%, var(--rx-blue, #1B365D) 100%);
  border: 2px solid #0a0a0a;
  border-radius: 8px;
}
html::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #C41C1C 0%, #2a4a7a 100%);
}
html { scrollbar-color: var(--rx-red, #9A0000) #0a0a0a; scrollbar-width: thin; }

/* ── Branded text selection ─────────────────────────────────── */
::selection {
  background: var(--rx-red, #9A0000);
  color: #fff;
  text-shadow: 0 1px 0 rgba(0,0,0,0.4);
}
::-moz-selection {
  background: var(--rx-red, #9A0000);
  color: #fff;
}

/* ── Gold focus ring for accessibility ──────────────────────── */
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--rx-yellow, #CCAA00);
  outline-offset: 3px;
  box-shadow: 0 0 0 4px rgba(204, 170, 0, 0.18);
  border-radius: 3px;
}

/* ── Typography micro-refinement ────────────────────────────── */
.hero-main__title,
.hero-intel__title,
.page-hero__title {
  letter-spacing: -0.018em;
}
h1, h2, .article-card__title a, .single-article__title {
  letter-spacing: -0.01em;
}

/* ── Hero primary button shine sweep ────────────────────────── */
.hero-main__action--primary { position: relative; overflow: hidden; }
.hero-main__action--primary::before {
  content: "";
  position: absolute; top: 0; left: -120%;
  width: 60%; height: 100%;
  background: linear-gradient(
    100deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.22) 50%,
    rgba(255,255,255,0) 100%
  );
  transform: skewX(-18deg);
  transition: left 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}
.hero-main__action--primary:hover::before { left: 120%; }

/* ── Article body link animated underline ───────────────────── */
.single-article__body a:not([class]),
.article-content a:not([class]) {
  background-image: linear-gradient(var(--rx-blue, #4A90E2), var(--rx-blue, #4A90E2));
  background-repeat: no-repeat;
  background-size: 0% 1.5px;
  background-position: 0 100%;
  transition: background-size 0.35s cubic-bezier(0.22, 1, 0.36, 1), color 0.2s;
  padding-bottom: 1px;
}
.single-article__body a:not([class]):hover,
.article-content a:not([class]):hover {
  background-size: 100% 1.5px;
  color: var(--rx-blue, #4A90E2);
}

/* ── Input focus glow (forms, newsletter, search) ───────────── */
.newsletter-inline__input:focus,
.search-form__input:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
textarea:focus {
  box-shadow: 0 0 0 4px rgba(74, 144, 226, 0.18),
              inset 0 1px 2px rgba(0,0,0,0.3);
  border-color: var(--rx-blue, #4A90E2);
  transition: box-shadow 0.22s ease, border-color 0.22s ease;
}

/* ── Multi-layer card shadows for depth ─────────────────────── */
.article-card,
.homepage-cat-section .article-card {
  box-shadow:
    0 1px 2px rgba(0,0,0,0.25),
    0 2px 6px rgba(0,0,0,0.18),
    0 0 0 1px rgba(255,255,255,0.02);
  transition: box-shadow 0.32s cubic-bezier(0.22, 1, 0.36, 1),
              transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}
.article-card:hover {
  box-shadow:
    0 2px 4px rgba(0,0,0,0.3),
    0 8px 16px rgba(0,0,0,0.28),
    0 16px 32px rgba(27, 54, 93, 0.22),
    0 0 0 1px rgba(74, 144, 226, 0.35);
}

/* ── Decorative blockquote quote mark ───────────────────────── */
.single-article__body blockquote,
.article-content blockquote {
  position: relative;
}
.single-article__body blockquote::before,
.article-content blockquote::before {
  content: """;
  position: absolute;
  top: -18px; left: -6px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 82px;
  line-height: 1;
  color: var(--rx-red, #9A0000);
  opacity: 0.18;
  pointer-events: none;
  font-weight: 700;
}

/* ── Gradient horizontal rule ───────────────────────────────── */
.single-article__body hr,
.article-content hr,
hr.rx-divider {
  border: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--rx-blue, #1B365D) 25%,
    var(--rx-red, #9A0000) 50%,
    var(--rx-yellow, #CCAA00) 75%,
    transparent 100%
  );
  margin: 2.2em 0;
  opacity: 0.7;
}

/* ── Logo subtle gradient on the accent X ───────────────────── */
.site-logo__name em {
  background: linear-gradient(180deg, #C41C1C 0%, var(--rx-red, #9A0000) 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 1px 1px rgba(196, 28, 28, 0.25));
}

/* ── Ticker + header fade-in entrance ───────────────────────── */
@keyframes rx-top-fade {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0);    }
}
.rx-ticker  { animation: rx-top-fade 0.5s cubic-bezier(0.22, 1, 0.36, 1) both; }
.site-header{ animation: rx-top-fade 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.08s both; }

/* ── Category badge depth ───────────────────────────────────── */
.article-card__cat,
.rx-chip,
.badge {
  text-shadow: 0 1px 1px rgba(0,0,0,0.35);
}

/* ── Article tag polish (blue glow) ─────────────────────────── */
.single-article__tags a,
.article-tags a {
  transition: box-shadow 0.24s ease, transform 0.24s ease, background 0.24s ease;
}
.single-article__tags a:hover,
.article-tags a:hover {
  box-shadow: 0 2px 10px rgba(74, 144, 226, 0.35);
  transform: translateY(-1px);
}

/* ── Widget inner glow on hover ─────────────────────────────── */
.widget,
.rx-widget {
  transition: box-shadow 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}
.widget:hover,
.rx-widget:hover {
  box-shadow: inset 0 0 0 1px rgba(74, 144, 226, 0.18),
              0 4px 14px rgba(0, 0, 0, 0.22);
}

/* ── Footer social link bounce polish ───────────────────────── */
.footer-social-link {
  transition: transform 0.24s cubic-bezier(0.34, 1.56, 0.64, 1),
              color 0.2s, background 0.2s;
}
.footer-social-link:hover { transform: translateY(-2px) scale(1.04); }

/* ── Scroll-top button refined glow ─────────────────────────── */
#scroll-top.is-visible {
  box-shadow: 0 6px 22px rgba(154, 0, 0, 0.32),
              0 0 0 1px rgba(255, 255, 255, 0.04) inset;
}

/* ── Respect reduced motion for polish animations ──────────── */
@media (prefers-reduced-motion: reduce) {
  .rx-ticker, .site-header { animation: none !important; }
  .hero-main__action--primary::before { display: none !important; }
  .single-article__body a:not([class]),
  .article-content a:not([class]) { transition: none !important; }
  .article-card { transition: none !important; }
}
