/* ─── RESET & BASE ─── */
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  /* ── Core Backgrounds ── */
  --bg:             #050507;
  --bg-secondary:   #0a0b0f;
  --bg-tertiary:    #12131a;
  --bg-card:        #0c0d12;
  --bg-card-hover:  #151620;
  --bg-elevated:    #1c1d28;

  /* ── Text Hierarchy ── */
  --text-primary:   #f0f0fa;
  --text-secondary: rgba(240, 240, 250, 0.68);
  --text-muted:     rgba(240, 240, 250, 0.48);

  /* ── Borders ── */
  --border:         rgba(255, 255, 255, 0.10);
  --border-hover:   rgba(255, 255, 255, 0.20);

  /* ── Accent: Electric Orange ── */
  --accent:         #FF6B2C;
  --accent-dim:     rgba(255, 107, 44, 0.12);
  --accent-text:    #000000;
  --accent-hover:   #FF8147;

  /* ── Secondary Accent: Data Blue ── */
  --accent-secondary:       #60a5fa;
  --accent-secondary-dim:   rgba(96, 165, 250, 0.12);
  --accent-secondary-hover: #7db8fc;
  --accent-secondary-glow:  0 0 20px rgba(96, 165, 250, 0.10);

  /* ── Functional Colors (legacy alias) ── */
  --accent-bright:  #60a5fa;

  /* ── Derived Backgrounds ── */
  --bg-primary:     #050507;
  --card:           #0c0d12;

  /* ── Radii ── */
  --radius:    12px;
  --radius-sm: 8px;
  --radius-md: 10px;
  --radius-lg: 16px;

  /* ── Shadows (glow-based for dark) ── */
  --shadow-md: 0 4px 16px rgba(0,0,0,0.5), 0 1px 3px rgba(0,0,0,0.4);
  --shadow-lg: 0 8px 32px rgba(0,0,0,0.6), 0 2px 8px rgba(0,0,0,0.5);
  --glow:      0 0 20px rgba(255, 107, 44, 0.08);

  /* ── Typography ── */
  --font-display:    'Space Grotesk', sans-serif;
  --font-mono:       'SF Mono', 'Fira Code', 'Consolas', monospace;

  /* ── Type Scale ── */
  --text-xs:   0.6875rem;  /* 11px */
  --text-sm:   0.8125rem;  /* 13px */
  --text-base: 0.875rem;   /* 14px */
  --text-md:   1rem;        /* 16px */
  --text-xl:   1.5rem;      /* 24px */

  /* ── Spacing Scale (4px base) ── */
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-5:  20px;
  --space-6:  24px;
  --space-8:  32px;
  --space-10: 40px;

  /* ── Motion ── */
  --transition:      200ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 400ms cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out-expo:   cubic-bezier(0.16, 1, 0.3, 1);
  --duration-fast:   150ms;
  --duration-normal: 300ms;
  --duration-enter:  700ms;

  /* ── Noise Texture (subtle grain for depth) ── */
  --noise: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
}

/* ─── LOADING SKELETONS ─── */
@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

.skeleton {
  background: linear-gradient(90deg,
    var(--bg-tertiary) 25%,
    var(--bg-elevated) 50%,
    var(--bg-tertiary) 75%
  );
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: var(--radius-sm);
}

.skeleton-card {
  height: 280px;
  border-radius: var(--radius);
  margin-bottom: 16px;
}

.skeleton-row {
  height: 48px;
  margin-bottom: 8px;
}

.skeleton-text {
  height: 16px;
  width: 80%;
  margin-bottom: 8px;
}

.skeleton-text.short {
  width: 40%;
}

.skeleton-circle {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

/* Loading container for grids */
.loading-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
}

.loading-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Fade out when content loads */
.loading-container {
  transition: opacity 0.3s ease;
}

.loading-container.loaded {
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

/* Spinner for buttons */
.spinner {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid var(--text-muted);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* Data freshness indicator */
.freshness-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
  margin-right: 6px;
}

.freshness-dot.fresh {
  background: #22c55e;
  box-shadow: 0 0 8px rgba(34, 197, 94, 0.5);
}

.freshness-dot.stale {
  background: #f59e0b;
}

.freshness-dot.old {
  background: #ef4444;
}

/* ─── SCROLL REVEAL ANIMATIONS ─── */
.reveal-up {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity var(--duration-enter) var(--ease-out-expo),
              transform var(--duration-enter) var(--ease-out-expo);
}

.reveal-up.revealed {
  opacity: 1;
  transform: translateY(0);
}

.reveal-scale {
  opacity: 0;
  transform: scale(0.95);
  transition: opacity var(--duration-enter) var(--ease-out-expo),
              transform var(--duration-enter) var(--ease-out-expo);
}

.reveal-scale.revealed {
  opacity: 1;
  transform: scale(1);
}

/* Stagger children animations */
.reveal-stagger > .reveal-up:nth-child(1)  { transition-delay: 0ms; }
.reveal-stagger > .reveal-up:nth-child(2)  { transition-delay: 60ms; }
.reveal-stagger > .reveal-up:nth-child(3)  { transition-delay: 120ms; }
.reveal-stagger > .reveal-up:nth-child(4)  { transition-delay: 180ms; }
.reveal-stagger > .reveal-up:nth-child(5)  { transition-delay: 240ms; }
.reveal-stagger > .reveal-up:nth-child(6)  { transition-delay: 300ms; }
.reveal-stagger > .reveal-up:nth-child(7)  { transition-delay: 360ms; }
.reveal-stagger > .reveal-up:nth-child(8)  { transition-delay: 420ms; }
.reveal-stagger > .reveal-up:nth-child(9)  { transition-delay: 480ms; }
.reveal-stagger > .reveal-up:nth-child(10) { transition-delay: 540ms; }
.reveal-stagger > .reveal-up:nth-child(11) { transition-delay: 600ms; }
.reveal-stagger > .reveal-up:nth-child(12) { transition-delay: 660ms; }

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
  .reveal-up, .reveal-scale {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ─── GLASSMORPHISM CARDS ─── */
.card-glass {
  background: linear-gradient(135deg,
    rgba(255, 255, 255, 0.04) 0%,
    rgba(255, 255, 255, 0.01) 100%);
  backdrop-filter: blur(12px) saturate(120%);
  -webkit-backdrop-filter: blur(12px) saturate(120%);
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow:
    0 2px 16px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  transition: all var(--duration-normal) var(--ease-out-expo);
}

.card-glass:hover {
  border-color: rgba(255, 107, 44, 0.2);
  box-shadow:
    0 4px 24px rgba(0, 0, 0, 0.4),
    0 0 0 1px rgba(255, 107, 44, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  transform: translateY(-2px);
}

/* Gradient border for featured/elite cards */
.card-featured {
  position: relative;
  overflow: visible;
}

.card-featured::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, #FF6B2C 0%, #FF8147 30%, transparent 60%);
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

/* ─── CHART ANIMATIONS ─── */
@keyframes radarReveal {
  from { opacity: 0; transform: scale(0.3); }
  to   { opacity: 1; transform: scale(1); }
}

.radar-data {
  animation: radarReveal 1.2s var(--ease-out-expo) forwards;
  transform-origin: center;
}

@keyframes barGrow {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

.bar-animated {
  animation: barGrow 0.8s var(--ease-out-expo) forwards;
  transform-origin: left center;
}

/* ─── COMMAND PALETTE ─── */
.cmdk-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 15vh;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--duration-normal) ease;
}

.cmdk-overlay.active {
  opacity: 1;
  pointer-events: auto;
}

.cmdk-dialog {
  width: 100%;
  max-width: 600px;
  background: linear-gradient(135deg,
    rgba(20, 20, 20, 0.95) 0%,
    rgba(13, 13, 13, 0.98) 100%);
  backdrop-filter: blur(24px) saturate(150%);
  -webkit-backdrop-filter: blur(24px) saturate(150%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius-lg);
  box-shadow:
    0 24px 80px rgba(0, 0, 0, 0.6),
    0 0 0 1px rgba(255, 255, 255, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  overflow: hidden;
  transform: scale(0.96) translateY(-8px);
  transition: transform var(--duration-normal) var(--ease-out-expo);
}

.cmdk-overlay.active .cmdk-dialog {
  transform: scale(1) translateY(0);
}

.cmdk-input-row {
  display: flex;
  align-items: center;
  padding: var(--space-4) var(--space-5);
  border-bottom: 1px solid var(--border);
  gap: var(--space-3);
}

.cmdk-input-row svg {
  width: 20px;
  height: 20px;
  color: var(--text-muted);
  flex-shrink: 0;
}

.cmdk-input-row input {
  flex: 1;
  background: none;
  border: none;
  outline: none;
  color: var(--text-primary);
  font-size: var(--text-md);
  font-family: inherit;
}

.cmdk-input-row input::placeholder {
  color: var(--text-muted);
}

.cmdk-input-row kbd {
  font-size: var(--text-xs);
  color: var(--text-muted);
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 2px 6px;
  font-family: inherit;
}

.cmdk-results {
  max-height: 360px;
  overflow-y: auto;
  padding: var(--space-2) 0;
}

.cmdk-results::-webkit-scrollbar {
  width: 6px;
}

.cmdk-results::-webkit-scrollbar-thumb {
  background: var(--border-hover);
  border-radius: 3px;
}

.cmdk-group-label {
  font-size: var(--text-xs);
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: var(--space-3) var(--space-5) var(--space-2);
}

.cmdk-item {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-5);
  cursor: pointer;
  transition: background var(--duration-fast) ease;
}

.cmdk-item:hover,
.cmdk-item.active {
  background: var(--accent-dim);
}

.cmdk-item.active {
  background: rgba(255, 107, 44, 0.15);
}

.cmdk-item-icon {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 14px;
  flex-shrink: 0;
}

.cmdk-item-text {
  flex: 1;
  min-width: 0;
}

.cmdk-item-title {
  font-size: var(--text-base);
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cmdk-item-subtitle {
  font-size: var(--text-xs);
  color: var(--text-muted);
}

.cmdk-item-shortcut {
  display: flex;
  gap: 4px;
  flex-shrink: 0;
}

.cmdk-item-shortcut kbd {
  font-size: 10px;
  color: var(--text-muted);
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: 3px;
  padding: 1px 5px;
  font-family: inherit;
}

.cmdk-empty {
  padding: var(--space-10) var(--space-5);
  text-align: center;
  color: var(--text-muted);
  font-size: var(--text-sm);
}

.cmdk-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-3) var(--space-5);
  border-top: 1px solid var(--border);
  font-size: var(--text-xs);
  color: var(--text-muted);
}

.cmdk-footer-hints {
  display: flex;
  gap: var(--space-4);
}

.cmdk-footer-hint {
  display: flex;
  align-items: center;
  gap: 4px;
}

.cmdk-footer-hint kbd {
  font-size: 10px;
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: 3px;
  padding: 1px 5px;
  font-family: inherit;
}

/* ─── KEYBOARD SHORTCUTS HELP ─── */
.shortcuts-overlay {
  position: fixed;
  inset: 0;
  z-index: 10001;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--duration-normal) ease;
}

.shortcuts-overlay.active {
  opacity: 1;
  pointer-events: auto;
}

.shortcuts-dialog {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-8);
  max-width: 480px;
  width: 90%;
  max-height: 80vh;
  overflow-y: auto;
}

.shortcuts-dialog h3 {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: var(--space-6);
}

.shortcuts-group {
  margin-bottom: var(--space-5);
}

.shortcuts-group-title {
  font-size: var(--text-xs);
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: var(--space-3);
}

.shortcut-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-2) 0;
}

.shortcut-label {
  font-size: var(--text-base);
  color: var(--text-secondary);
}

.shortcut-keys {
  display: flex;
  gap: 4px;
}

.shortcut-keys kbd {
  font-size: var(--text-xs);
  color: var(--text-primary);
  background: var(--bg-elevated);
  border: 1px solid var(--border-hover);
  border-radius: 4px;
  padding: 2px 8px;
  font-family: inherit;
  min-width: 24px;
  text-align: center;
}

/* ─── BREADCRUMBS ─── */
.breadcrumb {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-6);
  margin-top: 56px;
  font-size: var(--text-sm);
  color: var(--text-muted);
  border-bottom: 1px solid var(--border);
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.breadcrumb a {
  color: var(--text-secondary);
  text-decoration: none;
  transition: color var(--duration-fast) ease;
}

.breadcrumb a:hover {
  color: var(--accent);
}

.breadcrumb svg {
  width: 12px;
  height: 12px;
  color: var(--text-muted);
  flex-shrink: 0;
}

.breadcrumb [aria-current="page"] {
  color: var(--text-primary);
}

/* ─── FOCUS STATES (Accessibility) ─── */
:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  background: var(--bg);
  color: var(--text-primary);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Subtle noise overlay for premium texture — sits below nav/modals */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 999;
  pointer-events: none;
  background-image: var(--noise);
  background-repeat: repeat;
  opacity: 0.35;
  mix-blend-mode: overlay;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ─── NAVIGATION ─── */
.nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 32px;
  height: 56px;
  background: rgba(5, 5, 7, 0.88);
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.03) inset, 0 4px 24px rgba(0,0,0,0.3);
}

.nav-brand {
  display: flex;
  align-items: center;
  gap: 10px;
}

.nav-logo {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: var(--accent-text);
  background: var(--accent);
  padding: 3px 8px;
  border-radius: 4px;
  letter-spacing: 1px;
}

.nav-title {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 2px;
  color: var(--text-primary);
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
  white-space: nowrap;
}

.nav-links a, .nav-link-main {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
  text-decoration: none;
  transition: color var(--transition);
  padding: 6px 10px;
  border-radius: 6px;
}

.nav-links a:hover, .nav-link-main:hover {
  color: var(--text-primary);
  background: rgba(255, 255, 255, 0.05);
}

.nav-links a.active {
  color: var(--text-primary);
  background: rgba(255, 107, 44, 0.1);
}

/* ─── NAV MORE DROPDOWN ─── */
.nav-dropdown {
  position: relative;
}

.nav-link-main {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: none;
  border: none;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
}

.nav-link-main svg {
  transition: transform 0.2s;
}

.nav-dropdown:hover .nav-link-main svg {
  transform: rotate(180deg);
}

.nav-dropdown-content {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 6px;
  min-width: 160px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
  z-index: 1001;
}

.nav-dropdown-content::before {
  content: '';
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  height: 10px;
}

.nav-dropdown:hover .nav-dropdown-content {
  display: block;
}

.nav-dropdown-link {
  display: block;
  padding: 10px 14px;
  font-size: 13px;
  color: var(--text-secondary);
  text-decoration: none;
  border-radius: 6px;
  transition: all 0.15s;
}

.nav-dropdown-link:hover {
  color: var(--text-primary);
  background: rgba(255, 255, 255, 0.06);
}

.nav-dropdown-link.active {
  color: var(--accent);
}

.nav-cta {
  background: linear-gradient(135deg, var(--accent) 0%, #FF8147 100%) !important;
  color: var(--accent-text) !important;
  padding: 8px 18px;
  border-radius: 8px;
  font-weight: 700 !important;
  font-size: 13px !important;
  transition: all var(--transition) !important;
  box-shadow: 0 2px 8px rgba(255, 107, 44, 0.3);
}

.nav-cta:hover {
  transform: translateY(-1px) scale(1.02);
  box-shadow: 0 4px 16px rgba(255, 107, 44, 0.4), 0 0 40px rgba(255, 107, 44, 0.1);
}

/* ─── GLOBAL SEARCH BAR ─── */
.nav-search {
  position: relative;
  flex: 0 1 280px;
  margin: 0 24px;
}

.nav-search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  color: var(--text-muted);
  pointer-events: none;
}

.nav-search input {
  width: 100%;
  padding: 8px 12px 8px 36px;
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 13px;
  font-family: inherit;
  outline: none;
  transition: all var(--transition);
}

.nav-search input:focus {
  border-color: var(--accent-secondary);
  background: var(--bg-secondary);
  box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.1);
}

.nav-search input::placeholder {
  color: var(--text-muted);
}

.search-results-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-lg);
  max-height: 400px;
  overflow-y: auto;
  display: none;
  z-index: 1001;
}

.search-results-dropdown.active {
  display: block;
}

.search-result-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  cursor: pointer;
  transition: background var(--transition);
  border-bottom: 1px solid var(--border);
}

.search-result-item:last-child {
  border-bottom: none;
}

.search-result-item:hover {
  background: var(--bg-elevated);
  padding-left: 20px;
  transition: all 200ms ease;
}

.search-result-item:hover .search-result-name {
  color: var(--accent);
}

.search-result-icon {
  width: 32px;
  height: 32px;
  background: var(--bg-tertiary);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}

.search-result-content {
  flex: 1;
  min-width: 0;
}

.search-result-name {
  font-weight: 600;
  font-size: 14px;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.search-result-meta {
  font-size: 12px;
  color: var(--text-muted);
}

.search-result-type {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--accent-secondary-dim);
  color: var(--accent-secondary);
}

.search-no-results {
  padding: 24px;
  text-align: center;
  color: var(--text-muted);
  font-size: 14px;
}

.search-results-section {
  padding: 8px 0;
}

.search-results-section:not(:last-child) {
  border-bottom: 1px solid var(--border);
}

.search-section-title {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
  padding: 8px 16px 4px;
}

/* ─── NAV DROPDOWN MENUS ─── */
.nav-dropdown {
  position: relative;
}

.nav-link-main {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary) !important;
  text-decoration: none;
  padding: 8px 12px;
  border-radius: 6px;
  transition: all var(--transition);
  display: flex;
  align-items: center;
  gap: 4px;
}

.nav-link-main:hover {
  background: var(--bg-tertiary);
}

.nav-dropdown-content {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(0);
  min-width: 180px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-lg);
  padding: 8px 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  z-index: 1001;
}

.nav-dropdown-content::before {
  content: '';
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  height: 12px;
}

.nav-dropdown:hover .nav-dropdown-content {
  opacity: 1;
  visibility: visible;
}

.nav-dropdown-content a {
  display: block;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
  text-decoration: none;
  transition: all var(--transition);
}

.nav-dropdown-content a:hover {
  color: var(--text-primary);
  background: var(--bg-elevated);
  padding-left: 20px;
}

/* ─── HERO ACTIONS ─── */
.hero-actions {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-bottom: 40px;
}

.hero-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  font-size: 15px;
  font-weight: 600;
  border-radius: 10px;
  text-decoration: none;
  transition: all var(--transition);
}

.hero-btn.primary {
  background: linear-gradient(135deg, var(--accent) 0%, #FF8147 100%);
  color: var(--accent-text);
  box-shadow: 0 4px 16px rgba(255, 107, 44, 0.3);
}

.hero-btn.primary:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 6px 24px rgba(255, 107, 44, 0.4), 0 0 60px rgba(255, 107, 44, 0.15);
}

.hero-btn.primary:active {
  transform: translateY(0) scale(0.98);
  box-shadow: 0 2px 12px rgba(255, 107, 44, 0.3);
}

.hero-btn.secondary {
  background: var(--bg-tertiary);
  color: var(--text-primary);
  border: 1px solid var(--border);
}

.hero-btn.secondary:hover {
  background: rgba(96, 165, 250, 0.06);
  border-color: var(--accent-secondary);
  box-shadow: 0 4px 16px rgba(96, 165, 250, 0.15);
  transform: translateY(-2px);
  color: var(--accent-secondary);
}

.hero-btn.secondary:active {
  transform: translateY(0);
}

.mobile-menu-btn {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}

.mobile-menu-btn span {
  display: block;
  width: 20px;
  height: 2px;
  background: var(--text-primary);
  transition: transform 0.3s, opacity 0.3s;
}

.mobile-menu-btn.open span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}
.mobile-menu-btn.open span:nth-child(2) {
  opacity: 0;
}
.mobile-menu-btn.open span:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

/* ─── RESPONSIVE NAV ─── */
@media (max-width: 1024px) {
  .nav-search {
    flex: 0 1 200px;
    margin: 0 12px;
  }

  .nav-dropdown-content {
    min-width: 160px;
  }

  .nav-links {
    gap: 12px;
  }

  .nav-link-main {
    padding: 6px 10px;
    font-size: 13px;
  }
}
/* ─── HERO ─── */
.hero {
  padding: 120px 24px 60px;
  text-align: center;
  background: linear-gradient(180deg, var(--bg) 0%, var(--bg-secondary) 100%);
  border-bottom: 1px solid var(--border);
  position: relative;
  overflow: hidden;
}

.hero::before {
  content: '';
  position: absolute;
  top: -200px;
  left: 50%;
  transform: translateX(-50%);
  width: 1200px;
  height: 800px;
  background:
    radial-gradient(ellipse at 25% 20%, rgba(255, 107, 44, 0.12) 0%, transparent 50%),
    radial-gradient(ellipse at 75% 50%, rgba(96, 165, 250, 0.10) 0%, transparent 50%),
    radial-gradient(ellipse at 50% 80%, rgba(139, 92, 246, 0.05) 0%, transparent 60%);
  pointer-events: none;
  animation: heroGlow 15s ease-in-out infinite;
}

.hero::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, var(--accent) 50%, transparent 100%);
  opacity: 0.4;
}

@keyframes heroGlow {
  0%, 100% { opacity: 1; transform: translateX(-50%) scale(1); }
  50% { opacity: 0.8; transform: translateX(-50%) scale(1.05); }
}

.hero-content {
  max-width: 720px;
  margin: 0 auto;
  position: relative;
}

.hero-eyebrow {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 3px;
  color: var(--accent);
  opacity: 0.85;
  margin-bottom: 16px;
  text-shadow: 0 0 20px rgba(255, 107, 44, 0.3);
}

.hero-title {
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(36px, 5vw, 56px);
  font-weight: 800;
  line-height: 1.1;
  color: var(--text-primary);
  margin-bottom: 16px;
  letter-spacing: -0.03em;
  text-shadow: 0 2px 40px rgba(0,0,0,0.3);
}

.hero-subtitle {
  font-size: 17px;
  line-height: 1.7;
  color: var(--text-secondary);
  max-width: 560px;
  margin: 0 auto 40px;
}

.hero-stats {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
}

.stat {
  text-align: center;
  position: relative;
}

.stat-number {
  display: block;
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(32px, 5vw, 44px);
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1;
  background: linear-gradient(135deg, #ffffff 20%, var(--accent) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  filter: drop-shadow(0 2px 8px rgba(255, 107, 44, 0.15));
}

.stat-label {
  display: block;
  font-size: 11px;
  color: var(--text-muted);
  margin-top: 8px;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 600;
}

.stat-divider {
  width: 1px;
  height: 48px;
  background: linear-gradient(180deg, transparent 0%, var(--border-hover) 50%, transparent 100%);
}

/* ─── SHOW MORE BUTTON ─── */
.show-more-btn {
  display: block;
  margin: 32px auto 0;
  padding: 12px 32px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.8);
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
.show-more-btn:hover {
  background: rgba(255, 107, 44, 0.08);
  border-color: rgba(255, 107, 44, 0.4);
  color: var(--text-primary);
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(0,0,0,0.3);
}

/* ─── SECTIONS ─── */
.section {
  padding: 80px 0;
  position: relative;
}

/* Alternating section backgrounds for visual rhythm */
.section:nth-child(even) {
  background: var(--bg-secondary);
}

.section-header {
  margin-bottom: 36px;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.section-header.visible {
  opacity: 1;
  transform: translateY(0);
}

.section-header h2 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 28px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 6px;
  letter-spacing: -0.02em;
}

.section-header p {
  font-size: 15px;
  color: var(--text-muted);
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.section-header::after {
  content: '';
  display: block;
  width: 56px;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--accent), transparent);
  border-radius: 2px;
  margin: var(--space-5) auto 0;
  opacity: 0.6;
}

.section-header:not([style*="text-align: left"]) {
  text-align: center;
}

.section-eyebrow {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 4px;
  color: var(--accent);
  text-transform: uppercase;
  margin-bottom: 10px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-shadow: 0 0 16px rgba(255, 107, 44, 0.25);
}

.section-eyebrow::before,
.section-eyebrow::after {
  content: '';
  width: 24px;
  height: 1px;
  background: linear-gradient(90deg, var(--accent), transparent);
  opacity: 0.5;
}

.section-eyebrow::after {
  background: linear-gradient(90deg, transparent, var(--accent));
}

/* ─── FEATURED SECTION ─── */
.featured-section {
  padding-top: 48px;
  padding-bottom: 48px;
  border-bottom: 1px solid var(--border);
}

.featured-title {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 24px;
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  margin-bottom: 20px;
}

.featured-scroll {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding: 0 24px 16px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.featured-scroll::-webkit-scrollbar {
  display: none;
}

.featured-card {
  flex: 0 0 340px;
  scroll-snap-align: start;
  background: var(--bg-card);
  border: 1px solid var(--border-hover);
  border-radius: var(--radius-lg);
  padding: 28px;
  cursor: pointer;
  transition: all var(--transition);
  position: relative;
  overflow: hidden;
}

.featured-card:hover {
  border-color: var(--accent);
  box-shadow: var(--glow);
}

.featured-card-accent {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

.featured-card-body {
  position: relative;
}

.featured-sector {
  display: block;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 8px;
}

.featured-name {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 6px;
  line-height: 1.2;
}

.featured-val {
  display: inline-block;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: var(--accent);
  margin-bottom: 8px;
}

.featured-loc {
  font-size: 13px;
  color: var(--text-muted);
  margin: 0;
}

/* ─── MAP ─── */
.map-section {
  padding-bottom: 0;
  background: var(--bg);
  border-bottom: 1px solid var(--border);
}

.map-section .section-header {
  padding: 0;
}

#innovators-map {
  width: 100%;
  height: 450px;
  margin-top: 24px;
  border-radius: var(--radius);
  border: 1px solid var(--border);
}

/* Map Markers */
.marker-container {
  background: none !important;
  border: none !important;
}

.custom-marker {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform var(--transition);
  border: 2px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 2px 8px rgba(0,0,0,0.5);
}

.custom-marker:hover {
  transform: scale(1.3);
}

.marker-icon {
  font-size: 12px;
}

/* Map Popups */
.leaflet-popup-content-wrapper {
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow-lg) !important;
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border-hover);
  color: var(--text-primary);
}

.leaflet-popup-tip {
  background: var(--bg-elevated) !important;
  box-shadow: none;
}

.map-popup {
  padding: 8px 4px;
}

.popup-sector {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 4px;
}

.map-popup h3 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 2px;
}

.popup-founder {
  font-size: 13px;
  color: var(--text-secondary);
  margin-bottom: 2px;
}

.popup-location {
  font-size: 12px;
  color: var(--text-muted);
  margin-bottom: 8px;
}

.popup-desc {
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.5;
  margin-bottom: 8px;
}

.popup-link {
  font-size: 13px;
  color: var(--accent) !important;
  text-decoration: none;
  font-weight: 600;
  background: transparent;
  border: 1px solid var(--accent);
  border-radius: 6px;
  padding: 6px 14px;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  display: inline-block;
  margin-top: 4px;
  transition: all var(--transition);
}

.popup-link:hover {
  background: var(--accent);
  color: var(--accent-text) !important;
}

/* ─── FILTER BAR ─── */
.filter-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

/* ─── AI QUERY INTERFACE ─── */
.ai-query-section {
  margin-bottom: 24px;
  padding: 20px;
  background: linear-gradient(135deg, rgba(168, 85, 247, 0.08) 0%, rgba(96, 165, 250, 0.05) 100%);
  border: 1px solid rgba(168, 85, 247, 0.2);
  border-radius: var(--radius);
}

.ai-query-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.ai-query-badge {
  background: linear-gradient(135deg, #a855f7, #60a5fa);
  color: white;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1px;
  padding: 4px 10px;
  border-radius: 4px;
}

.ai-query-label {
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
}

.ai-query-input-container {
  display: flex;
  gap: 10px;
  margin-bottom: 12px;
}

.ai-query-input {
  flex: 1;
  padding: 14px 18px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--text-primary);
  font-size: 14px;
  font-family: 'Inter', sans-serif;
  outline: none;
  transition: all 0.2s;
}

.ai-query-input:focus {
  border-color: #a855f7;
  box-shadow: 0 0 0 3px rgba(168, 85, 247, 0.15);
}

.ai-query-input::placeholder {
  color: var(--text-muted);
}

.ai-query-btn {
  padding: 14px 28px;
  background: linear-gradient(135deg, #a855f7, #60a5fa);
  border: none;
  border-radius: var(--radius-sm);
  color: white;
  font-size: 14px;
  font-weight: 700;
  font-family: var(--font-display);
  cursor: pointer;
  transition: all 0.2s;
}

.ai-query-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 20px rgba(168, 85, 247, 0.3);
}

.ai-query-suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ai-suggestion {
  background: var(--bg-card);
  border: 1px solid var(--border);
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 500;
  padding: 6px 12px;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.2s;
}

.ai-suggestion:hover {
  border-color: #a855f7;
  color: #a855f7;
  background: rgba(168, 85, 247, 0.08);
}

.ai-query-result {
  margin-top: 12px;
  padding: 12px 16px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-sm);
  border-left: 3px solid #a855f7;
}

.ai-query-interpretation {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.ai-interpretation-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
}

.ai-interpretation-text {
  font-size: 13px;
  color: var(--text-primary);
  font-weight: 500;
}
.search-box {
  position: relative;
  flex: 1;
  min-width: 240px;
}

.search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  color: var(--text-muted);
}

.search-box input {
  width: 100%;
  padding: 10px 14px 10px 40px;
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--text-primary);
  font-size: 14px;
  font-family: 'Inter', sans-serif;
  outline: none;
  transition: border-color var(--transition), box-shadow var(--transition);
}

.search-box input:focus {
  border-color: var(--accent-secondary);
  box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.12);
}

.search-box input::placeholder {
  color: var(--text-muted);
}

.filter-dropdowns {
  display: flex;
  gap: 8px;
}

.filter-select {
  padding: 10px 32px 10px 12px;
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--text-primary);
  font-size: 13px;
  font-family: 'Inter', sans-serif;
  cursor: pointer;
  outline: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  transition: all 200ms ease;
}
.filter-select:hover {
  border-color: var(--border-hover);
  background-color: var(--bg-elevated);
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
.filter-select:focus {
  border-color: var(--accent-secondary);
  box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.1);
}

.filter-select option {
  background: var(--bg-tertiary);
  color: var(--text-primary);
}

.state-filter-container {
  display: block;
}

.state-filter-container[style*="display: none"] + .filter-select {
  margin-left: 0;
}

.filter-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 24px;
}

.chip {
  padding: 6px 14px;
  border-radius: 50px;
  font-size: 12px;
  font-weight: 500;
  font-family: 'Inter', sans-serif;
  background: var(--bg-tertiary);
  color: var(--text-secondary);
  border: 1px solid var(--border);
  cursor: pointer;
  transition: all var(--transition);
  white-space: nowrap;
}

.chip:hover {
  border-color: var(--border-hover);
  color: var(--text-primary);
  background: var(--bg-elevated);
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
  transform: translateY(-1px);
}

.chip.active {
  background: var(--accent);
  color: var(--accent-text);
  border-color: var(--accent);
  font-weight: 600;
}

/* ─── COMPANY GRID ─── */
.company-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 16px;
}

.company-card {
  background: linear-gradient(160deg, var(--bg-card) 0%, rgba(12, 13, 18, 0.85) 100%);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 24px;
  transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0;
  transform: translateY(8px);
  animation: cardIn 0.4s ease forwards;
  position: relative;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.3), 0 0 1px rgba(255,255,255,0.03) inset;
}

.company-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, var(--accent) 50%, transparent 100%);
  opacity: 0;
  transition: opacity 250ms ease;
}

.company-card:hover {
  border-color: rgba(255, 107, 44, 0.35);
  background: linear-gradient(160deg, var(--bg-card-hover) 0%, rgba(21, 22, 32, 0.95) 100%);
  box-shadow: 0 0 40px rgba(255, 107, 44, 0.07), 0 12px 40px rgba(0, 0, 0, 0.45), 0 0 1px rgba(255,255,255,0.06) inset;
  transform: translateY(-3px);
}

.company-card:hover::before {
  opacity: 1;
}

@keyframes cardIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 12px;
}

.card-sector-badge {
  font-size: 10px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 50px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
  box-shadow: 0 1px 4px rgba(0,0,0,0.2);
}

.card-name {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 19px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 2px;
  line-height: 1.2;
}

.card-founder {
  font-size: 13px;
  color: var(--text-secondary);
  margin-bottom: 6px;
}

.card-location {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--text-muted);
  margin-bottom: 10px;
}

/* ─── CARD META (funding, valuation) ─── */
.card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 12px;
}

.meta-stage {
  font-size: 11px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 4px;
  background: rgba(34, 197, 94, 0.12);
  color: #4ade80;
  border: 1px solid rgba(34, 197, 94, 0.20);
}

.meta-raised {
  font-size: 11px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 4px;
  background: rgba(96, 165, 250, 0.12);
  color: #93bbfd;
  border: 1px solid rgba(96, 165, 250, 0.20);
}

.meta-val {
  font-size: 11px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 4px;
  background: rgba(251, 191, 36, 0.12);
  color: #fbbf24;
  border: 1px solid rgba(251, 191, 36, 0.20);
}

.card-description {
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 12px;
}

.card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 14px;
}

.tag {
  font-size: 11px;
  padding: 3px 10px;
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.04);
  color: var(--text-secondary);
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: all 200ms ease;
  letter-spacing: 0.01em;
}
.tag:hover {
  background: rgba(255, 107, 44, 0.08);
  border-color: rgba(255, 107, 44, 0.2);
  color: var(--accent);
}

.card-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  color: var(--accent);
  transition: all 200ms ease;
}

.card-link:hover {
  color: var(--accent-hover);
  gap: 6px;
  text-shadow: 0 0 12px rgba(255, 107, 44, 0.3);
}

.card-footer {
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.card-profile-link {
  margin-left: auto;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
  letter-spacing: 0.02em;
  white-space: nowrap;
  transition: color 0.2s;
}
.card-profile-link:hover {
  color: var(--accent-bright, #60a5fa);
  text-decoration: underline;
}

.card-actions-top {
  display: flex;
  gap: 4px;
  margin-left: auto;
}

.card-bookmark,
.card-compare {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  border: 1px solid var(--border);
  background: transparent;
  color: var(--text-muted);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: all var(--transition);
}

.card-bookmark:hover,
.card-compare:hover {
  border-color: var(--border-hover);
  color: var(--text-primary);
  background: var(--bg-elevated);
}

.card-bookmark.active {
  color: var(--accent);
  border-color: var(--accent);
  background: var(--accent-dim);
}

.card-compare.active {
  color: var(--accent);
  border-color: var(--accent);
  background: var(--accent-dim);
}

.modal-company-name {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -0.02em;
  margin-bottom: 4px;
}

.badge-new {
  position: absolute;
  top: 12px;
  right: 12px;
  font-size: 10px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 4px;
  background: linear-gradient(135deg, var(--accent) 0%, #FF8147 100%);
  color: var(--accent-text);
  text-transform: uppercase;
  letter-spacing: 1px;
  box-shadow: 0 2px 8px rgba(255, 107, 44, 0.4);
  animation: badgePulse 3s ease-in-out infinite;
}

@keyframes badgePulse {
  0%, 100% { box-shadow: 0 2px 8px rgba(255, 107, 44, 0.4); }
  50% { box-shadow: 0 2px 16px rgba(255, 107, 44, 0.6); }
}

.no-results {
  text-align: center;
  padding: 64px 20px;
  color: var(--text-muted);
  font-size: 15px;
  background: var(--bg-secondary);
  border-radius: var(--radius);
  border: 1px dashed rgba(255, 255, 255, 0.08);
}

/* ─── SECTORS GRID ─── */
.sectors-section {
  background: var(--bg-secondary);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.sectors-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
}

.sector-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 24px;
  cursor: pointer;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.4s ease, transform 0.4s ease, border-color var(--transition), box-shadow var(--transition);
}

.sector-card.visible {
  opacity: 1;
  transform: translateY(0);
}

.sector-card:hover {
  border-color: var(--border-hover);
  box-shadow: var(--glow);
}

.sector-icon {
  font-size: 32px;
  margin-bottom: 12px;
}

.sector-card h3 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 6px;
}

.sector-card p {
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 12px;
}

.sector-count {
  font-size: 12px;
  font-weight: 600;
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* ─── COMPANY DETAIL MODAL ─── */
.modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 2000;
  background: rgba(0, 0, 0, 0.80);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-slow);
}

.modal-overlay.active {
  opacity: 1;
  pointer-events: auto;
}

.modal-content {
  background: linear-gradient(180deg, #0e0f16 0%, #090a10 100%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--radius-lg);
  max-width: 680px;
  width: 100%;
  max-height: 85vh;
  overflow-y: auto;
  position: relative;
  transform: translateY(24px) scale(0.97);
  transition: transform 280ms cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 24px 80px rgba(0,0,0,0.65), 0 0 1px rgba(255,255,255,0.1) inset;
}

.modal-overlay.active .modal-content {
  transform: translateY(0) scale(1);
}

.modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  color: var(--text-secondary);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition);
  z-index: 1;
}

.modal-close:hover {
  background: var(--border-hover);
  color: var(--text-primary);
}

.modal-body {
  padding: 40px;
}

/* ─── PARTNER PORTAL MODAL ─── */
.partner-portal-modal {
  max-width: 560px;
}

.partner-portal-body {
  padding: 40px;
}

.partner-portal-header {
  text-align: center;
  margin-bottom: 32px;
}

.partner-portal-header h2 {
  font-size: 24px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 8px;
}

.partner-portal-header p {
  font-size: 14px;
  color: var(--text-secondary);
}

.partner-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.form-group label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.form-group input,
.form-group select,
.form-group textarea {
  padding: 12px 16px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--text-primary);
  font-size: 14px;
  transition: all var(--transition);
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-dim);
}

.form-group textarea {
  min-height: 100px;
  resize: vertical;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.form-submit-btn {
  margin-top: 12px;
  padding: 14px 24px;
  background: var(--accent);
  color: var(--accent-text);
  border: none;
  border-radius: var(--radius-sm);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--transition);
}

.form-submit-btn:hover {
  background: var(--accent-hover);
  transform: translateY(-1px);
}

.form-submit-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.form-success {
  text-align: center;
  padding: 40px 20px;
}

.form-success-icon {
  font-size: 48px;
  margin-bottom: 16px;
}

.form-success h3 {
  font-size: 20px;
  color: var(--text-primary);
  margin-bottom: 8px;
}

.form-success p {
  color: var(--text-secondary);
  font-size: 14px;
}

.modal-sector-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 50px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 16px;
}

.modal-name {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 32px;
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  margin-bottom: 4px;
}

.modal-founder {
  font-size: 15px;
  color: var(--text-secondary);
  margin-bottom: 4px;
}

.modal-location {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: var(--text-muted);
}

.modal-meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}

.modal-founded,
.modal-employees {
  font-size: 13px;
  color: var(--text-muted);
}

.modal-investors {
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 12px 16px;
  margin-bottom: 20px;
  font-size: 13px;
}

.modal-investors-label {
  color: var(--text-muted);
  margin-right: 8px;
}

.modal-investors-list {
  color: var(--text-secondary);
}

.modal-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 12px;
  margin-bottom: 24px;
}

.modal-stat {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 16px;
  text-align: center;
}

.modal-stat-label {
  display: block;
  font-size: 11px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 6px;
}

.modal-stat-value {
  display: block;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--accent);
}

.modal-description {
  font-size: 15px;
  color: var(--text-secondary);
  line-height: 1.8;
  margin-bottom: 20px;
}

.modal-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 24px;
}

.modal-actions {
  display: flex;
  gap: 12px;
  padding-top: 20px;
  border-top: 1px solid var(--border);
  flex-wrap: wrap;
}

.modal-action-btn {
  padding: 10px 20px;
  border-radius: var(--radius-sm);
  font-size: 13px;
  font-weight: 600;
  font-family: 'Inter', sans-serif;
  cursor: pointer;
  transition: all var(--transition);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  color: var(--text-secondary);
  border: 1px solid var(--border);
}

.modal-action-btn:hover {
  border-color: rgba(96, 165, 250, 0.3);
  color: var(--accent-secondary);
  background: var(--accent-secondary-dim);
}

.modal-action-btn.primary {
  background: var(--accent);
  color: var(--accent-text);
  border: 1px solid var(--accent);
}

.modal-action-btn.primary:hover {
  opacity: 0.9;
  box-shadow: 0 4px 12px rgba(255, 107, 44, 0.3);
}

.modal-action-btn.saved {
  background: var(--accent-dim);
  color: var(--accent);
  border-color: var(--accent);
}

.modal-related {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--border);
}

.modal-related h4 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 12px;
}

.modal-related-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

.modal-related-card {
  padding: 12px 16px;
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: all var(--transition);
}

.modal-related-card:hover {
  border-color: rgba(96, 165, 250, 0.3);
  background: rgba(96, 165, 250, 0.04);
}

.modal-related-name {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 2px;
}

.modal-related-loc {
  display: block;
  font-size: 12px;
  color: var(--text-muted);
}

/* ─── DEAL HISTORY TIMELINE ─── */
.modal-deal-timeline {
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 16px 20px;
  margin: 12px 0;
}
.modal-deal-timeline h4 {
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--text-primary);
  margin: 0 0 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.deal-timeline-total {
  margin-left: auto;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #22c55e;
}
.deal-timeline-track {
  position: relative;
  padding-left: 20px;
  border-left: 2px solid var(--border);
}
.deal-timeline-event {
  position: relative;
  padding: 0 0 16px 16px;
}
.deal-timeline-event:last-child { padding-bottom: 0; }
.deal-timeline-dot {
  position: absolute;
  left: -27px;
  top: 3px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--bg-elevated);
  border: 2px solid #6b7280;
  z-index: 1;
}
.deal-timeline-dot.latest {
  border-color: #22c55e;
  background: #22c55e;
  box-shadow: 0 0 8px rgba(34, 197, 94, 0.4);
}
.deal-timeline-event.latest .deal-timeline-round {
  color: #22c55e;
  font-weight: 700;
}
.deal-timeline-content {
  min-height: 20px;
}
.deal-timeline-round {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1.3;
}
.deal-timeline-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 2px;
}
.deal-timeline-date {
  font-size: 11px;
  color: var(--text-muted);
}
.deal-timeline-val {
  font-size: 11px;
  color: var(--accent);
  font-weight: 600;
}
.deal-timeline-investors {
  font-size: 11px;
  color: var(--text-secondary);
  margin-top: 2px;
  font-style: italic;
}

/* ─── HEADCOUNT GROWTH CHART ─── */
.modal-headcount {
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 16px 20px;
  margin: 12px 0;
}
.modal-headcount h4 {
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--text-primary);
  margin: 0 0 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.headcount-growth {
  margin-left: auto;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 13px;
  font-weight: 700;
}
.headcount-chart-row {
  display: flex;
  gap: 20px;
  align-items: center;
}
.headcount-chart-svg {
  flex: 1;
  min-width: 0;
}
.headcount-chart-svg svg {
  width: 100%;
  height: 100px;
}
.headcount-stats-col {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 100px;
}
.headcount-snapshot {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  gap: 10px;
}
.headcount-stat-main {
  text-align: center;
}
.headcount-number {
  display: block;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 28px;
  font-weight: 800;
  color: #60a5fa;
  line-height: 1.1;
}
.headcount-label {
  display: block;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
  margin-top: 2px;
}
.headcount-stat {
  text-align: center;
}
.headcount-stat-val {
  display: block;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--text-primary);
}
.headcount-stat-lbl {
  display: block;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
}

/* ─── SIMILAR COMPANIES ─── */
.modal-similar {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--border);
}
.modal-similar h4 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.modal-similar-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
.modal-similar-card {
  padding: 12px 14px;
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: all var(--transition);
}
.modal-similar-card:hover {
  border-color: var(--accent);
  transform: translateY(-1px);
}
.similar-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 4px;
}
.similar-card-name {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1.2;
}
.similar-match-badge {
  flex-shrink: 0;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 11px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 4px;
  border: 1px solid;
}
.similar-card-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 3px;
}
.similar-card-sector {
  font-size: 11px;
  font-weight: 500;
}
.similar-card-loc {
  font-size: 11px;
  color: var(--text-muted);
}
.similar-card-stage {
  font-size: 11px;
  color: var(--text-secondary);
  font-weight: 500;
}

/* ─── COMPARE BAR ─── */
.compare-bar {
  position: fixed;
  bottom: -80px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1500;
  transition: bottom 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.compare-bar.visible {
  bottom: 24px;
}

.compare-bar-inner {
  background: var(--bg-elevated);
  border: 1px solid var(--accent);
  border-radius: 50px;
  padding: 8px 12px 8px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.5);
}

.compare-items {
  display: flex;
  align-items: center;
  gap: 8px;
}

.compare-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
  white-space: nowrap;
}

.compare-remove {
  background: transparent;
  border: none;
  color: var(--text-muted);
  font-size: 16px;
  cursor: pointer;
  padding: 0 2px;
  line-height: 1;
}

.compare-remove:hover {
  color: var(--text-primary);
}

.compare-actions {
  display: flex;
  gap: 6px;
  align-items: center;
}

.compare-btn {
  background: var(--accent);
  color: var(--accent-text);
  border: none;
  padding: 8px 16px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 600;
  font-family: 'Inter', sans-serif;
  cursor: pointer;
  transition: opacity var(--transition);
}

.compare-btn:hover {
  opacity: 0.85;
}

.compare-clear {
  background: transparent;
  border: none;
  color: var(--text-muted);
  font-size: 13px;
  font-family: 'Inter', sans-serif;
  cursor: pointer;
  padding: 8px 12px;
}

.compare-clear:hover {
  color: var(--text-primary);
}

/* ─── DATA METHODOLOGY SECTION ─── */
.methodology-section {
  padding: 80px 0;
  background: var(--bg-secondary);
  border-top: 1px solid var(--border);
}

.methodology-content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  margin-bottom: 40px;
}

.methodology-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 24px;
}

.methodology-card h4 {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 16px;
}

.methodology-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.methodology-card li {
  font-size: 13px;
  color: var(--text-secondary);
  margin-bottom: 12px;
  padding-left: 16px;
  position: relative;
}

.methodology-card li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--accent);
}

.methodology-card li strong {
  color: var(--text-primary);
}

.methodology-cta {
  text-align: center;
  padding: 32px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.methodology-cta p {
  font-size: 14px;
  color: var(--text-secondary);
  margin-bottom: 16px;
}

/* ─── FOOTER ─── */
.footer {
  background: var(--bg-secondary);
  color: var(--text-primary);
  padding: 56px 0 24px;
  border-top: 1px solid var(--border);
}

.footer-content {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--border);
}

.footer-logo {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 2px;
  margin-bottom: 12px;
  color: var(--text-primary);
}

.footer-brand p {
  font-size: 14px;
  color: var(--text-secondary);
  line-height: 1.7;
}

.footer-links h4 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--text-muted);
  margin-bottom: 14px;
}

.footer-links a {
  display: block;
  font-size: 14px;
  color: var(--text-secondary);
  text-decoration: none;
  margin-bottom: 8px;
  transition: color var(--transition);
}

.footer-links a:hover {
  color: var(--accent);
}

.footer-bottom {
  padding-top: 20px;
  text-align: center;
}

.footer-bottom p {
  font-size: 12px;
  color: var(--text-muted);
}

/* ─── RESPONSIVE ─── */@media (max-width: 480px) {
  .hero-title {
    font-size: 32px;
  }

  .hero-subtitle {
    font-size: 15px;
  }

  .company-card {
    padding: 18px;
  }

  .hero-stats {
    gap: 16px;
  }

  .stat-number {
    font-size: 24px;
  }
}

/* ─── LEAFLET OVERRIDES ─── */
.leaflet-container {
  background: #0a0a0a !important;
}

.leaflet-control-zoom a {
  background: var(--bg-elevated) !important;
  color: var(--text-primary) !important;
  border-color: var(--border) !important;
}

.leaflet-control-zoom a:hover {
  background: var(--bg-card-hover) !important;
}

.leaflet-control-attribution {
  background: rgba(0, 0, 0, 0.75) !important;
  color: var(--text-muted) !important;
  font-size: 10px !important;
}

.leaflet-control-attribution a {
  color: var(--text-muted) !important;
}

/* ─── SCROLLBAR ─── */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: var(--bg);
}

::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.12);
  border-radius: 4px;
  border: 2px solid var(--bg);
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 107, 44, 0.3);
}

/* Firefox scrollbar */
html {
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.12) var(--bg);
}

::selection {
  background: var(--accent);
  color: var(--accent-text);
}

/* ─── MODAL SCROLLBAR ─── */
.modal-content::-webkit-scrollbar {
  width: 4px;
}

.modal-content::-webkit-scrollbar-track {
  background: transparent;
}

.modal-content::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
}

/* ─── KEYBOARD HINT ─── */
.keyboard-hint {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  display: inline-block;
  font-size: 11px;
  padding: 1px 6px;
  border-radius: 4px;
  background: var(--bg-elevated);
  color: var(--text-muted);
  border: 1px solid var(--border);
  font-family: monospace;
  pointer-events: none;
}

/* ─── SIGNAL BADGES ─── */
.signal-badge {
  display: inline-block;
  font-size: 9px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1.3;
  vertical-align: middle;
  margin-left: 6px;
  transition: all 200ms ease;
}

.signal-badge:hover {
  transform: scale(1.1);
  filter: brightness(1.2);
}

.signal-hot     { background: rgba(255,69,0,0.15);  color: #FF4500; border: 1px solid rgba(255,69,0,0.3); }
.signal-rising  { background: rgba(255,215,0,0.15);  color: #FFD700; border: 1px solid rgba(255,215,0,0.3); }
.signal-stealth { background: rgba(139,92,246,0.15); color: #8B5CF6; border: 1px solid rgba(139,92,246,0.3); }
.signal-watch   { background: rgba(96,165,250,0.15); color: #60A5FA; border: 1px solid rgba(96,165,250,0.3); }
.signal-established { background: rgba(34,197,94,0.15);  color: #22C55E; border: 1px solid rgba(34,197,94,0.3); }
.signal-strong      { background: rgba(34,197,94,0.15);  color: #22C55E; border: 1px solid rgba(34,197,94,0.3); }
.signal-emerging    { background: rgba(96,165,250,0.15); color: #60A5FA; border: 1px solid rgba(96,165,250,0.3); }
.signal-stable      { background: rgba(148,163,184,0.15); color: #94A3B8; border: 1px solid rgba(148,163,184,0.3); }
.signal-early       { background: rgba(168,85,247,0.15); color: #A855F7; border: 1px solid rgba(168,85,247,0.3); }

/* ─── RADAR CHART ─── */
.radar-chart-container {
  display: flex;
  justify-content: center;
  padding: 20px 0;
  margin: 16px 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.radar-chart-container h4 {
  text-align: center;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-muted);
  margin-bottom: 12px;
}

.radar-chart svg {
  max-width: 280px;
  width: 100%;
  height: auto;
}

.radar-grid {
  fill: none;
  stroke: rgba(96, 165, 250, 0.08);
  stroke-width: 1;
}

.radar-axis {
  stroke: var(--border);
  stroke-width: 0.5;
}

.radar-data {
  fill: rgba(96, 165, 250, 0.12);
  stroke: var(--accent-secondary);
  stroke-width: 2;
}

.radar-label {
  font-size: 10px;
  fill: var(--text-secondary);
  font-family: 'Inter', sans-serif;
}

.radar-score {
  font-size: 9px;
  fill: var(--accent-secondary);
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
}

/* ─── MOVEMENT TRACKER ─── */
.movement-section {
  padding: 60px 0;
  border-bottom: 1px solid var(--border);
}

.movement-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.movement-tab {
  padding: 6px 14px;
  border-radius: 20px;
  border: 1px solid var(--border);
  background: transparent;
  color: var(--text-secondary);
  font-size: 13px;
  font-family: 'Inter', sans-serif;
  cursor: pointer;
  transition: var(--transition);
}

.movement-tab:hover {
  border-color: var(--border-hover);
  color: var(--text-primary);
}

.movement-tab.active {
  background: var(--accent);
  color: var(--accent-text);
  border-color: var(--accent);
  font-weight: 600;
}

.movement-grid {
  display: grid;
  gap: 12px;
}

.movement-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: var(--transition);
}

.movement-item:hover {
  border-color: var(--border-hover);
  background: var(--bg-card-hover);
}

.movement-type {
  font-size: 9px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  flex-shrink: 0;
  min-width: 70px;
  text-align: center;
}

.movement-type-funding   { background: rgba(34,197,94,0.12); color: #22C55E; }
.movement-type-launch    { background: rgba(96,165,250,0.12); color: #60A5FA; }
.movement-type-milestone { background: rgba(255,215,0,0.12); color: #FFD700; }
.movement-type-new       { background: rgba(255,107,44,0.12); color: var(--accent); }
.movement-type-partnership { background: rgba(139,92,246,0.12); color: #8B5CF6; }

.movement-info {
  flex: 1;
  min-width: 0;
}

.movement-company {
  font-weight: 600;
  font-size: 14px;
  color: var(--text-primary);
}

.movement-text {
  font-size: 13px;
  color: var(--text-secondary);
  margin-top: 2px;
}

.movement-date {
  font-size: 12px;
  color: var(--text-muted);
  flex-shrink: 0;
}

/* ─── INSIGHT BLOCK (Modal) ─── */
.modal-insight {
  padding: 16px;
  background: rgba(255, 107, 44, 0.05);
  border-left: 3px solid var(--accent);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  margin: 16px 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--text-secondary);
  font-style: italic;
}

.modal-insight-label {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--accent);
  font-weight: 700;
  font-style: normal;
  margin-bottom: 6px;
}

/* ─── COMPETITORS (Modal) ─── */
.modal-competitors {
  margin-top: 20px;
}

.modal-competitors h4 {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-muted);
  margin-bottom: 10px;
}

.competitors-grid {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.competitor-chip {
  padding: 6px 14px;
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: 20px;
  color: var(--text-secondary);
  font-size: 13px;
  cursor: pointer;
  transition: var(--transition);
}

.competitor-chip:hover {
  border-color: var(--accent);
  color: var(--accent);
}

/* ─── ASSESSMENT PENDING ─── */
.assessment-pending {
  font-size: 11px;
  color: var(--text-muted);
  font-style: italic;
  padding: 12px 0;
}

/* ─── DATA FRESHNESS & LAST UPDATED ─── */
.data-freshness-container {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 24px;
  flex-wrap: wrap;
  justify-content: center;
}

.freshness-indicator {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 14px;
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.15) 0%, rgba(34, 197, 94, 0.08) 100%);
  border: 1px solid rgba(34, 197, 94, 0.3);
  border-radius: 20px;
  cursor: help;
  transition: all var(--transition);
}

.freshness-indicator:hover {
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.2) 0%, rgba(34, 197, 94, 0.12) 100%);
  border-color: rgba(34, 197, 94, 0.5);
}

.freshness-dot {
  width: 8px;
  height: 8px;
  background: #22c55e;
  border-radius: 50%;
  animation: pulse-glow 2s ease-in-out infinite;
  box-shadow: 0 0 8px rgba(34, 197, 94, 0.6);
}

@keyframes pulse-glow {
  0%, 100% { opacity: 1; box-shadow: 0 0 8px rgba(34, 197, 94, 0.6); }
  50% { opacity: 0.7; box-shadow: 0 0 16px rgba(34, 197, 94, 0.8); }
}

.freshness-status {
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #22c55e;
}

.last-updated {
  font-size: 12px;
  color: var(--text-muted);
  background: var(--bg-tertiary);
  padding: 6px 12px;
  border-radius: 20px;
  border: 1px solid var(--border);
}

/* ─── CARD SIGNAL & TBPN ROW ─── */
.card-badges {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
  margin-top: 4px;
}
/* ═══════════════════════════════════════
   VC / INVESTORS PAGE STYLES
   ═══════════════════════════════════════ */

.investor-hero {
  background: linear-gradient(180deg, rgba(255, 107, 44, 0.06) 0%, var(--bg) 100%);
}

/* ─── VC CARD GRID ─── */
.vc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(420px, 1fr));
  gap: 24px;
  margin-top: 32px;
}

.vc-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 28px;
  transition: all 0.3s ease;
  animation: fadeInUp 0.4s ease both;
}

.vc-card:hover {
  border-color: var(--accent);
  transform: translateY(-3px);
  box-shadow: 0 8px 32px rgba(255, 107, 44, 0.12);
}

.vc-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}

.vc-card-name {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 700;
  color: var(--text-primary);
  margin: 0;
}

.vc-card-fullname {
  font-size: 12px;
  color: var(--text-muted);
  margin: 2px 0 0 0;
}

.vc-card-aum {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 700;
  color: var(--accent);
  background: rgba(255, 107, 44, 0.08);
  padding: 6px 14px;
  border-radius: 8px;
  border: 1px solid rgba(255, 107, 44, 0.2);
  white-space: nowrap;
}

.vc-card-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.vc-meta-item {
  font-size: 13px;
  color: var(--text-secondary);
}

.vc-card-thesis {
  font-size: 13px;
  line-height: 1.7;
  color: var(--text-secondary);
  font-style: italic;
  padding: 12px 16px;
  background: var(--bg-tertiary);
  border-radius: 8px;
  border-left: 3px solid var(--accent);
  margin-bottom: 20px;
}

.vc-card-section {
  margin-bottom: 16px;
}

.vc-card-section h4 {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
  margin: 0 0 8px 0;
}

.vc-partners {
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.6;
  margin: 0;
}

.vc-sector-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.vc-sector-tag {
  font-size: 11px;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 6px;
  background: rgba(255, 107, 44, 0.08);
  color: var(--accent);
  border: 1px solid rgba(255, 107, 44, 0.15);
}

.vc-portfolio-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.portfolio-chip {
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 6px;
  background: var(--bg-tertiary);
  color: var(--text-secondary);
  border: 1px solid var(--border);
  transition: all 0.2s ease;
  text-decoration: none;
}

.portfolio-chip.linked {
  color: var(--accent);
  border-color: rgba(255, 107, 44, 0.2);
  cursor: pointer;
}

.portfolio-chip.linked:hover {
  background: rgba(255, 107, 44, 0.12);
  border-color: var(--accent);
}

.portfolio-chip.small {
  font-size: 11px;
  padding: 2px 8px;
}

.portfolio-count {
  font-size: 10px;
  background: var(--accent);
  color: #000;
  padding: 1px 6px;
  border-radius: 10px;
  margin-left: 6px;
  font-weight: 600;
}

.vc-card-footer {
  display: flex;
  gap: 10px;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

.vc-detail-btn, .vc-website-btn {
  font-size: 13px;
  font-weight: 500;
  padding: 8px 16px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--bg-tertiary);
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
}

.vc-detail-btn:hover {
  background: var(--accent);
  color: #000;
  border-color: var(--accent);
}

.vc-website-btn:hover {
  border-color: var(--accent);
  color: var(--accent);
}

/* ─── VC MODAL EXTRAS ─── */
.vc-modal-header h2 {
  font-family: var(--font-display);
  font-size: 28px;
  margin: 0 0 8px 0;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.vc-modal-meta {
  font-size: 14px;
  color: var(--text-muted);
  margin: 0;
}

.vc-modal-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 12px;
  margin: 24px 0;
}

.vc-modal-section {
  margin-bottom: 28px;
}

.vc-modal-section h3 {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 12px 0;
}

.vc-thesis-full {
  font-size: 14px;
  line-height: 1.8;
  color: var(--text-secondary);
  margin: 0;
}

.vc-partners-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.vc-partner-chip {
  font-size: 13px;
  padding: 6px 14px;
  border-radius: 8px;
  background: var(--bg-tertiary);
  color: var(--text-primary);
  border: 1px solid var(--border);
}

.vc-overlaps {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.vc-overlap-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: var(--bg-tertiary);
  border-radius: 8px;
  border: 1px solid var(--border);
}

.overlap-firm {
  font-weight: 600;
  color: var(--accent);
  min-width: 100px;
}

.overlap-shared {
  font-size: 13px;
  color: var(--text-secondary);
}

.vc-modal-actions {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

/* ─── CO-INVESTMENT OVERLAP ─── */
.co-invest-section {
  background: var(--bg-secondary);
}

.overlap-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 16px;
}

.overlap-card {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 20px;
  transition: border-color 0.2s ease;
}

.overlap-card:hover {
  border-color: var(--accent);
}

.overlap-firms {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.overlap-firm-name {
  font-family: var(--font-display);
  font-weight: 600;
  color: var(--text-primary);
  font-size: 14px;
}

.overlap-connector {
  color: var(--accent);
  font-weight: 700;
}

.overlap-count {
  font-size: 12px;
  color: var(--accent);
  font-weight: 600;
  margin-bottom: 10px;
}

.overlap-companies {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

/* ─── SECTOR CAPITAL FLOW ─── */
.sector-capital-grid {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.sector-capital-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 20px 24px;
}

.sector-capital-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.sector-capital-header h4 {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
}

.sector-capital-aum {
  font-size: 13px;
  font-weight: 600;
  color: var(--accent);
}

.sector-capital-bar-bg {
  height: 6px;
  background: var(--bg-tertiary);
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 12px;
}

.sector-capital-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--accent), #ff9b6a);
  border-radius: 3px;
  transition: width 1s ease;
}

.sector-capital-firms {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.sector-capital-count {
  font-size: 12px;
  color: var(--text-muted);
}

.sector-firm-tag {
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 4px;
  background: var(--bg-tertiary);
  color: var(--text-secondary);
  border: 1px solid var(--border);
}

/* ─── NAV ACTIVE STATE ─── (moved to nav section above) */

/* ═══════════════════════════════════════════════════════════════════════════════
   INVESTOR INTELLIGENCE ENHANCEMENTS
   ═══════════════════════════════════════════════════════════════════════════════ */

/* ─── ACTIVE DEPLOYERS ─── */
.active-deployers-section {
  background: var(--bg);
}

.active-deployers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
}

.active-deployer-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 20px;
  transition: all 0.2s ease;
}

.active-deployer-card:hover {
  border-color: var(--accent);
  transform: translateY(-2px);
}

.deployer-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}

.deployer-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  color: var(--text-primary);
}

.deployer-count {
  background: var(--accent);
  color: #000;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 12px;
}

.deployer-deals {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.deployer-deal {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  background: var(--bg);
  border-radius: 8px;
  border: 1px solid var(--border);
}

.deal-company {
  font-weight: 600;
  font-size: 13px;
  color: var(--text-primary);
}

.deal-meta {
  display: flex;
  gap: 8px;
  align-items: center;
}

.deal-amount {
  font-size: 12px;
  color: var(--accent);
  font-weight: 600;
}

.deal-round {
  font-size: 11px;
  color: var(--text-muted);
  background: var(--bg-tertiary);
  padding: 2px 6px;
  border-radius: 4px;
}

.deal-date {
  font-size: 11px;
  color: var(--text-muted);
}

/* ─── CO-INVESTMENT NETWORK GRAPH ─── */
.co-invest-graph-container {
  position: relative;
  margin-bottom: 40px;
}

.co-invest-graph {
  width: 100%;
  height: 500px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
}

.co-invest-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: center;
  padding: 16px 20px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-top: none;
  border-radius: 0 0 12px 12px;
  margin-top: -1px;
}

.legend-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--text-secondary);
}

.legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.legend-line {
  width: 24px;
  height: 2px;
  background: var(--text-muted);
  border-radius: 1px;
}

.legend-note {
  margin-left: auto;
  font-size: 11px;
  color: var(--text-muted);
  font-style: italic;
}

/* Network graph node styles */
.co-invest-graph .node {
  cursor: pointer;
}

.co-invest-graph .node circle {
  stroke: var(--bg);
  stroke-width: 2px;
  transition: all 0.2s ease;
}

.co-invest-graph .node:hover circle {
  stroke: var(--accent);
  stroke-width: 3px;
}

.co-invest-graph .node text {
  font-family: var(--font-display);
  font-size: 10px;
  fill: var(--text-secondary);
  pointer-events: none;
}

.co-invest-graph .link {
  stroke: var(--border);
  stroke-opacity: 0.6;
  transition: all 0.2s ease;
}

.co-invest-graph .link.highlighted {
  stroke: var(--accent);
  stroke-opacity: 1;
  stroke-width: 3px;
}

.co-invest-graph .node.dimmed circle {
  opacity: 0.2;
}

.co-invest-graph .node.dimmed text {
  opacity: 0.2;
}

.co-invest-graph .link.dimmed {
  stroke-opacity: 0.1;
}

/* ─── FOLLOW-ON PATTERNS ─── */
.follow-on-section {
  background: var(--bg-secondary);
}

.follow-on-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 20px;
}

.follow-on-card {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 20px;
  transition: all 0.2s ease;
}

.follow-on-card:hover {
  border-color: var(--accent);
}

.follow-on-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border);
}

.follow-on-lead {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  color: var(--text-primary);
}

.follow-on-label {
  font-size: 11px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.follow-on-followers {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.follower-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.follower-info {
  display: flex;
  align-items: center;
  gap: 10px;
}

.follower-name {
  font-weight: 600;
  font-size: 14px;
  color: var(--text-primary);
}

.follower-count {
  font-size: 12px;
  color: var(--accent);
  font-weight: 600;
}

.follower-companies {
  font-size: 11px;
  color: var(--text-muted);
  max-width: 200px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.follow-on-arrow {
  color: var(--accent);
  font-size: 14px;
}

/* Responsive adjustments *//* ═══════════════════════════════════════════════════════════════════════════════
   CONVICTION TRACKER
   ═══════════════════════════════════════════════════════════════════════════════ */

.conviction-section {
  background: var(--bg);
}

.ct-tabs {
  display: flex;
  gap: 4px;
  margin-bottom: 24px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 4px;
  width: fit-content;
}

.ct-tab {
  background: transparent;
  border: none;
  color: var(--text-muted);
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 6px;
  cursor: pointer;
  transition: var(--transition);
}

.ct-tab:hover {
  color: var(--text-secondary);
}

.ct-tab.active {
  background: var(--accent);
  color: #fff;
}

.ct-panel {
  display: none;
}

.ct-panel.active {
  display: block;
}

/* ─── VC CONVICTION LEADERBOARD ─── */
.ct-leaderboard-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
  gap: 20px;
}

.ct-vc-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 20px;
  transition: all 0.2s ease;
}

.ct-vc-card:hover {
  border-color: var(--accent);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.15);
}

.ct-vc-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border);
}

.ct-vc-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  color: var(--text-primary);
}

.ct-vc-score-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: var(--accent);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 12px;
  white-space: nowrap;
}

.ct-vc-meta {
  font-size: 12px;
  color: var(--text-muted);
  margin-bottom: 10px;
}

.ct-conviction-bar-bg {
  height: 4px;
  background: var(--bg);
  border-radius: 2px;
  overflow: hidden;
}

.ct-conviction-bar {
  height: 100%;
  background: var(--accent);
  border-radius: 2px;
  transition: width 0.6s ease;
}

.ct-doubles {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 12px;
}

.ct-double-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  background: var(--bg);
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
}

.ct-double-company {
  font-weight: 600;
  font-size: 13px;
  color: var(--text-primary);
  margin-right: 8px;
}

.ct-double-detail {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-shrink: 0;
}

.ct-double-round {
  font-size: 11px;
  color: var(--text-muted);
  background: var(--bg-secondary);
  padding: 2px 6px;
  border-radius: 4px;
  border: 1px solid var(--border);
}

.ct-double-role {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.ct-double-role.ct-lead {
  color: var(--accent);
}

.ct-double-role.ct-participant {
  color: var(--text-muted);
}

.ct-portfolio-badge {
  font-size: 10px;
  color: #60a5fa;
  background: rgba(96,165,250,0.1);
  padding: 2px 6px;
  border-radius: 4px;
  font-weight: 600;
  white-space: nowrap;
}

/* ─── COMPANY VALIDATION RADAR ─── */
.ct-validation-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 20px;
}

.ct-company-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 20px;
  transition: all 0.2s ease;
}

.ct-company-card:hover {
  border-color: var(--accent);
}

.ct-company-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border);
}

.ct-company-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  color: var(--text-primary);
}

.ct-company-count {
  background: rgba(255,107,44,0.1);
  color: var(--accent);
  font-size: 11px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 12px;
  white-space: nowrap;
}

.ct-company-vcs {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ct-company-vc-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 10px;
  background: var(--bg);
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
}

.ct-company-vc-name {
  font-weight: 600;
  font-size: 13px;
  color: var(--text-primary);
}

.ct-company-vc-signals {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-shrink: 0;
}
/* ═══════════════════════════════════════════════════════════════════════════════
   INNOVATOR SCORE™ — World-Class Mosaic-Style Scoring (0-1000)
   ═══════════════════════════════════════════════════════════════════════════════ */

/* ─── INNOVATOR SCORE BADGE (New 0-1000 Scale) ─── */
.innovator-score-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 8px;
  font-family: var(--font-display);
  cursor: help;
  transition: all 0.2s ease;
}

.innovator-score-badge:hover {
  transform: scale(1.05);
}

.innovator-score-badge.elite {
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.2), rgba(255, 165, 0, 0.2));
  color: #FFD700;
  border: 1px solid rgba(255, 215, 0, 0.4);
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.2);
}

.innovator-score-badge.exceptional {
  background: rgba(255, 107, 44, 0.15);
  color: #FF6B2C;
  border: 1px solid rgba(255, 107, 44, 0.35);
}

.innovator-score-badge.strong {
  background: rgba(34, 197, 94, 0.12);
  color: #22C55E;
  border: 1px solid rgba(34, 197, 94, 0.25);
}

.innovator-score-badge.promising {
  background: rgba(96, 165, 250, 0.12);
  color: #60A5FA;
  border: 1px solid rgba(96, 165, 250, 0.25);
}

.innovator-score-badge.developing {
  background: rgba(168, 85, 247, 0.12);
  color: #A855F7;
  border: 1px solid rgba(168, 85, 247, 0.25);
}

.innovator-score-badge.nascent {
  background: rgba(156, 163, 175, 0.12);
  color: #9CA3AF;
  border: 1px solid rgba(156, 163, 175, 0.25);
}

.innovator-score-badge .score-trend {
  font-size: 10px;
  opacity: 0.8;
}

.innovator-score-badge .score-trend.accelerating {
  color: #22C55E;
}

.innovator-score-badge .score-trend.decelerating {
  color: #EF4444;
}

/* ─── INNOVATOR SCORE DETAIL PANEL ─── */
.innovator-score-detail {
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 16px;
  margin: 12px 0;
}

.innovator-score-detail .score-header {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 16px;
}

.innovator-score-detail .score-total {
  font-size: 32px;
  font-weight: 800;
  font-family: var(--font-display);
}

.innovator-score-detail .score-total.elite { color: #FFD700; }
.innovator-score-detail .score-total.exceptional { color: #FF6B2C; }
.innovator-score-detail .score-total.strong { color: #22C55E; }
.innovator-score-detail .score-total.promising { color: #60A5FA; }
.innovator-score-detail .score-total.developing { color: #A855F7; }
.innovator-score-detail .score-total.nascent { color: #9CA3AF; }

.innovator-score-detail .score-label {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.innovator-score-detail .score-change {
  font-size: 12px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 6px;
  margin-left: auto;
}

.innovator-score-detail .score-change.positive {
  background: rgba(34, 197, 94, 0.12);
  color: #22C55E;
}

.innovator-score-detail .score-change.negative {
  background: rgba(239, 68, 68, 0.12);
  color: #EF4444;
}

.innovator-score-detail .score-change.neutral {
  background: rgba(156, 163, 175, 0.12);
  color: #9CA3AF;
}

/* ─── SCORE DIMENSION BARS ─── */
.innovator-score-detail .score-dimensions {
  display: grid;
  gap: 10px;
}

.innovator-score-detail .score-dim {
  display: grid;
  grid-template-columns: 90px 1fr 40px;
  align-items: center;
  gap: 10px;
}

.innovator-score-detail .dim-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.innovator-score-detail .dim-bar {
  height: 8px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 4px;
  overflow: hidden;
}

.innovator-score-detail .dim-fill {
  height: 100%;
  border-radius: 4px;
  transition: width 0.5s ease;
}

.innovator-score-detail .dim-fill.momentum { background: linear-gradient(90deg, #FF6B2C, #FF8147); }
.innovator-score-detail .dim-fill.market { background: linear-gradient(90deg, #60a5fa, #7db8fc); }
.innovator-score-detail .dim-fill.technology { background: linear-gradient(90deg, #22C55E, #4ADE80); }
.innovator-score-detail .dim-fill.team { background: linear-gradient(90deg, #A855F7, #C084FC); }

.innovator-score-detail .dim-value {
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary);
  text-align: right;
  font-family: var(--font-display);
}

.innovator-score-detail .score-breakdown {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--border);
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.5;
  font-style: italic;
}

/* ─── LEGACY INNOVATION SCORE BADGE ─── */
.score-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 6px;
  background: rgba(34, 197, 94, 0.12);
  color: #22C55E;
  border: 1px solid rgba(34, 197, 94, 0.25);
  font-family: var(--font-display);
}

.score-badge.high {
  background: rgba(34, 197, 94, 0.12);
  color: #22C55E;
  border-color: rgba(34, 197, 94, 0.25);
}

.score-badge.mid {
  background: rgba(255, 215, 0, 0.12);
  color: #FFD700;
  border-color: rgba(255, 215, 0, 0.25);
}

.score-badge.low {
  background: rgba(239, 68, 68, 0.12);
  color: #EF4444;
  border-color: rgba(239, 68, 68, 0.25);
}

/* ─── INVESTMENT THESIS ─── */
.thesis-section {
  margin: 20px 0;
  padding: 20px;
  background: var(--bg-tertiary);
  border-radius: 12px;
  border: 1px solid var(--border);
}

.thesis-section h4 {
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 16px 0;
  color: var(--text-primary);
}

.thesis-item {
  padding: 12px 16px;
  border-radius: 8px;
  margin-bottom: 10px;
  font-size: 13px;
  line-height: 1.7;
  color: var(--text-secondary);
}

.thesis-bull {
  background: rgba(34, 197, 94, 0.06);
  border-left: 3px solid #22C55E;
}

.thesis-bear {
  background: rgba(239, 68, 68, 0.06);
  border-left: 3px solid #EF4444;
}

.thesis-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 6px;
}

.thesis-bull .thesis-label { color: #22C55E; }
.thesis-bear .thesis-label { color: #EF4444; }

.thesis-risks {
  margin-top: 12px;
}

.thesis-risks h5 {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #F59E0B;
  margin: 0 0 8px 0;
}

.thesis-risk-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-secondary);
  padding: 4px 0;
}

.thesis-risk-item::before {
  content: '⚠';
  font-size: 12px;
}

/* ─── WEEKLY DIGEST ─── */
.digest-section {
  padding: 32px 0;
  background: linear-gradient(180deg, rgba(255, 107, 44, 0.04) 0%, transparent 100%);
  border-bottom: 1px solid var(--border);
}

.digest-scroll {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding: 0 max(20px, calc((100vw - 1200px) / 2));
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.digest-scroll::-webkit-scrollbar {
  display: none;
}

.digest-card {
  flex: 0 0 360px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 20px 24px;
  scroll-snap-align: start;
  transition: border-color 0.2s ease;
  cursor: pointer;
}

.digest-card:hover {
  border-color: var(--accent);
}

.digest-date {
  font-size: 11px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.digest-category {
  display: inline-block;
  font-size: 10px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin-left: 8px;
}

.digest-category-funding { background: rgba(34, 197, 94, 0.12); color: #22C55E; }
.digest-category-milestone { background: rgba(255, 107, 44, 0.12); color: var(--accent); }
.digest-category-trend { background: rgba(96, 165, 250, 0.12); color: #60A5FA; }

.digest-headline {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 10px 0 8px;
  line-height: 1.4;
}

.digest-summary {
  font-size: 13px;
  line-height: 1.6;
  color: var(--text-secondary);
  margin: 0;
}

.digest-companies {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 12px;
}

/* ─── ANOMALY ALERT CARDS ─── */
.anomaly-section {
  padding: 48px 0;
  background: linear-gradient(180deg, rgba(239, 68, 68, 0.04) 0%, transparent 100%);
  border-bottom: 1px solid var(--border);
}

.anomaly-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 16px;
}

.anomaly-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 20px;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  overflow: hidden;
}

.anomaly-card:hover {
  border-color: #ef4444;
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(239, 68, 68, 0.15);
}

.anomaly-card.top-anomaly {
  border-color: rgba(239, 68, 68, 0.3);
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.05) 0%, transparent 50%);
}

.anomaly-flame-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  background: linear-gradient(135deg, #ef4444, #f97316);
  color: white;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 20px;
  font-family: 'Space Grotesk', sans-serif;
}

.anomaly-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
  padding-right: 80px;
}

.anomaly-company {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.anomaly-company-name {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 700;
  color: var(--text-primary);
}

.anomaly-sector {
  font-size: 12px;
}

.anomaly-valuation {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: var(--text-secondary);
}

.anomaly-signals {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 12px;
}

.anomaly-signal-badge {
  background: rgba(239, 68, 68, 0.1);
  color: #f87171;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 8px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 4px;
}

.anomaly-summary {
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-secondary);
  margin-bottom: 12px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.anomaly-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

.anomaly-impact {
  font-size: 11px;
  font-weight: 600;
}

.anomaly-impact.high {
  color: #ef4444;
}

.anomaly-impact.medium {
  color: #f97316;
}

.anomaly-action {
  font-size: 12px;
  font-weight: 600;
  color: var(--accent);
}
/* ─── ROS INNOVATOR 50 ─── */
.innovator50-section {
  padding: 80px 0;
  background: linear-gradient(180deg,
    rgba(255, 215, 0, 0.1) 0%,
    rgba(255, 107, 44, 0.05) 50%,
    transparent 100%);
  border-bottom: 2px solid rgba(255, 215, 0, 0.3);
  position: relative;
  overflow: hidden;
}

/* Enhanced Hero Header */
.innovator50-hero {
  text-align: center;
  margin-bottom: 32px;
}

.innovator50-hero .innovator50-badge {
  display: inline-block;
  background: linear-gradient(135deg, #FFD700, #FFA500);
  color: #000;
  padding: 8px 20px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  margin-bottom: 16px;
}

.innovator50-hero .innovator50-title {
  font-size: 42px;
  font-weight: 800;
  background: linear-gradient(135deg, #FFD700, #FF6B2C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 12px;
}

.innovator50-hero .innovator50-subtitle {
  font-size: 15px;
  color: var(--text-muted);
  max-width: 700px;
  margin: 0 auto;
  line-height: 1.6;
}

/* ROS Brand Tag — PILLAR 2 */
.ros-brand-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.1) 0%, rgba(255, 107, 44, 0.1) 100%);
  border: 1px solid rgba(255, 215, 0, 0.3);
  border-radius: 24px;
  margin-top: 16px;
  font-size: 13px;
  color: var(--text-secondary);
}

.ros-tag-icon {
  font-size: 16px;
}

.ros-tag-text strong {
  color: #ffd700;
  font-weight: 600;
}

/* Tier Access Banner — PILLAR 2 */
.tier-access-banner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  padding: 16px 24px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  margin: 24px 0;
}

.tier-access-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 8px;
  transition: all 0.2s;
}

.tier-access-item:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.03);
}

.tier-icon {
  font-size: 18px;
}

.tier-label {
  font-size: 14px;
  font-weight: 700;
  color: var(--text-primary);
}

.tier-desc {
  font-size: 11px;
  color: var(--text-muted);
  padding: 2px 8px;
  background: var(--bg-tertiary);
  border-radius: 4px;
}

.tier-free .tier-label {
  color: #22c55e;
}

.tier-pro .tier-label {
  color: #60a5fa;
}

.tier-premium .tier-label {
  color: #ffd700;
}

.tier-divider {
  width: 1px;
  height: 32px;
  background: var(--border);
}
/* ═══════════════════════════════════════════════════════════════════════════
   FROM THE SOURCE — PILLAR 3: Relationships & Personal Connections
   ═══════════════════════════════════════════════════════════════════════════ */

.from-source-section {
  padding: 60px 0;
  background: linear-gradient(180deg, rgba(139, 92, 246, 0.03) 0%, transparent 100%);
  border-bottom: 1px solid var(--border);
}

.from-source-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
  gap: 20px;
  margin-bottom: 32px;
}

.from-source-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 24px;
  transition: all 0.2s;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.from-source-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #8b5cf6, #f59e0b);
  opacity: 0;
  transition: opacity 0.2s;
}

.from-source-card:hover {
  border-color: var(--accent);
  transform: translateY(-2px);
}

.from-source-card:hover::before {
  opacity: 1;
}

.from-source-card.premium {
  border-color: rgba(255, 215, 0, 0.3);
}

.from-source-card.premium::after {
  content: '🔒 Premium';
  position: absolute;
  top: 12px;
  right: 12px;
  font-size: 11px;
  padding: 4px 8px;
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.15), rgba(255, 107, 44, 0.15));
  color: #ffd700;
  border-radius: 4px;
  font-weight: 600;
}

.from-source-type {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 4px 10px;
  border-radius: 4px;
  margin-bottom: 12px;
}

.from-source-type.interview {
  background: rgba(96, 165, 250, 0.15);
  color: #60a5fa;
}

.from-source-type.insight {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
}

.from-source-type.tripReport {
  background: rgba(249, 115, 22, 0.15);
  color: #f97316;
}

.from-source-headline {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 8px;
  line-height: 1.3;
}

.from-source-founder {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-secondary);
  margin-bottom: 12px;
}

.from-source-founder .company {
  color: var(--accent);
  font-weight: 600;
}

.from-source-summary {
  font-size: 14px;
  color: var(--text-muted);
  line-height: 1.5;
  margin-bottom: 16px;
}

.from-source-quote {
  padding: 12px 16px;
  background: var(--bg-secondary);
  border-left: 3px solid #8b5cf6;
  border-radius: 0 8px 8px 0;
  font-size: 14px;
  color: var(--text-secondary);
  font-style: italic;
  line-height: 1.5;
  margin-bottom: 16px;
}

.from-source-quote::before {
  content: '"';
  color: #8b5cf6;
  font-size: 24px;
  font-family: Georgia, serif;
  line-height: 0;
  vertical-align: -4px;
  margin-right: 4px;
}

.from-source-topics {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 12px;
}

.from-source-topic {
  font-size: 11px;
  padding: 3px 8px;
  background: var(--bg-tertiary);
  color: var(--text-muted);
  border-radius: 4px;
}

.from-source-date {
  font-size: 12px;
  color: var(--text-muted);
}

.from-source-cta {
  text-align: center;
  padding: 24px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.from-source-cta p {
  font-size: 14px;
  color: var(--text-secondary);
  margin-bottom: 12px;
}

.from-source-btn {
  display: inline-block;
  padding: 12px 24px;
  background: linear-gradient(135deg, #8b5cf6, #f59e0b);
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s;
}

.from-source-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 20px rgba(139, 92, 246, 0.3);
}

/* Founder Connection Badge (for company modals) */
.founder-connection-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.1), rgba(249, 115, 22, 0.1));
  border: 1px solid rgba(139, 92, 246, 0.3);
  border-radius: 20px;
  font-size: 12px;
  color: #8b5cf6;
  margin-bottom: 12px;
}

.founder-connection-badge .connection-icon {
  font-size: 14px;
}

.founder-connection-badge.met {
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.1), rgba(96, 165, 250, 0.1));
  border-color: rgba(34, 197, 94, 0.3);
  color: #22c55e;
}

.founder-exclusive-quote {
  padding: 16px;
  background: var(--bg-secondary);
  border-left: 3px solid #8b5cf6;
  border-radius: 0 8px 8px 0;
  margin: 12px 0;
}

.founder-exclusive-quote .quote-label {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #8b5cf6;
  margin-bottom: 6px;
}

.founder-exclusive-quote .quote-text {
  font-size: 14px;
  color: var(--text-secondary);
  font-style: italic;
  line-height: 1.5;
}
/* ═══════════════════════════════════════════════════════════════════════════
   PRIVATE COMMUNITY — PILLAR 4: The Only Defensible Moat
   ═══════════════════════════════════════════════════════════════════════════ */

.private-community-section {
  padding: 80px 0;
  background: linear-gradient(180deg, rgba(255, 215, 0, 0.03) 0%, rgba(255, 107, 44, 0.03) 50%, transparent 100%);
  border-bottom: 1px solid var(--border);
}

.private-community-hero {
  text-align: center;
  margin-bottom: 48px;
}

.pc-badge {
  display: inline-block;
  padding: 6px 14px;
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.15), rgba(255, 107, 44, 0.15));
  border: 1px solid rgba(255, 215, 0, 0.3);
  border-radius: 20px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: #ffd700;
  margin-bottom: 16px;
}

.pc-title {
  font-family: var(--font-display);
  font-size: 36px;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 12px;
}

.pc-subtitle {
  font-size: 16px;
  color: var(--text-muted);
  max-width: 600px;
  margin: 0 auto;
}

.pc-tiers-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 48px;
}

.pc-tier-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 32px;
  position: relative;
  transition: all 0.3s;
}

.pc-tier-card:hover {
  transform: translateY(-4px);
  border-color: var(--accent);
}

.pc-tier-card.featured {
  border-color: #ffd700;
  background: linear-gradient(180deg, rgba(255, 215, 0, 0.05) 0%, var(--bg-card) 100%);
}

.pc-tier-featured-badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  padding: 4px 16px;
  background: linear-gradient(135deg, #ffd700, #f59e0b);
  color: #000;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.5px;
  border-radius: 12px;
}

.pc-tier-header {
  text-align: center;
  margin-bottom: 16px;
}

.pc-tier-icon {
  font-size: 36px;
  display: block;
  margin-bottom: 12px;
}

.pc-tier-name {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 8px;
}

.pc-tier-price {
  font-family: var(--font-display);
  font-size: 32px;
  font-weight: 800;
  color: var(--accent);
}

.pc-tier-period {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-muted);
}

.pc-tier-desc {
  text-align: center;
  font-size: 14px;
  color: var(--text-muted);
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border);
}

.pc-tier-benefits {
  list-style: none;
  padding: 0;
  margin: 0 0 24px 0;
}

.pc-tier-benefits li {
  padding: 8px 0;
  padding-left: 24px;
  position: relative;
  font-size: 14px;
  color: var(--text-secondary);
}

.pc-tier-benefits li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #22c55e;
  font-weight: 700;
}

.pc-tier-btn {
  display: block;
  text-align: center;
  padding: 14px 24px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s;
}

.pc-tier-btn.founder-btn {
  background: linear-gradient(135deg, #60a5fa, #06b6d4);
  color: #fff;
}

.pc-tier-btn.investor-btn {
  background: linear-gradient(135deg, #ffd700, #f59e0b);
  color: #000;
}

.pc-tier-btn.analyst-btn {
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  color: var(--text-primary);
}

.pc-tier-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

/* Slack Preview */
.pc-slack-preview {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  max-width: 500px;
  margin: 0 auto;
}

.pc-slack-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 20px;
  background: var(--bg-secondary);
  border-bottom: 1px solid var(--border);
}

.pc-slack-logo {
  font-size: 20px;
}

.pc-slack-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
}

.pc-slack-channels {
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pc-channel {
  padding: 8px 12px;
  background: var(--bg-tertiary);
  border-radius: 6px;
  font-size: 13px;
  font-family: var(--font-mono);
  color: var(--text-secondary);
  transition: all 0.15s;
}

.pc-channel:hover {
  background: rgba(255, 107, 44, 0.1);
  color: var(--accent);
}

@media (max-width: 1024px) {
  .pc-tiers-grid {
    grid-template-columns: 1fr;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
  }

  .pc-tier-card.featured {
    order: -1;
  }
}
/* Preview Grid (Top 10) */
.innovator50-preview {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}

/* Expand Button */
.i50-expand-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 16px;
  background: var(--bg-card);
  border: 2px dashed rgba(255, 215, 0, 0.3);
  border-radius: var(--radius);
  color: var(--accent);
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  margin-bottom: 24px;
}

.i50-expand-btn:hover {
  background: rgba(255, 215, 0, 0.1);
  border-color: rgba(255, 215, 0, 0.5);
}

.i50-expand-btn.expanded .i50-chevron {
  transform: rotate(180deg);
}

/* Full Grid (11-50) */
.innovator50-full {
  animation: fadeIn 0.3s ease;
}

.innovator50-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(255, 215, 0, 0.1) 0%, transparent 70%);
  pointer-events: none;
}

/* Accordion styles */
.innovator50-accordion {
  background: var(--bg-card);
  border: 1px solid rgba(255, 215, 0, 0.2);
  border-radius: var(--radius);
  overflow: hidden;
}

.innovator50-accordion-header {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 32px;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: background 0.2s;
}

.innovator50-accordion-header:hover {
  background: rgba(255, 215, 0, 0.05);
}

.innovator50-header-content {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.innovator50-toggle-icon {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #ffd700;
}

.i50-expand-text {
  font-size: 13px;
  font-weight: 600;
  font-family: var(--font-display);
}

.i50-chevron {
  width: 20px;
  height: 20px;
  transition: transform 0.3s;
}

.innovator50-accordion-header.expanded .i50-chevron {
  transform: rotate(180deg);
}

.innovator50-accordion-content {
  padding: 0 32px 32px;
}

.innovator50-header {
  text-align: left;
  margin-bottom: 0;
  position: relative;
}

.innovator50-badge {
  display: inline-block;
  background: linear-gradient(135deg, #ffd700, #ff6b2c);
  color: #000;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.5px;
  padding: 6px 16px;
  border-radius: 50px;
  margin-bottom: 16px;
}

.innovator50-title {
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 800;
  background: linear-gradient(135deg, #ffd700 0%, #ff6b2c 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 4px 0;
}

.innovator50-subtitle {
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--text-secondary);
  margin: 0;
}

.innovator50-controls {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}

.i50-filter {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 10px 16px;
  font-size: 13px;
  font-family: var(--font-display);
  color: var(--text-primary);
  cursor: pointer;
}

.i50-btn-secondary {
  background: transparent;
  border: 1px solid rgba(255, 215, 0, 0.4);
  color: #ffd700;
  padding: 10px 20px;
  border-radius: var(--radius-sm);
  font-size: 13px;
  font-weight: 600;
  font-family: var(--font-display);
  cursor: pointer;
  transition: all 0.2s;
}

.i50-btn-secondary:hover {
  background: rgba(255, 215, 0, 0.1);
  border-color: #ffd700;
}

.i50-btn-primary {
  background: linear-gradient(135deg, #ffd700, #ff6b2c);
  border: none;
  color: #000;
  padding: 10px 20px;
  border-radius: var(--radius-sm);
  font-size: 13px;
  font-weight: 700;
  font-family: var(--font-display);
  cursor: pointer;
  transition: all 0.2s;
}

.i50-btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 20px rgba(255, 215, 0, 0.3);
}

.innovator50-grid {
  display: grid;
  gap: 16px;
}

.i50-card {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 20px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 24px;
  cursor: pointer;
  transition: all 0.3s ease;
  animation: i50FadeIn 0.5s ease backwards;
}

@keyframes i50FadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.i50-card:hover {
  border-color: rgba(255, 215, 0, 0.4);
  transform: translateX(4px);
  box-shadow: 0 8px 40px rgba(255, 215, 0, 0.1);
}

.i50-card.gold {
  border-color: rgba(255, 215, 0, 0.3);
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.08) 0%, transparent 50%);
}

.i50-card.silver {
  border-color: rgba(192, 192, 192, 0.3);
  background: linear-gradient(135deg, rgba(192, 192, 192, 0.05) 0%, transparent 50%);
}

.i50-card.bronze {
  border-color: rgba(205, 127, 50, 0.3);
  background: linear-gradient(135deg, rgba(205, 127, 50, 0.05) 0%, transparent 50%);
}

.i50-rank-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.i50-rank {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 800;
  color: var(--text-muted);
}

.i50-rank.gold { color: #ffd700; }
.i50-rank.silver { color: #c0c0c0; }
.i50-rank.bronze { color: #cd7f32; }

.i50-movement {
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
}

.i50-movement.new {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
}

.i50-movement.up {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
}

.i50-movement.down {
  background: rgba(239, 68, 68, 0.15);
  color: #ef4444;
}

.i50-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.i50-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.i50-company-name {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 700;
  color: var(--text-primary);
}

.i50-category {
  font-size: 12px;
  font-weight: 600;
}

.i50-badges {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.i50-badge {
  background: rgba(255, 215, 0, 0.12);
  color: #ffd700;
  font-size: 10px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.i50-highlights {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.i50-highlights li {
  font-size: 13px;
  color: var(--text-secondary);
  padding-left: 16px;
  position: relative;
}

.i50-highlights li::before {
  content: '→';
  position: absolute;
  left: 0;
  color: var(--accent);
}

.i50-thesis {
  font-size: 14px;
  line-height: 1.6;
  color: var(--text-secondary);
  padding: 12px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-sm);
  border-left: 3px solid var(--accent);
}

.i50-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

.i50-valuation {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--text-primary);
}

.i50-share-single {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--text-secondary);
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
}

.i50-share-single:hover {
  border-color: var(--accent);
  color: var(--accent);
}

.innovator50-cta {
  text-align: center;
  margin-top: 40px;
  padding: 32px;
  background: var(--bg-tertiary);
  border-radius: var(--radius);
  border: 1px solid var(--border);
}

.innovator50-cta p {
  font-size: 16px;
  color: var(--text-secondary);
  margin-bottom: 16px;
}

.i50-nominate-btn {
  display: inline-block;
  background: linear-gradient(135deg, #ffd700, #ff6b2c);
  color: #000;
  font-size: 14px;
  font-weight: 700;
  padding: 12px 28px;
  border-radius: var(--radius-sm);
  text-decoration: none;
  transition: all 0.2s;
}

.i50-nominate-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 25px rgba(255, 215, 0, 0.3);
}

/* ─── ENHANCED AWARD FEATURES ─── */
.i50-score {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 14px;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 4px;
  background: var(--bg-tertiary);
}

.i50-conviction {
  font-size: 16px;
  margin-left: 8px;
}

.i50-conviction.high {
  color: #22c55e;
}

.i50-conviction.medium {
  color: #f59e0b;
}

.i50-conviction.standard {
  color: #6b7280;
}

.i50-ros-connection {
  font-size: 14px;
  margin-left: 6px;
}

/* Detail Modal Styles */
.i50-detail-modal {
  padding: 24px;
}

.i50-detail-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}

.i50-detail-rank {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 36px;
  font-weight: 800;
  color: var(--text-secondary);
}

.i50-detail-rank.gold {
  color: #ffd700;
  text-shadow: 0 2px 8px rgba(255, 215, 0, 0.3);
}

.i50-detail-rank.silver {
  color: #c0c0c0;
  text-shadow: 0 2px 8px rgba(192, 192, 192, 0.3);
}

.i50-detail-rank.bronze {
  color: #cd7f32;
  text-shadow: 0 2px 8px rgba(205, 127, 50, 0.3);
}

.i50-detail-title h2 {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 4px 0;
}

.i50-detail-category {
  font-size: 14px;
  font-weight: 500;
}

.i50-detail-conviction {
  margin-left: auto;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--accent);
  background: rgba(255, 107, 44, 0.1);
  padding: 6px 12px;
  border-radius: 6px;
}

.i50-detail-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}

.i50-detail-highlights {
  margin-bottom: 24px;
}

.i50-detail-highlights h4 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-secondary);
  margin-bottom: 12px;
}

.i50-detail-highlights ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.i50-detail-highlights li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 8px;
  font-size: 14px;
  color: var(--text-primary);
}

.i50-detail-highlights li::before {
  content: '→';
  position: absolute;
  left: 0;
  color: var(--accent);
}

/* Score Breakdown */
.i50-detail-scores {
  background: var(--bg-tertiary);
  border-radius: var(--radius);
  padding: 20px;
  margin-bottom: 24px;
}

.i50-detail-scores h4 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-secondary);
  margin-bottom: 16px;
}

.score-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.score-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  background: var(--bg-secondary);
  border-radius: 6px;
}

.score-label {
  font-size: 12px;
  color: var(--text-secondary);
}

.score-value {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: var(--accent);
}

.score-total {
  grid-column: span 3;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 20px;
  background: linear-gradient(135deg, rgba(255, 107, 44, 0.15), rgba(255, 107, 44, 0.05));
  border-radius: 8px;
  border: 1px solid rgba(255, 107, 44, 0.2);
}

.score-total .score-label {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
}

.score-total .score-value {
  font-size: 18px;
  font-weight: 800;
}

/* Investment Thesis Sections */
.i50-detail-thesis {
  margin-bottom: 24px;
}

.i50-detail-thesis h4 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-secondary);
  margin-bottom: 16px;
}

.thesis-section {
  padding: 16px;
  border-radius: var(--radius-sm);
  margin-bottom: 12px;
}

.thesis-section.bull {
  background: rgba(34, 197, 94, 0.08);
  border-left: 3px solid #22c55e;
}

.thesis-section.bear {
  background: rgba(239, 68, 68, 0.08);
  border-left: 3px solid #ef4444;
}

.thesis-section.bet {
  background: rgba(96, 165, 250, 0.08);
  border-left: 3px solid #60a5fa;
}

.thesis-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 8px;
}

.thesis-section p {
  font-size: 14px;
  line-height: 1.6;
  color: var(--text-primary);
  margin: 0;
}

/* Founder's Note */
.i50-detail-note {
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.08), rgba(255, 107, 44, 0.05));
  border: 1px solid rgba(255, 215, 0, 0.15);
  border-radius: var(--radius);
  padding: 20px;
  margin-bottom: 24px;
}

.i50-detail-note h4 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-secondary);
  margin-bottom: 12px;
}

.i50-detail-note blockquote {
  font-size: 15px;
  font-style: italic;
  line-height: 1.7;
  color: var(--text-primary);
  margin: 0 0 8px 0;
  padding: 0;
  border: none;
}

.note-attribution {
  display: block;
  font-size: 12px;
  color: var(--text-muted);
  text-align: right;
}

/* Milestones */
.i50-detail-milestones {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}

.milestone-item {
  padding: 16px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-sm);
}

.milestone-label {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.5px;
  color: var(--text-muted);
  text-transform: uppercase;
  margin-bottom: 8px;
}

.milestone-item p {
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-primary);
  margin: 0;
}

/* ROS Connection Badge */
.i50-ros-badge {
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.1), rgba(34, 197, 94, 0.05));
  border: 1px solid rgba(34, 197, 94, 0.2);
  color: #22c55e;
  font-size: 13px;
  font-weight: 500;
  padding: 12px 16px;
  border-radius: var(--radius-sm);
  margin-bottom: 20px;
}

/* Detail Actions */
.i50-detail-actions {
  display: flex;
  justify-content: center;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

.i50-detail-actions button {
  background: var(--accent);
  color: #fff;
  border: none;
  padding: 12px 24px;
  border-radius: var(--radius-sm);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
}

.i50-detail-actions button:hover {
  background: var(--accent-hover);
  transform: translateY(-2px);
}
/* ─── FOUNDER INTELLIGENCE (Field Notes) ─── */
.field-notes-section {
  padding: 60px 24px;
  border-bottom: 1px solid var(--border);
}

.fn-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 32px;
}

.fn-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 28px;
  transition: all 0.25s ease;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  display: flex;
  flex-direction: column;
}

.fn-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--accent) 0%, transparent 100%);
  opacity: 0;
  transition: opacity 0.25s;
}

.fn-card:hover {
  border-color: var(--border-hover);
  transform: translateY(-3px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
}

.fn-card:hover::before {
  opacity: 1;
}

.fn-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.fn-type-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 20px;
}

.fn-type-badge.podcast {
  background: rgba(168, 85, 247, 0.12);
  color: #A855F7;
}

.fn-type-badge.interview {
  background: rgba(52, 211, 153, 0.12);
  color: #34D399;
}

.fn-type-badge.site-visit {
  background: rgba(96, 165, 250, 0.12);
  color: #60A5FA;
}

.fn-type-badge.founder-call {
  background: rgba(251, 191, 36, 0.12);
  color: #FBBF24;
}

.fn-type-badge.flash-take {
  background: rgba(255, 107, 44, 0.12);
  color: var(--accent);
}

.fn-date {
  font-size: 12px;
  color: var(--text-muted);
  font-weight: 500;
}

.fn-title {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.3;
  margin-bottom: 6px;
}

.fn-founder {
  font-size: 12px;
  font-weight: 600;
  color: var(--accent);
  margin-bottom: 12px;
}

.fn-hook {
  font-size: 14px;
  line-height: 1.65;
  color: var(--text-secondary);
  margin-bottom: 16px;
}

.fn-pull-quote {
  margin: 0 0 16px;
  padding: 12px 16px;
  border-left: 3px solid var(--accent);
  background: rgba(255, 107, 53, 0.04);
  border-radius: 0 8px 8px 0;
  font-size: 13px;
  font-style: italic;
  line-height: 1.6;
  color: var(--text-primary);
}

.fn-insight {
  font-size: 13px;
  line-height: 1.6;
  color: var(--text-muted);
  margin-bottom: 16px;
}

.fn-topics {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 16px;
}

.fn-topic {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 3px 8px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.05);
  color: var(--text-muted);
}

.fn-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 16px;
  border-top: 1px solid var(--border);
  margin-top: auto;
}

.fn-company-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary);
  background: var(--bg-tertiary);
  padding: 5px 12px;
  border-radius: 20px;
  text-decoration: none;
  transition: background 0.15s;
}

.fn-company-pill:hover {
  background: var(--bg-elevated);
}

.fn-conviction {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.fn-conviction.strong-buy { color: #34D399; }
.fn-conviction.buy { color: #60A5FA; }
.fn-conviction.hold { color: var(--text-muted); }
.fn-conviction.watch { color: #FBBF24; }

.fn-source-row {
  margin-top: 8px;
}

.fn-source {
  font-size: 11px;
  color: var(--text-muted);
}

.fn-source-link {
  font-size: 11px;
  color: var(--accent);
  text-decoration: none;
  font-weight: 600;
  transition: opacity 0.15s;
}

.fn-source-link:hover {
  opacity: 0.8;
  text-decoration: underline;
}

.fn-section-footer {
  text-align: center;
  margin-top: 32px;
}

.fn-substack-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
  padding: 10px 24px;
  border: 1px solid rgba(255, 107, 53, 0.3);
  border-radius: 8px;
  transition: all 0.2s;
}

.fn-substack-link:hover {
  background: rgba(255, 107, 53, 0.08);
  border-color: var(--accent);
}

@media (max-width: 1024px) {
  .fn-grid { grid-template-columns: repeat(2, 1fr); }
}
/* ─── BREAKING NEWS TICKER ─── */
.news-ticker-bar {
  display: flex;
  align-items: center;
  background: linear-gradient(90deg, rgba(255, 107, 44, 0.08) 0%, rgba(255, 107, 44, 0.03) 50%, rgba(255, 107, 44, 0.08) 100%);
  border-bottom: 1px solid rgba(255, 107, 44, 0.15);
  overflow: hidden;
  height: 44px;
  position: relative;
}

.news-ticker-bar::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 107, 44, 0.3) 50%, transparent 100%);
}

.ticker-label {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.5px;
  padding: 6px 16px;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
  box-shadow: 4px 0 12px rgba(220, 38, 38, 0.3);
}

.ticker-label::after {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #fff;
  border-radius: 50%;
  margin-left: 8px;
  animation: tickerPulse 1.5s ease-in-out infinite;
  box-shadow: 0 0 8px rgba(255, 255, 255, 0.5);
}

@keyframes tickerPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(0.8); }
}

.ticker-scroll {
  display: flex;
  align-items: center;
  gap: 32px;
  padding: 0 20px;
  overflow-x: auto;
  scrollbar-width: none;
  white-space: nowrap;
  flex: 1;
}

.ticker-scroll::-webkit-scrollbar { display: none; }

.ticker-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-secondary);
  flex-shrink: 0;
  cursor: pointer;
  transition: color 0.2s;
}

.ticker-item:hover { color: var(--text-primary); }

.ticker-priority-high { color: var(--accent); }
.ticker-priority-medium { color: var(--text-secondary); }
.ticker-priority-low { color: var(--text-muted); }

.ticker-time {
  font-size: 11px;
  color: var(--text-muted);
  flex-shrink: 0;
}

.ticker-divider {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--border-hover);
  flex-shrink: 0;
}

/* ─── MARKET PULSE ─── */
.market-pulse-section {
  padding: 16px 0;
  background: var(--bg-secondary);
  border-bottom: 1px solid var(--border);
}

.market-pulse-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.pulse-live-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #22C55E;
  animation: tickerPulse 1.5s ease-in-out infinite;
}

.market-pulse-grid {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  scrollbar-width: none;
  padding-bottom: 4px;
}

.market-pulse-grid::-webkit-scrollbar { display: none; }

.pulse-card {
  flex: 0 0 160px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 14px 16px;
  cursor: pointer;
  transition: all 0.2s;
}

.pulse-card:hover {
  border-color: var(--border-hover);
  background: var(--bg-card-hover);
}

.pulse-ticker {
  font-family: 'Space Grotesk', monospace;
  font-size: 11px;
  font-weight: 700;
  color: var(--text-muted);
  letter-spacing: 0.5px;
}

.pulse-name {
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 2px 0 6px;
}

.pulse-val {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--text-primary);
}

.pulse-change {
  font-size: 12px;
  font-weight: 600;
  margin-left: 6px;
}

.pulse-change.up { color: #22C55E; }
.pulse-change.down { color: #EF4444; }

/* ─── CAPITAL FLOWS (Combined Funding + Deals) ─── */
.capital-flows-section {
  padding: 60px 0;
  border-bottom: 1px solid var(--border);
}

.capital-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 24px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 12px;
}

.capital-tab {
  padding: 10px 20px;
  background: transparent;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--text-secondary);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}

.capital-tab:hover {
  border-color: var(--border-hover);
  color: var(--text-primary);
}

.capital-tab.active {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--bg);
}

.capital-panel {
  display: none;
  animation: fadeIn 0.2s ease;
}

.capital-panel.active {
  display: block;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* ─── FUNDING TRACKER ─── */
.funding-tracker-section {
  padding: 60px 0;
  border-bottom: 1px solid var(--border);
}

.funding-tracker-grid {
  display: grid;
  gap: 8px;
}

.funding-row {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 1fr 0.8fr;
  gap: 12px;
  align-items: center;
  padding: 14px 20px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: all 0.2s;
}

.funding-row:hover {
  border-color: var(--border-hover);
  background: var(--bg-card-hover);
}

.funding-row-header {
  background: transparent;
  border: none;
  cursor: default;
  padding: 8px 20px;
}

.funding-row-header:hover {
  background: transparent;
  border: none;
}

.funding-row-header span {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
}

.funding-company {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 14px;
  color: var(--text-primary);
}

.funding-amount {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: #22C55E;
}

.funding-stage-tag {
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 4px;
  background: rgba(96, 165, 250, 0.12);
  color: #60A5FA;
  border: 1px solid rgba(96, 165, 250, 0.2);
  display: inline-block;
}

.funding-lead {
  font-size: 13px;
  color: var(--text-secondary);
}

.funding-date {
  font-size: 12px;
  color: var(--text-muted);
}

.funding-val {
  font-size: 13px;
  font-weight: 600;
  color: var(--accent);
}

/* ─── SECTOR MOMENTUM INDEX ─── */
.momentum-section {
  padding: 60px 0;
  background: var(--bg-secondary);
  border-bottom: 1px solid var(--border);
}

.momentum-grid {
  display: grid;
  gap: 8px;
}

.momentum-row {
  display: grid;
  grid-template-columns: 2fr 100px 1fr 0.8fr 1fr;
  gap: 12px;
  align-items: center;
  padding: 16px 20px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  transition: all 0.2s;
}

.momentum-row:hover {
  border-color: var(--border-hover);
  background: var(--bg-card-hover);
}

.momentum-sector-name {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 14px;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  gap: 10px;
}

.momentum-sector-icon {
  font-size: 18px;
}

.momentum-score {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 800;
  font-size: 20px;
}

.momentum-score.high { color: #22C55E; }
.momentum-score.mid { color: #FFD700; }
.momentum-score.low { color: var(--text-muted); }

.momentum-bar-bg {
  height: 8px;
  background: var(--bg-tertiary);
  border-radius: 4px;
  overflow: hidden;
}

.momentum-bar-fill {
  height: 100%;
  border-radius: 4px;
  transition: width 1.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.momentum-bar-fill.high { background: linear-gradient(90deg, #22C55E, #4ADE80); }
.momentum-bar-fill.mid { background: linear-gradient(90deg, #FFD700, #FDE047); }
.momentum-bar-fill.low { background: linear-gradient(90deg, #6B7280, #9CA3AF); }

.momentum-trend {
  font-size: 12px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 4px;
  text-align: center;
  text-transform: capitalize;
}

.momentum-trend-accelerating { background: rgba(34, 197, 94, 0.12); color: #22C55E; }
.momentum-trend-rising { background: rgba(96, 165, 250, 0.12); color: #60A5FA; }
.momentum-trend-steady { background: rgba(255, 215, 0, 0.12); color: #FFD700; }

.momentum-funding {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: var(--accent);
  text-align: right;
}

/* ─── IPO & EXIT PIPELINE ─── */
.ipo-section {
  padding: 60px 0;
  border-bottom: 1px solid var(--border);
}

.ipo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 16px;
}

.ipo-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 24px;
  transition: all 0.2s;
  cursor: pointer;
}

.ipo-card:hover {
  border-color: var(--border-hover);
  background: var(--bg-card-hover);
}

.ipo-company {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 8px;
}

.ipo-status {
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  display: inline-block;
  margin-bottom: 12px;
}

.ipo-status-high { background: rgba(34, 197, 94, 0.12); color: #22C55E; border: 1px solid rgba(34, 197, 94, 0.2); }
.ipo-status-medium { background: rgba(255, 215, 0, 0.12); color: #FFD700; border: 1px solid rgba(255, 215, 0, 0.2); }
.ipo-status-low { background: rgba(96, 165, 250, 0.12); color: #60A5FA; border: 1px solid rgba(96, 165, 250, 0.2); }

.ipo-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 12px;
}

.ipo-meta-item {
  padding: 10px;
  background: var(--bg-elevated);
  border-radius: 6px;
  border: 1px solid var(--border);
}

.ipo-meta-label {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
  margin-bottom: 4px;
}

.ipo-meta-value {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
}

/* ─── INNOVATION LEADERBOARD ─── */
.leaderboard-section {
  padding: 48px 0;
  background: linear-gradient(180deg, rgba(255, 107, 44, 0.03) 0%, transparent 100%);
  border-bottom: 1px solid var(--border);
}

/* Ranking Tabs for consolidated leaderboard */
.ranking-tabs {
  display: flex;
  gap: 0;
  margin-bottom: 24px;
  border-bottom: 1px solid var(--border);
}

.ranking-tab {
  background: transparent;
  border: none;
  padding: 12px 24px;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 600;
  color: var(--text-muted);
  cursor: pointer;
  position: relative;
  transition: color 0.2s;
}

.ranking-tab:hover {
  color: var(--text-secondary);
}

.ranking-tab.active {
  color: var(--accent);
}

.ranking-tab.active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--accent);
}

.ranking-view {
  animation: fadeIn 0.2s ease;
}

.efficiency-explainer {
  font-size: 13px;
  color: var(--text-muted);
  margin-bottom: 16px;
  padding: 12px 16px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-sm);
  border-left: 3px solid var(--accent);
}

.leaderboard-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  flex-wrap: wrap;
  gap: 12px;
}

.leaderboard-filters {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.lb-filter-select {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 8px 12px;
  font-size: 13px;
  font-family: var(--font-display);
  color: var(--text-primary);
  cursor: pointer;
  transition: border-color 0.2s;
}

.lb-filter-select:hover { border-color: var(--accent); }
.lb-filter-select:focus { outline: none; border-color: var(--accent); }

.leaderboard-stats {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.lb-stat {
  font-size: 13px;
  color: var(--text-muted);
}

.lb-stat strong {
  color: var(--accent);
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
}

.leaderboard-grid {
  display: grid;
  gap: 4px;
}

.leaderboard-row {
  display: grid;
  grid-template-columns: 50px 2fr 120px 1fr 100px 100px;
  gap: 12px;
  align-items: center;
  padding: 14px 20px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: all 0.2s;
}

.leaderboard-row:hover {
  border-color: var(--accent);
  background: var(--bg-card-hover);
  transform: translateX(4px);
}

.leaderboard-rank {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 20px;
  font-weight: 800;
  text-align: center;
}

.leaderboard-rank.gold { color: #FFD700; }
.leaderboard-rank.silver { color: #C0C0C0; }
.leaderboard-rank.bronze { color: #CD7F32; }
.leaderboard-rank.normal { color: var(--text-muted); }

.leaderboard-company {
  display: flex;
  flex-direction: column;
}

.leaderboard-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.lb-score-badge {
  background: rgba(34, 197, 94, 0.15);
  color: #22C55E;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 4px;
  font-family: 'Space Grotesk', sans-serif;
}

.leaderboard-sector {
  font-size: 12px;
  color: var(--text-muted);
}

.leaderboard-valuation {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 18px;
  font-weight: 800;
  color: var(--text-primary);
  text-align: right;
}

.leaderboard-bar {
  height: 8px;
  background: var(--bg-tertiary);
  border-radius: 4px;
  overflow: hidden;
}

.leaderboard-bar-fill {
  height: 100%;
  border-radius: 4px;
  background: linear-gradient(90deg, var(--accent), #ff9b6a);
  transition: width 1s ease;
}

.leaderboard-raised {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
  font-size: 13px;
  color: var(--text-secondary);
  text-align: center;
}

.leaderboard-stage {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
  font-size: 12px;
  color: var(--accent);
  text-align: right;
}

/* ─── CAPITAL EFFICIENCY LEADERBOARD ─── */
.efficiency-section {
  padding: 48px 0;
  background: linear-gradient(180deg, rgba(34, 197, 94, 0.03) 0%, transparent 100%);
  border-bottom: 1px solid var(--border);
}

.efficiency-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  flex-wrap: wrap;
  gap: 12px;
}

.efficiency-filters {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.efficiency-stats {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.efficiency-grid {
  display: grid;
  gap: 4px;
}

.efficiency-row {
  display: grid;
  grid-template-columns: 50px 2fr 140px 1fr 140px 100px;
  gap: 12px;
  align-items: center;
  padding: 14px 20px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: all 0.2s;
}

.efficiency-row:hover {
  border-color: #22C55E;
  background: var(--bg-card-hover);
  transform: translateX(4px);
}

.efficiency-multiple {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.efficiency-value {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 20px;
  font-weight: 800;
  color: #22C55E;
}

.efficiency-benchmark {
  font-size: 11px;
  font-weight: 600;
}

.efficiency-benchmark.above {
  color: #22C55E;
}

.efficiency-benchmark.below {
  color: var(--text-muted);
}

.efficiency-bar {
  background: linear-gradient(90deg, #22C55E, #4ade80) !important;
}

.efficiency-details {
  display: flex;
  align-items: center;
  gap: 4px;
  font-family: 'Space Grotesk', sans-serif;
}

.eff-val {
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary);
}

.eff-divider {
  color: var(--text-muted);
  font-size: 12px;
}

.eff-raised {
  font-size: 12px;
  color: var(--text-muted);
}

@media (max-width: 900px) {
  .efficiency-row {
    grid-template-columns: 40px 1fr 100px 80px;
    gap: 8px;
    padding: 12px;
  }

  .efficiency-row .leaderboard-bar,
  .efficiency-row .leaderboard-stage {
    display: none;
  }

  .efficiency-value {
    font-size: 16px;
  }

  .efficiency-details {
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
  }
}

/* ─── COMPARE MODAL ─── */
.compare-modal {
  max-width: 900px !important;
}

.compare-grid {
  display: grid;
  gap: 16px;
}

.compare-header-row {
  display: grid;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 2px solid var(--border);
}

.compare-data-row {
  display: grid;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
}

.compare-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
}

.compare-value {
  font-size: 14px;
  color: var(--text-primary);
}

.compare-value.highlight {
  color: var(--accent);
  font-weight: 700;
}

/* ─── ENHANCED COMPARISON RADAR CHART ─── */
.compare-radar-section {
  margin-bottom: 24px;
  padding: 20px;
  background: var(--bg-tertiary);
  border-radius: var(--radius);
  border: 1px solid var(--border);
}

.compare-radar-container {
  height: 300px;
  max-width: 500px;
  margin: 0 auto;
}

.compare-legend {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 16px;
  flex-wrap: wrap;
}

.compare-legend-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.compare-legend-color {
  width: 12px;
  height: 12px;
  border-radius: 50%;
}

.compare-legend-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}

.compare-differentiators {
  margin-bottom: 24px;
}

.differentiator-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
}

.differentiator-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.differentiator-metric {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
}

.differentiator-leader {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 700;
  color: var(--accent);
}

.differentiator-value {
  font-size: 12px;
  color: #22c55e;
  font-weight: 600;
}

.compare-actions-footer {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--border);
}

.compare-share-btn,
.compare-export-btn {
  padding: 10px 20px;
  border-radius: var(--radius-sm);
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
}

.compare-share-btn {
  background: transparent;
  border: 1px solid var(--accent);
  color: var(--accent);
}

.compare-share-btn:hover {
  background: var(--accent);
  color: white;
}

.compare-export-btn {
  background: var(--accent);
  border: 1px solid var(--accent);
  color: white;
}

.compare-export-btn:hover {
  background: #e55a1c;
}

/* ─── ENHANCED COMPARISON MODAL ─── */
.compare-modal-header {
  margin-bottom: 20px;
}

.compare-quick-cards {
  margin-bottom: 24px;
}

.compare-quick-card {
  transition: transform 0.2s, border-color 0.2s;
}

.compare-quick-card:hover {
  transform: translateY(-2px);
}

/* Innovator Score Comparison Section */
.compare-iscore-section {
  margin: 24px 0;
  padding: 20px;
  background: var(--bg-tertiary);
  border-radius: var(--radius);
  border: 1px solid var(--border);
}

.compare-iscore-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 16px;
  transition: border-color 0.2s;
}

.compare-iscore-card:hover {
  border-color: var(--border-hover);
}

.compare-iscore-card.no-data {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 180px;
}

.compare-iscore-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}

.compare-iscore-name {
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 700;
  color: var(--text-primary);
}

.compare-iscore-tier {
  font-size: 10px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.compare-iscore-total {
  font-family: var(--font-display);
  font-size: 42px;
  font-weight: 800;
  text-align: center;
  margin-bottom: 16px;
}

.compare-iscore-na {
  color: var(--text-muted);
  font-size: 14px;
}

.compare-iscore-dims {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

.compare-iscore-dim {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: var(--text-secondary);
  padding: 4px 8px;
  background: var(--bg-secondary);
  border-radius: 4px;
}

.compare-iscore-dim span:last-child {
  font-weight: 600;
  color: var(--text-primary);
}

/* Data Intelligence Section */
.compare-intel-section {
  margin: 24px 0;
  padding: 20px;
  background: var(--bg-tertiary);
  border-radius: var(--radius);
  border: 1px solid var(--border);
}

.compare-intel-row {
  padding: 8px 0;
  border-bottom: 1px solid var(--border);
}

.compare-intel-row:last-child {
  border-bottom: none;
}

/* ─── INNOVATOR 50 HISTORICAL TRACKING ─── */
.i50-movement.same {
  background: rgba(107, 114, 128, 0.15);
  color: #6b7280;
}

.i50-history {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0;
  padding: 8px 12px;
  background: var(--bg-secondary);
  border-radius: 6px;
  border: 1px solid var(--border);
  flex-wrap: wrap;
}

.i50-history-label {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
}

.i50-history-point {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  background: var(--bg-card);
  border-radius: 4px;
  border: 1px solid var(--border);
}

/* Year selector for historical rankings */
.i50-year-selector {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
}

.i50-year-btn {
  padding: 6px 16px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
}

.i50-year-btn:hover {
  border-color: var(--border-hover);
  color: var(--text-primary);
}

.i50-year-btn.active {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--accent-text);
}

/* Enhanced movement indicators with numerical changes */
.i50-movement {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  cursor: help;
}

.i50-movement.up {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
}

.i50-movement.down {
  background: rgba(239, 68, 68, 0.15);
  color: #ef4444;
}

.i50-movement.new {
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.2), rgba(255, 107, 44, 0.2));
  color: #ffd700;
  animation: newBadgePulse 2s ease-in-out infinite;
}

@keyframes newBadgePulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

/* Historical Ranking View */
.i50-historical-header {
  text-align: center;
  padding: 24px 0;
  margin-bottom: 24px;
  border-bottom: 1px solid var(--border);
}

.i50-historical-badge {
  display: inline-block;
  padding: 4px 12px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1px;
  color: var(--text-muted);
  margin-bottom: 8px;
}

.i50-historical-header h3 {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 4px;
}

.i50-historical-header p {
  font-size: 13px;
  color: var(--text-muted);
}

.i50-card.historical {
  opacity: 0.95;
}

.i50-card.historical:hover {
  opacity: 1;
}

.i50-status-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 4px;
  margin: 8px 0;
}

.i50-status-badge.up {
  background: rgba(34, 197, 94, 0.12);
  color: #22c55e;
}

.i50-status-badge.down {
  background: rgba(239, 68, 68, 0.12);
  color: #ef4444;
}

.i50-status-badge.same {
  background: rgba(107, 114, 128, 0.12);
  color: #6b7280;
}

.i50-status-badge.dropped {
  background: rgba(156, 163, 175, 0.12);
  color: #9ca3af;
  font-style: italic;
}

.i50-no-data {
  text-align: center;
  padding: 48px 24px;
  color: var(--text-muted);
  font-size: 15px;
}

/* ─── BLOOMBERG RESPONSIVE ─── *//* ─── ONE-PAGER PRINT STYLES ─── */
@media print {
  body { background: #fff; color: #000; }
  .nav, .footer, .modal-overlay { display: none; }
}

/* ─── VC PAGE RESPONSIVE ─── *//* ─── TRL RANKINGS DASHBOARD ─── */
.trl-section {
  padding: 60px 0;
  border-bottom: 1px solid var(--border);
}

.trl-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 30px;
}

.trl-legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: var(--bg-secondary);
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
}

.trl-level-badge {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 11px;
  color: #000;
}

.trl-legend-label {
  font-size: 11px;
  color: var(--text-secondary);
  font-weight: 500;
}

.trl-grid {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.trl-row {
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 20px;
  animation: fadeInUp 0.5s ease both;
}

.trl-row-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.trl-row-badge {
  padding: 6px 14px;
  border-radius: var(--radius-sm);
  font-weight: 700;
  font-size: 13px;
  color: #000;
  white-space: nowrap;
}

.trl-row-info {
  display: flex;
  align-items: center;
  gap: 12px;
}

.trl-row-label {
  font-weight: 600;
  font-size: 15px;
  color: var(--text-primary);
}

.trl-row-count {
  font-size: 12px;
  color: var(--text-muted);
  background: var(--bg-tertiary);
  padding: 2px 8px;
  border-radius: var(--radius-sm);
}

.trl-row-companies {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.trl-company-chip {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: all 0.2s;
}

.trl-company-chip:hover {
  border-color: var(--accent);
  background: rgba(255, 107, 44, 0.1);
  transform: translateY(-1px);
}

.trl-company-name {
  font-weight: 600;
  font-size: 13px;
  color: var(--text-primary);
}

.trl-company-note {
  font-size: 11px;
  color: var(--text-muted);
  max-width: 200px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ─── TRL VELOCITY CONTROLS & STATS ─── */
.trl-controls {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.trl-filter-select {
  padding: 8px 14px;
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--text-primary);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: border-color 0.2s;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(240,240,250,0.4)' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  padding-right: 32px;
  min-width: 160px;
}

.trl-filter-select:hover {
  border-color: var(--border-hover);
}

.trl-filter-select:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 2px var(--accent-dim);
}

.trl-filter-select option {
  background: var(--bg-secondary);
  color: var(--text-primary);
}

.trl-velocity-stats {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
  padding: 14px 20px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  flex-wrap: wrap;
}

.trl-stat-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.trl-stat-value {
  font-size: 22px;
  font-weight: 700;
  color: var(--accent);
  line-height: 1;
}

.trl-stat-label {
  font-size: 12px;
  color: var(--text-muted);
  font-weight: 500;
}

.trl-velocity-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 8px;
  border-radius: 100px;
  font-size: 10px;
  font-weight: 600;
  white-space: nowrap;
  line-height: 1.4;
}

.velocity-fast {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
}

.velocity-moving {
  background: rgba(96, 165, 250, 0.15);
  color: #60a5fa;
}

.velocity-steady {
  background: rgba(107, 114, 128, 0.15);
  color: #9ca3af;
}

.velocity-stalled {
  background: rgba(239, 68, 68, 0.15);
  color: #ef4444;
}

/* ─── DEAL TRACKER ─── */
.deal-tracker-section {
  padding: 60px 0;
  border-bottom: 1px solid var(--border);
}

.deal-filter-bar {
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
}

.deal-filter {
  padding: 8px 18px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  font-family: 'Inter', sans-serif;
}

.deal-filter:hover {
  border-color: var(--accent);
  color: var(--accent);
}

.deal-filter.active {
  background: var(--accent);
  border-color: var(--accent);
  color: #000;
  font-weight: 600;
}

.deal-grid {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.deal-row {
  display: grid;
  grid-template-columns: 1.5fr 1.2fr 1fr 0.8fr 1fr 0.7fr 0.8fr;
  gap: 8px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--border);
  transition: background 0.15s;
  animation: fadeInUp 0.3s ease both;
}

.deal-row:hover:not(.deal-header) {
  background: var(--bg-secondary);
}

.deal-header {
  background: var(--bg-tertiary);
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
}

.deal-cell {
  font-size: 13px;
  display: flex;
  align-items: center;
}

.deal-company-link {
  cursor: pointer;
  font-weight: 600;
  color: var(--text-primary);
  transition: color 0.15s;
}

.deal-company-link:hover {
  color: var(--accent);
}

.deal-role {
  font-size: 11px;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
  background: var(--bg-tertiary);
  color: var(--text-muted);
}

.deal-role-lead {
  background: rgba(255, 107, 44, 0.15);
  color: var(--accent);
  font-weight: 600;
}

/* ─── GROWTH SIGNALS ─── */
.growth-signals-section {
  padding: 60px 0;
  border-bottom: 1px solid var(--border);
}

.signals-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 12px;
}

.signal-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 16px;
  transition: all 0.2s;
  animation: fadeInUp 0.4s ease both;
}

.signal-card:hover {
  transform: translateY(-2px);
  border-color: var(--accent);
}

.signal-card.signal-strong {
  border-left: 3px solid var(--accent);
}

.signal-card.signal-medium {
  border-left: 3px solid #f59e0b;
}

.signal-card-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.signal-type-icon {
  font-size: 18px;
}

.signal-type-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
}

.signal-strength {
  margin-left: auto;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.signal-strength-strong {
  background: rgba(255, 107, 44, 0.15);
  color: var(--accent);
}

.signal-strength-medium {
  background: rgba(245, 158, 11, 0.15);
  color: #f59e0b;
}

.signal-company {
  font-weight: 700;
  font-size: 16px;
  color: var(--text-primary);
  margin-bottom: 6px;
  cursor: pointer;
  transition: color 0.15s;
}

.signal-company:hover {
  color: var(--accent);
}

.signal-detail {
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.5;
  margin-bottom: 8px;
}

.signal-date {
  font-size: 11px;
  color: var(--text-muted);
}

/* ─── MARKET MAP ─── */
.market-map-section {
  padding: 60px 0;
  border-bottom: 1px solid var(--border);
}

.market-map-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
  gap: 16px;
}

.market-map-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 24px;
  transition: all 0.2s;
}

.market-map-card:hover {
  border-color: var(--accent);
  transform: translateY(-2px);
}

.market-map-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.market-map-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 700;
  color: var(--text-primary);
}

.market-map-tam {
  font-size: 12px;
  font-weight: 700;
  color: var(--accent);
  background: rgba(255, 107, 44, 0.1);
  padding: 4px 10px;
  border-radius: var(--radius-sm);
}

.market-map-desc {
  font-size: 13px;
  color: var(--text-secondary);
  margin-bottom: 12px;
  line-height: 1.5;
}

.market-map-trend {
  font-size: 12px;
  color: var(--accent);
  font-style: italic;
  margin-bottom: 16px;
  padding: 8px 12px;
  background: rgba(255, 107, 44, 0.05);
  border-radius: var(--radius-sm);
  border-left: 2px solid var(--accent);
}

.market-map-tiers {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.market-tier {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.market-tier-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
}

.market-tier-companies {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.market-company {
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s;
  border: 1px solid transparent;
}

.market-leader {
  background: rgba(255, 107, 44, 0.12);
  color: var(--accent);
  border-color: rgba(255, 107, 44, 0.3);
}

.market-challenger {
  background: rgba(96, 165, 250, 0.12);
  color: #60a5fa;
  border-color: rgba(96, 165, 250, 0.3);
}

.market-emerging {
  background: rgba(34, 197, 94, 0.12);
  color: #4ade80;
  border-color: rgba(34, 197, 94, 0.3);
}

.market-company:hover {
  transform: translateY(-1px);
  filter: brightness(1.2);
}

/* ─── CARD WEBSITE LINK ─── */
.card-link-website {
  color: var(--text-muted) !important;
  margin-left: 8px;
}
.card-link-website:hover {
  color: var(--accent) !important;
}

/* ─── MODAL MAFIA BADGES ─── */
.modal-mafias {
  margin-top: 16px;
}

.modal-mafias h4 {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
  margin-bottom: 8px;
}

.mafia-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.mafia-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: var(--radius-sm);
  font-size: 12px;
}

.mafia-icon { font-size: 14px; }
.mafia-name { font-weight: 600; }
.mafia-detail { font-size: 11px; opacity: 0.8; }

/* ─── MODAL REVENUE ─── */
.modal-revenue {
  margin-top: 16px;
}

.modal-revenue h4 {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
  margin-bottom: 8px;
}

.revenue-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

.revenue-item {
  background: var(--bg-tertiary);
  padding: 8px 12px;
  border-radius: var(--radius-sm);
}

.revenue-label {
  display: block;
  font-size: 10px;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 2px;
}

.revenue-value {
  font-weight: 600;
  font-size: 14px;
  color: var(--text-primary);
}

/* ─── MODAL VALUATION CONTEXT ─── */
.modal-valuation-context {
  margin-top: 12px;
  padding: 12px 16px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-sm);
  border-left: 3px solid var(--accent);
}

.val-context-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 4px;
}

.val-context-text {
  font-size: 13px;
  color: var(--text-secondary);
}

.val-context-note {
  font-size: 11px;
  color: var(--text-muted);
  font-style: italic;
  margin-top: 4px;
}

/* ─── INNOVATOR SCORE SECTION ─── */
.innovator-score-section {
  padding: 48px 0;
  background: linear-gradient(180deg, rgba(96, 165, 250, 0.04) 0%, transparent 100%);
  border-bottom: 1px solid var(--border);
}

.iscore-methodology {
  margin-bottom: 20px;
}

.iscore-dimension-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
}

.iscore-dim {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--text-secondary);
}

.iscore-dim small {
  color: var(--text-muted);
  font-size: 11px;
}

.iscore-dim-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
}

.iscore-controls {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
}

.iscore-grid {
  display: grid;
  gap: 4px;
}

.iscore-row {
  display: grid;
  grid-template-columns: 50px 2fr 180px 100px;
  gap: 12px;
  align-items: center;
  padding: 14px 20px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: all 0.2s;
  margin-bottom: 4px;
}

.iscore-row:hover {
  border-color: var(--accent);
  background: var(--bg-card-hover);
  transform: translateX(4px);
}

.iscore-rank {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 20px;
  font-weight: 800;
  text-align: center;
}

.iscore-rank.gold { color: #FFD700; }
.iscore-rank.silver { color: #C0C0C0; }
.iscore-rank.bronze { color: #CD7F32; }

.iscore-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.iscore-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  color: var(--text-primary);
}

.iscore-dimensions {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.iscore-bar {
  height: 4px;
  background: var(--bg-tertiary);
  border-radius: 2px;
  overflow: hidden;
}

.iscore-composite {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  border-left: 3px solid;
  padding-left: 12px;
}

.iscore-composite-value {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 28px;
  font-weight: 800;
  line-height: 1;
}

.iscore-bar-fill {
  height: 100%;
  border-radius: 2px;
  transition: width 0.6s ease;
}

.iscore-tier-badge {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
  font-family: 'Space Grotesk', sans-serif;
  text-align: center;
}

.iscore-tier-badge.elite { background: rgba(34, 197, 94, 0.15); color: #22c55e; }
.iscore-tier-badge.strong { background: rgba(96, 165, 250, 0.15); color: #60a5fa; }
.iscore-tier-badge.promising { background: rgba(245, 158, 11, 0.15); color: #f59e0b; }
.iscore-tier-badge.early { background: rgba(107, 114, 128, 0.15); color: #6b7280; }

.iscore-note {
  font-size: 11px;
  color: var(--text-muted);
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 300px;
}

/* ─── GOVERNMENT CONTRACTS SECTION ─── */
.gov-contracts-section {
  padding: 48px 0;
  background: linear-gradient(180deg, rgba(220, 38, 38, 0.04) 0%, transparent 100%);
  border-bottom: 1px solid var(--border);
}

.gov-tabs {
  display: flex;
  gap: 4px;
  margin-bottom: 20px;
}

.gov-tab {
  padding: 8px 16px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--text-secondary);
  cursor: pointer;
  font-size: 13px;
  font-family: var(--font-display);
  font-weight: 600;
  transition: all 0.2s;
}

.gov-tab:hover { border-color: var(--accent); color: var(--text-primary); }
.gov-tab.active { background: var(--accent); color: #000; border-color: var(--accent); }

.gov-panel { min-height: 200px; }

.gov-contract-row {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px 20px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  margin-bottom: 6px;
  cursor: pointer;
  transition: all 0.2s;
}

.gov-contract-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.gov-agencies {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.gov-agency-tag {
  padding: 2px 6px;
  background: rgba(220, 38, 38, 0.08);
  color: #dc2626;
  border-radius: 3px;
  font-size: 10px;
  font-weight: 600;
}

.gov-contract-details {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.gov-key-contract {
  display: flex;
  gap: 8px;
  font-size: 12px;
  align-items: center;
}

.gov-contract-agency {
  font-weight: 700;
  color: var(--text-secondary);
  min-width: 80px;
}

.gov-contract-program {
  flex: 1;
  color: var(--text-secondary);
}

.gov-contract-value {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  color: var(--accent);
  white-space: nowrap;
}

.gov-meta {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.sbir-badge, .clearance-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}

.sbir-badge { background: rgba(34, 197, 94, 0.12); color: #22c55e; }
.clearance-badge { background: rgba(220, 38, 38, 0.12); color: #dc2626; }

.gov-rev-pct {
  font-size: 11px;
  color: var(--text-muted);
}

.gov-contract-row:hover {
  border-color: var(--accent);
  background: var(--bg-card-hover);
}

.gov-company-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 14px;
  color: var(--text-primary);
}

.gov-company-agencies {
  font-size: 11px;
  color: var(--text-muted);
}

.gov-total-value {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: var(--accent);
}

.gov-sbir-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
}

.gov-sbir-badge.graduated { background: rgba(34, 197, 94, 0.15); color: #22c55e; }
.gov-sbir-badge.phase3 { background: rgba(96, 165, 250, 0.15); color: #60a5fa; }
.gov-sbir-badge.phase2 { background: rgba(245, 158, 11, 0.15); color: #f59e0b; }
.gov-sbir-badge.phase1 { background: rgba(107, 114, 128, 0.15); color: #6b7280; }
.gov-sbir-badge.none { background: rgba(107, 114, 128, 0.1); color: #4b5563; }

.gov-clearance {
  font-size: 11px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 4px;
}

.gov-clearance.ts-sci { background: rgba(220, 38, 38, 0.15); color: #dc2626; }
.gov-clearance.ts { background: rgba(245, 158, 11, 0.15); color: #f59e0b; }
.gov-clearance.secret { background: rgba(96, 165, 250, 0.15); color: #60a5fa; }

.gov-revenue-pct {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: 13px;
  color: var(--text-secondary);
  text-align: right;
}

/* Budget signals */
.budget-signal-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 20px;
  margin-bottom: 8px;
  transition: border-color 0.2s;
}

.budget-signal-card:hover { border-color: var(--accent); }

.budget-signal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

.budget-signal-category {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  color: var(--text-primary);
}

.budget-signal-change {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 800;
  font-size: 18px;
  padding: 4px 10px;
  border-radius: 6px;
}

.budget-signal-change.positive { background: rgba(34, 197, 94, 0.15); color: #22c55e; }
.budget-signal-change.negative { background: rgba(220, 38, 38, 0.15); color: #dc2626; }

.budget-signal-desc {
  font-size: 13px;
  color: var(--text-secondary);
  margin-bottom: 8px;
}

.budget-signal-alloc {
  font-size: 12px;
  color: var(--text-muted);
  margin-bottom: 8px;
}

.budget-beneficiaries {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.budget-beneficiary {
  padding: 3px 8px;
  background: var(--bg-tertiary);
  border-radius: 4px;
  font-size: 11px;
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.2s;
}

.budget-beneficiary:hover { background: var(--accent); color: #000; }

.budget-category {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  color: var(--text-primary);
}

.budget-change {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 800;
  font-size: 18px;
  padding: 4px 10px;
  border-radius: 6px;
}

.budget-change.positive { background: rgba(34, 197, 94, 0.15); color: #22c55e; }
.budget-change.negative { background: rgba(220, 38, 38, 0.15); color: #dc2626; }

.budget-line-item {
  font-size: 13px;
  color: var(--text-secondary);
  font-weight: 600;
}

.budget-allocation {
  font-size: 12px;
  color: var(--text-muted);
  margin-bottom: 8px;
}

.budget-description {
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.5;
  margin-bottom: 12px;
}

.budget-beneficiaries-label {
  font-size: 11px;
  color: var(--text-muted);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Agency Heatmap */
.gov-heatmap-wrapper {
  overflow-x: auto;
}

.gov-heatmap-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
}

.gov-heatmap-table th {
  padding: 6px 8px;
  background: var(--bg-tertiary);
  color: var(--text-secondary);
  font-weight: 600;
  text-align: center;
  border: 1px solid var(--border);
  white-space: nowrap;
}

.gov-heatmap-table td {
  padding: 4px 6px;
  text-align: center;
  border: 1px solid var(--border);
}

.gov-heatmap-company {
  text-align: left !important;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 12px;
  color: var(--text-primary);
  padding-left: 10px !important;
  white-space: nowrap;
}

.gov-heatmap-agency {
  font-size: 10px;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  padding: 8px 4px !important;
}

.gov-heatmap-cell {
  width: 24px;
  height: 24px;
}

.gov-heatmap-active {
  background: rgba(255, 107, 44, 0.35);
}

/* Patent company name */
.patent-company {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  color: var(--text-primary);
}

.patent-stats {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
  margin-bottom: 12px;
}

/* Iscore card badge */
.iscore-card-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
  font-family: 'Space Grotesk', sans-serif;
}

/* Modal Innovator Score */
.modal-iscore {
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 20px;
  margin: 16px 0;
}

.modal-iscore-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.modal-iscore-header h4 {
  font-family: var(--font-display);
  font-size: 16px;
  color: var(--text-primary);
}

.modal-iscore-total {
  display: flex;
  align-items: center;
  gap: 8px;
  border-left: 3px solid;
  padding-left: 12px;
}

.modal-iscore-tier {
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
  font-family: 'Space Grotesk', sans-serif;
}

.modal-iscore-dims {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.modal-iscore-dim {
  display: grid;
  grid-template-columns: 180px 1fr 40px;
  gap: 10px;
  align-items: center;
}

.modal-iscore-dim-label {
  font-size: 13px;
  color: var(--text-secondary);
}

.modal-iscore-dim-bar {
  height: 6px;
  background: var(--bg-elevated);
  border-radius: 3px;
  overflow: hidden;
}

.modal-iscore-dim-val {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: 13px;
  color: var(--text-secondary);
  text-align: right;
}

.modal-iscore-note {
  font-size: 12px;
  color: var(--text-muted);
  line-height: 1.5;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

/* Modal Patent Intel */
.modal-patent {
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 16px;
  margin: 12px 0;
}

.modal-patent h4 {
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--text-primary);
  margin-bottom: 12px;
}

.modal-patent-stats {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
  margin-bottom: 10px;
  text-align: center;
}

.modal-patent-val {
  display: block;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 800;
  font-size: 20px;
  color: var(--text-primary);
}

.modal-patent-lbl {
  display: block;
  font-size: 10px;
  color: var(--text-muted);
  text-transform: uppercase;
}

.modal-patent-areas {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

/* Modal Alt Data */
.modal-altdata {
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 16px;
  margin: 12px 0;
}

.modal-altdata h4 {
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--text-primary);
  margin-bottom: 12px;
}

.modal-altdata-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 8px;
}

.modal-altdata-grid > div {
  display: flex;
  justify-content: space-between;
  padding: 6px 10px;
  background: var(--bg-elevated);
  border-radius: 4px;
  font-size: 13px;
}

.modal-altdata-lbl {
  color: var(--text-muted);
  font-weight: 600;
}

.modal-altdata-signal {
  font-size: 12px;
  color: var(--text-secondary);
  line-height: 1.4;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--border);
}

/* ─── PATENT INTELLIGENCE SECTION ─── */
.patent-section {
  padding: 48px 0;
  background: linear-gradient(180deg, rgba(139, 92, 246, 0.04) 0%, transparent 100%);
  border-bottom: 1px solid var(--border);
}

.patent-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 12px;
}

.patent-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 20px;
  cursor: pointer;
  transition: all 0.2s;
}

.patent-card:hover { border-color: var(--accent); transform: translateY(-2px); }

.patent-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}

.patent-company-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  color: var(--text-primary);
}

.patent-ip-score {
  display: flex;
  align-items: center;
  gap: 4px;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 800;
  font-size: 16px;
  padding: 4px 10px;
  border-radius: 6px;
}

.patent-ip-score.high { background: rgba(34, 197, 94, 0.15); color: #22c55e; }
.patent-ip-score.mid { background: rgba(96, 165, 250, 0.15); color: #60a5fa; }
.patent-ip-score.low { background: rgba(245, 158, 11, 0.15); color: #f59e0b; }

.patent-stat {
  padding: 8px;
  background: var(--bg-tertiary);
  border-radius: 4px;
  text-align: center;
}

.patent-stat-value {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: 18px;
  color: var(--text-primary);
}

.patent-stat-label {
  font-size: 10px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.patent-tech-areas {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 8px;
}

.patent-tech-tag {
  padding: 2px 8px;
  background: rgba(139, 92, 246, 0.1);
  color: #8b5cf6;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
}

.patent-note {
  font-size: 12px;
  color: var(--text-muted);
  line-height: 1.4;
}

/* ─── ALTERNATIVE DATA SECTION ─── */
.alt-data-section {
  padding: 48px 0;
  background: linear-gradient(180deg, rgba(6, 182, 212, 0.04) 0%, transparent 100%);
  border-bottom: 1px solid var(--border);
}

.alt-data-controls {
  margin-bottom: 16px;
}

.alt-data-grid {
  display: grid;
  gap: 4px;
}

.alt-data-row {
  display: grid;
  grid-template-columns: 2fr 120px 80px 80px 140px;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: all 0.2s;
  margin-bottom: 4px;
}

.alt-data-company {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 14px;
  color: var(--text-primary);
}

.alt-data-hiring {
  font-weight: 700;
  font-size: 12px;
}

.alt-data-headcount {
  display: block;
  font-size: 10px;
  color: var(--text-muted);
  font-weight: 400;
}

.alt-data-traffic, .alt-data-sentiment {
  font-weight: 700;
  font-size: 12px;
  text-align: center;
}

.alt-data-signal {
  display: flex;
  align-items: center;
  gap: 6px;
}

.alt-signal-bar {
  flex: 1;
  height: 6px;
  background: var(--bg-tertiary);
  border-radius: 3px;
  overflow: hidden;
}

.alt-signal-fill {
  height: 100%;
  background: var(--accent);
  border-radius: 3px;
  transition: width 0.6s ease;
}

.alt-signal-value {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: 13px;
  color: var(--accent);
  white-space: nowrap;
}

.alt-data-key-signal {
  grid-column: 1 / -1;
  font-size: 11px;
  color: var(--text-muted);
  line-height: 1.4;
  padding-top: 4px;
  border-top: 1px solid var(--border);
}

.alt-data-row:hover {
  border-color: var(--accent);
  background: var(--bg-card-hover);
}

.alt-company-info {
  display: flex;
  flex-direction: column;
}

.alt-company-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 14px;
  color: var(--text-primary);
}

.alt-key-signal {
  font-size: 11px;
  color: var(--text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 350px;
}

.alt-hiring {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.alt-hiring-status {
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
}

.alt-hiring-status.surging { color: #22c55e; }
.alt-hiring-status.growing { color: #60a5fa; }
.alt-hiring-status.stable { color: #f59e0b; }
.alt-hiring-status.declining { color: #dc2626; }

.alt-hiring-detail {
  font-size: 10px;
  color: var(--text-muted);
}

.alt-indicator {
  text-align: center;
  font-weight: 700;
  font-size: 14px;
}

.alt-indicator.up { color: #22c55e; }
.alt-indicator.flat { color: #f59e0b; }
.alt-indicator.down { color: #dc2626; }

.alt-sentiment {
  text-align: center;
  font-size: 12px;
  font-weight: 600;
}

.alt-sentiment.positive { color: #22c55e; }
.alt-sentiment.neutral { color: #f59e0b; }
.alt-sentiment.mixed { color: #f59e0b; }
.alt-sentiment.negative { color: #dc2626; }

.alt-strength {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 800;
  font-size: 18px;
  text-align: center;
}

.alt-strength.high { color: #22c55e; }
.alt-strength.mid { color: #60a5fa; }
.alt-strength.low { color: #f59e0b; }

/* ─── RESPONSIVE: New Sections ─── *//* ─── MAFIA EXPLORER SECTION ─── */
.mafia-section {
  padding: 60px 0;
  border-bottom: 1px solid var(--border);
}

.mafia-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
  gap: 16px;
}

.mafia-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: all 0.2s;
}

.mafia-card:hover {
  border-color: var(--accent);
  transform: translateY(-2px);
}

.mafia-card-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  background: var(--bg-tertiary);
}

.mafia-card-icon { font-size: 24px; }

.mafia-card-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 700;
  color: var(--text-primary);
}

.mafia-card-desc {
  font-size: 12px;
  color: var(--text-muted);
  margin-top: 2px;
}

.mafia-card-count {
  margin-left: auto;
  background: var(--accent);
  color: #000;
  font-weight: 700;
  font-size: 13px;
  padding: 4px 10px;
  border-radius: var(--radius-sm);
}

.mafia-card-companies {
  padding: 8px;
}

.mafia-company-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: background 0.15s;
}

.mafia-company-row:hover {
  background: var(--bg-tertiary);
}

.mafia-company-name {
  font-weight: 600;
  font-size: 13px;
  color: var(--text-primary);
}

.mafia-company-founders {
  font-size: 11px;
  color: var(--text-muted);
  text-align: right;
  max-width: 55%;
}

/* ─── REVENUE INTELLIGENCE SECTION ─── */
.revenue-section {
  padding: 60px 0;
  border-bottom: 1px solid var(--border);
}

.revenue-grid-container {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.revenue-row {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr 1.5fr;
  gap: 8px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--border);
  transition: background 0.15s;
  animation: fadeInUp 0.3s ease both;
}

.revenue-row:hover:not(.revenue-header) {
  background: var(--bg-secondary);
}

.revenue-header {
  background: var(--bg-tertiary);
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
}

.revenue-cell {
  font-size: 13px;
  display: flex;
  align-items: center;
}

/* ─── REQUEST FOR STARTUPS ─── */
.rfs-section {
  padding: 60px 0;
  border-bottom: 1px solid var(--border);
}

.rfs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
  gap: 16px;
}

.rfs-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 24px;
  transition: all 0.2s;
  animation: fadeInUp 0.4s ease both;
}

.rfs-card:hover {
  transform: translateY(-2px);
  border-color: var(--accent);
}

.rfs-card.rfs-critical {
  border-left: 3px solid #ef4444;
}

.rfs-card.rfs-high {
  border-left: 3px solid #f97316;
}

.rfs-card.rfs-medium {
  border-left: 3px solid #eab308;
}

.rfs-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

.rfs-sector {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.rfs-urgency {
  font-size: 11px;
  font-weight: 600;
}

.rfs-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 8px;
  line-height: 1.3;
}

.rfs-requester {
  font-size: 12px;
  color: var(--text-muted);
  margin-bottom: 12px;
}

.rfs-problem {
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 12px;
}

.rfs-bounty {
  font-size: 13px;
  color: var(--accent);
  padding: 8px 12px;
  background: rgba(255, 107, 44, 0.08);
  border-radius: var(--radius-sm);
  margin-bottom: 12px;
}

.rfs-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 12px;
}

.rfs-related {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

.rfs-related-label {
  font-size: 11px;
  color: var(--text-muted);
}

.rfs-related-company {
  font-size: 12px;
  font-weight: 600;
  color: var(--accent);
  cursor: pointer;
  padding: 2px 8px;
  background: rgba(255, 107, 44, 0.1);
  border-radius: var(--radius-sm);
  transition: all 0.15s;
}

.rfs-related-company:hover {
  background: rgba(255, 107, 44, 0.2);
  transform: translateY(-1px);
}

/* ─── PREMIUM FEATURES RESPONSIVE ─── *//* ═══════════════════════════════════════════════════════
   PHASE 2: Network Graph, Portfolio Builder, AI Memo
   ═══════════════════════════════════════════════════════ */

/* ─── NETWORK GRAPH ─── */
.network-section { padding: 60px 0; }

.network-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
  margin-bottom: 20px;
}

.network-filters {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.network-filter {
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  color: var(--text-secondary);
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s;
  font-family: 'Inter', sans-serif;
}
.network-filter:hover { border-color: var(--accent); color: var(--text-primary); }
.network-filter.active {
  background: var(--accent);
  color: #000;
  border-color: var(--accent);
  font-weight: 600;
}

.network-search input {
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  color: var(--text-primary);
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 12px;
  font-family: 'Inter', sans-serif;
  width: 180px;
  outline: none;
}
.network-search input:focus { border-color: var(--accent); }

.network-legend {
  display: flex;
  gap: 16px;
  margin-left: auto;
  font-size: 12px;
  color: var(--text-secondary);
}
.network-legend-item { display: flex; align-items: center; gap: 6px; }
.legend-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }

.network-canvas-wrapper {
  position: relative;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg, 12px);
  overflow: hidden;
  min-height: 500px;
}

#network-canvas {
  width: 100%;
  height: 600px;
}

#network-canvas svg {
  width: 100%;
  height: 100%;
}

.network-tooltip {
  position: absolute;
  background: var(--bg-elevated);
  border: 1px solid var(--border-hover);
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 12px;
  color: var(--text-primary);
  pointer-events: none;
  z-index: 10;
  max-width: 260px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.6);
}
.network-tooltip h5 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 14px;
  margin-bottom: 4px;
}
.network-tooltip .tt-type {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--accent);
  margin-bottom: 6px;
}
.network-tooltip .tt-detail {
  color: var(--text-secondary);
  line-height: 1.4;
}

.network-info {
  margin-top: 12px;
  text-align: center;
}
.network-stats {
  font-size: 12px;
  color: var(--text-muted);
}

/* Node & link styles */
.network-node { cursor: pointer; }
.network-node circle { stroke: rgba(255,255,255,0.15); stroke-width: 1.5px; transition: r 0.2s; }
.network-node:hover circle { stroke: #fff; stroke-width: 2px; }
.network-node text {
  fill: var(--text-secondary);
  font-size: 9px;
  font-family: 'Inter', sans-serif;
  pointer-events: none;
}
.network-link {
  stroke: rgba(255,255,255,0.08);
  stroke-width: 0.8;
  fill: none;
}
.network-link.highlight {
  stroke: var(--accent);
  stroke-width: 2;
  stroke-opacity: 0.8;
}
.network-node.dimmed circle { opacity: 0.15; }
.network-node.dimmed text { opacity: 0.1; }
.network-link.dimmed { stroke-opacity: 0.03; }
.network-node.highlighted circle { stroke: #fff; stroke-width: 2.5px; }
.network-node.highlighted text { fill: #fff; font-weight: 600; font-size: 11px; }

/* ─── PORTFOLIO BUILDER ─── */
.portfolio-section { padding: 60px 0; }

.portfolio-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 24px;
  min-height: 600px;
}

.portfolio-picker {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg, 12px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  max-height: 700px;
}
.portfolio-picker-header {
  padding: 16px;
  border-bottom: 1px solid var(--border);
}
.portfolio-picker-header h3 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 14px;
  margin-bottom: 10px;
}
.portfolio-picker-header input {
  width: 100%;
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  color: var(--text-primary);
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 12px;
  font-family: 'Inter', sans-serif;
  outline: none;
}
.portfolio-picker-header input:focus { border-color: var(--accent); }

.portfolio-company-list {
  overflow-y: auto;
  flex: 1;
  padding: 8px;
}
.portfolio-company-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.15s;
  font-size: 13px;
  color: var(--text-secondary);
}
.portfolio-company-item:hover {
  background: var(--bg-elevated);
  color: var(--text-primary);
}
.portfolio-company-item.in-portfolio {
  background: var(--accent-dim);
  color: var(--accent);
  font-weight: 600;
}
.portfolio-company-item .pci-sector {
  font-size: 10px;
  color: var(--text-muted);
  margin-left: auto;
  white-space: nowrap;
}

.portfolio-main {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.portfolio-holdings {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg, 12px);
  padding: 16px;
  min-height: 80px;
}
.portfolio-empty {
  color: var(--text-muted);
  text-align: center;
  padding: 30px;
  font-size: 14px;
}
.portfolio-holding-row {
  display: grid;
  grid-template-columns: 1fr 100px 120px 80px 40px;
  gap: 12px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--border);
  font-size: 13px;
}
.portfolio-holding-row:last-child { border-bottom: none; }
.ph-name {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
  color: var(--text-primary);
  cursor: pointer;
}
.ph-name:hover { color: var(--accent); }
.ph-sector { color: var(--text-secondary); font-size: 11px; }
.ph-valuation { color: var(--text-secondary); }
.ph-score {
  font-weight: 700;
  font-family: 'Space Grotesk', sans-serif;
}
.ph-remove {
  background: none;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
  font-size: 16px;
  padding: 4px;
  border-radius: 4px;
  transition: all 0.15s;
}
.ph-remove:hover { color: #ef4444; background: rgba(239,68,68,0.1); }

.portfolio-analytics {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.portfolio-chart-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.portfolio-chart-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg, 12px);
  padding: 20px;
}
.portfolio-chart-card h4 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 13px;
  color: var(--text-secondary);
  margin-bottom: 14px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.portfolio-bar-item {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
  font-size: 12px;
}
.portfolio-bar-label {
  width: 100px;
  color: var(--text-secondary);
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.portfolio-bar-track {
  flex: 1;
  height: 20px;
  background: var(--bg-tertiary);
  border-radius: 4px;
  overflow: hidden;
}
.portfolio-bar-fill {
  height: 100%;
  border-radius: 4px;
  transition: width 0.4s ease;
  min-width: 2px;
}
.portfolio-bar-pct {
  width: 40px;
  text-align: right;
  color: var(--text-muted);
  font-family: 'Space Grotesk', sans-serif;
}

.portfolio-metrics-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.portfolio-metric-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg, 12px);
  padding: 16px;
  text-align: center;
}
.portfolio-metric-value {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 24px;
  font-weight: 700;
  color: var(--text-primary);
}
.portfolio-metric-label {
  font-size: 11px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-top: 4px;
}

.portfolio-scenarios {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg, 12px);
  padding: 20px;
}
.portfolio-scenarios h4 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 14px;
  margin-bottom: 14px;
}
.scenario-controls {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
}
.scenario-run-btn {
  background: var(--accent);
  color: #000;
  border: none;
  padding: 8px 20px;
  border-radius: 8px;
  font-weight: 600;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  cursor: pointer;
  transition: opacity 0.15s;
}
.scenario-run-btn:hover { opacity: 0.85; }

.scenario-results {
  font-size: 13px;
  color: var(--text-secondary);
}
.scenario-result-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid var(--border);
}
.scenario-result-item:last-child { border-bottom: none; }
.scenario-company { color: var(--text-primary); font-weight: 500; }
.scenario-impact {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 12px;
}
.scenario-impact.positive { color: #22c55e; background: rgba(34,197,94,0.1); }
.scenario-impact.negative { color: #ef4444; background: rgba(239,68,68,0.1); }
.scenario-impact.neutral { color: #f59e0b; background: rgba(245,158,11,0.1); }

.portfolio-actions {
  display: flex;
  gap: 12px;
}
.portfolio-action-btn {
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  color: var(--text-secondary);
  padding: 10px 20px;
  border-radius: 8px;
  font-size: 13px;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  transition: all 0.15s;
}
.portfolio-action-btn:hover {
  border-color: var(--accent);
  color: var(--text-primary);
}

/* ─── AI MEMO GENERATOR ─── */
.memo-section { padding: 60px 0; }

.memo-layout {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 24px;
  min-height: 500px;
}

.memo-config {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg, 12px);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.memo-config-group label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 6px;
}
.memo-key-note {
  font-weight: 400;
  text-transform: none;
  color: var(--text-muted);
  letter-spacing: 0;
  font-size: 10px;
}
.memo-key-input {
  width: 100%;
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  color: var(--text-primary);
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 13px;
  font-family: 'Inter', sans-serif;
  outline: none;
}
.memo-key-input:focus { border-color: var(--accent); }

.memo-generate-btn {
  background: var(--accent);
  color: #000;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 14px;
  font-family: 'Space Grotesk', sans-serif;
  cursor: pointer;
  transition: opacity 0.15s;
  margin-top: auto;
}
.memo-generate-btn:hover { opacity: 0.85; }
.memo-generate-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.memo-output {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg, 12px);
  padding: 32px;
  overflow-y: auto;
  max-height: 700px;
}
.memo-placeholder {
  text-align: center;
  padding: 60px 20px;
  color: var(--text-muted);
}
.memo-placeholder-icon {
  font-size: 48px;
  margin-bottom: 16px;
}
.memo-placeholder p {
  font-size: 14px;
  line-height: 1.6;
  max-width: 380px;
  margin: 0 auto 8px;
}
.memo-placeholder-sub {
  font-size: 11px;
  color: var(--text-muted);
}

.memo-content h3 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 22px;
  color: var(--text-primary);
  margin-bottom: 8px;
}
.memo-content .memo-subtitle {
  font-size: 12px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}
.memo-content h4 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 15px;
  color: var(--accent);
  margin: 24px 0 8px;
}
.memo-content p, .memo-content li {
  font-size: 14px;
  line-height: 1.7;
  color: var(--text-secondary);
}
.memo-content ul {
  list-style: none;
  padding-left: 0;
}
.memo-content li::before {
  content: '▸ ';
  color: var(--accent);
}
.memo-content li {
  margin-bottom: 4px;
}
.memo-content .memo-data-table {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0;
  font-size: 13px;
}
.memo-content .memo-data-table td {
  padding: 6px 12px;
  border-bottom: 1px solid var(--border);
}
.memo-content .memo-data-table td:first-child {
  color: var(--text-muted);
  font-size: 11px;
  text-transform: uppercase;
  width: 140px;
}
.memo-actions {
  display: flex;
  gap: 10px;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}
.memo-action-btn {
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  color: var(--text-secondary);
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 12px;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  transition: all 0.15s;
}
.memo-action-btn:hover { border-color: var(--accent); color: var(--text-primary); }

.memo-streaming-cursor {
  display: inline-block;
  width: 8px;
  height: 16px;
  background: var(--accent);
  margin-left: 2px;
  animation: memoBlink 0.8s infinite;
  vertical-align: middle;
}
@keyframes memoBlink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }

/* ─── PHASE 2 RESPONSIVE ─── */
@media (max-width: 1024px) {
  .portfolio-layout { grid-template-columns: 1fr; }
  .portfolio-picker { max-height: 200px; }
  .memo-layout { grid-template-columns: 1fr; }
}
/* ═══════════════════════════════════════════════════════
   PHASE 3: Intelligence Feed, PDF Reports, Community
   ═══════════════════════════════════════════════════════ */

/* ─── INTELLIGENCE FEED ─── */
.intel-feed-section { padding: 60px 0; }

.feed-tabs {
  display: flex;
  gap: 4px;
  margin-bottom: 16px;
}
.feed-tab {
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  color: var(--text-secondary);
  padding: 8px 20px;
  border-radius: 8px 8px 0 0;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  transition: all 0.2s;
}
.feed-tab:hover { color: var(--text-primary); }
.feed-tab.active {
  background: var(--bg-card);
  border-bottom-color: var(--bg-card);
  color: var(--accent);
  font-weight: 600;
}

.feed-controls {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.feed-panel {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 0 var(--radius-lg, 12px) var(--radius-lg, 12px) var(--radius-lg, 12px);
  padding: 8px;
  max-height: 600px;
  overflow-y: auto;
}

.feed-item {
  display: grid;
  grid-template-columns: 80px 1fr 90px;
  gap: 14px;
  align-items: start;
  padding: 14px 12px;
  border-bottom: 1px solid var(--border);
  transition: background 0.15s;
}
.feed-item:last-child { border-bottom: none; }
.feed-item:hover { background: var(--bg-elevated); }

.feed-date {
  font-size: 11px;
  color: var(--text-muted);
  font-family: 'Space Grotesk', sans-serif;
  padding-top: 2px;
}
.feed-content { min-width: 0; }
.feed-headline {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 4px;
  line-height: 1.4;
}
.feed-headline .feed-company-link {
  color: var(--accent);
  cursor: pointer;
}
.feed-headline .feed-company-link:hover { text-decoration: underline; }
.feed-summary {
  font-size: 12px;
  color: var(--text-secondary);
  line-height: 1.5;
  margin-bottom: 6px;
}

/* ROS Editorial Analysis */
.feed-item.has-analysis {
  border-left: 3px solid var(--accent);
}

.feed-ros-analysis {
  background: var(--accent-dim);
  border: 1px solid rgba(255, 107, 44, 0.2);
  border-radius: var(--radius-sm);
  padding: 12px 14px;
  margin: 10px 0;
}

.ros-analysis-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

.ros-analysis-badge {
  font-size: 11px;
  font-weight: 700;
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.ros-analysis-author {
  font-size: 11px;
  color: var(--text-muted);
  font-style: italic;
}

.ros-analysis-text {
  font-size: 12px;
  color: var(--text-primary);
  line-height: 1.6;
  font-style: italic;
}

.feed-meta {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 11px;
}
.feed-source {
  color: var(--text-muted);
  font-style: italic;
}
.feed-category-tag {
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.feed-category-tag.funding { background: rgba(34,197,94,0.15); color: #22c55e; }
.feed-category-tag.milestone { background: rgba(96,165,250,0.15); color: #60a5fa; }
.feed-category-tag.contract { background: rgba(245,158,11,0.15); color: #f59e0b; }
.feed-category-tag.partnership { background: rgba(139,92,246,0.15); color: #8b5cf6; }
.feed-category-tag.ipo { background: rgba(236,72,153,0.15); color: #ec4899; }
.feed-category-tag.leadership { background: rgba(6,182,212,0.15); color: #06b6d4; }
.feed-category-tag.product { background: rgba(255,107,44,0.15); color: #FF6B2C; }
.feed-category-tag.acquisition { background: rgba(239,68,68,0.15); color: #ef4444; }
.feed-category-tag.regulatory { background: rgba(107,114,128,0.15); color: #9ca3af; }

.feed-impact {
  text-align: right;
  padding-top: 2px;
}
.feed-impact-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.feed-impact-badge.high { background: rgba(239,68,68,0.15); color: #ef4444; }
.feed-impact-badge.medium { background: rgba(245,158,11,0.1); color: #f59e0b; }
.feed-impact-badge.low { background: rgba(107,114,128,0.1); color: #6b7280; }

/* Story leads */
.story-lead-card {
  background: var(--bg-elevated);
  border: 1px solid var(--border-hover);
  border-radius: 10px;
  padding: 18px;
  margin-bottom: 12px;
}
.story-lead-card:last-child { margin-bottom: 0; }
.story-lead-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 10px;
}
.story-lead-title {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--text-primary);
}
.story-lead-confidence {
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}
.story-lead-confidence.high { background: rgba(255,107,44,0.15); color: var(--accent); }
.story-lead-confidence.medium { background: rgba(245,158,11,0.1); color: #f59e0b; }
.story-lead-desc {
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 10px;
}
.story-lead-signals {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}
.story-signal-tag {
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 600;
  background: var(--accent-dim);
  color: var(--accent);
}
.story-lead-companies {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.story-company-chip {
  padding: 3px 10px;
  border-radius: 14px;
  font-size: 11px;
  background: var(--bg-tertiary);
  color: var(--text-secondary);
  border: 1px solid var(--border);
  cursor: pointer;
  transition: all 0.15s;
}
.story-company-chip:hover { border-color: var(--accent); color: var(--accent); }

/* ─── SECTOR REPORTS ─── */
.reports-section { padding: 60px 0; }

.reports-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
}
.report-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg, 12px);
  padding: 24px;
  transition: all 0.2s;
  cursor: pointer;
}
.report-card:hover {
  border-color: var(--accent);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.3);
}
.report-card-icon {
  font-size: 28px;
  margin-bottom: 12px;
}
.report-card-sector {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 4px;
}
.report-card-stats {
  font-size: 12px;
  color: var(--text-muted);
  margin-bottom: 12px;
}
.report-card-btn {
  display: inline-block;
  background: var(--accent);
  color: #000;
  padding: 6px 16px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  border: none;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  transition: opacity 0.15s;
}
.report-card-btn:hover { opacity: 0.85; }

/* Company comparison PDF */
.report-compare-bar {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg, 12px);
  padding: 16px 20px;
  margin-top: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.report-compare-bar p {
  font-size: 13px;
  color: var(--text-secondary);
  margin-right: auto;
}
.report-compare-btn {
  background: var(--accent);
  color: #000;
  padding: 8px 20px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  border: none;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
}

/* ─── COMMUNITY INTELLIGENCE ─── */
.community-section { padding: 60px 0; }

.community-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.community-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 24px;
}
.community-discussions {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg, 12px);
  padding: 20px;
  min-height: 400px;
}

.expert-takes-card {
  grid-column: span 1;
}
.community-sidebar {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.community-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg, 12px);
  padding: 20px;
}
.community-card h4 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 14px;
  margin-bottom: 8px;
}
.community-desc {
  font-size: 12px;
  color: var(--text-muted);
  margin-bottom: 12px;
  line-height: 1.5;
}
.watchlist-builder {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.watchlist-companies {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  min-height: 30px;
}
.watchlist-chip {
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 11px;
  background: var(--accent-dim);
  color: var(--accent);
  display: flex;
  align-items: center;
  gap: 4px;
}
.watchlist-chip .wl-remove {
  cursor: pointer;
  font-size: 13px;
  opacity: 0.7;
}
.watchlist-chip .wl-remove:hover { opacity: 1; }

.suggest-edit-btn {
  display: inline-block;
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  color: var(--text-secondary);
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 12px;
  text-decoration: none;
  transition: all 0.15s;
}
.suggest-edit-btn:hover { border-color: var(--accent); color: var(--text-primary); }

.expert-take {
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
}
.expert-take:last-child { border-bottom: none; }
.expert-take-author {
  font-size: 12px;
  font-weight: 600;
  color: var(--accent);
  margin-bottom: 4px;
}
.expert-take-company {
  font-size: 11px;
  color: var(--text-muted);
  margin-bottom: 6px;
}
.expert-take-text {
  font-size: 12px;
  color: var(--text-secondary);
  line-height: 1.5;
}

/* ─── VALUE PROPOSITION BANNER ─── */
.value-prop-banner {
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.12) 0%, rgba(255, 215, 0, 0.04) 100%);
  border-bottom: 1px solid rgba(255, 215, 0, 0.25);
  padding: 14px 0;
  position: relative;
  overflow: hidden;
}
.value-prop-banner::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 215, 0, 0.4) 50%, transparent 100%);
}
.value-prop-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.value-prop-text {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 14px;
  color: var(--text-secondary);
}
.value-prop-badge {
  background: linear-gradient(135deg, #ffd700 0%, #f59e0b 100%);
  color: #000;
  padding: 5px 12px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 8px rgba(255, 215, 0, 0.3);
}
.value-prop-cta {
  background: linear-gradient(135deg, var(--accent) 0%, #FF8147 100%);
  color: #000;
  padding: 10px 24px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.2s;
  box-shadow: 0 2px 12px rgba(255, 107, 44, 0.3);
}
.value-prop-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 20px rgba(255, 107, 44, 0.4);
}

/* ─── METRIC METHODOLOGY BOXES ─── */
.metric-methodology-box {
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-left: 3px solid var(--accent);
  border-radius: 8px;
  padding: 16px 20px;
  margin-bottom: 24px;
}
.metric-methodology-box h4 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 8px;
}
.metric-methodology-box p {
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 12px;
}
.metric-methodology-box ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
.metric-methodology-box li {
  font-size: 12px;
  color: var(--text-secondary);
  line-height: 1.5;
}
.metric-methodology-box li strong {
  color: var(--text-primary);
}
.metric-methodology-box.compact {
  padding: 12px 16px;
  margin-bottom: 16px;
}
.metric-methodology-box.compact p {
  margin-bottom: 0;
  font-size: 12px;
}

/* ─── WORLD-CLASS METHODOLOGY BOX ─── */
.metric-methodology-box.world-class {
  background: linear-gradient(135deg, rgba(255, 107, 44, 0.05) 0%, var(--bg-tertiary) 100%);
  border: 1px solid rgba(255, 107, 44, 0.2);
  border-left: 4px solid var(--accent);
  padding: 20px 24px;
}

.metric-methodology-box .methodology-tagline {
  font-size: 14px;
  color: var(--text-secondary);
  margin-bottom: 16px;
}

.metric-methodology-box .methodology-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin: 16px 0;
}

.metric-methodology-box .method-dimension {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 12px;
  transition: all 0.2s;
}

.metric-methodology-box .method-dimension:hover {
  border-color: var(--border-hover);
  transform: translateY(-2px);
}

.metric-methodology-box .method-dimension.momentum { border-top: 3px solid #FF6B2C; }
.metric-methodology-box .method-dimension.market { border-top: 3px solid #60a5fa; }
.metric-methodology-box .method-dimension.technology { border-top: 3px solid #22C55E; }
.metric-methodology-box .method-dimension.team { border-top: 3px solid #A855F7; }
.metric-methodology-box .method-dimension.geopolitical { border-top: 3px solid #F59E0B; }

.metric-methodology-box .method-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}

.metric-methodology-box .method-weight {
  font-size: 12px;
  font-weight: 800;
  color: var(--accent);
  background: rgba(255, 107, 44, 0.1);
  padding: 2px 6px;
  border-radius: 4px;
}

.metric-methodology-box .method-name {
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary);
}

.metric-methodology-box .method-dimension p {
  font-size: 11px;
  color: var(--text-muted);
  line-height: 1.4;
  margin: 0;
}

.metric-methodology-box .score-tier-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 12px;
}

.metric-methodology-box .tier-badge {
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 6px;
  font-family: var(--font-display);
}

.metric-methodology-box .tier-badge.elite {
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.2), rgba(255, 165, 0, 0.15));
  color: #FFD700;
  border: 1px solid rgba(255, 215, 0, 0.3);
}

.metric-methodology-box .tier-badge.exceptional {
  background: rgba(255, 107, 44, 0.12);
  color: #FF6B2C;
  border: 1px solid rgba(255, 107, 44, 0.25);
}

.metric-methodology-box .tier-badge.strong {
  background: rgba(34, 197, 94, 0.12);
  color: #22C55E;
  border: 1px solid rgba(34, 197, 94, 0.25);
}

.metric-methodology-box .tier-badge.promising {
  background: rgba(96, 165, 250, 0.12);
  color: #60A5FA;
  border: 1px solid rgba(96, 165, 250, 0.25);
}

.metric-methodology-box .methodology-note {
  font-size: 11px;
  color: var(--text-muted);
  font-style: italic;
  margin: 0;
}

@media (max-width: 900px) {
  .metric-methodology-box .methodology-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .metric-methodology-box .methodology-grid {
    grid-template-columns: 1fr;
  }
  .metric-methodology-box .score-tier-legend {
    flex-direction: column;
  }
}

/* ─── INNOVATOR 50 METHODOLOGY NOTE ─── */
.innovator50-methodology-note {
  background: rgba(255, 215, 0, 0.05);
  border: 1px solid rgba(255, 215, 0, 0.2);
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 20px;
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.6;
}
.innovator50-methodology-note strong {
  color: var(--accent);
}

/* ─── MID-PAGE CTA ─── */
.mid-cta-section {
  padding: 40px 0;
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.08) 0%, transparent 100%);
}
.mid-cta-box {
  background: var(--bg-card);
  border: 1px solid rgba(255, 215, 0, 0.3);
  border-radius: 16px;
  padding: 32px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}
.mid-cta-content h3 {
  font-size: 22px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 8px;
}
.mid-cta-content p {
  font-size: 14px;
  color: var(--text-secondary);
  margin-bottom: 16px;
  max-width: 500px;
}
.mid-cta-features {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.mid-cta-features span {
  font-size: 12px;
  color: var(--text-muted);
}
.mid-cta-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mid-cta-btn {
  padding: 12px 28px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  text-align: center;
  transition: all 0.15s;
}
.mid-cta-btn.primary {
  background: var(--accent);
  color: var(--bg-primary);
}
.mid-cta-btn.primary:hover {
  background: #fff;
  transform: translateY(-2px);
}
.mid-cta-btn.secondary {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--text-primary);
}
.mid-cta-btn.secondary:hover {
  border-color: var(--accent-secondary);
  color: var(--accent-secondary);
  background: var(--accent-secondary-dim);
}

/* ─── PHASE 3 RESPONSIVE ─── */
@media (max-width: 1024px) {
  .community-layout { grid-template-columns: 1fr; }
  .metric-methodology-box ul { grid-template-columns: 1fr; }
  .mid-cta-box { flex-direction: column; text-align: center; }
  .mid-cta-content p { max-width: 100%; }
  .mid-cta-features { justify-content: center; }
  .mid-cta-actions { flex-direction: row; }
}
/* ═══════════════════════════════════════════════════════════════════════════
   WORLD-CLASS INTELLIGENCE PLATFORM FEATURES
   Inspired by: Bloomberg Terminal, PitchBook, S&P CapIQ, AlphaSense, Dealroom
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── BLOOMBERG-STYLE COMMAND BAR (⌘K / Ctrl+K) ─── */
.command-bar-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(12px);
  z-index: 10000;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 12vh;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
}

.command-bar-overlay.active {
  opacity: 1;
  visibility: visible;
}

.command-bar {
  width: 100%;
  max-width: 680px;
  background: var(--bg-card);
  border: 1px solid var(--border-hover);
  border-radius: 16px;
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.6), 0 0 1px rgba(255, 255, 255, 0.1);
  overflow: hidden;
  transform: translateY(-20px) scale(0.98);
  transition: transform 0.2s ease;
}

.command-bar-overlay.active .command-bar {
  transform: translateY(0) scale(1);
}

.command-bar-header {
  display: flex;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
  gap: 12px;
}

.command-bar-icon {
  width: 20px;
  height: 20px;
  color: var(--accent);
}

.command-bar-input {
  flex: 1;
  background: transparent;
  border: none;
  font-size: 18px;
  font-weight: 500;
  color: var(--text-primary);
  outline: none;
  font-family: 'Inter', sans-serif;
}

.command-bar-input::placeholder {
  color: var(--text-muted);
}

.command-bar-kbd {
  display: flex;
  gap: 4px;
}

.command-bar-kbd kbd {
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 4px 8px;
  font-size: 11px;
  font-family: 'SF Mono', Consolas, monospace;
  color: var(--text-muted);
}

.command-bar-results {
  max-height: 400px;
  overflow-y: auto;
}

.command-bar-section {
  padding: 8px 0;
  border-bottom: 1px solid var(--border);
}

.command-bar-section:last-child {
  border-bottom: none;
}

.command-bar-section-title {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--text-muted);
  padding: 8px 20px;
}

.command-bar-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 20px;
  cursor: pointer;
  transition: background 0.1s;
}

.command-bar-item:hover,
.command-bar-item.selected {
  background: rgba(255, 107, 44, 0.08);
}

.command-bar-item-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: var(--bg-tertiary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
}

.command-bar-item-content {
  flex: 1;
  min-width: 0;
}

.command-bar-item-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.command-bar-item-meta {
  font-size: 12px;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 8px;
}

.command-bar-item-tag {
  background: var(--accent-dim);
  color: var(--accent);
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 600;
}

.command-bar-item-action {
  font-size: 11px;
  color: var(--text-muted);
  padding: 4px 8px;
  background: var(--bg-tertiary);
  border-radius: 4px;
}

.command-bar-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 20px;
  background: var(--bg-secondary);
  border-top: 1px solid var(--border);
  font-size: 11px;
  color: var(--text-muted);
}

.command-bar-footer-tips {
  display: flex;
  gap: 16px;
}

.command-bar-footer-tip {
  display: flex;
  align-items: center;
  gap: 6px;
}

.command-bar-footer-tip kbd {
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: 3px;
  padding: 2px 5px;
  font-family: 'SF Mono', Consolas, monospace;
  font-size: 10px;
}

/* ─── PITCHBOOK-STYLE COMPANY SIGNALS SYSTEM ─── */
.signals-panel {
  position: fixed;
  top: 56px;
  right: 0;
  width: 380px;
  height: calc(100vh - 56px);
  background: var(--bg-card);
  border-left: 1px solid var(--border);
  z-index: 900;
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
}

.signals-panel.open {
  transform: translateX(0);
}

.signals-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
  border-bottom: 1px solid var(--border);
}

.signals-panel-title {
  display: flex;
  align-items: center;
  gap: 10px;
}

.signals-panel-title h3 {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 700;
  color: var(--text-primary);
}

.signals-badge {
  background: linear-gradient(135deg, #dc2626, #b91c1c);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 10px;
  animation: pulse-signal 2s infinite;
}

@keyframes pulse-signal {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

.signals-panel-close {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: transparent;
  border: 1px solid var(--border);
  color: var(--text-muted);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s;
}

.signals-panel-close:hover {
  background: var(--bg-tertiary);
  color: var(--text-primary);
}

.signals-filters {
  display: flex;
  gap: 8px;
  padding: 12px 20px;
  border-bottom: 1px solid var(--border);
  overflow-x: auto;
}

.signal-filter-btn {
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 500;
  border: 1px solid var(--border);
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.15s;
}

.signal-filter-btn:hover {
  border-color: var(--border-hover);
  color: var(--text-primary);
}

.signal-filter-btn.active {
  background: var(--accent);
  border-color: var(--accent);
  color: #000;
}

.signals-list {
  flex: 1;
  overflow-y: auto;
  padding: 12px 0;
}

.signal-item {
  display: flex;
  gap: 14px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
  cursor: pointer;
  transition: background 0.15s;
}

.signal-item:hover {
  background: rgba(255, 107, 44, 0.04);
}

.signal-item.unread {
  background: rgba(255, 107, 44, 0.06);
}

.signal-item.unread::before {
  content: '';
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  background: var(--accent);
  border-radius: 50%;
}

.signal-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}

.signal-icon.funding { background: rgba(34, 197, 94, 0.15); }
.signal-icon.hire { background: rgba(96, 165, 250, 0.15); }
.signal-icon.contract { background: rgba(168, 85, 247, 0.15); }
.signal-icon.patent { background: rgba(249, 115, 22, 0.15); }
.signal-icon.news { background: rgba(236, 72, 153, 0.15); }
.signal-icon.ipo { background: rgba(255, 215, 0, 0.15); }

.signal-content {
  flex: 1;
  min-width: 0;
}

.signal-headline {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1.4;
  margin-bottom: 4px;
}

.signal-company {
  color: var(--accent);
}

.signal-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: var(--text-muted);
}

.signal-time {
  display: flex;
  align-items: center;
  gap: 4px;
}

.signal-source {
  display: flex;
  align-items: center;
  gap: 4px;
}

.signal-impact {
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 600;
}

.signal-impact.high {
  background: rgba(239, 68, 68, 0.15);
  color: #ef4444;
}

.signal-impact.medium {
  background: rgba(249, 115, 22, 0.15);
  color: #f97316;
}

.signal-impact.low {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
}

/* Signals Toggle Button (Nav) */
.signals-toggle-btn {
  position: relative;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s;
}

.signals-toggle-btn:hover {
  border-color: var(--accent);
  color: var(--accent);
}

.signals-toggle-btn .signal-count {
  background: linear-gradient(135deg, #dc2626, #b91c1c);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 8px;
  min-width: 18px;
  text-align: center;
}

/* ─── ALPHASENSE-STYLE AI SEARCH ─── */
.ai-search-container {
  position: relative;
  max-width: 600px;
  margin: 0 auto 24px;
}

.ai-search-box {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--bg-card);
  border: 2px solid var(--border);
  border-radius: 16px;
  padding: 14px 20px;
  transition: all 0.2s;
}

.ai-search-box:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 4px rgba(255, 107, 44, 0.1);
}

.ai-search-icon {
  width: 24px;
  height: 24px;
  color: var(--accent);
}

.ai-search-input {
  flex: 1;
  background: transparent;
  border: none;
  font-size: 16px;
  color: var(--text-primary);
  outline: none;
}

.ai-search-input::placeholder {
  color: var(--text-muted);
}

.ai-search-badge {
  display: flex;
  align-items: center;
  gap: 4px;
  background: linear-gradient(135deg, #8b5cf6, #6366f1);
  color: #fff;
  padding: 4px 10px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 600;
}

.ai-search-badge svg {
  width: 12px;
  height: 12px;
}

.ai-search-suggestions {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 8px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: var(--shadow-lg);
  z-index: 100;
  display: none;
}

.ai-search-box:focus-within + .ai-search-suggestions,
.ai-search-suggestions:hover {
  display: block;
}

.ai-suggestion-group {
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
}

.ai-suggestion-group:last-child {
  border-bottom: none;
}

.ai-suggestion-title {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--text-muted);
  padding: 0 16px 8px;
}

.ai-suggestion-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  cursor: pointer;
  transition: background 0.1s;
}

.ai-suggestion-item:hover {
  background: rgba(255, 107, 44, 0.06);
}

.ai-suggestion-icon {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: var(--bg-tertiary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}

.ai-suggestion-text {
  font-size: 13px;
  color: var(--text-primary);
}

.ai-suggestion-text strong {
  color: var(--accent);
}

/* ─── DEALROOM-STYLE ECOSYSTEM NETWORK ─── */
.ecosystem-section {
  padding: 64px 0;
  border-bottom: 1px solid var(--border);
}

.ecosystem-network {
  position: relative;
  height: 500px;
  background: radial-gradient(ellipse at center, rgba(255, 107, 44, 0.03) 0%, transparent 70%);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.ecosystem-node {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  transition: transform 0.2s;
}

.ecosystem-node:hover {
  transform: scale(1.1);
  z-index: 10;
}

.ecosystem-node-circle {
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  transition: all 0.2s;
}

.ecosystem-node:hover .ecosystem-node-circle {
  border-color: var(--accent);
  box-shadow: 0 0 20px rgba(255, 107, 44, 0.3);
}

.ecosystem-node-label {
  margin-top: 6px;
  font-size: 11px;
  font-weight: 600;
  color: var(--text-secondary);
  text-align: center;
  max-width: 80px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ecosystem-connection {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 107, 44, 0.2), transparent);
  transform-origin: left center;
  pointer-events: none;
}

.ecosystem-legend {
  position: absolute;
  bottom: 20px;
  left: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  background: rgba(0, 0, 0, 0.8);
  padding: 12px 16px;
  border-radius: 8px;
  border: 1px solid var(--border);
}

.ecosystem-legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--text-secondary);
}

.ecosystem-legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

/* ─── S&P CAPIQ-STYLE SMART SCREENER ─── */
.screener-section {
  padding: 48px 0;
  background: var(--bg-secondary);
  border-bottom: 1px solid var(--border);
}

.screener-container {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.screener-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid var(--border);
}

.screener-title {
  display: flex;
  align-items: center;
  gap: 12px;
}

.screener-title h2 {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 700;
}

.screener-pro-badge {
  background: linear-gradient(135deg, #ffd700, #ff6b2c);
  color: #000;
  font-size: 10px;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: 4px;
  letter-spacing: 0.5px;
}

.screener-actions {
  display: flex;
  gap: 12px;
}

.screener-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s;
}

.screener-btn.primary {
  background: var(--accent);
  border: none;
  color: #000;
}

.screener-btn.secondary {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--text-secondary);
  transition: all 200ms ease;
}
.screener-btn.secondary:hover {
  border-color: var(--accent-secondary);
  color: var(--accent-secondary);
  background: var(--accent-secondary-dim);
}

.screener-btn:hover {
  transform: translateY(-1px);
}

.screener-filters {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
  padding: 20px 24px;
  border-bottom: 1px solid var(--border);
  background: var(--bg-secondary);
}

.screener-filter {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.screener-filter-label {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.screener-filter-input {
  padding: 10px 14px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 13px;
  transition: border-color 0.15s;
}

.screener-filter-input:focus {
  outline: none;
  border-color: var(--accent);
}

.screener-filter-range {
  display: flex;
  align-items: center;
  gap: 8px;
}

.screener-filter-range input {
  flex: 1;
  padding: 10px 12px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 13px;
}

.screener-filter-range span {
  color: var(--text-muted);
  font-size: 12px;
}

.screener-active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 24px;
  border-bottom: 1px solid var(--border);
}

.screener-active-filter {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: var(--accent-dim);
  border: 1px solid rgba(255, 107, 44, 0.3);
  border-radius: 20px;
  font-size: 12px;
  color: var(--accent);
}

.screener-active-filter button {
  background: none;
  border: none;
  color: var(--accent);
  cursor: pointer;
  display: flex;
  align-items: center;
  padding: 0;
}

.screener-results-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  border-bottom: 1px solid var(--border);
}

.screener-results-count {
  font-size: 14px;
  color: var(--text-secondary);
}

.screener-results-count strong {
  color: var(--accent);
}

.screener-export-btns {
  display: flex;
  gap: 8px;
}

.screener-export-btn {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: 6px;
  font-size: 11px;
  font-weight: 500;
  color: var(--text-muted);
  cursor: pointer;
  transition: all 0.15s;
}

.screener-export-btn:hover {
  border-color: var(--accent);
  color: var(--accent);
}

/* ─── CRUNCHBASE-STYLE WATCHLIST ─── */
.watchlist-section {
  padding: 48px 0;
  border-bottom: 1px solid var(--border);
}

.watchlist-container {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.watchlist-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid var(--border);
}

.watchlist-title {
  display: flex;
  align-items: center;
  gap: 12px;
}

.watchlist-title h2 {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 700;
}

.watchlist-count {
  background: var(--accent-dim);
  color: var(--accent);
  font-size: 12px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 12px;
}

.watchlist-tabs {
  display: flex;
  gap: 8px;
  padding: 0 24px;
  border-bottom: 1px solid var(--border);
}

.watchlist-tab {
  padding: 14px 20px;
  background: transparent;
  border: none;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-muted);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: all 0.15s;
}

.watchlist-tab:hover {
  color: var(--text-primary);
}

.watchlist-tab.active {
  color: var(--accent);
  border-bottom-color: var(--accent);
}

.watchlist-kanban {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  padding: 24px;
  background: var(--bg-secondary);
}

.kanban-column {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 12px;
  min-height: 400px;
}

.kanban-column-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  border-bottom: 1px solid var(--border);
}

.kanban-column-title {
  display: flex;
  align-items: center;
  gap: 8px;
}

.kanban-column-title h4 {
  font-size: 13px;
  font-weight: 600;
}

.kanban-column-count {
  background: var(--bg-tertiary);
  color: var(--text-muted);
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 10px;
}

.kanban-cards {
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 100px;
  transition: all 0.2s;
}

.kanban-cards.drag-over {
  background: rgba(255, 107, 44, 0.08);
  border-radius: 8px;
}

.kanban-cards:empty::after {
  content: 'Drop companies here';
  display: block;
  text-align: center;
  padding: 40px 20px;
  color: var(--text-muted);
  font-size: 12px;
  font-style: italic;
}

.kanban-card.dragging {
  opacity: 0.5;
  transform: scale(0.95);
}

.kanban-card {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 14px;
  cursor: grab;
  transition: all 0.15s;
}

.kanban-card:hover {
  border-color: var(--accent);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.kanban-card:active {
  cursor: grabbing;
}

.kanban-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 8px;
}

.kanban-card-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}

.kanban-card-sector {
  font-size: 10px;
  font-weight: 500;
  color: var(--text-muted);
  background: var(--bg-tertiary);
  padding: 2px 6px;
  border-radius: 4px;
}

.kanban-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 11px;
  color: var(--text-muted);
}

.kanban-card-signal {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--accent);
}

/* ─── TEGUS-STYLE EXPERT INTELLIGENCE ─── */
.expert-intel-section {
  padding: 64px 0;
  background: var(--bg-secondary);
  border-bottom: 1px solid var(--border);
}

.expert-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 20px;
}

.expert-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  transition: all 0.2s;
}

.expert-card:hover {
  border-color: var(--border-hover);
  box-shadow: var(--shadow-md);
}

.expert-card-header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px;
  border-bottom: 1px solid var(--border);
}

.expert-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--accent-dim), var(--bg-tertiary));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
}

.expert-info h4 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 2px;
}

.expert-role {
  font-size: 12px;
  color: var(--text-muted);
}

.expert-badge {
  margin-left: auto;
  background: linear-gradient(135deg, #8b5cf6, #6366f1);
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 4px;
}

.expert-quote {
  padding: 20px;
  border-bottom: 1px solid var(--border);
}

.expert-quote-text {
  font-size: 14px;
  color: var(--text-secondary);
  line-height: 1.6;
  font-style: italic;
}

.expert-quote-text::before {
  content: '"';
  color: var(--accent);
  font-size: 24px;
  font-family: Georgia, serif;
  line-height: 0;
  margin-right: 4px;
  vertical-align: -4px;
}

.expert-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  background: var(--bg-secondary);
}

.expert-topic {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--text-muted);
}

.expert-topic-tag {
  background: var(--bg-tertiary);
  padding: 3px 8px;
  border-radius: 4px;
}

.expert-cta {
  font-size: 12px;
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 4px;
}

.expert-cta:hover {
  text-decoration: underline;
}

/* ─── BLOOMBERG-STYLE NETWORK STATUS ─── */
.network-status-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 28px;
  background: var(--bg-secondary);
  border-top: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  font-size: 11px;
  color: var(--text-muted);
  z-index: 800;
}

.network-status-left {
  display: flex;
  align-items: center;
  gap: 24px;
}

.network-status-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

.network-status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #22c55e;
  animation: pulse-dot 2s infinite;
}

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

.network-status-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

.network-kbd-hint {
  display: flex;
  align-items: center;
  gap: 4px;
}

.network-kbd-hint kbd {
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: 3px;
  padding: 1px 5px;
  font-family: 'SF Mono', Consolas, monospace;
  font-size: 10px;
}

/* ─── PREMIUM DATA QUALITY INDICATORS ─── */
.data-quality-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 4px;
}

.data-quality-badge.verified {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
}

.data-quality-badge.estimated {
  background: rgba(249, 115, 22, 0.15);
  color: #f97316;
}

.data-quality-badge.reported {
  background: rgba(96, 165, 250, 0.15);
  color: #60a5fa;
}

/* ─── RESPONSIVE ADJUSTMENTS ─── */
@media (max-width: 1200px) {
  .watchlist-kanban {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* ═══════════════════════════════════════════════════════════════════════════
   SECONDARY MARKET VALUATIONS SECTION
   ═══════════════════════════════════════════════════════════════════════════ */

.secondary-market-section {
  padding: 80px 0;
  background: var(--bg);
}

.secondary-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  flex-wrap: wrap;
  gap: 16px;
}

.secondary-legend {
  display: flex;
  gap: 20px;
}

.trend-indicator {
  font-size: 12px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 4px;
}

.trend-indicator.up { color: #22c55e; }
.trend-indicator.down { color: #ef4444; }
.trend-indicator.stable { color: var(--text-secondary); }

.secondary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
  gap: 20px;
}

.secondary-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 24px;
  transition: all 0.2s ease;
}

.secondary-card:hover {
  border-color: var(--border-hover);
  background: var(--bg-card-hover);
}

.secondary-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 16px;
}

.secondary-company {
  font-size: 18px;
  font-weight: 600;
  color: var(--text-primary);
}

.secondary-valuation {
  text-align: right;
}

.secondary-valuation .value {
  font-size: 24px;
  font-weight: 700;
  color: var(--accent);
}

.secondary-valuation .date {
  font-size: 11px;
  color: var(--text-muted);
}

.secondary-metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 16px;
  padding: 16px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-sm);
}

.secondary-metric {
  text-align: center;
}

.secondary-metric .label {
  font-size: 10px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.secondary-metric .value {
  font-size: 14px;
  font-weight: 600;
  margin-top: 4px;
}

.secondary-metric .value.positive { color: #22c55e; }
.secondary-metric .value.negative { color: #ef4444; }

.secondary-chart {
  height: 80px;
  margin-bottom: 16px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: flex-end;
  padding: 8px;
  gap: 4px;
}

.chart-bar {
  flex: 1;
  background: var(--accent);
  border-radius: 2px;
  opacity: 0.6;
  transition: opacity 0.2s;
  position: relative;
}

.chart-bar:hover {
  opacity: 1;
}

.chart-bar::after {
  content: attr(data-value);
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  font-size: 9px;
  color: var(--text-muted);
  white-space: nowrap;
  opacity: 0;
  transition: opacity 0.2s;
}

.chart-bar:hover::after {
  opacity: 1;
}

.secondary-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

.secondary-holders {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.holder-tag {
  font-size: 10px;
  padding: 3px 8px;
  background: var(--bg-tertiary);
  border-radius: 4px;
  color: var(--text-secondary);
}

.tender-badge {
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 4px;
}

.tender-badge.active {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
}

.tender-badge.inactive {
  background: var(--bg-tertiary);
  color: var(--text-muted);
}

.liquidity-score {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--text-secondary);
}

.liquidity-bar {
  display: flex;
  gap: 2px;
}

.liquidity-dot {
  width: 6px;
  height: 12px;
  border-radius: 2px;
  background: var(--bg-tertiary);
}

.liquidity-dot.filled {
  background: var(--accent);
}

/* ═══════════════════════════════════════════════════════════════════════════
   ALERTS CENTER SECTION
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════
   THESIS COLLISION DETECTOR
   ═══════════════════════════════════════════════════════ */
.thesis-collision-section {
  padding: 80px 0;
  background: #0a0a0a;
}

.thesis-controls {
  margin-bottom: 24px;
}

.thesis-search {
  width: 100%;
  max-width: 500px;
  padding: 12px 20px;
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 8px;
  color: #fff;
  font-size: 14px;
  font-family: 'Inter', sans-serif;
  outline: none;
  transition: border-color 0.2s;
}
.thesis-search:focus {
  border-color: #FF6B2C;
}
.thesis-search::placeholder {
  color: #666;
}

.thesis-filter-chips {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}
.thesis-filter-chip {
  padding: 6px 14px;
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 20px;
  color: #999;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s;
  font-family: 'Inter', sans-serif;
}
.thesis-filter-chip:hover,
.thesis-filter-chip.active {
  background: #FF6B2C;
  border-color: #FF6B2C;
  color: #fff;
}

.thesis-collision-map {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
  margin-top: 24px;
}

.thesis-cluster-card {
  background: #141414;
  border: 1px solid #222;
  border-radius: 10px;
  padding: 16px;
  cursor: pointer;
  transition: all 0.25s ease;
  position: relative;
  overflow: hidden;
}
.thesis-cluster-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--cluster-color, #FF6B2C);
  opacity: 0.6;
  transition: opacity 0.2s;
}
.thesis-cluster-card:hover {
  border-color: var(--cluster-color, #FF6B2C);
  transform: translateY(-2px);
  box-shadow: 0 4px 20px rgba(255, 107, 44, 0.15);
}
.thesis-cluster-card:hover::before {
  opacity: 1;
}
.thesis-cluster-card.hidden {
  display: none;
}

.thesis-cluster-name {
  font-size: 13px;
  font-weight: 600;
  color: #eee;
  margin-bottom: 6px;
  line-height: 1.3;
}

.thesis-cluster-count {
  font-size: 24px;
  font-weight: 700;
  color: var(--cluster-color, #FF6B2C);
  font-family: 'Space Grotesk', sans-serif;
}
.thesis-cluster-count-label {
  font-size: 11px;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.thesis-cluster-companies-preview {
  margin-top: 8px;
  font-size: 11px;
  color: #777;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Detail Panel */
.thesis-detail-panel {
  background: #111;
  border: 1px solid #333;
  border-radius: 12px;
  padding: 24px;
  margin-top: 24px;
  animation: slideUp 0.3s ease;
}
@keyframes slideUp {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.thesis-detail-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.thesis-detail-header h3 {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  flex: 1;
}
.thesis-detail-count {
  padding: 4px 12px;
  background: #FF6B2C;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
}
.thesis-detail-close {
  background: none;
  border: none;
  color: #666;
  font-size: 24px;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 4px;
  transition: all 0.2s;
}
.thesis-detail-close:hover {
  color: #fff;
  background: #333;
}

.thesis-detail-companies {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 16px;
}

.thesis-company-card {
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  border-radius: 8px;
  padding: 16px;
  transition: all 0.2s;
}
.thesis-company-card:hover {
  border-color: #444;
  background: #1e1e1e;
}
.thesis-company-name {
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 4px;
}
.thesis-company-meta {
  font-size: 12px;
  color: #888;
  margin-bottom: 8px;
}
.thesis-company-approach {
  font-size: 12px;
  color: #aaa;
  line-height: 1.5;
  border-left: 2px solid #FF6B2C;
  padding-left: 10px;
}
.thesis-company-tags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.thesis-company-tag {
  padding: 2px 8px;
  background: #222;
  border-radius: 4px;
  font-size: 10px;
  color: #888;
}
/* ═══════════════════════════════════════════════════════
   INTELLIGENCE HUB (Consolidated Alerts/Signals/News)
   ═══════════════════════════════════════════════════════ */
.intelligence-hub-section {
  padding: 80px 0;
  background: var(--bg-secondary);
}

.intel-hub-tabs {
  display: flex;
  gap: 0;
  margin-bottom: 24px;
  border-bottom: 2px solid var(--border);
}

.intel-hub-tab {
  background: transparent;
  border: none;
  padding: 14px 28px;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 600;
  color: var(--text-muted);
  cursor: pointer;
  position: relative;
  transition: all 0.2s;
}

.intel-hub-tab:hover {
  color: var(--text-secondary);
  background: rgba(255, 107, 44, 0.05);
}

.intel-hub-tab.active {
  color: var(--accent);
  background: rgba(255, 107, 44, 0.08);
}

.intel-hub-tab.active::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--accent);
}

.intel-hub-panel {
  animation: fadeIn 0.2s ease;
}

.panel-explainer {
  font-size: 13px;
  color: var(--text-muted);
  margin-bottom: 16px;
  padding: 12px 16px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-sm);
  border-left: 3px solid var(--accent);
}

/* Keep existing alerts styles */
.alerts-section {
  padding: 80px 0;
  background: var(--bg-secondary);
}

.alerts-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  flex-wrap: wrap;
  gap: 16px;
}

.alert-filters {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.alert-filter {
  padding: 8px 16px;
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}

.alert-filter:hover {
  border-color: var(--border-hover);
  color: var(--text-primary);
}

.alert-filter.active {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--accent-text);
}

.alert-priority-filter {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-secondary);
}

.alert-priority-filter input {
  accent-color: var(--accent);
}

.alerts-feed {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-height: 600px;
  overflow-y: auto;
}

.alert-item {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 20px;
  transition: all 0.2s ease;
}

.alert-item:hover {
  border-color: var(--border-hover);
  background: var(--bg-card-hover);
}

.alert-item.priority-critical {
  border-left: 3px solid #ef4444;
}

.alert-item.priority-high {
  border-left: 3px solid #f97316;
}

.alert-item.priority-medium {
  border-left: 3px solid #f59e0b;
}

.alert-item.priority-low {
  border-left: 3px solid var(--text-muted);
}

.alert-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}

.alert-meta {
  display: flex;
  align-items: center;
  gap: 12px;
}

.alert-category {
  font-size: 12px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.alert-category.funding { background: rgba(34, 197, 94, 0.15); color: #22c55e; }
.alert-category.contracts { background: rgba(96, 165, 250, 0.15); color: #60a5fa; }
.alert-category.leadership { background: rgba(168, 85, 247, 0.15); color: #a855f7; }
.alert-category.regulatory { background: rgba(249, 115, 22, 0.15); color: #f97316; }
.alert-category.signals { background: rgba(236, 72, 153, 0.15); color: #ec4899; }
.alert-category.patents { background: rgba(96, 165, 250, 0.15); color: #60a5fa; }

.alert-company {
  font-weight: 600;
  color: var(--accent);
}

.alert-timestamp {
  font-size: 12px;
  color: var(--text-muted);
  text-align: right;
}

.alert-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 8px;
  line-height: 1.4;
}

.alert-summary {
  font-size: 14px;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 12px;
}

.alert-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

.alert-tags {
  display: flex;
  gap: 8px;
}

.alert-tag {
  font-size: 11px;
  padding: 3px 8px;
  background: var(--bg-tertiary);
  border-radius: 4px;
  color: var(--text-muted);
}

.alert-source {
  font-size: 12px;
  color: var(--text-muted);
}

.alert-source a {
  color: var(--accent);
  text-decoration: none;
}

.alert-source a:hover {
  text-decoration: underline;
}

.alerts-subscribe {
  margin-top: 24px;
}

.subscribe-box {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 24px;
  background: linear-gradient(135deg, rgba(255, 107, 44, 0.08), rgba(255, 107, 44, 0.02));
  border: 1px solid rgba(255, 107, 44, 0.2);
  border-radius: var(--radius);
}

.subscribe-icon {
  font-size: 32px;
}

.subscribe-content {
  flex: 1;
}

.subscribe-content strong {
  font-size: 16px;
  color: var(--text-primary);
}

.subscribe-content p {
  font-size: 13px;
  color: var(--text-secondary);
  margin-top: 4px;
}

.subscribe-btn {
  padding: 12px 24px;
  background: var(--accent);
  color: var(--accent-text);
  font-weight: 600;
  border-radius: var(--radius-sm);
  text-decoration: none;
  transition: background 0.2s;
}

.subscribe-btn:hover {
  background: var(--accent-hover);
}

/* ═══════════════════════════════════════════════════════════════════════════
   PREDICTIVE SCORING SECTION
   ═══════════════════════════════════════════════════════════════════════════ */

.predictive-section {
  padding: 80px 0;
  background: var(--bg);
}

.predictive-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.predictive-tab {
  padding: 12px 20px;
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--text-secondary);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}

.predictive-tab:hover {
  border-color: var(--border-hover);
  color: var(--text-primary);
}

.predictive-tab.active {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--accent-text);
}

.predictive-content {
  min-height: 400px;
}

.predictive-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 20px;
}

.predictive-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 24px;
  transition: all 0.2s ease;
}

.predictive-card:hover {
  border-color: var(--border-hover);
  background: var(--bg-card-hover);
}

.predictive-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 16px;
}

.predictive-company {
  font-size: 18px;
  font-weight: 600;
  color: var(--text-primary);
}

.predictive-score {
  text-align: right;
}

.score-circle {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 700;
  margin-left: auto;
}

.score-circle.very-high { background: rgba(34, 197, 94, 0.2); color: #22c55e; border: 2px solid #22c55e; }
.score-circle.high { background: rgba(132, 204, 22, 0.2); color: #84cc16; border: 2px solid #84cc16; }
.score-circle.medium { background: rgba(250, 204, 21, 0.2); color: #facc15; border: 2px solid #facc15; }
.score-circle.low { background: rgba(249, 115, 22, 0.2); color: #f97316; border: 2px solid #f97316; }
.score-circle.very-low { background: rgba(239, 68, 68, 0.2); color: #ef4444; border: 2px solid #ef4444; }

.score-trend {
  font-size: 12px;
  margin-top: 4px;
  text-align: center;
}

.score-trend.up { color: #22c55e; }
.score-trend.down { color: #ef4444; }
.score-trend.stable { color: var(--text-muted); }

.predictive-factors {
  margin-bottom: 16px;
}

.factor-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--border);
}

.factor-row:last-child {
  border-bottom: none;
}

.factor-name {
  flex: 1;
  font-size: 13px;
  color: var(--text-secondary);
}

.factor-bar {
  width: 100px;
  height: 6px;
  background: var(--bg-tertiary);
  border-radius: 3px;
  overflow: hidden;
}

.factor-fill {
  height: 100%;
  border-radius: 3px;
  background: var(--accent);
}

.factor-value {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary);
  width: 30px;
  text-align: right;
}

.predictive-analysis {
  padding: 16px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-sm);
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.6;
}

.predictive-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
  font-size: 12px;
  color: var(--text-muted);
}

/* M&A Target Specific */
.acquirer-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}

.acquirer-tag {
  font-size: 11px;
  padding: 4px 10px;
  background: rgba(168, 85, 247, 0.1);
  color: #a855f7;
  border-radius: 4px;
}

/* Score Changes Tab */
.change-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 999px;
  margin-left: 6px;
  vertical-align: middle;
}

.change-badge.hot {
  background: rgba(239, 68, 68, 0.15);
  color: #ef4444;
  border: 1px solid rgba(239, 68, 68, 0.3);
}

.change-badge.moderate {
  background: rgba(250, 204, 21, 0.15);
  color: #facc15;
  border: 1px solid rgba(250, 204, 21, 0.3);
}

.change-badge.steady {
  background: rgba(100, 116, 139, 0.15);
  color: #94a3b8;
  border: 1px solid rgba(100, 116, 139, 0.3);
}

.change-category {
  display: inline-block;
  font-size: 11px;
  font-weight: 500;
  padding: 2px 8px;
  border-radius: 4px;
  margin-top: 6px;
}

.change-category.cat-ipo {
  background: rgba(96, 165, 250, 0.15);
  color: #60a5fa;
}

.change-category.cat-ma {
  background: rgba(168, 85, 247, 0.15);
  color: #a855f7;
}

.change-category.cat-risk {
  background: rgba(249, 115, 22, 0.15);
  color: #f97316;
}

.change-score-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--border);
}

.change-score-label {
  font-size: 11px;
  color: var(--text-muted);
  white-space: nowrap;
  min-width: 90px;
}

.change-score-track {
  flex: 1;
  height: 6px;
  background: var(--bg-tertiary);
  border-radius: 3px;
  overflow: hidden;
}

.change-score-fill {
  height: 100%;
  border-radius: 3px;
  background: linear-gradient(90deg, #60a5fa, #8b5cf6, #ef4444);
  transition: width 0.4s ease;
}

.change-score-value {
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary);
  min-width: 36px;
  text-align: right;
}

/* Risk Score Colors */
.risk-very-low { color: #22c55e; }
.risk-low { color: #84cc16; }
.risk-moderate { color: #facc15; }
.risk-elevated { color: #f97316; }
.risk-high { color: #ef4444; }

/* Next Round Prediction Specific */
.prediction-highlight {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 16px 0;
  padding: 16px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-sm);
}

.prediction-item {
  text-align: center;
}

.prediction-item .label {
  font-size: 10px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.prediction-item .value {
  font-size: 16px;
  font-weight: 600;
  color: var(--accent);
  margin-top: 4px;
}

.confidence-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  padding: 4px 8px;
  border-radius: 4px;
}

.confidence-badge.high { background: rgba(34, 197, 94, 0.15); color: #22c55e; }
.confidence-badge.medium { background: rgba(250, 204, 21, 0.15); color: #facc15; }
.confidence-badge.low { background: rgba(249, 115, 22, 0.15); color: #f97316; }

/* ═══════════════════════════════════════════════════════════════════════════
   RESPONSIVE ADJUSTMENTS FOR NEW SECTIONS
   ═══════════════════════════════════════════════════════════════════════════ */
/* ═══════════════════════════════════════════════════════════════════════════
   SECTION TIMESTAMPS & DATA FRESHNESS INDICATORS
   For PILLAR 1: Bulletproof Data Automation
   ═══════════════════════════════════════════════════════════════════════════ */

/* Section Timestamps - Shows when data was last updated */
.section-timestamp {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--text-muted);
  margin-left: 12px;
  padding: 4px 10px;
  background: var(--bg-tertiary);
  border-radius: 12px;
  font-family: var(--font-mono);
}

.section-timestamp .timestamp-dot {
  color: #22c55e;
  font-size: 8px;
  animation: pulse-glow 2s ease-in-out infinite;
}

.section-timestamp.stale .timestamp-dot {
  color: #f59e0b;
  animation: none;
}

.section-timestamp.offline .timestamp-dot {
  color: #ef4444;
  animation: none;
}

@keyframes pulse-glow {
  0%, 100% {
    opacity: 1;
    text-shadow: 0 0 4px #22c55e;
  }
  50% {
    opacity: 0.5;
    text-shadow: none;
  }
}

/* ═══ Sticky Section Navigation Sidebar ═══ */
.section-nav {
  position: fixed;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  pointer-events: none;
}

.section-nav.visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.section-nav-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  padding: 12px 8px;
  background: rgba(26, 27, 30, 0.85);
  backdrop-filter: blur(12px);
  border-radius: 20px;
  border: 1px solid var(--border);
  box-shadow: 0 4px 24px rgba(0,0,0,0.4);
}

.section-nav-dot {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 12px;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
  position: relative;
}

.section-nav-dot::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--text-muted);
  flex-shrink: 0;
  transition: all 0.2s ease;
}

.section-nav-dot span {
  font-size: 11px;
  font-weight: 500;
  color: var(--text-muted);
  white-space: nowrap;
  max-width: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-width 0.3s ease, opacity 0.2s ease, color 0.2s ease;
}

.section-nav-dot:hover span,
.section-nav-dot.active span {
  max-width: 80px;
  opacity: 1;
}

.section-nav-dot:hover {
  background: rgba(255,107,44,0.1);
}

.section-nav-dot:hover::before {
  background: var(--accent);
  transform: scale(1.3);
}

.section-nav-dot:hover span {
  color: var(--text-primary);
}

.section-nav-dot.active::before {
  background: var(--accent);
  width: 10px;
  height: 10px;
  box-shadow: 0 0 8px rgba(255,107,44,0.5);
}

.section-nav-dot.active span {
  color: var(--accent);
  font-weight: 600;
}

/* Hide on mobile and tablets */
@media (max-width: 1200px) {
  .section-nav {
    display: none;
  }
}

/* Global Data Freshness Indicator (Header) */
.data-freshness-indicator {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 12px;
}

.freshness-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  animation: pulse-glow 2s ease-in-out infinite;
}

.freshness-dot.live {
  background: #22c55e;
}

.freshness-dot.fresh {
  background: #60a5fa;
  animation: none;
}

.freshness-dot.stale {
  background: #f59e0b;
  animation: none;
}

.freshness-label {
  font-weight: 600;
  color: var(--text-secondary);
}

.freshness-time {
  color: var(--text-muted);
  font-size: 11px;
}

/* Automation Status Dashboard */
.automation-status {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
  margin: 20px 0;
}

.automation-pipeline {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  transition: all 0.2s;
}

.automation-pipeline:hover {
  border-color: var(--border-hover);
}

.pipeline-status {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}

.pipeline-status.active {
  background: #22c55e;
  box-shadow: 0 0 8px rgba(34, 197, 94, 0.5);
  animation: pulse-glow 2s ease-in-out infinite;
}

.pipeline-status.warning {
  background: #f59e0b;
}

.pipeline-status.error {
  background: #ef4444;
}

.pipeline-info {
  flex: 1;
  min-width: 0;
}

.pipeline-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}

.pipeline-meta {
  font-size: 11px;
  color: var(--text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Section Header with Timestamp */
.section-header-with-timestamp {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

/* Mobile Responsive *//* ═══════════════════════════════════════════════════════════════
   CONTRACTOR READINESS SCORES
   ═══════════════════════════════════════════════════════════════ */
.readiness-explainer {
  background: var(--bg-tertiary);
  padding: 16px;
  border-radius: var(--radius);
  margin-bottom: 24px;
  font-size: 13px;
  color: var(--text-secondary);
}

.readiness-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
  gap: 20px;
}

.readiness-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 20px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.readiness-card:hover {
  border-color: var(--accent);
  transform: translateY(-2px);
}

.readiness-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.readiness-company {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 700;
  color: var(--text-primary);
}

.readiness-score-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 8px 16px;
  border-radius: var(--radius-sm);
  color: #000;
}

.readiness-score-num {
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
}

.readiness-score-tier {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.readiness-metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 16px;
  padding: 12px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-sm);
}

.readiness-metric {
  text-align: center;
}

.readiness-label {
  display: block;
  font-size: 10px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}

.readiness-value {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}

.readiness-performance {
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: 12px;
  color: var(--text-secondary);
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.perf-label {
  color: var(--text-muted);
}

.perf-rating {
  color: #f59e0b;
}

.readiness-agencies {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 12px;
}

.readiness-factors {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.readiness-factor {
  font-size: 11px;
  color: #22c55e;
}

/* ═══════════════════════════════════════════════════════════════
   VALLEY OF DEATH TRACKER
   ═══════════════════════════════════════════════════════════════ */
.vod-stages {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  overflow-x: auto;
  padding: 24px 0;
}

.vod-stage {
  flex: 1;
  min-width: 140px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 16px;
  text-align: center;
  transition: all 0.2s;
  position: relative;
}

.vod-stage:hover { border-color: var(--accent); transform: translateY(-2px); }

.vod-valley {
  border-color: rgba(239, 68, 68, 0.3);
  background: rgba(239, 68, 68, 0.03);
}

.vod-stage-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.vod-stage-label {
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary);
}

.vod-stage-count {
  font-size: 24px;
  font-weight: 800;
  font-family: var(--font-display);
}

.vod-bar-track {
  height: 6px;
  background: var(--bg-tertiary);
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 8px;
}

.vod-bar-fill {
  height: 100%;
  border-radius: 3px;
  transition: width 0.6s ease;
}

.vod-stage-desc {
  font-size: 11px;
  color: var(--text-muted);
  line-height: 1.4;
  margin-bottom: 8px;
}

.vod-valley-label {
  font-size: 10px;
  font-weight: 700;
  color: #ef4444;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
}

.vod-companies {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  justify-content: center;
}

.vod-company-chip {
  font-size: 10px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 12px;
  border: 1px solid;
  background: var(--bg-tertiary);
  color: var(--text-secondary);
  white-space: nowrap;
}

.vod-arrow {
  display: flex;
  align-items: center;
  font-size: 20px;
  color: var(--text-muted);
  padding-top: 30px;
  flex-shrink: 0;
}

.vod-summary {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 24px;
  padding: 20px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.vod-stat { text-align: center; }
.vod-stat-num {
  display: block;
  font-size: 28px;
  font-weight: 800;
  font-family: var(--font-display);
  color: var(--text-primary);
}
.vod-stat-num.vod-danger { color: #ef4444; }
.vod-stat-num.vod-success { color: #22c55e; }
.vod-stat-label { font-size: 12px; color: var(--text-muted); margin-top: 4px; }

.vod-detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 16px;
  margin-top: 24px;
}

.vod-detail-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 16px;
  transition: all 0.2s;
}
.vod-detail-card:hover { border-color: var(--accent); transform: translateY(-2px); }

.vod-detail-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.vod-detail-company {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 700;
  color: var(--text-primary);
}

.vod-detail-stage {
  font-size: 10px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 12px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  white-space: nowrap;
}

.vod-detail-meta {
  display: flex;
  gap: 16px;
  font-size: 12px;
  color: var(--text-muted);
  margin-bottom: 8px;
}

.vod-detail-text {
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-secondary);
}
/* ─── VOD View Toggle ─── */
.vod-view-toggle {
  display: flex;
  gap: 4px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  padding: 4px;
  width: fit-content;
  margin: 0 auto 24px;
}
.vod-view-btn {
  padding: 8px 20px;
  background: transparent;
  border: none;
  border-radius: 8px;
  color: rgba(255,255,255,0.5);
  font-size: 13px;
  font-weight: 600;
  font-family: 'Inter', sans-serif;
  cursor: pointer;
  transition: all 0.2s;
}
.vod-view-btn:hover { color: rgba(255,255,255,0.8); }
.vod-view-btn.active {
  background: #FF6B2C;
  color: #fff;
  box-shadow: 0 2px 8px rgba(255,107,44,0.3);
}

/* ─── VOD Timeline View ─── */
.vod-timeline {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 24px;
}
.vod-timeline-row {
  display: grid;
  grid-template-columns: 180px 1fr 100px;
  align-items: center;
  gap: 16px;
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px;
  padding: 12px 16px;
  cursor: pointer;
  transition: all 0.2s;
}
.vod-timeline-row:hover {
  border-color: rgba(255,107,44,0.3);
  background: rgba(255,107,44,0.03);
}
.vod-timeline-company {
  font-weight: 700;
  font-size: 0.85rem;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.vod-timeline-company-velocity {
  font-size: 0.65rem;
  margin-top: 2px;
}
.vod-timeline-bar-container {
  position: relative;
  height: 28px;
  display: flex;
  align-items: center;
}
.vod-timeline-track {
  position: absolute;
  left: 0;
  right: 0;
  height: 4px;
  background: rgba(255,255,255,0.06);
  border-radius: 2px;
}
.vod-timeline-segments {
  position: relative;
  width: 100%;
  height: 28px;
  display: flex;
  align-items: center;
}
.vod-timeline-dot {
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid;
  z-index: 2;
  transform: translateX(-50%);
}
.vod-timeline-dot.current {
  width: 16px;
  height: 16px;
  box-shadow: 0 0 8px currentColor;
}
.vod-timeline-connector {
  position: absolute;
  height: 4px;
  z-index: 1;
  border-radius: 2px;
}
.vod-timeline-next {
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 2px dashed rgba(255,255,255,0.3);
  z-index: 2;
  transform: translateX(-50%);
}
.vod-timeline-meta {
  text-align: right;
  font-size: 0.7rem;
  color: rgba(255,255,255,0.5);
}
.vod-timeline-meta-next {
  color: #f59e0b;
  font-weight: 600;
}
.vod-timeline-stage-labels {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  text-align: center;
  margin-bottom: 16px;
  padding: 0 196px 0 0;
  margin-left: 196px;
}
.vod-timeline-stage-label {
  font-size: 0.65rem;
  color: rgba(255,255,255,0.4);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
/* ═══════════════════════════════════════════════════════════════
   LIVE CONTRACT & AWARD FEED
   ═══════════════════════════════════════════════════════════════ */
.award-filter-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.award-filter-btn {
  padding: 8px 16px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--bg-card);
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s;
}

.award-filter-btn:hover { border-color: var(--accent); color: var(--text-primary); }
.award-filter-btn.active { background: var(--accent); color: #fff; border-color: var(--accent); }

.award-feed {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.award-card {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 20px;
  transition: all 0.2s;
}
.award-card:hover { border-color: var(--accent); transform: translateX(4px); }

.award-card.award-fresh {
  border-left: 3px solid #22c55e;
}
.award-card.award-recent {
  border-left: 3px solid #60a5fa;
}

.award-card-left {
  flex-shrink: 0;
  min-width: 100px;
}

.award-date-col { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.award-date { font-size: 12px; color: var(--text-muted); font-weight: 500; }
.award-new-badge {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1px;
  color: #22c55e;
  background: rgba(34, 197, 94, 0.1);
  padding: 2px 6px;
  border-radius: 4px;
}

.award-card-center { flex: 1; }

.award-top-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

.award-type-badge {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 3px 8px;
  border-radius: 4px;
}

.award-type-badge.award-contract { background: rgba(34, 197, 94, 0.12); color: #22c55e; }
.award-type-badge.award-ota { background: rgba(139, 92, 246, 0.12); color: #8b5cf6; }
.award-type-badge.award-sbir { background: rgba(96, 165, 250, 0.12); color: #60a5fa; }

.award-agency {
  font-size: 11px;
  color: var(--text-muted);
  font-weight: 600;
}

.award-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 6px;
  line-height: 1.3;
}

.award-detail {
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-secondary);
  margin-bottom: 8px;
}

.award-company-name {
  font-size: 12px;
  font-weight: 600;
  color: var(--accent);
}

.award-card-right {
  flex-shrink: 0;
  text-align: right;
}

.award-value {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 800;
  color: #22c55e;
}
/* ═══════════════════════════════════════════════════════════════
   INVESTOR PORTFOLIO X-RAY
   ═══════════════════════════════════════════════════════════════ */
.portfolio-xray-section { background: var(--bg-primary); }

.xray-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(420px, 1fr));
  gap: 20px;
}

.xray-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 24px;
  transition: all 0.2s;
}
.xray-card:hover { border-color: var(--accent); transform: translateY(-3px); box-shadow: 0 8px 30px rgba(0,0,0,0.3); }

.xray-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border);
}

.xray-vc-name {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 700;
  color: var(--text-primary);
  margin: 0;
}

.xray-aum {
  font-size: 12px;
  color: var(--accent);
  font-weight: 600;
}

.xray-portfolio-count {
  font-size: 12px;
  color: var(--text-muted);
  font-weight: 600;
  background: var(--bg-tertiary);
  padding: 4px 10px;
  border-radius: 12px;
}

.xray-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 20px;
  padding: 14px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-sm);
}

.xray-metric { text-align: center; }

.xray-metric-value {
  display: block;
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 800;
  color: var(--text-primary);
}

.xray-metric-label {
  display: block;
  font-size: 10px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin-top: 2px;
}

.xray-section {
  margin-bottom: 14px;
}

.xray-section-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
  margin-bottom: 8px;
}

.xray-sector-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}

.xray-sector-name {
  font-size: 12px;
  color: var(--text-secondary);
  min-width: 100px;
  flex-shrink: 0;
}

.xray-sector-bar-track {
  flex: 1;
  height: 6px;
  background: var(--bg-tertiary);
  border-radius: 3px;
  overflow: hidden;
}

.xray-sector-bar {
  height: 100%;
  background: var(--accent);
  border-radius: 3px;
  transition: width 0.5s;
}

.xray-sector-pct {
  font-size: 12px;
  font-weight: 700;
  color: var(--accent);
  min-width: 36px;
  text-align: right;
}

.xray-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.xray-followon-chip {
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 12px;
  background: rgba(34, 197, 94, 0.1);
  color: #22c55e;
  border: 1px solid rgba(34, 197, 94, 0.2);
}

.xray-followon-chip em {
  font-style: normal;
  font-weight: 800;
  margin-left: 4px;
}

.xray-whitespace-chip {
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 12px;
  background: rgba(239, 68, 68, 0.08);
  color: #ef4444;
  border: 1px solid rgba(239, 68, 68, 0.15);
}

.xray-stage-chip {
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 12px;
  background: rgba(96, 165, 250, 0.08);
  color: #60a5fa;
  border: 1px solid rgba(96, 165, 250, 0.15);
}

.xray-stage-chip em {
  font-style: normal;
  font-weight: 800;
}

.xray-no-data {
  font-size: 11px;
  color: var(--text-muted);
  font-style: italic;
}
/* ═══════════════════════════════════════════════════════════════
   DEAL FLOW SIGNALS
   ═══════════════════════════════════════════════════════════════ */
.deal-flow-card {
  background: var(--bg-card);
}

.deal-prob-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 8px 16px;
  border-radius: var(--radius-sm);
  color: #000;
}

.deal-prob-num {
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
}

.deal-prob-label {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
}

.deal-prediction-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 16px;
  padding: 12px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-sm);
}

.deal-pred-item {
  text-align: center;
}

.deal-pred-label {
  display: block;
  font-size: 10px;
  color: var(--text-muted);
  text-transform: uppercase;
  margin-bottom: 4px;
}

.deal-pred-value {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
}

.deal-signals {
  margin-bottom: 16px;
}

.deal-signals-label {
  font-size: 11px;
  color: var(--text-muted);
  text-transform: uppercase;
  margin-bottom: 8px;
}

.deal-signal-row {
  display: grid;
  grid-template-columns: 70px 1fr 60px;
  gap: 8px;
  align-items: center;
  padding: 6px 0;
  border-bottom: 1px solid var(--border);
}

.deal-signal-row:last-child {
  border-bottom: none;
}

.deal-signal-type {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--accent);
}

.deal-signal-desc {
  font-size: 12px;
  color: var(--text-secondary);
}

.deal-signal-weight {
  height: 6px;
  background: var(--bg-tertiary);
  border-radius: 3px;
  overflow: hidden;
}

.deal-signal-bar {
  height: 100%;
  background: var(--accent);
  border-radius: 3px;
}

.deal-leads {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.deal-leads-label {
  font-size: 11px;
  color: var(--text-muted);
}

.deal-lead-tag {
  font-size: 11px;
  padding: 4px 10px;
  background: var(--bg-tertiary);
  border-radius: 20px;
  color: var(--text-secondary);
}

/* ═══════════════════════════════════════════════════════════════
   M&A COMPS TABLE
   ═══════════════════════════════════════════════════════════════ */
.ma-comps-table-wrapper {
  overflow-x: auto;
}

.ma-comps-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.ma-comps-table th {
  background: var(--bg-tertiary);
  padding: 12px 16px;
  text-align: left;
  font-weight: 600;
  color: var(--text-secondary);
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.5px;
  border-bottom: 1px solid var(--border);
}

.ma-comps-table td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--border);
  color: var(--text-secondary);
}

.ma-comps-table tr:hover td {
  background: var(--bg-secondary);
}

.comp-target {
  font-weight: 600;
  color: var(--text-primary);
}

.comp-acquirer {
  color: var(--text-primary);
}

.comp-value {
  font-weight: 600;
  color: var(--accent);
}

.comp-multiple {
  font-weight: 700;
  color: var(--text-primary);
}

.comp-type-badge {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
}

.comp-completed .comp-type-badge {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
}

.comp-rumored .comp-type-badge {
  background: rgba(245, 158, 11, 0.15);
  color: #f59e0b;
}

.comp-pending .comp-type-badge {
  background: rgba(96, 165, 250, 0.15);
  color: #60a5fa;
}

/* ═══════════════════════════════════════════════════════════════
   HISTORICAL TRACKING
   ═══════════════════════════════════════════════════════════════ */
.historical-section {
  padding: 60px 0;
  border-bottom: 1px solid var(--border);
}

.historical-controls {
  display: flex;
  gap: 16px;
  margin-bottom: 24px;
}

.historical-chart-container {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 24px;
  min-height: 350px;
  margin-bottom: 24px;
}

.historical-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 300px;
  color: var(--text-muted);
  font-size: 14px;
}

.historical-svg {
  display: block;
  width: 100%;
  height: auto;
}

.historical-timeline {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 20px;
}

.historical-timeline-header h4 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 16px;
}

.historical-timeline-events {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.timeline-event {
  display: grid;
  grid-template-columns: 80px 20px 1fr auto;
  gap: 12px;
  align-items: center;
}

.timeline-date {
  font-size: 12px;
  color: var(--text-muted);
  font-family: monospace;
}

.timeline-marker {
  width: 12px;
  height: 12px;
  background: var(--accent);
  border-radius: 50%;
  position: relative;
}

.timeline-marker::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
  width: 2px;
  height: 20px;
  background: var(--border);
}

.timeline-event:last-child .timeline-marker::before {
  display: none;
}

.timeline-label {
  font-size: 13px;
  color: var(--text-primary);
  font-weight: 500;
}

.timeline-value {
  font-size: 14px;
  font-weight: 700;
  color: var(--accent);
}
/* ═══════════════════════════════════════════════════════
   GOVERNMENT DEMAND TRACKER
   ═══════════════════════════════════════════════════════ */

.gov-demand-header {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 24px;
}

.gov-demand-summary {
  display: flex;
  gap: 32px;
  margin-bottom: 16px;
}

.demand-stat {
  text-align: center;
}

.demand-stat-value {
  display: block;
  font-size: 28px;
  font-weight: 800;
  color: var(--accent);
  font-family: 'Space Grotesk', sans-serif;
}

.demand-stat-label {
  font-size: 12px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.demand-hot-areas {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.demand-hot-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-muted);
}

.demand-hot-tag {
  padding: 4px 10px;
  background: #ef444420;
  color: #ef4444;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500;
}

.gov-demand-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
  gap: 20px;
}

.gov-demand-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 20px;
  transition: all 0.2s;
}

.gov-demand-card:hover {
  border-color: var(--accent);
  transform: translateY(-2px);
}

.gov-demand-card.urgent {
  border-left: 3px solid #ef4444;
}

.gov-demand-card.soon {
  border-left: 3px solid #f59e0b;
}

.demand-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.demand-priority {
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.demand-agency {
  font-size: 12px;
  color: var(--text-muted);
}

.demand-title {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 12px 0;
  line-height: 1.3;
}

.demand-meta {
  display: flex;
  gap: 12px;
  margin-bottom: 12px;
}

.demand-type {
  font-size: 12px;
  color: var(--text-muted);
  padding: 2px 8px;
  background: var(--bg);
  border-radius: 4px;
}

.demand-value {
  font-size: 14px;
  font-weight: 700;
  color: var(--accent);
}

.demand-description {
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.5;
  margin-bottom: 12px;
}

.demand-tech-areas {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 12px;
}

.demand-tech-tag {
  padding: 3px 8px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 10px;
  font-size: 11px;
  color: var(--text-muted);
}

.demand-deadline {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  background: var(--bg);
  border-radius: 8px;
  margin-bottom: 12px;
}

.demand-deadline.urgent {
  background: #ef444415;
}

.demand-deadline.soon {
  background: #f59e0b15;
}

.deadline-icon {
  font-size: 14px;
}

.deadline-text {
  font-size: 13px;
  color: var(--text);
}

.days-left {
  color: var(--text-muted);
  font-size: 12px;
  margin-left: 4px;
}

.demand-deadline.urgent .days-left {
  color: #ef4444;
  font-weight: 600;
}

.demand-relevant {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

.relevant-label {
  font-size: 11px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: block;
  margin-bottom: 8px;
}

.relevant-companies {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.relevant-company {
  padding: 4px 10px;
  background: var(--accent)15;
  border: 1px solid var(--accent)30;
  border-radius: 12px;
  font-size: 12px;
  color: var(--accent);
  cursor: pointer;
  transition: all 0.2s;
}

.relevant-company:hover {
  background: var(--accent);
  color: #000;
}

.demand-source-link {
  display: inline-block;
  margin-top: 8px;
  font-size: 12px;
  color: var(--accent);
  text-decoration: none;
}

.demand-source-link:hover {
  text-decoration: underline;
}

.gov-demand-footer {
  margin-top: 24px;
  text-align: center;
}

.demand-disclaimer {
  font-size: 12px;
  color: var(--text-muted);
}
/* ═══════════════════════════════════════════════════════
   ENHANCED NETWORK GRAPH
   ═══════════════════════════════════════════════════════ */

.network-tools {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.network-degrees-btn,
.network-export-btn {
  padding: 8px 14px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 6px;
  font-size: 13px;
  color: var(--text);
  cursor: pointer;
  transition: all 0.2s;
}

.network-degrees-btn:hover,
.network-export-btn:hover {
  border-color: var(--accent);
  background: rgba(255,107,44,0.1);
}

/* Degrees of Separation Modal */
.degrees-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.degrees-modal-content {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 24px;
  max-width: 450px;
  width: 90%;
}

.degrees-modal-content h4 {
  font-size: 18px;
  margin: 0 0 8px 0;
}

.degrees-modal-content > p {
  font-size: 14px;
  color: var(--text-muted);
  margin-bottom: 20px;
}

.degrees-inputs {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 20px;
}

.degrees-input-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.degrees-input-group label {
  font-size: 12px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.degrees-input-group input {
  padding: 12px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 8px;
  font-size: 14px;
  color: var(--text);
}

.degrees-input-group input:focus {
  outline: none;
  border-color: var(--accent);
}

.degrees-actions {
  display: flex;
  gap: 12px;
}

.degrees-find-btn {
  flex: 1;
  padding: 12px;
  background: var(--accent);
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #000;
  cursor: pointer;
  transition: background 0.2s;
}

.degrees-find-btn:hover {
  background: #ff8c5a;
}

.degrees-close-btn {
  padding: 12px 20px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 8px;
  font-size: 14px;
  color: var(--text);
  cursor: pointer;
}

.degrees-result {
  margin-top: 20px;
  padding: 16px;
  background: var(--bg);
  border-radius: 8px;
}

.degrees-error {
  color: #ef4444;
  font-size: 14px;
  margin: 0;
}

.degrees-success {
  text-align: center;
}

.degrees-count {
  font-size: 16px;
  margin: 0 0 12px 0;
}

.degrees-count strong {
  font-size: 24px;
  color: var(--accent);
}

.degrees-path {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.path-node-chip {
  padding: 6px 12px;
  border-radius: 16px;
  font-size: 13px;
  font-weight: 500;
}

.path-node-chip.company {
  background: #ff6b2c20;
  color: #ff6b2c;
  border: 1px solid #ff6b2c40;
}

.path-node-chip.investor {
  background: #f59e0b20;
  color: #f59e0b;
  border: 1px solid #f59e0b40;
}

.path-node-chip.person {
  background: #8b5cf620;
  color: #8b5cf6;
  border: 1px solid #8b5cf640;
}

.path-arrow {
  color: var(--text-muted);
  font-size: 16px;
}

/* Graph path highlighting */
.network-node.path-node circle {
  stroke: var(--accent);
  stroke-width: 3px;
}

.network-link.path-edge {
  stroke: var(--accent) !important;
  stroke-width: 3px !important;
  opacity: 1 !important;
}
/* ═══════════════════════════════════════════════════════
   UX UPGRADE: DISCOVERY HUB — Map + Database Unified
   ═══════════════════════════════════════════════════════ */

/* ─── DISCOVERY HUB SECTION ─── */
.discovery-hub-section {
  padding: 0;
  margin-top: 0;
  border-bottom: 1px solid var(--border);
}

.discovery-tabs {
  display: flex;
  justify-content: center;
  gap: 4px;
  padding: 16px 0;
  background: var(--bg-secondary);
  border-bottom: 1px solid var(--border);
}

.discovery-tab {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--text-secondary);
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all var(--transition);
}

.discovery-tab:hover {
  color: var(--text-primary);
  background: var(--bg-tertiary);
}

.discovery-tab.active {
  background: var(--accent);
  color: var(--accent-text);
  border-color: var(--accent);
  font-weight: 600;
}

.discovery-tab .tab-icon {
  font-size: 16px;
}

/* Discovery Views */
.discovery-view {
  display: none;
}

.discovery-view.active {
  display: block;
}

/* Map View */
#discovery-map-view {
  position: relative;
}

#innovators-map-primary {
  width: 100%;
  height: 65vh;
  min-height: 500px;
  max-height: 700px;
  background: var(--bg);
}

.map-overlay-stats {
  position: absolute;
  bottom: 20px;
  left: 20px;
  display: flex;
  gap: 16px;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(12px);
  padding: 12px 20px;
  border-radius: 10px;
  border: 1px solid var(--border);
}

.map-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.map-stat-number {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 24px;
  font-weight: 700;
  color: var(--accent);
}

.map-stat-label {
  font-size: 11px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Database View */
#discovery-database-view {
  padding: 24px 0 40px;
  background: var(--bg);
}

.filter-bar-inline {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.search-box-inline {
  position: relative;
  flex: 1;
  min-width: 200px;
  max-width: 400px;
}

.search-box-inline .search-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  color: var(--text-muted);
  pointer-events: none;
}

.search-box-inline input {
  width: 100%;
  padding: 12px 16px 12px 44px;
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 14px;
  font-family: inherit;
  outline: none;
  transition: all var(--transition);
}

.search-box-inline input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(255, 107, 44, 0.1);
}

.filter-select-inline {
  padding: 12px 16px;
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 13px;
  font-family: inherit;
  cursor: pointer;
  outline: none;
  transition: all var(--transition);
}

.filter-select-inline:focus {
  border-color: var(--accent);
}

.filter-chips-inline {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.filter-chips-inline .chip {
  padding: 8px 16px;
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: 20px;
  color: var(--text-secondary);
  font-size: 13px;
  cursor: pointer;
  transition: all var(--transition);
}

.filter-chips-inline .chip:hover {
  border-color: var(--accent);
  color: var(--text-primary);
}

.filter-chips-inline .chip.active {
  background: var(--accent);
  color: var(--accent-text);
  border-color: var(--accent);
  font-weight: 600;
}

.company-grid-inline {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
}

.discovery-load-more {
  text-align: center;
  margin-top: 32px;
}

.load-more-btn {
  padding: 14px 32px;
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--transition);
}

.load-more-btn:hover {
  background: var(--bg-elevated);
  border-color: var(--accent);
}

/* Screener View */
#discovery-screener-view {
  padding: 24px 0 40px;
  background: var(--bg);
}

.screener-inline {
  max-width: 1000px;
  margin: 0 auto;
}

.screener-intro {
  text-align: center;
  color: var(--text-secondary);
  margin-bottom: 24px;
  font-size: 14px;
}

/* Value Prop Slim Variant */
.value-prop-banner.slim {
  padding: 12px 0;
}

.value-prop-banner.slim .value-prop-content {
  padding: 12px 20px;
}

.value-prop-banner.slim .value-prop-text p {
  font-size: 13px;
}

/* ─── RESPONSIVE ─── *//* ─── DISCOVERY HUB COMPANY CARDS ─── */
.company-grid-inline .company-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 20px;
  cursor: pointer;
  transition: all var(--transition);
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.company-grid-inline .company-card:hover {
  background: var(--bg-card-hover);
  border-color: var(--accent);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(255, 107, 44, 0.1);
}

.company-grid-inline .card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.company-grid-inline .card-sector-badge {
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 20px;
  border: 1px solid;
}

.company-grid-inline .bookmark-btn {
  background: transparent;
  border: none;
  font-size: 18px;
  cursor: pointer;
  color: var(--text-muted);
  transition: all var(--transition);
  padding: 4px;
}

.company-grid-inline .bookmark-btn:hover {
  color: var(--accent);
}

.company-grid-inline .bookmark-btn.saved {
  color: var(--accent);
}

.company-grid-inline .card-title {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
}

.company-grid-inline .card-founder {
  font-size: 13px;
  color: var(--accent);
  margin: -4px 0 0 0;
}

.company-grid-inline .card-description {
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.5;
  margin: 0;
  flex-grow: 1;
}

.company-grid-inline .card-meta {
  display: flex;
  gap: 12px;
  font-size: 12px;
  color: var(--text-muted);
}

.company-grid-inline .card-stage {
  color: var(--accent);
  font-weight: 500;
}

.company-grid-inline .card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

.company-grid-inline .card-score {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 14px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 6px;
  background: var(--bg-elevated);
}

.company-grid-inline .card-score.elite {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
}

/* ─── QUICK SECTION NAVIGATOR ─── */
.section-navigator {
  position: sticky;
  top: 56px;
  z-index: 999;
  background: rgba(0, 0, 0, 0.95);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
  padding: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.section-navigator::-webkit-scrollbar {
  display: none;
}

.section-nav-inner {
  display: flex;
  gap: 4px;
  padding: 8px 24px;
  min-width: max-content;
}

.section-nav-link {
  padding: 8px 16px;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-secondary);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 6px;
  text-decoration: none;
  white-space: nowrap;
  transition: all var(--transition);
}

.section-nav-link:hover {
  color: var(--text-primary);
  background: var(--bg-tertiary);
}

.section-nav-link.active {
  color: var(--accent);
  background: var(--accent-dim);
  border-color: var(--accent);
}

/* ─── TIER SECTION HEADERS ─── */
.tier-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 24px 0 16px;
}

.tier-badge {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 4px 12px;
  border-radius: 4px;
  background: var(--accent-dim);
  color: var(--accent);
}

.tier-header h3 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* ─── Database View Toggle ─── */
.db-view-toggle {
  display: flex;
  gap: 4px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 4px;
  width: fit-content;
  margin: 0 auto 20px;
}

.db-view-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: transparent;
  border: none;
  border-radius: 8px;
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: 500;
  font-family: 'Inter', sans-serif;
  cursor: pointer;
  transition: all 0.2s ease;
}

.db-view-btn:hover {
  color: var(--text-primary);
  background: rgba(255,255,255,0.05);
}

.db-view-btn.active {
  background: var(--accent);
  color: #fff;
  box-shadow: 0 2px 8px rgba(255,107,44,0.3);
}

.db-view-btn svg {
  opacity: 0.7;
}

.db-view-btn.active svg {
  opacity: 1;
}
/* ═══════════════════════════════════════════════════════════════════════════════
   AUTHENTICATION & ACCESS GATING STYLES
   ═══════════════════════════════════════════════════════════════════════════════ */

/* ─── Auth Modal ─── */
.auth-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(8px);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.auth-modal {
  max-width: 440px;
  width: 100%;
  background: #111;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 40px 32px 32px;
  position: relative;
  animation: modalSlideIn 0.25s ease;
}

.auth-modal .modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  color: var(--text-muted);
  font-size: 24px;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 6px;
  transition: all 0.15s;
}
.auth-modal .modal-close:hover { background: rgba(255,255,255,0.08); color: #fff; }

.auth-modal-header {
  text-align: center;
  margin-bottom: 24px;
}
.auth-modal-header .auth-logo {
  display: inline-block;
  background: linear-gradient(135deg, #FF6B2C, #FF8F5E);
  color: #000;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 800;
  font-size: 18px;
  padding: 6px 14px;
  border-radius: 6px;
  margin-bottom: 12px;
}
.auth-modal-header h2 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 4px;
}
.auth-modal-header p {
  font-size: 14px;
  color: var(--text-muted);
}

/* Auth Error */
.auth-error {
  background: rgba(220, 38, 38, 0.1);
  border: 1px solid rgba(220, 38, 38, 0.3);
  color: #ef4444;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 13px;
  margin-bottom: 16px;
  text-align: center;
}

/* Auth Tabs */
.auth-tabs {
  display: flex;
  gap: 0;
  margin-bottom: 20px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.auth-tab {
  flex: 1;
  background: none;
  border: none;
  color: var(--text-muted);
  font-size: 14px;
  font-weight: 600;
  padding: 10px 0;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: all 0.2s;
  font-family: 'Inter', sans-serif;
}
.auth-tab:hover { color: #fff; }
.auth-tab.active {
  color: #FF6B2C;
  border-bottom-color: #FF6B2C;
}

/* Auth Panel */
.auth-panel { margin-top: 4px; }

/* Google OAuth Button */
.auth-google-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px;
  background: #fff;
  color: #333;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  transition: background 0.15s;
}
.auth-google-btn:hover { background: #f0f0f0; }

/* Auth Divider */
.auth-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 16px 0;
}
.auth-divider::before, .auth-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgba(255,255,255,0.1);
}
.auth-divider span {
  color: var(--text-muted);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Auth Form Fields */
.auth-field { margin-bottom: 12px; }
.auth-field input {
  width: 100%;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  color: #fff;
  font-size: 14px;
  font-family: 'Inter', sans-serif;
  transition: border-color 0.2s;
}
.auth-field input:focus {
  outline: none;
  border-color: #FF6B2C;
  background: rgba(255, 107, 44, 0.05);
}
.auth-field input::placeholder { color: rgba(255,255,255,0.35); }

/* Auth Submit Button */
.auth-submit-btn {
  width: 100%;
  padding: 12px;
  background: linear-gradient(135deg, #FF6B2C, #FF8F5E);
  color: #000;
  border: none;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  margin-top: 4px;
  transition: opacity 0.15s;
}
.auth-submit-btn:hover { opacity: 0.9; }
.auth-submit-btn:disabled { opacity: 0.5; cursor: not-allowed; }

/* Forgot Password Link */
.auth-forgot-link {
  display: block;
  text-align: center;
  margin-top: 12px;
  color: var(--text-muted);
  font-size: 13px;
  text-decoration: none;
  transition: color 0.15s;
}
.auth-forgot-link:hover { color: #FF6B2C; }

/* Auth Footer */
.auth-footer {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,0.06);
  text-align: center;
}
.auth-footer p {
  font-size: 11px;
  color: rgba(255,255,255,0.3);
}

/* ─── Nav Auth State ─── */
.nav-auth {
  display: flex;
  align-items: center;
  gap: 10px;
}
.nav-sign-in-btn {
  background: rgba(255, 107, 44, 0.12);
  color: #FF6B2C;
  border: 1px solid rgba(255, 107, 44, 0.3);
  padding: 8px 18px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  transition: all 0.2s;
}
.nav-sign-in-btn:hover {
  background: rgba(255, 107, 44, 0.2);
  border-color: rgba(255, 107, 44, 0.5);
}

.nav-user {
  display: flex;
  align-items: center;
  gap: 12px;
}
.nav-user-email {
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: 500;
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nav-signout-btn {
  background: rgba(255, 255, 255, 0.06);
  color: var(--text-muted);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 6px 14px;
  border-radius: 6px;
  font-size: 12px;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  transition: all 0.15s;
}
.nav-signout-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

/* ─── Locked Company Cards ─── */
.company-card-locked {
  cursor: pointer;
  border: 1px solid rgba(255, 255, 255, 0.06);
  position: relative;
}
.company-card-locked:hover {
  border-color: rgba(255, 107, 44, 0.3);
}
.company-card-locked .card-description.card-blurred {
  color: var(--text-muted);
  font-style: italic;
  font-size: 12px;
}
.card-lock-icon {
  font-size: 16px;
  opacity: 0.5;
}
.card-cta-small {
  color: #FF6B2C;
  font-size: 12px;
  font-weight: 600;
}

/* ─── Section Gating ─── */
.section-gated {
  position: relative;
  overflow: hidden;
  max-height: 450px;
}
.section-gated::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 350px;
  background: linear-gradient(transparent, #000 75%);
  pointer-events: none;
  z-index: 5;
}
.section-gate-cta {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  text-align: center;
}
.gate-cta-content {
  background: rgba(17, 17, 17, 0.95);
  border: 1px solid rgba(255, 107, 44, 0.3);
  border-radius: 16px;
  padding: 24px 36px;
  backdrop-filter: blur(10px);
}
.gate-lock-icon { font-size: 28px; display: block; margin-bottom: 8px; }
.gate-cta-content h3 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 6px;
}
.gate-cta-content p {
  font-size: 13px;
  color: var(--text-muted);
  margin-bottom: 16px;
}
.gate-cta-btn {
  background: linear-gradient(135deg, #FF6B2C, #FF8F5E);
  color: #000;
  border: none;
  padding: 10px 28px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  transition: opacity 0.15s;
}
.gate-cta-btn:hover { opacity: 0.9; }

/* ─── Investor Gate Banner ─── */
.investor-gate-banner {
  margin: 0 auto;
  max-width: 1200px;
  padding: 0 24px 32px 24px;
}
.investor-gate-content {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 28px;
  background: linear-gradient(135deg, rgba(255,107,44,0.08) 0%, rgba(255,107,44,0.02) 100%);
  border: 1px solid rgba(255,107,44,0.25);
  border-radius: 12px;
}
.investor-gate-icon {
  font-size: 28px;
  flex-shrink: 0;
}
.investor-gate-content strong {
  font-size: 15px;
  color: var(--text);
}
.investor-gate-content p {
  font-size: 13px;
  color: var(--text-muted);
  margin: 2px 0 0 0;
}
.investor-gate-content .gate-cta-btn {
  margin-left: auto;
  flex-shrink: 0;
}/* ─── Saved Searches Bar ─── */
.saved-searches-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  flex-wrap: wrap;
}
.saved-searches-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.saved-searches-list {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.saved-search-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 107, 44, 0.1);
  color: #FF6B2C;
  border: 1px solid rgba(255, 107, 44, 0.25);
  padding: 5px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  transition: all 0.15s;
}
.saved-search-chip:hover {
  background: rgba(255, 107, 44, 0.2);
  border-color: rgba(255, 107, 44, 0.4);
}
.saved-search-delete {
  color: rgba(255, 107, 44, 0.5);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  margin-left: 2px;
}
.saved-search-delete:hover { color: #ef4444; }

/* ─── Alert Preferences Panel ─── */
.alert-preferences-panel {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 20px;
  margin-top: 16px;
}
.alert-prefs-header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 16px;
}
.alert-prefs-icon { font-size: 20px; }
.alert-prefs-header strong {
  display: block;
  font-size: 14px;
  color: #fff;
  margin-bottom: 2px;
}
.alert-prefs-header p {
  font-size: 12px;
  color: var(--text-muted);
}
.alert-prefs-body {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.alert-prefs-section {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.alert-pref-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary);
  min-width: 100px;
}
.alert-pref-checks {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.alert-pref-checks label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: var(--text-secondary);
  cursor: pointer;
}
.alert-pref-checks input[type="checkbox"] {
  accent-color: #FF6B2C;
}
.alert-pref-select {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 6px;
  color: #fff;
  padding: 6px 10px;
  font-size: 12px;
  font-family: 'Inter', sans-serif;
}
.alert-prefs-email {
  display: flex;
  align-items: center;
}
.alert-prefs-email label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: var(--text-secondary);
  cursor: pointer;
}
.alert-pref-coming-soon {
  background: rgba(255,107,44,0.1);
  color: #FF6B2C;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 10px;
  margin-left: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.alert-pref-save-btn {
  align-self: flex-start;
  background: rgba(255,107,44,0.12);
  color: #FF6B2C;
  border: 1px solid rgba(255,107,44,0.3);
  padding: 8px 20px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  transition: all 0.15s;
  margin-top: 4px;
}
.alert-pref-save-btn:hover {
  background: rgba(255,107,44,0.2);
}

/* ═══════════════════════════════════════════════════════════════════════
   OPTI — AI ASSISTANT CHAT WIDGET
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Floating Action Button ── */
.opti-fab {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: linear-gradient(135deg, #FF6B2C 0%, #FF8147 100%);
  border: none;
  cursor: pointer;
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(255, 107, 44, 0.35), 0 0 40px rgba(255, 107, 44, 0.10);
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s ease;
}
.opti-fab:hover {
  transform: scale(1.08);
  box-shadow: 0 6px 28px rgba(255, 107, 44, 0.45), 0 0 60px rgba(255, 107, 44, 0.15);
}
.opti-fab:active {
  transform: scale(0.95);
}
.opti-fab svg {
  width: 28px;
  height: 28px;
  fill: #000;
  transition: transform 0.25s ease;
}
.opti-fab.open svg.opti-icon-chat { display: none; }
.opti-fab:not(.open) svg.opti-icon-close { display: none; }
.opti-fab.open svg.opti-icon-close { display: block; }
.opti-fab-badge {
  position: absolute;
  top: -2px;
  right: -2px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #22c55e;
  border: 2px solid #000;
  animation: optiBadgePulse 2s ease-in-out infinite;
}
@keyframes optiBadgePulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.7; transform: scale(0.85); }
}

/* ── Chat Panel ── */
.opti-panel {
  position: fixed;
  bottom: 96px;
  right: 24px;
  width: 400px;
  max-height: 560px;
  background: var(--bg-card);
  border: 1px solid var(--border-hover);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg), 0 0 40px rgba(255, 107, 44, 0.06);
  z-index: 8999;
  display: flex;
  flex-direction: column;
  opacity: 0;
  transform: translateY(16px) scale(0.96);
  pointer-events: none;
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),
              transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.opti-panel.open {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

/* ── Panel Header ── */
.opti-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}
.opti-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, #FF6B2C, #FF8147);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
  flex-shrink: 0;
}
.opti-header-info {
  flex: 1;
  min-width: 0;
}
.opti-header-name {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 700;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  gap: 6px;
}
.opti-header-status {
  font-size: 11px;
  color: var(--text-muted);
  letter-spacing: 0.3px;
}
.opti-online-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
  display: inline-block;
}

/* ── Messages Area ── */
.opti-messages {
  flex: 1;
  overflow-y: auto;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 200px;
  max-height: 360px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,0.08) transparent;
}
.opti-messages::-webkit-scrollbar {
  width: 4px;
}
.opti-messages::-webkit-scrollbar-track {
  background: transparent;
}
.opti-messages::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.08);
  border-radius: 4px;
}

/* ── Message Bubbles ── */
.opti-msg {
  max-width: 85%;
  padding: 10px 14px;
  border-radius: 14px;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--text-primary);
  animation: optiMsgIn 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
@keyframes optiMsgIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
.opti-msg.bot {
  align-self: flex-start;
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-bottom-left-radius: 4px;
}
.opti-msg.user {
  align-self: flex-end;
  background: rgba(255, 107, 44, 0.15);
  border: 1px solid rgba(255, 107, 44, 0.25);
  border-bottom-right-radius: 4px;
}
.opti-msg .opti-msg-company {
  display: inline-block;
  background: rgba(255, 107, 44, 0.10);
  color: var(--accent);
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  margin-top: 6px;
  cursor: pointer;
  transition: background 0.15s;
}
.opti-msg .opti-msg-company:hover {
  background: rgba(255, 107, 44, 0.20);
}
.opti-msg-source {
  display: block;
  font-size: 11px;
  color: var(--text-muted);
  margin-top: 6px;
  font-style: italic;
}

/* Typing indicator */
.opti-typing {
  display: flex;
  gap: 4px;
  padding: 12px 16px;
  align-self: flex-start;
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: 14px;
  border-bottom-left-radius: 4px;
}
.opti-typing-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--text-muted);
  animation: optiTypingBounce 1.4s ease-in-out infinite;
}
.opti-typing-dot:nth-child(2) { animation-delay: 0.2s; }
.opti-typing-dot:nth-child(3) { animation-delay: 0.4s; }
@keyframes optiTypingBounce {
  0%, 60%, 100% { transform: translateY(0); opacity: 0.4; }
  30% { transform: translateY(-6px); opacity: 1; }
}

/* ── Suggested Prompts ── */
.opti-suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 20px 12px;
  flex-shrink: 0;
}
.opti-suggestion {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  color: var(--text-secondary);
  font-size: 12px;
  padding: 6px 12px;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.15s;
  font-family: 'Inter', sans-serif;
  white-space: nowrap;
}
.opti-suggestion:hover {
  border-color: var(--accent);
  color: var(--accent);
  background: rgba(255, 107, 44, 0.06);
}

/* ── Input Area ── */
.opti-input-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-top: 1px solid var(--border);
  flex-shrink: 0;
}
.opti-input {
  flex: 1;
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 10px 16px;
  font-size: 13.5px;
  color: var(--text-primary);
  font-family: 'Inter', sans-serif;
  outline: none;
  transition: border-color 0.15s;
}
.opti-input::placeholder {
  color: var(--text-muted);
}
.opti-input:focus {
  border-color: rgba(255, 107, 44, 0.4);
}
.opti-send-btn {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--accent);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.15s, transform 0.15s;
}
.opti-send-btn:hover {
  background: var(--accent-hover);
  transform: scale(1.05);
}
.opti-send-btn:disabled {
  opacity: 0.4;
  cursor: default;
  transform: none;
}
.opti-send-btn svg {
  width: 18px;
  height: 18px;
  fill: #000;
}

/* ── Powered-by footer ── */
.opti-footer {
  text-align: center;
  padding: 6px 16px 10px;
  font-size: 10px;
  color: var(--text-muted);
  letter-spacing: 0.3px;
  flex-shrink: 0;
}

/* ── Mobile Responsive ── */
@media (max-width: 480px) {
  .opti-panel {
    right: 8px;
    left: 8px;
    bottom: 88px;
    width: auto;
    max-height: 70vh;
  }
  .opti-fab {
    bottom: 16px;
    right: 16px;
    width: 52px;
    height: 52px;
  }
  .opti-fab svg {
    width: 24px;
    height: 24px;
  }
  .opti-messages {
    max-height: 45vh;
  }
}/* ═══ EVENTS SECTION ═══ */

.events-section {
  padding: 80px 0;
  background: var(--bg-primary);
  border-bottom: 1px solid var(--border);
}

.events-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 20px;
  margin-top: 32px;
}

.event-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: border-color var(--transition), box-shadow var(--transition);
}

.event-card:hover {
  border-color: var(--border-hover);
  box-shadow: var(--glow);
}

.event-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.event-type-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 4px 10px;
  border-radius: 20px;
}

.event-status {
  font-size: 11px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 12px;
}

.event-status.accepting {
  background: rgba(34, 197, 94, 0.12);
  color: #22c55e;
}

.event-status.upcoming {
  background: rgba(96, 165, 250, 0.12);
  color: #60a5fa;
}

.event-name {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.3;
}

.event-meta {
  display: flex;
  gap: 16px;
  font-size: 13px;
  color: var(--text-secondary);
}

.event-description {
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.6;
  flex: 1;
}

.event-card-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 8px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

.event-capacity {
  font-size: 12px;
  color: var(--text-muted);
  font-weight: 500;
}

.event-rsvp-btn {
  background: var(--accent);
  color: #000;
  border: none;
  padding: 8px 16px;
  border-radius: var(--radius-sm);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: background var(--transition);
}

.event-rsvp-btn:hover {
  background: var(--accent-hover);
}

.events-cta-bar {
  text-align: center;
  margin-top: 32px;
  padding: 20px;
  background: var(--bg-secondary);
  border-radius: var(--radius);
  border: 1px solid var(--border);
  font-size: 14px;
  color: var(--text-secondary);
}

/* ═══ IL30 ENHANCEMENTS ═══ */

.il30-positioning {
  font-size: 15px;
  color: var(--accent);
  font-weight: 600;
  font-style: italic;
  margin-top: 12px;
  text-align: center;
}

.il30-stats-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
  padding: 20px 24px;
  margin: 24px auto 0;
  max-width: 600px;
  background: var(--bg-secondary);
  border-radius: var(--radius);
  border: 1px solid var(--border);
}

.il30-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}

.il30-stat-number {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 700;
  color: var(--text-primary);
}

.il30-stat-label {
  font-size: 11px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.il30-stat-divider {
  width: 1px;
  height: 28px;
  background: var(--border);
}

.il30-stat-highlight .il30-stat-number {
  color: var(--accent);
}
/* ── RAG Badge (AI-enhanced indicator) ── */
.opti-rag-badge {
  display: inline-block;
  font-size: 9px;
  padding: 2px 6px;
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
  border-radius: 4px;
  margin-left: 8px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  vertical-align: middle;
}

/* ─── MOBILE GRID OVERRIDES (consolidated) ─── */


/* ═══════════════════════════════════════════════════════
   CONSOLIDATED MOBILE OVERRIDES (max-width: 768px)
   ═══════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .nav {
padding: 0 16px;
    height: 60px;
padding: 0 16px;
    height: 52px;
  }

  .nav-search {
    display: none;
  }

  .nav-links {
display: none;
    position: fixed;
    top: 60px;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--bg);
    flex-direction: column;
    align-items: stretch;
    padding: 24px;
    gap: 8px;
    overflow-y: auto;
    z-index: 999;
display: none;
    position: fixed;
    top: 52px;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.97);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--border);
    flex-direction: column;
    padding: 16px;
    gap: 12px;
  }

  .nav-links.open {
    display: flex;
  }

  .nav-links a.nav-link {
    padding: 14px 16px;
    font-size: 16px;
    background: var(--bg-tertiary);
    border-radius: var(--radius-sm);
    display: block;
  }

  .nav-dropdown {
    width: 100%;
  }

  .nav-link-main {
    width: 100%;
    justify-content: space-between;
    padding: 14px 16px;
    font-size: 16px;
    background: var(--bg-tertiary);
    border-radius: var(--radius-sm);
  }

  .nav-dropdown-content {
    position: static;
    transform: none;
    opacity: 1;
    visibility: visible;
    display: none;
    min-width: auto;
    box-shadow: none;
    background: var(--bg-secondary);
    margin-top: 4px;
    border-radius: var(--radius-sm);
  }

  .nav-dropdown.open .nav-dropdown-content {
    display: block;
  }

  .nav-dropdown-content a {
    padding: 12px 20px;
    font-size: 14px;
  }

  .nav-cta {
    margin-top: 16px;
    text-align: center;
    padding: 14px 24px !important;
    font-size: 15px !important;
  }

  .mobile-menu-btn {
    display: flex;
  }

  .hero-actions {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  .hero-btn {
    width: 100%;
    max-width: 280px;
    justify-content: center;
  }

  .hero-title {
    font-size: 28px !important;
    line-height: 1.2;
  }

  .ai-query-input-container {
    flex-direction: column;
  }

  .ai-query-btn {
    width: 100%;
  }

  .nav-title {
    font-size: 11px;
    letter-spacing: 1px;
  }

  .hero {
    padding: 80px 20px 48px;
  }

  .hero-stats {
    gap: 20px;
  }

  .stat-number {
    font-size: 28px;
  }

  .section {
    padding: 48px 0;
  }

  .container {
    padding: 0 16px;
  }

  .filter-bar {
    flex-direction: column;
    align-items: stretch;
  }

  .filter-dropdowns {
    flex-wrap: wrap;
  }

  .company-grid {
    grid-template-columns: 1fr;
  }

  .sectors-grid {
    grid-template-columns: 1fr;
  }

  .footer-content {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  #innovators-map {
    height: 350px;
  }

  .filter-chips {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 8px;
    -webkit-overflow-scrolling: touch;
  }

  .chip {
    flex-shrink: 0;
  }

  .featured-card {
    flex: 0 0 280px;
  }

  .modal-body {
    padding: 24px;
  }

  .modal-name {
    font-size: 24px;
  }

  .modal-stats {
    grid-template-columns: 1fr !important;
  }

  .compare-bar.visible {
    bottom: 16px;
  }

  .compare-bar-inner {
    padding: 6px 8px 6px 14px;
    font-size: 12px;
    border-radius: 30px;
  }

  .movement-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .movement-date {
    align-self: flex-end;
  }

  .radar-chart svg {
    max-width: 220px;
  }

  .co-invest-graph {
    height: 350px;
  }

  .co-invest-legend {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .legend-note {
    margin-left: 0;
  }

  .follow-on-grid {
    grid-template-columns: 1fr;
  }

  .follower-companies {
    display: none;
  }

  .ct-leaderboard-grid,
  .ct-validation-grid {
    grid-template-columns: 1fr;
  }

  .ct-tabs {
    width: 100%;
  }

  .ct-tab {
    flex: 1;
    text-align: center;
  }

  .ct-double-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .ct-company-vc-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .anomaly-grid {
    grid-template-columns: 1fr;
  }

  .anomaly-card {
    padding: 16px;
  }

  .anomaly-company-name {
    font-size: 16px;
  }

  .tier-access-banner {
    flex-direction: column;
    gap: 12px;
  }

  .tier-divider {
    width: 80%;
    height: 1px;
  }

  .from-source-grid {
    grid-template-columns: 1fr;
  }

  .pc-title {
    font-size: 28px;
  }

  .score-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .score-total {
    grid-column: span 2;
  }

  .i50-detail-milestones {
    grid-template-columns: 1fr;
  }

  .i50-detail-header {
    flex-direction: column;
    text-align: center;
  }

  .i50-detail-conviction {
    margin-left: 0;
  }

  .innovator50-title {
    font-size: 28px;
  }

  .i50-card {
    grid-template-columns: 60px 1fr;
    padding: 16px;
    gap: 12px;
  }

  .i50-rank {
    font-size: 22px;
  }

  .i50-company-name {
    font-size: 16px;
  }

  .i50-thesis {
    font-size: 13px;
    padding: 10px;
  }

  .innovator50-controls {
    flex-direction: column;
    align-items: stretch;
  }

  .fn-grid { grid-template-columns: 1fr; }

  .field-notes-section { padding: 40px 16px; }

  .funding-row {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .funding-row-header { display: none; }

  .momentum-row {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .momentum-sector-name { margin-bottom: 4px; }

  .market-pulse-grid { gap: 8px; }

  .pulse-card { flex: 0 0 140px; padding: 12px; }

  .ipo-grid { grid-template-columns: 1fr; }

  .leaderboard-controls {
    flex-direction: column;
    align-items: flex-start;
  }

  .leaderboard-filters {
    width: 100%;
  }

  .lb-filter-select {
    flex: 1;
    min-width: 0;
    font-size: 12px;
    padding: 6px 8px;
  }

  .leaderboard-row {
    grid-template-columns: 35px 1fr 80px;
    gap: 8px;
    padding: 10px 12px;
  }

  .leaderboard-bar,
  .leaderboard-raised,
  .leaderboard-stage {
    display: none;
  }

  .leaderboard-valuation {
    font-size: 14px;
  }

  .news-ticker-bar { height: 36px; }

  .ticker-item { font-size: 12px; }

  .vc-grid {
    grid-template-columns: 1fr;
  }

  .vc-card-header {
    flex-direction: column;
    gap: 10px;
  }

  .vc-card-aum {
    align-self: flex-start;
  }

  .overlap-cards {
    grid-template-columns: 1fr;
  }

  .vc-modal-stats {
    grid-template-columns: repeat(2, 1fr);
  }

  .vc-overlap-item {
    flex-direction: column;
    align-items: flex-start;
  }

  .sector-capital-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .digest-card {
    flex: 0 0 300px;
  }

  .iscore-row {
    grid-template-columns: 35px 1fr 70px;
    gap: 8px;
    padding: 10px 12px;
  }

  .iscore-dimensions, .iscore-note { display: none; }

  .patent-grid { grid-template-columns: 1fr; }

  .alt-data-row {
    grid-template-columns: 1fr 80px 60px;
    gap: 6px;
    padding: 10px 12px;
  }

  .alt-data-traffic, .alt-data-sentiment, .alt-data-key-signal { display: none; }

  .iscore-dimension-legend { gap: 8px; flex-wrap: wrap; }

  .iscore-dim { font-size: 11px; }

  .gov-tabs { flex-wrap: wrap; }

  .gov-key-contract { flex-wrap: wrap; }

  .gov-heatmap-wrapper { font-size: 10px; }

  .modal-iscore-dim { grid-template-columns: 120px 1fr 35px; }

  .modal-altdata-grid { grid-template-columns: 1fr; }

  .trl-legend { gap: 4px; }

  .trl-legend-item { padding: 2px 6px; }

  .trl-company-note { display: none; }

  .trl-row { padding: 14px; }

  .trl-row-companies { gap: 6px; }

  .trl-company-chip { padding: 6px 10px; }

  .trl-controls { flex-direction: column; gap: 8px; }

  .trl-filter-select { min-width: 0; width: 100%; }

  .trl-velocity-stats { flex-direction: column; gap: 10px; padding: 12px 14px; }

  .trl-velocity-badge { font-size: 9px; padding: 1px 6px; }

  .deal-row {
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    padding: 10px 12px;
  }

  .deal-header { display: none; }

  .deal-round-col, .deal-date-col, .deal-role-col { display: none; }

  .signals-grid { grid-template-columns: 1fr; }

  .market-map-grid { grid-template-columns: 1fr; }

  .market-map-card { padding: 16px; }

  .market-map-header { flex-direction: column; align-items: flex-start; gap: 6px; }

  .mafia-grid { grid-template-columns: 1fr; }

  .mafia-company-founders { display: none; }

  .revenue-row {
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    padding: 10px 12px;
  }

  .revenue-header { display: none; }

  .rev-period-col, .rev-source-col { display: none; }

  .revenue-grid { grid-template-columns: repeat(2, 1fr); }

  .rfs-grid { grid-template-columns: 1fr; }

  #network-canvas { height: 400px; }

  .network-controls { flex-direction: column; align-items: flex-start; }

  .network-legend { margin-left: 0; }

  .portfolio-chart-row { grid-template-columns: 1fr; }

  .portfolio-metrics-row { grid-template-columns: repeat(2, 1fr); }

  .portfolio-holding-row { grid-template-columns: 1fr 80px 40px; }

  .ph-sector, .ph-valuation { display: none; }

  .scenario-controls { flex-direction: column; }

  .memo-output { padding: 20px; }

  .feed-item { grid-template-columns: 60px 1fr; }

  .feed-impact { display: none; }

  .feed-controls { flex-direction: column; }

  .reports-grid { grid-template-columns: 1fr; }

  .community-layout { grid-template-columns: 1fr; }

  .value-prop-content { flex-direction: column; text-align: center; }

  .value-prop-text { flex-direction: column; }

  .mid-cta-actions { flex-direction: column; }

  .mid-cta-box { padding: 24px; }

  .command-bar {
    max-width: 95%;
    margin: 0 auto;
  }

  .signals-panel {
    width: 100%;
  }

  .screener-filters {
    grid-template-columns: 1fr;
  }

  .watchlist-kanban {
    grid-template-columns: 1fr;
    overflow-x: auto;
  }

  .expert-grid {
    grid-template-columns: 1fr;
  }

  .network-status-bar {
    display: none;
  }

  .thesis-collision-map {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 8px;
  }

  .thesis-detail-companies {
    grid-template-columns: 1fr;
  }

  .secondary-grid,
  .predictive-grid {
    grid-template-columns: 1fr;
  }

  .secondary-metrics {
    grid-template-columns: repeat(2, 1fr);
  }

  .alert-filters {
    width: 100%;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 8px;
  }

  .predictive-tabs {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 8px;
  }

  .prediction-highlight {
    grid-template-columns: 1fr;
  }

  .subscribe-box {
    flex-direction: column;
    text-align: center;
  }

  .section-timestamp {
    margin-left: 0;
    margin-top: 8px;
    font-size: 10px;
  }

  .data-freshness-indicator {
    flex-wrap: wrap;
    justify-content: center;
  }

  .automation-status {
    grid-template-columns: 1fr;
  }

  .vod-stages { flex-direction: column; }

  .vod-arrow { display: none; }

  .vod-summary { grid-template-columns: repeat(2, 1fr); }

  .vod-detail-grid { grid-template-columns: 1fr; }

  .vod-timeline-row { grid-template-columns: 120px 1fr 80px; gap: 8px; padding: 10px 12px; }

  .vod-timeline-company { font-size: 0.75rem; }

  .vod-timeline-stage-labels {
display: none;
grid-template-columns: repeat(3, 1fr);
  }

  .award-card { flex-direction: column; gap: 12px; }

  .award-card-left { min-width: auto; }

  .award-card-right { text-align: left; }

  .xray-grid { grid-template-columns: 1fr; }

  .xray-metrics { grid-template-columns: repeat(3, 1fr); gap: 8px; }

  .readiness-grid {
    grid-template-columns: 1fr;
  }

  .readiness-metrics {
    grid-template-columns: repeat(2, 1fr);
  }

  .historical-controls {
    flex-direction: column;
  }

  .timeline-event {
    grid-template-columns: 60px 16px 1fr;
  }

  .timeline-value {
    grid-column: 3;
    margin-top: -8px;
  }

  .gov-demand-grid {
    grid-template-columns: 1fr;
  }

  .gov-demand-summary {
    flex-direction: column;
    gap: 16px;
  }

  .network-tools {
    flex-direction: column;
    width: 100%;
  }

  .network-search {
    width: 100%;
  }

  .network-degrees-btn,
  .network-export-btn {
    width: 100%;
    text-align: center;
  }

  .discovery-tabs {
    gap: 2px;
    padding: 12px 8px;
  }

  .discovery-tab {
    padding: 10px 14px;
    font-size: 13px;
  }

  .discovery-tab .tab-label {
    display: none;
  }

  .discovery-tab .tab-icon {
    font-size: 20px;
  }

  #innovators-map-primary {
    height: 50vh;
    min-height: 350px;
  }

  .map-overlay-stats {
    bottom: 12px;
    left: 12px;
    padding: 10px 14px;
  }

  .map-stat-number {
    font-size: 18px;
  }

  .filter-bar-inline {
    flex-direction: column;
    align-items: stretch;
  }

  .search-box-inline {
    max-width: none;
  }

  .company-grid-inline {
    grid-template-columns: 1fr;
  }

  .db-view-toggle {
    margin: 0 auto 16px;
  }

  .db-view-btn {
    padding: 6px 12px;
    font-size: 12px;
  }

  .investor-gate-content {
    flex-direction: column;
    text-align: center;
    gap: 12px;
  }

  .investor-gate-content .gate-cta-btn {
    margin-left: 0;
  }

  .opti-panel {
    width: 360px;
  }

  .events-grid {
    grid-template-columns: 1fr;
  }

  .il30-stats-bar {
    gap: 16px;
    padding: 16px;
  }

  .il30-stat-number {
    font-size: 18px;
  }

  .loading-grid { grid-template-columns: 1fr; }

  .form-row { grid-template-columns: 1fr; }

  .modal-related-grid { grid-template-columns: 1fr; }

  .modal-similar-grid { grid-template-columns: 1fr; }

  .headcount-chart-row { flex-direction: column; }
  .headcount-stats-col { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 12px; }

  .active-deployers-grid { grid-template-columns: 1fr; }

  .innovator50-preview { grid-template-columns: 1fr; }

  .differentiator-grid { grid-template-columns: 1fr; }

  .compare-iscore-dims { grid-template-columns: 1fr; }

  .community-grid { grid-template-columns: 1fr; }

  .deal-prediction-row { grid-template-columns: 1fr; }

}

/* ─── MOBILE RESPONSIVE FIXES ─── */

/* Force horizontal scroll on data tables */
.table-wrapper,
.leaderboard-table-wrap,
.pipeline-table-container {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* Stack compare grid on mobile */
@media (max-width: 768px) {
  .compare-modal-body {
    grid-template-columns: 1fr !important;
  }

  .compare-grid {
    grid-template-columns: 1fr !important;
  }

  /* Modal responsive */
  .modal-overlay .modal-content,
  .deep-dive-overlay,
  .compare-modal {
    width: 95vw !important;
    max-width: 95vw !important;
    margin: 16px auto;
    padding: 16px !important;
  }

  /* Hide sticky section nav dots on mobile */
  .section-nav {
    display: none !important;
  }

  /* Hero stats grid responsive */
  .hero-stats-grid,
  .il30-stats-bar {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px;
  }

  /* Company cards grid */
  .company-grid {
    grid-template-columns: 1fr !important;
  }

  /* Search bar full width on mobile */
  .search-container {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Nav links dropdown positioning */
  .nav-links.open {
    position: fixed;
    top: 60px;
    left: 0;
    right: 0;
    background: var(--bg-card, #0a0a0f);
    z-index: 1000;
    padding: 16px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    flex-direction: column;
    gap: 8px;
  }

  /* Dashboard stat cards */
  .stats-row,
  .stat-cards,
  .hero-counters {
    flex-wrap: wrap;
    gap: 8px;
  }

  .stats-row > *,
  .stat-cards > * {
    min-width: 45%;
    flex: 1 1 45%;
  }

  /* Score breakdown mini */
  .score-breakdown-mini {
    flex-direction: column;
  }

  /* Company profile hero */
  .hero-top-row {
    flex-direction: column !important;
    gap: 16px;
  }

  .hero-score-card {
    align-self: flex-start;
  }

  /* Funding timeline */
  .funding-round {
    flex-direction: column;
    gap: 4px;
  }

  /* Contract items */
  .contract-header {
    flex-direction: column;
    gap: 4px;
  }

  /* Competitor grid */
  .competitor-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Moat dimensions */
  .moat-dimensions-grid {
    grid-template-columns: 1fr !important;
  }

  /* Alt data grid */
  .alt-data-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Stock details */
  .stock-details-grid {
    grid-template-columns: 1fr !important;
  }

  /* Reduce padding on mobile */
  .section-container,
  .profile-section {
    padding: 16px 12px;
  }

  /* News ticker */
  .news-ticker {
    font-size: 12px;
  }
}

@media (max-width: 480px) {
  .hero-stats-grid,
  .il30-stats-bar {
    grid-template-columns: 1fr !important;
  }

  .competitor-grid {
    grid-template-columns: 1fr !important;
  }

  .alt-data-grid {
    grid-template-columns: 1fr !important;
  }

  .stats-row > *,
  .stat-cards > * {
    min-width: 100%;
    flex: 1 1 100%;
  }
}

/* Print styles for export */
@media print {
  .navbar, .mobile-menu-btn, .section-nav, .news-ticker-container,
  .auth-modal-overlay, .search-container, .bookmark-btn, .compare-btn,
  footer, .chat-widget {
    display: none !important;
  }

  body {
    background: white !important;
    color: black !important;
  }

  .card-glass, .profile-section {
    background: white !important;
    border: 1px solid #ddd !important;
    box-shadow: none !important;
  }

  * {
    color: black !important;
    -webkit-text-fill-color: black !important;
  }

  .score-card-value, .score-dim-mini-fill, .moat-dim-fill {
    -webkit-text-fill-color: inherit !important;
  }
}

/* ─── SCORE DELTA BADGES ─── */
.score-delta {
  font-size: 11px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 4px;
  margin-left: 6px;
  display: inline-block;
}
.score-delta.delta-up {
  color: #22c55e;
  background: rgba(34, 197, 94, 0.08);
}
.score-delta.delta-down {
  color: #ef4444;
  background: rgba(239, 68, 68, 0.08);
}

/* ─── WEEKLY MOVERS SECTION ─── */
.movers-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 16px;
}
.movers-column h3 {
  font-size: 14px;
  margin-bottom: 12px;
  color: var(--text-secondary, rgba(240,240,250,0.68));
}
.mover-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  background: rgba(255,255,255,0.03);
  border-radius: 8px;
  margin-bottom: 6px;
  cursor: pointer;
  transition: background 0.2s;
}
.mover-item:hover {
  background: rgba(255,255,255,0.06);
}
.mover-name {
  font-size: 14px;
  font-weight: 500;
}
.mover-score {
  font-size: 13px;
  color: var(--text-muted, rgba(240,240,250,0.45));
}
@media (max-width: 768px) {
  .movers-grid { grid-template-columns: 1fr; }
}

/* ─── SEARCH MATCHED FIELD HIGHLIGHT ─── */
.search-match-field {
  font-size: 10px;
  color: #a78bfa;
  background: rgba(167, 139, 250, 0.1);
  padding: 1px 5px;
  border-radius: 3px;
  margin-left: 6px;
}
.search-view-all {
  text-align: center;
  padding: 8px 12px;
  font-size: 13px;
  color: #60a5fa;
  cursor: pointer;
  border-top: 1px solid rgba(255,255,255,0.06);
  transition: background 0.2s;
}
.search-view-all:hover {
  background: rgba(96, 165, 250, 0.08);
}

/* ─── KEYBOARD NAV HIGHLIGHT ─── */
.card-highlighted {
  outline: 2px solid var(--accent, #FF6B2C) !important;
  outline-offset: 2px;
  box-shadow: 0 0 20px rgba(255, 107, 44, 0.15) !important;
}

/* ─── DATA HEALTH DASHBOARD ─── */
.data-health-grid {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.health-summary {
  display: flex;
  gap: 16px;
  margin-bottom: 16px;
  padding: 12px 16px;
  background: rgba(255,255,255,0.03);
  border-radius: 8px;
}
.health-summary-item {
  font-size: 14px;
  font-weight: 600;
}
.health-summary-item.health-active { color: #22c55e; }
.health-summary-item.health-empty { color: #f59e0b; }
.health-summary-item.health-missing { color: #ef4444; }
.health-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.06);
  background: rgba(255,255,255,0.02);
}
.health-card.health-active { border-left: 3px solid #22c55e; }
.health-card.health-empty { border-left: 3px solid #f59e0b; }
.health-card.health-missing { border-left: 3px solid #ef4444; }
.health-icon { font-size: 20px; }
.health-info { flex: 1; }
.health-name { font-size: 13px; font-weight: 500; }
.health-count { font-size: 11px; color: rgba(255,255,255,0.5); }
.health-status {
  font-size: 11px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 4px;
}
.health-active .health-status { background: #22c55e15; color: #22c55e; }
.health-empty .health-status { background: #f59e0b15; color: #f59e0b; }
.health-missing .health-status { background: #ef444415; color: #ef4444; }

/* ─── IL30 SHOWCASE ─── */
.il30-showcase-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
  margin-top: 24px;
  align-items: stretch;
}
.il30-card {
  background: linear-gradient(135deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.01) 100%);
  border: 1px solid rgba(245, 158, 11, 0.25);
  border-radius: 14px;
  padding: 22px;
  transition: all 0.3s ease;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 380px;
  position: relative;
  overflow: hidden;
}
.il30-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, rgba(245, 158, 11, 0.6), rgba(255, 107, 44, 0.6));
  opacity: 0.7;
  transition: opacity 0.3s;
}
.il30-card:hover {
  border-color: rgba(245, 158, 11, 0.55);
  background: linear-gradient(135deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.02) 100%);
  transform: translateY(-3px);
  box-shadow: 0 12px 40px rgba(245, 158, 11, 0.12);
}
.il30-card:hover::before {
  opacity: 1;
}
.il30-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.il30-rank {
  font-size: 13px;
  font-weight: 800;
  font-family: 'SF Mono', 'Fira Code', monospace;
  color: rgba(245, 158, 11, 0.7);
  background: rgba(245, 158, 11, 0.08);
  padding: 4px 10px;
  border-radius: 6px;
  border: 1px solid rgba(245, 158, 11, 0.2);
  flex-shrink: 0;
}
.il30-card-badges {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.il30-sector-badge {
  padding: 3px 9px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 600;
  white-space: nowrap;
}
.il30-card-name {
  font-size: 19px;
  font-weight: 700;
  font-family: 'Space Grotesk', sans-serif;
  margin-bottom: 4px;
  color: rgba(240, 240, 250, 0.98);
  line-height: 1.2;
}
.il30-card-founder {
  font-size: 11px;
  color: rgba(240, 240, 250, 0.4);
  margin-bottom: 10px;
  font-family: 'SF Mono', monospace;
}
.il30-card-founder strong {
  color: rgba(240, 240, 250, 0.7);
  font-weight: 600;
}
.il30-card-desc {
  font-size: 13px;
  color: rgba(240,240,250,0.6);
  line-height: 1.55;
  margin-bottom: 14px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 60px;
}
.il30-card-insight {
  font-size: 12px;
  color: rgba(240,240,250,0.72);
  line-height: 1.55;
  padding: 12px 14px;
  background: rgba(255, 107, 44, 0.06);
  border-left: 2px solid rgba(255, 107, 44, 0.45);
  border-radius: 0 8px 8px 0;
  margin-bottom: 14px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 80px;
}
.il30-insight-label {
  display: block;
  font-weight: 700;
  color: #FF6B2C;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 6px;
  font-family: 'SF Mono', monospace;
}
.il30-card-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,0.06);
  margin-top: auto;
}
.il30-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.il30-stat-label {
  font-size: 9px;
  color: rgba(255,255,255,0.35);
  text-transform: uppercase;
  letter-spacing: 0.8px;
  font-weight: 600;
}
.il30-stat-value {
  font-size: 12px;
  color: rgba(240, 240, 250, 0.88);
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ros-connected-mini {
  font-size: 10px;
  padding: 2px 7px;
  border-radius: 3px;
  background: rgba(255, 107, 44, 0.12);
  color: #FF6B2C;
  font-weight: 700;
  letter-spacing: 0.3px;
}
.conviction-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 8px;
  border-radius: 3px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.5px;
  font-family: 'SF Mono', monospace;
  white-space: nowrap;
}
.conviction-strong-buy { background: rgba(34,197,94,0.12); color: #22c55e; border: 1px solid rgba(34,197,94,0.25); }
.conviction-buy { background: rgba(59,130,246,0.12); color: #60a5fa; border: 1px solid rgba(59,130,246,0.25); }
.conviction-watch { background: rgba(245,158,11,0.12); color: #f59e0b; border: 1px solid rgba(245,158,11,0.25); }
.conviction-caution { background: rgba(239,68,68,0.12); color: #ef4444; border: 1px solid rgba(239,68,68,0.25); }
@media (max-width: 768px) {
  .il30-showcase-grid { grid-template-columns: 1fr; gap: 14px; }
  .il30-card { min-height: 340px; padding: 18px; }
  .il30-card-name { font-size: 17px; }
}

/* ─── PREMIUM FOOTER ─── */
.premium-footer {
  background: linear-gradient(180deg, rgba(5,5,7,0) 0%, rgba(5,5,7,1) 20%);
  border-top: 1px solid rgba(255,255,255,0.06);
  padding: 64px 24px 32px;
  margin-top: 80px;
}
.footer-inner {
  max-width: 1100px;
  margin: 0 auto;
}
.footer-main {
  display: grid;
  grid-template-columns: 1.2fr 2fr;
  gap: 48px;
  margin-bottom: 48px;
}
.footer-logo {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 1px;
  margin-bottom: 12px;
}
.footer-ros {
  background: #FF6B2C;
  color: #000;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
  margin-right: 8px;
}
.premium-footer .footer-tagline {
  font-size: 13px;
  color: rgba(255,255,255,0.4);
  line-height: 1.6;
  max-width: 280px;
}
.premium-footer .footer-links {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.premium-footer .footer-col h4 {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  margin-bottom: 12px;
}
.premium-footer .footer-col a {
  display: block;
  font-size: 13px;
  color: rgba(255,255,255,0.4);
  text-decoration: none;
  padding: 4px 0;
  transition: color 0.2s;
}
.premium-footer .footer-col a:hover {
  color: #FF6B2C;
}
.premium-footer .footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid rgba(255,255,255,0.06);
  padding-top: 20px;
  flex-wrap: wrap;
  gap: 12px;
}
.premium-footer .footer-bottom p {
  font-size: 12px;
  color: rgba(255,255,255,0.25);
  margin: 0;
}
.footer-data-freshness {
  font-size: 11px;
  color: rgba(255,255,255,0.2);
  font-family: 'SF Mono', monospace;
}
@media (max-width: 768px) {
  .footer-main { grid-template-columns: 1fr; gap: 32px; }
  .premium-footer .footer-links { grid-template-columns: repeat(2, 1fr); }
  .premium-footer { padding: 40px 16px 24px; }
}

/* ─── CONVICTION STACK ─── */
#conviction-stack {
  padding: 48px 24px;
  max-width: 900px;
  margin: 0 auto;
}
.conviction-stack-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 20px;
}
.cs-item {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 16px 20px;
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  transition: all 0.2s;
}
.cs-item:hover {
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.12);
}
.cs-item-left {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 260px;
  flex-shrink: 0;
}
.cs-badge {
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.5px;
  font-family: 'SF Mono', monospace;
  white-space: nowrap;
}
.cs-strong-buy { background: rgba(34,197,94,0.12); color: #22c55e; border: 1px solid rgba(34,197,94,0.25); }
.cs-buy { background: rgba(59,130,246,0.12); color: #60a5fa; border: 1px solid rgba(59,130,246,0.25); }
.cs-watch { background: rgba(245,158,11,0.12); color: #f59e0b; border: 1px solid rgba(245,158,11,0.25); }
.cs-caution { background: rgba(239,68,68,0.12); color: #ef4444; border: 1px solid rgba(239,68,68,0.25); }
.cs-company {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.cs-company-name {
  font-size: 15px;
  font-weight: 600;
}
.cs-sector {
  font-size: 11px;
}
.cs-item-right {
  flex: 1;
}
.cs-insight {
  font-size: 13px;
  color: rgba(240,240,250,0.6);
  line-height: 1.5;
  margin: 0 0 4px 0;
}
.cs-source {
  font-size: 11px;
  color: rgba(255,255,255,0.25);
  font-family: 'SF Mono', monospace;
}
@media (max-width: 768px) {
  .cs-item { flex-direction: column; align-items: flex-start; gap: 10px; }
  .cs-item-left { min-width: auto; }
}

/* ─── SUBSCRIBE BANNER ─── */
.subscribe-banner {
  max-width: 800px;
  margin: 80px auto 0;
  padding: 40px 32px;
  background: linear-gradient(135deg, rgba(255, 107, 44, 0.1) 0%, rgba(255, 107, 44, 0.03) 100%);
  border: 1px solid rgba(255, 107, 44, 0.2);
  border-radius: 16px;
  text-align: center;
}
.subscribe-banner h3 {
  font-size: 24px;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  margin-bottom: 8px;
  color: rgba(240, 240, 250, 0.95);
}
.subscribe-banner p {
  font-size: 15px;
  color: rgba(240, 240, 250, 0.55);
  max-width: 500px;
  margin: 0 auto 20px;
  line-height: 1.6;
}
.subscribe-banner-btn {
  display: inline-block;
  padding: 12px 32px;
  background: #FF6B2C;
  color: #000;
  font-weight: 700;
  font-size: 14px;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s;
  letter-spacing: 0.3px;
}
.subscribe-banner-btn:hover {
  background: #ff8f5a;
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(255, 107, 44, 0.25);
}
.subscribe-banner-note {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.3);
  margin-top: 12px;
}
@media (max-width: 768px) {
  .subscribe-banner { padding: 28px 20px; margin: 48px 16px 0; }
  .subscribe-banner h3 { font-size: 20px; }
}

/* ─── ABOUT SECTION ─── */
.about-section {
  padding: 64px 24px;
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}
.about-inner {
  position: relative;
}
.about-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  color: #FF6B2C;
  margin-bottom: 16px;
}
.about-headline {
  font-size: 32px;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 20px;
  color: rgba(240, 240, 250, 0.95);
}
.about-body {
  font-size: 16px;
  line-height: 1.7;
  color: rgba(240, 240, 250, 0.6);
  margin-bottom: 16px;
  max-width: 650px;
  margin-left: auto;
  margin-right: auto;
}
.about-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin: 40px 0;
  padding: 24px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
}
.about-stat-value {
  font-size: 36px;
  font-weight: 800;
  font-family: 'Space Grotesk', sans-serif;
  color: #FF6B2C;
  line-height: 1;
  margin-bottom: 4px;
}
.about-stat-label {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.4);
  text-transform: uppercase;
  letter-spacing: 0.8px;
  font-weight: 600;
}
.about-cta-row {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}
.about-cta-primary {
  padding: 12px 28px;
  background: #FF6B2C;
  color: #000;
  font-weight: 700;
  font-size: 14px;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s;
}
.about-cta-primary:hover {
  background: #ff8f5a;
  transform: translateY(-1px);
}
.about-cta-secondary {
  padding: 12px 28px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: rgba(240, 240, 250, 0.7);
  font-weight: 600;
  font-size: 14px;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s;
}
.about-cta-secondary:hover {
  border-color: rgba(255, 255, 255, 0.3);
  color: rgba(240, 240, 250, 0.9);
}
@media (max-width: 768px) {
  .about-headline { font-size: 24px; }
  .about-stats { grid-template-columns: repeat(2, 1fr); }
  .about-section { padding: 40px 16px; }
}

/* ─── PODCAST SECTION ─── */
.podcast-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.podcast-card {
  padding: 20px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  transition: all 0.2s;
  display: block;
}
.podcast-card:hover { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.12); transform: translateY(-2px); }
.podcast-type { font-size: 11px; font-weight: 600; color: #FF6B2C; margin-bottom: 10px; }
.podcast-title { font-size: 15px; font-weight: 600; line-height: 1.4; margin-bottom: 8px; color: rgba(240,240,250,0.9); }
.podcast-guest { font-size: 12px; color: rgba(255,255,255,0.5); margin-bottom: 2px; }
.podcast-company { font-size: 12px; color: #FF6B2C; font-weight: 500; margin-bottom: 8px; }
.podcast-date { font-size: 11px; color: rgba(255,255,255,0.3); font-family: 'SF Mono', monospace; }
