/* ========================================================
   UPSCALERS Q1 2026 — REPORT STYLESHEET
   Light theme, clean, minimal color, professional
   ======================================================== */

@import url('https://fonts.bunny.net/css?family=inter:400,500,600,700|instrument-serif:400i');

/* ── TOKENS ─────────────────────────────────────────────── */
:root, [data-theme="light"] {
  --color-bg:             #F8F7F4;
  --color-surface:        #FFFFFF;
  --color-surface-2:      #F4F3F0;
  --color-border:         #E2E0DC;
  --color-divider:        #EBEBEA;
  --color-text:           #1A1916;
  --color-text-muted:     #6B6A67;
  --color-text-faint:     #B0AFA9;
  --color-primary:        #01696F;
  --color-primary-hover:  #0C4E54;
  --color-primary-light:  #E8F3F3;
  --color-success:        #437A22;
  --color-success-bg:     #EEF5E8;
  --color-warning:        #964219;
  --color-warning-bg:     #FBF0E9;
  --color-error:          #A12C4B;
  --color-error-bg:       #FCEEF2;
  --color-accent-blue:    #006494;
  --color-accent-purple:  #7A39BB;

  --font-body:    'Inter', -apple-system, sans-serif;
  --font-display: 'Inter', sans-serif;

  --text-xs:   clamp(0.75rem,  0.7rem + 0.25vw, 0.8125rem);
  --text-sm:   clamp(0.8125rem, 0.78rem + 0.2vw, 0.9375rem);
  --text-base: clamp(0.9375rem, 0.9rem + 0.2vw, 1.0625rem);
  --text-lg:   clamp(1.0625rem, 1rem + 0.4vw, 1.25rem);
  --text-xl:   clamp(1.25rem,   1.1rem + 0.8vw, 1.75rem);
  --text-2xl:  clamp(1.75rem,   1.4rem + 1.5vw, 2.5rem);

  --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem;
  --space-4: 1rem;    --space-5: 1.25rem;--space-6: 1.5rem;
  --space-8: 2rem;    --space-10: 2.5rem;--space-12: 3rem;
  --space-16: 4rem;   --space-20: 5rem;  --space-24: 6rem;

  --radius-sm: 0.25rem; --radius-md: 0.5rem;
  --radius-lg: 0.75rem; --radius-xl: 1rem;

  --shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.07);
  --shadow-lg: 0 8px 24px rgba(0,0,0,0.09);

  --content: 1120px;
  --transition: 160ms cubic-bezier(0.16, 1, 0.3, 1);
}

[data-theme="dark"] {
  --color-bg:            #141312;
  --color-surface:       #1C1B19;
  --color-surface-2:     #242220;
  --color-border:        #2E2D2A;
  --color-divider:       #252422;
  --color-text:          #CCCAC6;
  --color-text-muted:    #7A7976;
  --color-text-faint:    #4E4D4A;
  --color-primary:       #4F98A3;
  --color-primary-hover: #227F8B;
  --color-primary-light: #1A3135;
  --color-success:       #6DAA45;
  --color-success-bg:    #1C2E15;
  --color-warning:       #BB653B;
  --color-warning-bg:    #2E1A0E;
  --color-error:         #D163A7;
  --color-error-bg:      #2E1020;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.25);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.3);
  --shadow-lg: 0 8px 24px rgba(0,0,0,0.4);
}

/* ── RESET ──────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 80px; -webkit-font-smoothing: antialiased; }
body {
  font-family: var(--font-body);
  font-size: var(--text-base);
  color: var(--color-text);
  background-color: var(--color-bg);
  line-height: 1.65;
}
a { color: var(--color-primary); text-decoration: none; transition: color var(--transition); }
a:hover { color: var(--color-primary-hover); text-decoration: underline; }
img, svg { display: block; max-width: 100%; }
table { border-collapse: collapse; width: 100%; }
button { cursor: pointer; border: none; background: none; font: inherit; color: inherit; }
h1, h2, h3, h4 { line-height: 1.2; text-wrap: balance; }
p, li { max-width: 72ch; text-wrap: pretty; }

/* ── LAYOUT ─────────────────────────────────────────────── */
.container {
  max-width: var(--content);
  margin: 0 auto;
  padding: 0 var(--space-6);
}
@media (max-width: 640px) { .container { padding: 0 var(--space-4); } }

/* ── REAL LOGO ─────────────────────────────────────────── */
.site-logo {
  height: 22px;
  width: auto;
  object-fit: contain;
  display: block;
  border-radius: 3px;
}
/* Light mode: show dark logo (black on white), hide white-on-black */
[data-theme="light"] .site-logo--dark  { display: none; }
[data-theme="light"] .site-logo--light { display: block; }
/* Dark mode: show white logo (white on black), hide black on white */
[data-theme="dark"]  .site-logo--light { display: none; }
[data-theme="dark"]  .site-logo--dark  { display: block; }
/* Default (before JS sets data-theme): show light version */
.site-logo--dark  { display: none; }
.site-logo--light { display: block; }

.footer-logo-img {
  height: 20px;
  width: auto;
  object-fit: contain;
  display: block;
  border-radius: 3px;
}

/* ── HEADER ─────────────────────────────────────────────── */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--color-surface);
  border-bottom: 1px solid var(--color-border);
  backdrop-filter: blur(8px);
}
.header-inner {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  height: 56px;
}
.logo {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-shrink: 0;
}
.logo-text {
  font-weight: 700;
  font-size: var(--text-sm);
  letter-spacing: -0.02em;
  color: var(--color-text);
}
.main-nav {
  display: flex;
  gap: var(--space-6);
  margin-left: auto;
}
.main-nav a {
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-muted);
  text-decoration: none;
  transition: color var(--transition);
}
.main-nav a:hover { color: var(--color-text); text-decoration: none; }
.nav-announce {
  color: var(--color-primary) !important;
  font-weight: 600 !important;
  position: relative;
}
.nav-announce::after {
  content: '';
  position: absolute;
  left: 0; bottom: -2px;
  width: 100%; height: 1px;
  background: var(--color-primary);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--transition);
}
.nav-announce:hover::after { transform: scaleX(1); }
.theme-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px; height: 34px;
  border-radius: var(--radius-md);
  color: var(--color-text-muted);
  transition: background var(--transition), color var(--transition);
}
.theme-toggle:hover { background: var(--color-surface-2); color: var(--color-text); }
@media (max-width: 768px) { .main-nav { display: none; } }

/* ── HERO ────────────────────────────────────────────────── */
.hero {
  padding: var(--space-16) 0 var(--space-12);
  border-bottom: 1px solid var(--color-border);
}
.hero-badge {
  display: inline-block;
  font-size: var(--text-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-primary);
  background: var(--color-primary-light);
  padding: var(--space-1) var(--space-3);
  border-radius: var(--radius-full, 9999px);
  margin-bottom: var(--space-4);
}
.hero-title {
  font-size: var(--text-2xl);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--color-text);
  margin-bottom: var(--space-3);
}
.hero-sub {
  font-size: var(--text-lg);
  color: var(--color-text-muted);
  max-width: 56ch;
  line-height: 1.55;
  margin-bottom: var(--space-5);
}
.hero-meta {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-xs);
  color: var(--color-text-faint);
}
.dot { color: var(--color-text-faint); }

/* ── SECTIONS ────────────────────────────────────────────── */
.section {
  padding: var(--space-16) 0;
}
.section.alt {
  background: var(--color-surface);
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}
.section-label {
  font-size: var(--text-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-primary);
  margin-bottom: var(--space-2);
}
.section-title {
  font-size: var(--text-xl);
  font-weight: 700;
  letter-spacing: -0.025em;
  color: var(--color-text);
  margin-bottom: var(--space-3);
}
.section-desc {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  margin-bottom: var(--space-8);
  max-width: 60ch;
}
.data-note {
  font-size: var(--text-xs);
  color: var(--color-text-faint);
  margin-top: var(--space-4);
}
.data-note a { color: var(--color-text-muted); text-decoration: underline; }

/* ── KPI GRID ────────────────────────────────────────────── */
.kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-4);
}
@media (max-width: 900px) {
  .kpi-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
  .kpi-grid { grid-template-columns: repeat(2, 1fr); }
}
.kpi-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-5) var(--space-5);
  transition: box-shadow var(--transition);
}
.kpi-card:hover { box-shadow: var(--shadow-md); }
.kpi-card.highlight {
  border-color: var(--color-primary);
  background: var(--color-primary-light);
}
.kpi-value {
  font-size: clamp(1.5rem, 1.2rem + 1vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  color: var(--color-text);
  line-height: 1;
  font-variant-numeric: tabular-nums lining-nums;
  margin-bottom: var(--space-2);
}
.kpi-card.highlight .kpi-value { color: var(--color-primary); }
.kpi-label {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: var(--space-1);
}
.kpi-sub {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
}

/* ── BADGES ─────────────────────────────────────────────── */
.badge {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 4px;
  letter-spacing: 0.03em;
}
.badge-seed   { background: #EEF5E8; color: #437A22; }
.badge-growth { background: #E8F0FB; color: #1B4FA0; }
.badge-preipo { background: #F3EEF9; color: #7A39BB; }

/* ── COMPANY CELL (logo + name + desc) ─────────────────── */
.company-cell {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  min-width: 220px;
}
.company-logo-wrap {
  width: 32px;
  height: 32px;
  border-radius: var(--radius-md);
  background: var(--color-surface-2);
  border: 1px solid var(--color-border);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}
.company-logo {
  width: 28px;
  height: 28px;
  object-fit: contain;
  image-rendering: -webkit-optimize-contrast;
}
.company-name {
  display: block;
  font-weight: 600;
  color: var(--color-text);
  font-size: var(--text-sm);
  line-height: 1.3;
}
.company-desc {
  display: block;
  font-size: 0.72rem;
  color: var(--color-text-muted);
  line-height: 1.4;
  margin-top: 2px;
  max-width: 26ch;
  white-space: normal;
}

/* ── PORTFOLIO TABLE ─────────────────────────────────────── */
.table-wrap { overflow-x: auto; border-radius: var(--radius-lg); border: 1px solid var(--color-border); }
.portfolio-table {
  font-size: var(--text-sm);
}
.portfolio-table thead tr {
  background: var(--color-surface-2);
  border-bottom: 1px solid var(--color-border);
}
.portfolio-table th {
  padding: var(--space-3) var(--space-4);
  font-weight: 600;
  color: var(--color-text-muted);
  text-align: left;
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.portfolio-table td {
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--color-divider);
  vertical-align: middle;
  white-space: nowrap;
}
.portfolio-table tbody tr:last-child td { border-bottom: none; }
.portfolio-table tbody tr:hover { background: var(--color-surface-2); }
/* legacy — replaced by .company-cell above */
.multiple { font-weight: 700; font-variant-numeric: tabular-nums; }
.multiple.positive { color: var(--color-success); }
.multiple.neutral  { color: var(--color-text-muted); }
.exit-status {
  font-size: var(--text-xs);
  font-weight: 500;
  padding: 2px 8px;
  border-radius: 4px;
}
.exit-status.none    { background: var(--color-surface-2); color: var(--color-text-muted); }
.exit-status.partial { background: #FFF8E6; color: #925C00; }
.exit-status.full    { background: var(--color-success-bg); color: var(--color-success); }

/* ── CHARTS ─────────────────────────────────────────────── */
.charts-row {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: var(--space-6);
}
@media (max-width: 768px) { .charts-row { grid-template-columns: 1fr; } }
/* Stage breakdown panel (sits next to donut) */
.charts-row-single {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: var(--space-6);
  align-items: center;
}
@media (max-width: 768px) { .charts-row-single { grid-template-columns: 1fr; } }
.stage-breakdown {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}
.stage-group {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
}
.stage-dot {
  width: 12px;
  height: 12px;
  border-radius: 3px;
  flex-shrink: 0;
  margin-top: 4px;
}
.stage-dot.secondary { background: #7A39BB; }
.stage-dot.early     { background: #437A22; }
.stage-name {
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: var(--space-1);
}
.stage-count {
  font-size: var(--text-xs);
  font-weight: 500;
  color: var(--color-text-muted);
  margin-left: var(--space-2);
}
.stage-companies {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  line-height: 1.5;
}
.chart-block {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
}
.chart-title {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: var(--space-4);
}
.chart-wrap { height: 240px; position: relative; }
.chart-wrap-sm { height: 200px; position: relative; }

/* ── PIPELINE ────────────────────────────────────────────── */
.pipeline-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--space-4);
}
.pipeline-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  transition: box-shadow var(--transition);
}
.pipeline-card:hover { box-shadow: var(--shadow-md); }
/* Header row: logo + name/sector + badge */
.pipeline-header {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.pipeline-logo-wrap {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-md);
  background: var(--color-surface-2);
  border: 1px solid var(--color-border);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}
.pipeline-logo-placeholder {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-text-muted);
  letter-spacing: -0.02em;
}
.basepower-placeholder {
  background: #E8F3E8;
  color: #437A22;
  border-color: #C5DFC5;
}
.pipeline-logo {
  width: 36px;
  height: 36px;
  object-fit: contain;
  image-rendering: -webkit-optimize-contrast;
}
.pipeline-header-text { flex: 1; min-width: 0; }
.pipeline-name {
  font-size: var(--text-base);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--color-text);
  line-height: 1.2;
}
.pipeline-sector {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  margin-top: 1px;
}
.pipeline-desc {
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text);
  line-height: 1.45;
}
.pipeline-detail {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  line-height: 1.55;
  flex: 1;
}
.pipeline-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-divider);
  margin-top: auto;
}
.pipeline-val {
  font-size: var(--text-xs);
  font-weight: 600;
  color: var(--color-text);
}
.pipeline-status {
  font-size: 0.7rem;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 4px;
  letter-spacing: 0.03em;
}
.pipeline-status.diligence { background: var(--color-primary-light); color: var(--color-primary); }
.pipeline-status.scouting  { background: #E8F0FB; color: #1B4FA0; }
.pipeline-status.reviewing { background: var(--color-surface-2); color: var(--color-text-muted); }

.tag-robotics { background: #FEF3E2; color: #8A4900; }
.tag-cyber    { background: #E8F0FB; color: #1B4FA0; }

/* ── NEWS FEED ───────────────────────────────────────────── */
.news-feed {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.news-item {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: var(--space-6);
  padding: var(--space-5) var(--space-6);
  border-bottom: 1px solid var(--color-divider);
  background: var(--color-surface);
  transition: background var(--transition);
}
.news-item:last-child { border-bottom: none; }
.news-item:hover { background: var(--color-surface-2); }
.news-date {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  font-weight: 500;
  padding-top: 3px;
  line-height: 1.4;
}
.news-tag {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 2px 6px;
  border-radius: 3px;
  margin-bottom: var(--space-2);
}
.tag-ai       { background: #F3EEF9; color: #7A39BB; }
.tag-defense  { background: #FEF3E2; color: #8A4900; }
.tag-fintech  { background: #E8F3F3; color: #01696F; }
.tag-quantum  { background: #E8F0FB; color: #1B4FA0; }
.tag-secondary{ background: var(--color-success-bg); color: var(--color-success); }
.tag-ipo      { background: #FBF0E9; color: var(--color-warning); }
.tag-record   { background: #FCEEF2; color: var(--color-error); }
.news-title {
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--color-text);
  line-height: 1.35;
  margin-bottom: var(--space-2);
}
.news-body {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  line-height: 1.6;
  margin-bottom: var(--space-2);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-source { font-size: var(--text-xs); color: var(--color-text-faint); }
.news-source a { color: var(--color-text-faint); text-decoration: underline; }
.news-source a:hover { color: var(--color-primary); }
@media (max-width: 600px) {
  .news-item { grid-template-columns: 1fr; gap: var(--space-2); padding: var(--space-4); }
  .news-date { padding-top: 0; }
}

/* ── TRENDS ─────────────────────────────────────────────── */
.trends-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: var(--space-4);
}
.trend-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-5);
  transition: box-shadow var(--transition);
}
.trend-card:hover { box-shadow: var(--shadow-md); }
.trend-icon {
  width: 36px; height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-surface-2);
  border-radius: var(--radius-md);
  color: var(--color-primary);
  margin-bottom: var(--space-3);
}
.trend-label {
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: var(--space-2);
}
.trend-body {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  line-height: 1.6;
  margin-bottom: var(--space-3);
}
.trend-signal {
  font-size: var(--text-xs);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  padding: 2px 8px;
  border-radius: 4px;
}
.trend-signal::before { content: '↑'; }
.trend-signal.up     { background: var(--color-success-bg); color: var(--color-success); }
.trend-signal.neutral{ background: var(--color-surface-2); color: var(--color-text-muted); }
.trend-signal.neutral::before { content: '→'; }
.trend-signal.down   { background: var(--color-error-bg); color: var(--color-error); }
.trend-signal.down::before { content: '↓'; }

/* ── SECONDARY TABLE ─────────────────────────────────────── */
.secondary-table-wrap { overflow-x: auto; border-radius: var(--radius-lg); border: 1px solid var(--color-border); }
.secondary-table { font-size: var(--text-sm); }
.secondary-table thead tr { background: var(--color-surface-2); border-bottom: 1px solid var(--color-border); }
.secondary-table th {
  padding: var(--space-3) var(--space-4);
  font-weight: 600;
  color: var(--color-text-muted);
  text-align: left;
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.secondary-table td {
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--color-divider);
  white-space: nowrap;
  vertical-align: middle;
  color: var(--color-text-muted);
}
.secondary-table td:first-child { color: var(--color-text-faint); font-size: var(--text-xs); }
.secondary-table tbody tr:last-child td { border-bottom: none; }
.secondary-table tbody tr:hover { background: var(--color-surface-2); }
.secondary-table tr.top-pick td { background: var(--color-primary-light); }
.secondary-table tr.top-pick:hover td { filter: brightness(0.97); }
/* Q2 pipeline targets — amber, distinct from teal .top-pick */
.secondary-table tr.pipeline-q2 td { background: #FFF8ED; border-left: none; }
.secondary-table tr.pipeline-q2 td:first-child { border-left: 3px solid #E8900A; }
.secondary-table tr.pipeline-q2:hover td { background: #FFF3E0; }
[data-theme="dark"] .secondary-table tr.pipeline-q2 td { background: #2A2010; }
[data-theme="dark"] .secondary-table tr.pipeline-q2 td:first-child { border-left: 3px solid #FDAB43; }
[data-theme="dark"] .secondary-table tr.pipeline-q2:hover td { background: #332818; }
.delta { font-weight: 700; font-variant-numeric: tabular-nums; font-size: var(--text-sm); }
.delta.pos     { color: var(--color-success); }
.delta.neutral { color: var(--color-text-muted); }
.delta.neg     { color: var(--color-error); }

/* Liquidity bar */
.liq-bar {
  display: block;
  width: 90px; height: 6px;
  background: var(--color-divider);
  border-radius: 3px;
  overflow: hidden;
}
.liq-bar span {
  display: block;
  height: 100%;
  background: var(--color-primary);
  border-radius: 3px;
}

/* ── IRR CELL ───────────────────────────────────────────── */
.irr {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  font-size: var(--text-sm);
}
.irr.positive { color: var(--color-success); }
.irr.neutral  { color: var(--color-text-muted); }

/* ── LOGO PLACEHOLDER (text initials) ───────────────────── */
.logo-placeholder-wrap {
  background: var(--color-surface-2);
  border: 1px solid var(--color-border);
}
.logo-placeholder-text {
  font-size: 0.6rem;
  font-weight: 700;
  color: var(--color-text-muted);
  letter-spacing: -0.02em;
  text-transform: uppercase;
}

/* ── GROUP HEADER ROWS (portfolio table section dividers) ── */
.group-header td {
  background: var(--color-surface-2);
  padding: var(--space-2) var(--space-4);
  border-bottom: 1px solid var(--color-border);
}
.group-label {
  font-size: var(--text-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-text-muted);
}

/* ── SOURCE CELL (secondary market table) ────────────────── */
.source-cell {
  font-size: 0.68rem;
  color: var(--color-text-faint);
  white-space: nowrap;
}

/* ── ANNOUNCEMENT SECTION ──────────────────────────────── */
.announcement-section {
  background: var(--color-text);
  border-top: none;
  border-bottom: none;
  padding: var(--space-20) 0;
}
.announcement-inner {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: var(--space-16);
  align-items: center;
}
@media (max-width: 900px) {
  .announcement-inner { grid-template-columns: 1fr; gap: var(--space-10); }
}

/* Left side */
.announce-eyebrow {
  font-size: var(--text-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-primary);
  margin-bottom: var(--space-4);
  [data-theme="dark"] & { color: #4F98A3; }
}
[data-theme="light"] .announcement-section .announce-eyebrow { color: #4F98A3; }
[data-theme="dark"]  .announcement-section .announce-eyebrow { color: #4F98A3; }
.announcement-section .announce-eyebrow { color: #4F98A3; }

.announce-title {
  font-size: clamp(2rem, 1.4rem + 2.5vw, 3.5rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.1;
  color: #FFFFFF;
  margin-bottom: var(--space-5);
}
.announce-accent {
  color: #4F98A3;
}
.announce-sub {
  font-size: var(--text-base);
  color: rgba(255,255,255,0.65);
  line-height: 1.65;
  max-width: 52ch;
  margin-bottom: var(--space-8);
}

/* Thesis list */
.announce-thesis {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin-bottom: var(--space-8);
}
.announce-thesis-item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
}
.announce-thesis-icon {
  font-size: 1.1rem;
  line-height: 1.4;
  flex-shrink: 0;
}
.announce-thesis-item strong {
  display: block;
  font-size: var(--text-sm);
  font-weight: 700;
  color: #FFFFFF;
  margin-bottom: 2px;
}
.announce-thesis-item span {
  font-size: var(--text-sm);
  color: rgba(255,255,255,0.6);
}

/* IRR strip */
.announce-irr-strip {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-lg);
  padding: var(--space-5) var(--space-6);
}
.announce-irr-label {
  font-size: var(--text-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255,255,255,0.45);
  margin-bottom: var(--space-4);
}
.announce-irr-stats {
  display: flex;
  align-items: center;
  gap: var(--space-6);
  margin-bottom: var(--space-3);
}
.announce-irr-stat {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.announce-irr-val {
  font-size: clamp(1.4rem, 1.2rem + 0.8vw, 2rem);
  font-weight: 700;
  color: #4F98A3;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.announce-irr-name {
  font-size: var(--text-xs);
  color: rgba(255,255,255,0.45);
  font-weight: 500;
}
.announce-irr-divider {
  width: 1px;
  height: 36px;
  background: rgba(255,255,255,0.15);
  flex-shrink: 0;
}
.announce-irr-companies {
  font-size: var(--text-xs);
  color: rgba(255,255,255,0.35);
  letter-spacing: 0.03em;
}

/* Right side CTA card */
.announce-cta-card {
  background: var(--color-surface);
  border-radius: var(--radius-xl);
  padding: var(--space-8);
  box-shadow: 0 20px 60px rgba(0,0,0,0.35);
}
[data-theme="dark"] .announce-cta-card {
  background: #1C1B19;
  box-shadow: 0 20px 60px rgba(0,0,0,0.6);
}
.announce-cta-badge {
  display: inline-block;
  font-size: var(--text-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-primary);
  background: var(--color-primary-light);
  padding: var(--space-1) var(--space-3);
  border-radius: 9999px;
  margin-bottom: var(--space-4);
}
.announce-cta-title {
  font-size: var(--text-xl);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--color-text);
  margin-bottom: var(--space-3);
}
.announce-cta-body {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  line-height: 1.65;
  margin-bottom: var(--space-5);
}
.announce-cta-numbers {
  display: flex;
  gap: var(--space-4);
  margin-bottom: var(--space-6);
  padding: var(--space-4);
  background: var(--color-surface-2);
  border-radius: var(--radius-md);
}
.announce-cta-num {
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex: 1;
}
.num-val {
  font-size: var(--text-base);
  font-weight: 700;
  color: var(--color-text);
  font-variant-numeric: tabular-nums;
}
.num-label {
  font-size: 0.7rem;
  color: var(--color-text-faint);
  font-weight: 500;
}
.announce-signup-btn {
  display: block;
  width: 100%;
  background: var(--color-text);
  color: #FFFFFF;
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.01em;
  padding: var(--space-4) var(--space-6);
  border-radius: var(--radius-md);
  border: none;
  cursor: pointer;
  transition: background var(--transition), transform var(--transition);
  margin-bottom: var(--space-3);
}
.announce-signup-btn:hover {
  background: #000;
  transform: translateY(-1px);
}
[data-theme="dark"] .announce-signup-btn {
  background: #FFFFFF;
  color: #141312;
}
[data-theme="dark"] .announce-signup-btn:hover {
  background: #E0DFDB;
}
.announce-cta-note {
  font-size: 0.7rem;
  color: var(--color-text-faint);
  text-align: center;
  max-width: none;
}

/* ── MODAL ──────────────────────────────────────────────────── */
.modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 999;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(4px);
  align-items: center;
  justify-content: center;
  padding: var(--space-6);
}
.modal-overlay.open {
  display: flex;
  animation: fadeIn 160ms ease;
}
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

.modal-box {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: var(--space-8);
  width: 100%;
  max-width: 480px;
  position: relative;
  animation: slideUp 200ms cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: var(--shadow-lg);
}
@keyframes slideUp {
  from { transform: translateY(16px); opacity: 0; }
  to   { transform: translateY(0);    opacity: 1; }
}
.modal-close {
  position: absolute;
  top: var(--space-4);
  right: var(--space-4);
  width: 32px; height: 32px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-muted);
  transition: background var(--transition);
}
.modal-close:hover { background: var(--color-surface-2); color: var(--color-text); }

.modal-eyebrow {
  font-size: var(--text-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-primary);
  margin-bottom: var(--space-3);
}
.modal-title {
  font-size: var(--text-xl);
  font-weight: 700;
  letter-spacing: -0.025em;
  color: var(--color-text);
  margin-bottom: var(--space-2);
}
.modal-sub {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  line-height: 1.6;
  margin-bottom: var(--space-6);
  max-width: none;
}
.modal-form { display: flex; flex-direction: column; gap: var(--space-4); }
.modal-row  { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); }
@media (max-width: 480px) { .modal-row { grid-template-columns: 1fr; } }

.modal-field { display: flex; flex-direction: column; gap: var(--space-1); }
.modal-field label {
  font-size: var(--text-xs);
  font-weight: 600;
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.modal-field input,
.modal-field select {
  font-family: var(--font-body);
  font-size: var(--text-sm);
  color: var(--color-text);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-3) var(--space-3);
  transition: border-color var(--transition);
  outline: none;
}
.modal-field input:focus,
.modal-field select:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-primary-light);
}
.modal-submit {
  background: var(--color-text);
  color: #FFFFFF;
  font-size: var(--text-sm);
  font-weight: 700;
  padding: var(--space-3) var(--space-6);
  border-radius: var(--radius-md);
  border: none;
  cursor: pointer;
  margin-top: var(--space-2);
  transition: background var(--transition);
}
.modal-submit:hover { background: #000; }
[data-theme="dark"] .modal-submit { background: #FFFFFF; color: #141312; }
[data-theme="dark"] .modal-submit:hover { background: #E0DFDB; }

.modal-success {
  text-align: center;
  padding: var(--space-8) 0;
}
.modal-success-icon {
  width: 52px; height: 52px;
  background: var(--color-success-bg);
  color: var(--color-success);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  font-weight: 700;
  margin: 0 auto var(--space-4);
}
.modal-success h4 {
  font-size: var(--text-lg);
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: var(--space-2);
}
.modal-success p {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  max-width: none;
}

/* ── FOOTER ──────────────────────────────────────────────── */
.site-footer-main {
  padding: var(--space-10) 0;
  border-top: 1px solid var(--color-border);
  background: var(--color-surface);
}
.footer-inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.footer-logo {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-weight: 700;
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  margin-bottom: var(--space-1);
}
.footer-text {
  font-size: var(--text-xs);
  color: var(--color-text-faint);
  max-width: 70ch;
}

/* ── Instagram Preview Cards ─────────────────────────────────────────── */
.ig-cards {
  display: flex;
  gap: 10px;
  margin-top: 14px;
  flex-wrap: wrap;
}
.ig-card {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 10px;
  padding: 10px 14px 10px 10px;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s, box-shadow 0.2s;
  max-width: 320px;
  min-width: 220px;
  flex: 1;
}
.ig-card:hover {
  border-color: #C13584;
  box-shadow: 0 2px 12px rgba(193,53,132,0.10);
}
.ig-card-thumb {
  width: 56px;
  height: 56px;
  border-radius: 6px;
  object-fit: cover;
  flex-shrink: 0;
}
.ig-card-body {
  flex: 1;
  min-width: 0;
}
.ig-card-handle {
  font-size: 11px;
  color: var(--color-text-muted);
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 3px;
}
.ig-card-handle svg {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}
.ig-card-title {
  font-size: 12px;
  font-weight: 600;
  color: var(--color-text);
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ig-card-cta {
  font-size: 11px;
  color: #C13584;
  margin-top: 4px;
  font-weight: 500;
}
[data-theme="dark"] .ig-card {
  background: var(--color-surface);
  border-color: var(--color-border);
}
[data-theme="dark"] .ig-card:hover {
  border-color: #E1306C;
  box-shadow: 0 2px 12px rgba(225,48,108,0.15);
}

/* ══════════════════════════════════════════
   NEWS FEED v2 — reactions, expand, comments, day separator
══════════════════════════════════════════ */

/* Day separator */
.news-day-sep {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 var(--space-6);
  background: var(--color-surface);
  border-bottom: 1px solid var(--color-divider);
}
.news-day-sep-line { flex: 1; height: 1px; background: var(--color-border); }
.news-day-label {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--color-text-faint);
  padding: 10px 0;
  white-space: nowrap;
  flex-shrink: 0;
}

/* Date + time in left column */
.news-date-time { display: flex; flex-direction: column; gap: 3px; padding-top: 3px; }
.news-date { font-size: var(--text-xs); color: var(--color-text-muted); font-weight: 600; line-height: 1.4; }
.news-time {
  font-size: 10px;
  font-weight: 500;
  color: var(--color-text-faint);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 3px;
  padding: 1px 6px;
  display: inline-block;
  width: fit-content;
  letter-spacing: .02em;
}

/* Read more row */
.news-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 10px;
}
.news-read-more {
  font-size: 11px; font-weight: 600; color: var(--color-primary);
  display: inline-flex; align-items: center; gap: 3px;
  background: none; border: none; cursor: pointer;
  font-family: inherit; padding: 0;
}
.news-read-more svg { width: 11px; height: 11px; transition: transform .18s; }
.news-read-more.open svg { transform: rotate(90deg); }
.news-dot { color: var(--color-border); font-size: 14px; }
.news-cmt-count { font-size: 11px; color: var(--color-text-faint); display: inline-flex; align-items: center; gap: 3px; }
.news-cmt-count svg { width: 12px; height: 12px; }

/* Reaction pills */
.news-react-btn {
  display: inline-flex; align-items: center; gap: 3px;
  padding: 2px 8px;
  border: 1px solid var(--color-border);
  border-radius: 20px;
  background: transparent;
  cursor: pointer; font-family: inherit;
  transition: all .12s; user-select: none; line-height: 1;
}
.news-react-btn .r-emoji { font-size: 12px; }
.news-react-btn .r-count { font-size: 11px; font-weight: 600; color: var(--color-text-muted); }
.news-react-btn:hover { background: #E0F0F1; border-color: var(--color-primary); }
.news-react-btn.active { background: #E0F0F1; border-color: var(--color-primary); }
.news-react-btn.active .r-count { color: var(--color-primary); }

/* Expanded body (hidden by default) */
.news-exp {
  display: none;
  grid-column: 1 / -1;
  background: #FAFAF8;
  border-top: 1px solid var(--color-divider);
  padding: var(--space-4) var(--space-6);
  animation: nfd .18s ease;
}
.news-exp.open { display: block; }
@keyframes nfd { from { opacity:0; transform:translateY(-3px); } to { opacity:1; transform:translateY(0); } }

/* Comments inside expanded */
.news-cmt-wrap { margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--color-border); }
.news-cmt-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 10px; }
.news-cmt-row { display: flex; gap: 9px; }
.news-cmt-av {
  width: 24px; height: 24px; border-radius: 50%;
  font-size: 9px; font-weight: 700; color: #fff;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; margin-top: 1px;
}
.news-cmt-body { flex: 1; min-width: 0; }
.news-cmt-meta { display: flex; align-items: baseline; gap: 5px; }
.news-cmt-name { font-size: 12px; font-weight: 600; color: var(--color-text); }
.news-cmt-time { font-size: 10px; color: var(--color-text-faint); margin-left: 5px; }
.news-cmt-txt { font-size: 12px; color: var(--color-text-muted); line-height: 1.5; margin-top: 2px; }
.news-cmt-form { display: flex; gap: 6px; }
.nc-n, .nc-t {
  padding: 7px 10px; font-size: 12px; font-family: inherit;
  border: 1px solid var(--color-border); border-radius: 6px;
  background: var(--color-surface); color: var(--color-text); outline: none;
}
.nc-n { width: 90px; flex-shrink: 0; }
.nc-n:focus, .nc-t:focus { border-color: var(--color-primary); }
.nc-t { flex: 1; min-width: 0; }
.nc-b {
  padding: 7px 14px; font-size: 12px; font-weight: 600; font-family: inherit;
  background: var(--color-primary); color: #fff; border: none;
  border-radius: 6px; cursor: pointer; flex-shrink: 0; transition: opacity .12s;
}
.nc-b:hover { opacity: .85; }


/* ══════════════════════════════════════════════════════════════════════════
   NEW SECTIONS — Added in final mix update
   ══════════════════════════════════════════════════════════════════════════ */

/* ── BROKER DEALS LINE (hero) ─────────────────────────────────────────────── */
.broker-deals-line {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 24px;
  padding: 14px 20px;
  background: var(--color-primary-light, rgba(1,105,111,.07));
  border: 1px solid rgba(1,105,111,.18);
  border-radius: 10px;
  font-size: 14px;
  color: var(--color-text, #1a1a1a);
  line-height: 1.5;
}
.broker-deals-line svg {
  flex-shrink: 0;
  color: var(--color-primary, #01696F);
  opacity: .8;
}
.broker-deals-line strong {
  font-weight: 600;
  color: var(--color-primary, #01696F);
}

/* ── PIPELINE 3-COLUMN LAYOUT ────────────────────────────────────────────── */
.pipe-hd-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 32px;
  flex-wrap: wrap;
  gap: 16px;
}
.pipe-all-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border: 1.5px solid var(--color-border, #e0deda);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--color-text, #1a1a1a);
  background: var(--color-surface, #fff);
  cursor: pointer;
  transition: border-color .15s, background .15s;
  white-space: nowrap;
}
.pipe-all-btn:hover {
  border-color: var(--color-primary, #01696F);
  color: var(--color-primary, #01696F);
  background: var(--color-primary-light, rgba(1,105,111,.05));
}

.pipe-layout {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 24px;
  align-items: start;
}
@media (max-width: 900px) {
  .pipe-layout { grid-template-columns: 1fr; }
  .pipe-vote-panel { order: -1; }
}

.pipe-kanban {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media (max-width: 700px) {
  .pipe-kanban { grid-template-columns: 1fr; }
}

.pipe-col { display: flex; flex-direction: column; gap: 12px; }

.pipe-col-hd {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 8px 12px;
  border-radius: 6px;
}
.pipe-col-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}
.pipe-col-hd.closing  { background: rgba(1,105,111,.1);  color: var(--color-primary, #01696F); }
.pipe-col-hd.closing .pipe-col-dot  { background: var(--color-primary, #01696F); }
.pipe-col-hd.open     { background: rgba(1,82,140,.09);  color: #01527C; }
.pipe-col-hd.open .pipe-col-dot     { background: #01527C; }
.pipe-col-hd.upcoming { background: rgba(130,130,130,.1); color: #666; }
.pipe-col-hd.upcoming .pipe-col-dot { background: #aaa; }

.pipe-card-sm {
  background: var(--color-surface, #fff);
  border: 1px solid var(--color-border, #e0deda);
  border-radius: 10px;
  padding: 14px 16px;
  transition: box-shadow .15s;
}
.pipe-card-sm:hover { box-shadow: 0 4px 14px rgba(0,0,0,.06); }
.pipe-card-tbd { opacity: .5; }

.pipe-card-top {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}
.pipe-logo-sm-wrap {
  width: 32px; height: 32px;
  border-radius: 8px;
  overflow: hidden;
  background: var(--color-bg, #F5F4F0);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  color: var(--color-primary, #01696F);
  border: 1px solid var(--color-border, #e0deda);
}
.bp-logo { background: #1a1a2e; color: #7EB3FF; font-size: 11px; }
.pipe-logo-sm { width: 32px; height: 32px; object-fit: contain; }
.pipe-card-name { font-size: 13.5px; font-weight: 600; color: var(--color-text, #1a1a1a); line-height: 1.2; }
.pipe-card-sec  { font-size: 11.5px; color: var(--color-text-muted, #888); margin-top: 1px; }
.pipe-card-body { font-size: 12.5px; color: var(--color-text-secondary, #555); line-height: 1.5; margin-bottom: 10px; }
.pipe-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }

.pipe-chip {
  font-size: 10.5px;
  font-weight: 500;
  padding: 3px 8px;
  border-radius: 4px;
  white-space: nowrap;
}
.chip-early  { background: rgba(1,105,111,.1); color: var(--color-primary, #01696F); }
.chip-growth { background: rgba(1,82,140,.09); color: #01527C; }
.pipe-val { font-size: 12px; font-weight: 600; color: var(--color-text, #1a1a1a); }

/* ── VOTE PANEL ──────────────────────────────────────────────────────────── */
.pipe-vote-panel {
  background: var(--color-surface, #fff);
  border: 1px solid var(--color-border, #e0deda);
  border-radius: 12px;
  padding: 20px;
}
.vote-panel-hd { margin-bottom: 16px; }
.vote-panel-title {
  display: block;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--color-text, #1a1a1a);
  margin-bottom: 3px;
}
.vote-panel-desc { font-size: 12px; color: var(--color-text-muted, #888); }

.vote-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; }

.vote-row {
  display: grid;
  grid-template-columns: 1fr auto auto auto;
  align-items: center;
  gap: 8px;
}
.vote-name { font-size: 12.5px; font-weight: 500; color: var(--color-text, #1a1a1a); }
.vote-bar-wrap {
  grid-column: 1 / -1;
  height: 3px;
  background: var(--color-border, #e0deda);
  border-radius: 2px;
  overflow: hidden;
  margin-top: -6px;
  order: 5;
}
/* Reorder using actual grid positioning */
.vote-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
}
.vote-name { flex: 1; min-width: 0; font-size: 12.5px; font-weight: 500; }
.vote-count { font-size: 11.5px; color: var(--color-text-muted, #888); font-weight: 500; min-width: 18px; text-align: right; }
.vote-bar-wrap { flex: 0 0 100%; height: 3px; background: var(--color-bg, #F5F4F0); border-radius: 2px; overflow: hidden; }
.vote-bar { height: 100%; background: var(--color-primary, #01696F); border-radius: 2px; transition: width .4s cubic-bezier(.25,.1,.25,1); }
.vote-btn {
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 600;
  border: 1px solid var(--color-border, #e0deda);
  border-radius: 4px;
  color: var(--color-text-muted, #888);
  background: var(--color-bg, #F5F4F0);
  transition: all .12s;
  cursor: pointer;
}
.vote-btn:hover { border-color: var(--color-primary, #01696F); color: var(--color-primary, #01696F); background: var(--color-primary-light, rgba(1,105,111,.06)); }
.vote-btn.voted { background: var(--color-primary, #01696F); color: #fff; border-color: var(--color-primary, #01696F); }

.vote-add-row { display: flex; gap: 8px; margin-bottom: 10px; }
.vote-input {
  flex: 1;
  padding: 7px 10px;
  font-size: 12px;
  border: 1px solid var(--color-border, #e0deda);
  border-radius: 6px;
  background: var(--color-bg, #F5F4F0);
  color: var(--color-text, #1a1a1a);
  outline: none;
  transition: border-color .15s;
  font-family: inherit;
}
.vote-input:focus { border-color: var(--color-primary, #01696F); }
.vote-add-btn {
  padding: 7px 12px;
  font-size: 12px;
  font-weight: 600;
  background: var(--color-primary, #01696F);
  color: #fff;
  border-radius: 6px;
  white-space: nowrap;
}
.vote-add-btn:hover { background: var(--color-primary-dk, #004D52); }
.vote-note { font-size: 11px; color: var(--color-text-muted, #aaa); line-height: 1.5; }
.vote-note a { color: var(--color-primary, #01696F); text-decoration: underline; text-decoration-thickness: 1px; }

/* ── PIPELINE ALL-DEALS MODAL ────────────────────────────────────────────── */
.pipeline-modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 200;
  align-items: center;
  justify-content: center;
}
.pipeline-modal-overlay.open { display: flex; }
.pipeline-modal-box {
  background: var(--color-surface, #fff);
  border-radius: 14px;
  padding: 28px 32px;
  width: 480px;
  max-width: 90vw;
  max-height: 80vh;
  overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0,0,0,.18);
}
.pipeline-modal-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
.pipeline-modal-hd h3 { font-size: 16px; font-weight: 600; }
.pipeline-modal-hd button { color: var(--color-text-muted, #888); border-radius: 6px; padding: 2px; }
.pipeline-modal-hd button:hover { color: var(--color-text, #1a1a1a); }
.pipeline-modal-list { display: flex; flex-direction: column; gap: 12px; }
.pm-item {
  padding: 12px 14px;
  border: 1px solid var(--color-border, #e0deda);
  border-radius: 8px;
}
.pm-status {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 5px;
}
.pm-status span {
  width: 6px; height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.pm-status.closing { color: var(--color-primary, #01696F); }
.pm-status.closing span { background: var(--color-primary, #01696F); }
.pm-status.open { color: #01527C; }
.pm-status.open span { background: #01527C; }
.pm-status.upcoming { color: #888; }
.pm-status.upcoming span { background: #aaa; }
.pm-name { font-size: 14px; font-weight: 600; color: var(--color-text, #1a1a1a); }
.pm-sec  { font-size: 12px; color: var(--color-text-muted, #888); margin-top: 2px; }

/* ── ROLLING FUND — NEW ───────────────────────────────────────────────────── */
.rf-section { background: var(--color-bg, #F5F4F0); }

.rf-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 32px;
  align-items: stretch;
  margin-top: 8px;
}
@media (max-width: 900px) {
  .rf-layout { grid-template-columns: 1fr; }
}

.rf-block { margin-bottom: 32px; }
.rf-block:last-child { margin-bottom: 0; }
.rf-block-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-primary, #01696F);
  margin-bottom: 14px;
}

/* Track record performers */
.rf-performers { display: flex; flex-direction: column; gap: 12px; }
.rf-perf-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: var(--color-surface, #fff);
  border: 1px solid var(--color-border, #e0deda);
  border-radius: 10px;
}
.rf-perf-logo-wrap {
  width: 36px; height: 36px;
  border-radius: 8px;
  overflow: hidden;
  background: var(--color-bg, #F5F4F0);
  flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
}
.rf-perf-logo { width: 36px; height: 36px; object-fit: contain; }
.rf-perf-name { font-size: 13.5px; font-weight: 600; color: var(--color-text, #1a1a1a); line-height: 1.2; }
.rf-perf-ret  { font-size: 12px; font-weight: 500; color: var(--color-primary, #01696F); margin-top: 2px; }
.rf-perf-ret.gold-text { color: #A07020; }
.rf-perf-note { font-size: 11.5px; color: var(--color-text-muted, #aaa); margin-top: 1px; }

/* Thesis list */
.rf-thesis-list { display: flex; flex-direction: column; gap: 10px; }
.rf-thesis-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--color-text-secondary, #555);
}
.rf-thesis-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--color-primary, #01696F);
  flex-shrink: 0;
  margin-top: 8px;
}
.rf-thesis-item strong { color: var(--color-text, #1a1a1a); font-weight: 600; }

/* CTA black card — aligns top with intro paragraph, bottom with last bullet */
.rf-cta-card {
  background: #0F0F0F;
  border-radius: 16px;
  padding: 32px 28px;
  color: #fff;
  align-self: stretch;
  display: flex;
  flex-direction: column;
}
.rf-cta-badge {
  display: inline-block;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.6);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 4px;
  padding: 3px 10px;
  margin-bottom: 16px;
}
.rf-cta-title {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.25;
  color: #fff;
  margin-bottom: 10px;
  letter-spacing: -.02em;
}
.rf-cta-sub {
  font-size: 13.5px;
  color: rgba(255,255,255,.6);
  line-height: 1.6;
  margin-bottom: 20px;
}

.rf-cta-conditions {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 24px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  overflow: hidden;
}
.rf-cond-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  gap: 12px;
}
.rf-cond-row:last-child { border-bottom: none; }
.rf-cond-label { font-size: 12px; color: rgba(255,255,255,.5); }
.rf-cond-val   { font-size: 13px; font-weight: 600; color: #fff; }

.rf-form { display: flex; flex-direction: column; gap: 10px; }
.rf-in {
  padding: 11px 14px;
  font-size: 13.5px;
  border: 1.5px solid rgba(255,255,255,.18);
  border-radius: 8px;
  background: rgba(255,255,255,.07);
  color: #fff;
  outline: none;
  transition: border-color .15s;
  font-family: inherit;
}
.rf-in:focus { border-color: rgba(255,255,255,.5); }
.rf-in::placeholder { color: rgba(255,255,255,.35); }
.rf-submit {
  padding: 13px 20px;
  font-size: 14px;
  font-weight: 600;
  background: var(--color-primary, #01696F);
  color: #fff;
  border-radius: 8px;
  margin-top: 2px;
  transition: background .15s;
}
.rf-submit:hover { background: #004D52; }
.rf-submit:disabled { background: rgba(255,255,255,.2); cursor: default; }
.rf-note {
  font-size: 11px;
  color: rgba(255,255,255,.35);
  text-align: center;
  margin-top: 4px;
}

/* ── NEWS V5 STYLE ───────────────────────────────────────────────────────── */
.news-v5-layout {
  display: grid;
  grid-template-columns: 1fr 260px;
  grid-template-rows: auto auto;
  gap: 0 32px;
}
@media (max-width: 860px) {
  .news-v5-layout { grid-template-columns: 1fr; }
  .news-v5-sidebar { display: none; }
}
.news-v5-list { grid-column: 1; grid-row: 1; }
.nv5-more-wrap { grid-column: 1; grid-row: 2; margin-top: 16px; }
.news-v5-sidebar { grid-column: 2; grid-row: 1 / 3; }

.nv5-item {
  padding: 22px 0;
  border-bottom: 1px solid var(--color-border, #e0deda);
}
.nv5-item:first-child { padding-top: 0; }

.nv5-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
}
.nv5-tag {
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 2px 8px;
  border-radius: 3px;
}
.tag-ai       { background: rgba(1,105,111,.1);  color: var(--color-primary, #01696F); }
.tag-aerospace { background: rgba(30,60,120,.1);  color: #1a3c78; }
.tag-fintech  { background: rgba(120,60,1,.08);   color: #784101; }
.tag-pe       { background: rgba(80,60,120,.1);   color: #503C78; }
.tag-crypto   { background: rgba(180,130,0,.1);   color: #7A5500; }
.nv5-dot { width: 3px; height: 3px; border-radius: 50%; background: var(--color-text-muted, #bbb); }
.nv5-date { font-size: 11.5px; color: var(--color-text-muted, #999); }

.nv5-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text, #1a1a1a);
  line-height: 1.35;
  margin-bottom: 6px;
  letter-spacing: -.01em;
}
.nv5-body {
  font-size: 13.5px;
  color: var(--color-text-secondary, #555);
  line-height: 1.65;
  margin-bottom: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.nv5-body.open { display: block; -webkit-line-clamp: unset; }

.nv5-read {
  font-size: 12px;
  font-weight: 500;
  color: var(--color-primary, #01696F);
  padding: 0;
  transition: opacity .12s;
}
.nv5-read:hover { opacity: .75; }

.nv5-exp {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s cubic-bezier(.25,.1,.25,1);
}
.nv5-exp.open { max-height: 400px; }
.nv5-exp-body {
  margin-top: 10px;
  font-size: 13px;
  color: var(--color-text-secondary, #555);
  line-height: 1.7;
  padding: 14px 16px;
  background: var(--color-bg, #F5F4F0);
  border-radius: 8px;
  border-left: 3px solid var(--color-primary, #01696F);
}

.nv5-hidden { display: none; }

.nv5-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  font-size: 13px;
  font-weight: 500;
  border: 1.5px solid var(--color-border, #e0deda);
  border-radius: 8px;
  color: var(--color-text, #1a1a1a);
  background: var(--color-surface, #fff);
  transition: border-color .15s, color .15s;
}
.nv5-more-btn:hover { border-color: var(--color-primary, #01696F); color: var(--color-primary, #01696F); }

/* news sidebar */
.news-v5-sidebar {
  padding-top: 0;
}
.nvs-title {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-text-muted, #999);
  margin-bottom: 14px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--color-border, #e0deda);
}
.nvs-item {
  padding: 14px 0;
  border-bottom: 1px solid var(--color-border, #e0deda);
}
.nvs-item:last-child { border-bottom: none; }
.nvs-tag {
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--color-primary, #01696F);
  margin-bottom: 4px;
}
.nvs-text { font-size: 12.5px; color: var(--color-text-secondary, #555); line-height: 1.5; margin-bottom: 4px; }
.nvs-date { font-size: 11px; color: var(--color-text-muted, #aaa); }

/* ── INSTAGRAM HORIZONTAL SCROLL (Apple-style) ──────────────────────────── */
.ig-scroll-track-wrap {
  position: relative;
  margin-top: 28px;
}
.ig-scroll-track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 4px 40px 20px;
  /* indent so nav buttons don't cover first card */
}
.ig-scroll-track::-webkit-scrollbar { display: none; }

.ig-card {
  flex: 0 0 260px;
  scroll-snap-align: start;
  background: var(--color-surface, #fff);
  border: 1px solid var(--color-border, #e0deda);
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  transition: transform .2s cubic-bezier(.25,.1,.25,1), box-shadow .2s;
  cursor: pointer;
}
.ig-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(0,0,0,.1);
}

.ig-card-img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 9/16;
  max-height: 380px;
  background: #111;
  overflow: hidden;
}
.ig-card-img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .3s cubic-bezier(.25,.1,.25,1);
}
.ig-card:hover .ig-card-img { transform: scale(1.03); }
.ig-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0,0,0,.55) 0%, transparent 50%);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity .2s;
}
.ig-card:hover .ig-card-overlay { opacity: 1; }
.ig-play-icon {
  width: 48px; height: 48px;
  color: rgba(255,255,255,.9);
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.3));
}

.ig-card-body {
  padding: 14px 16px 18px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.ig-card-handle {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  color: var(--color-text-muted, #aaa);
  font-weight: 500;
}
.ig-card-caption {
  font-size: 13px;
  font-weight: 500;
  color: var(--color-text, #1a1a1a);
  line-height: 1.4;
  flex: 1;
}
.ig-card-cta {
  font-size: 12px;
  font-weight: 600;
  color: var(--color-primary, #01696F);
  margin-top: 4px;
}

/* nav buttons */
.ig-nav {
  position: absolute;
  top: calc(50% - 22px);
  width: 40px; height: 40px;
  background: var(--color-surface, #fff);
  border: 1px solid var(--color-border, #e0deda);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 10px rgba(0,0,0,.1);
  z-index: 10;
  transition: box-shadow .15s, transform .15s;
  cursor: pointer;
  color: var(--color-text, #1a1a1a);
}
.ig-nav:hover { box-shadow: 0 4px 16px rgba(0,0,0,.15); transform: scale(1.05); }
.ig-nav-prev { left: 0; }
.ig-nav-next { right: 0; }
@media (max-width: 640px) { .ig-nav { display: none; } }

/* dark mode overrides for new sections */
[data-theme="dark"] .pipe-card-sm,
[data-theme="dark"] .rf-perf-item,
[data-theme="dark"] .pipe-vote-panel,
[data-theme="dark"] .ig-card,
[data-theme="dark"] .pipeline-modal-box {
  background: var(--color-surface);
  border-color: var(--color-border);
}
[data-theme="dark"] .nv5-exp-body {
  background: rgba(255,255,255,.06);
}
[data-theme="dark"] .broker-deals-line {
  background: rgba(1,105,111,.12);
  border-color: rgba(1,105,111,.25);
}

/* ══════════════════════════════════════════════════════════════
   ROUND 2 — New classes
   ══════════════════════════════════════════════════════════════ */

/* ── Pipeline: full-width (no vote sidebar) ────────────────── */
.pipe-layout--full {
  display: block; /* override the 2-col grid */
}
.pipe-kanban--3col {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media (max-width: 700px) {
  .pipe-kanban--3col { grid-template-columns: 1fr; }
}

/* ── Pipeline: val today / est. 12m row on cards ──────────── */
.pipe-val-row {
  display: flex;
  align-items: stretch;
  gap: 0;
  margin: 10px 0;
  background: var(--color-bg, #F5F4F0);
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--color-border, #e0deda);
}
.pipe-val-block {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 8px 10px;
  gap: 2px;
}
.pipe-val-divider {
  width: 1px;
  background: var(--color-border, #e0deda);
  flex-shrink: 0;
}
.pipe-val-label {
  font-size: 10.5px;
  font-weight: 500;
  color: var(--color-text-muted, #aaa);
  text-transform: uppercase;
  letter-spacing: .04em;
  white-space: nowrap;
}
.pipe-val-num {
  font-size: 14px;
  font-weight: 700;
  color: var(--color-text, #1a1a1a);
  line-height: 1.2;
}
.pipe-val-up {
  color: var(--color-primary, #01696F);
}

/* ── Featured card (Open / Lovable) ──────────────────────── */
.pipe-card-featured {
  border-color: var(--color-primary, #01696F);
  box-shadow: 0 0 0 1px var(--color-primary, #01696F);
}
.pipe-card-featured .pipe-val-num.pipe-val-up {
  color: #01527C;
}

/* ── Rolling Fund: intro paragraph ──────────────────────── */
.rf-intro {
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--color-text-secondary, #555);
  max-width: 680px;
  margin-bottom: 36px;
}
.rf-intro strong {
  color: var(--color-text, #1a1a1a);
  font-weight: 600;
}

/* ── Rolling Fund: multiple badge on performer rows ──────── */
.rf-perf-info {
  flex: 1;
  min-width: 0;
}
.rf-perf-mult {
  font-size: 20px;
  font-weight: 700;
  color: var(--color-text, #1a1a1a);
  white-space: nowrap;
  margin-left: auto;
  flex-shrink: 0;
}
.rf-perf-mult.gold-text { color: #A07020; }

/* ── RF thesis same font size as body ────────────────────── */
.rf-thesis-item {
  font-size: 14.5px !important;
  color: var(--color-text-secondary, #555) !important;
}

/* ═══════════════════════════════════════════════════════════
   Q2 WHAT TO WATCH — horizontal scroll card carousel
   ═══════════════════════════════════════════════════════════ */
.wtw-scroll-wrap {
  position: relative;
  margin-top: 32px;
  /* allow cards to bleed to edge */
  width: 100%;
  overflow: hidden;
}

.wtw-track {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  max-width: var(--container-max, 1140px);
  margin: 0 auto;
  padding: 0 24px 16px;
  box-sizing: border-box;
  /* keep horizontal scroll on small screens */
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
@media (max-width: 900px) {
  .wtw-track {
    grid-template-columns: repeat(4, 280px);
  }
}
.wtw-track::-webkit-scrollbar { display: none; }

.wtw-card {
  flex: 0 0 280px;
  scroll-snap-align: start;
  border-radius: 14px;
  overflow: hidden;
  background: var(--color-surface, #fff);
  border: 1px solid var(--color-border, #e0deda);
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  transition: box-shadow .18s, transform .18s;
}
.wtw-card:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,.1);
  transform: translateY(-2px);
}

.wtw-img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #111;
  flex-shrink: 0;
}
.wtw-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .3s;
}
.wtw-card:hover .wtw-img { transform: scale(1.04); }

.wtw-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,.12) 0%, rgba(0,0,0,.38) 100%);
  pointer-events: none;
}

.wtw-tag-chip {
  position: absolute;
  top: 12px;
  left: 12px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  color: #fff;
  padding: 4px 10px;
  border-radius: 20px;
  pointer-events: none;
  z-index: 2;
  border: 1px solid rgba(255,255,255,0.2);
}

.wtw-card-body {
  padding: 16px 18px 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.wtw-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text, #1a1a1a);
  line-height: 1.45;
  margin: 0;
}
.wtw-cta {
  font-size: 12px;
  font-weight: 600;
  color: var(--color-primary, #01696F);
  margin-top: auto;
}



/* dark mode overrides for Round 2 */
[data-theme="dark"] .pipe-val-row {
  background: rgba(255,255,255,.06);
  border-color: var(--color-border);
}
[data-theme="dark"] .wtw-card {
  background: var(--color-surface);
  border-color: var(--color-border);
}
[data-theme="dark"] .wtw-nav {
  background: var(--color-surface);
  border-color: var(--color-border);
}

/* ══════════════════════════════════════════════════════════════
   PIPELINE COLUMN HEADER COLORS
   ══════════════════════════════════════════════════════════════ */
.pipe-col-hd {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  padding: 8px 12px 10px;
  border-radius: 8px 8px 0 0;
  margin-bottom: 12px;
}
.pipe-col-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

/* Closing soon — red pastel */
.pipe-col-hd.closing {
  background: rgba(220, 60, 60, 0.08);
  color: #C0392B;
}
.pipe-col-hd.closing .pipe-col-dot { background: #E74C3C; }

/* Open — bright blue */
.pipe-col-hd.open {
  background: rgba(37, 99, 235, 0.10);
  color: #1D4ED8;
}
.pipe-col-hd.open .pipe-col-dot { background: #2563EB; }

/* Coming soon — neutral */
.pipe-col-hd.upcoming {
  background: rgba(0,0,0,.05);
  color: var(--color-text-muted, #888);
}
.pipe-col-hd.upcoming .pipe-col-dot { background: #aaa; }

/* ── RF badge: teal (same as submit button) ────────────────── */
.rf-cta-badge--open {
  background: var(--color-primary, #01696F) !important;
  color: #fff !important;
  border: none !important;
  opacity: 1 !important;
}

/* ── Thank-you state ────────────────────────────────────────── */
.rf-thankyou {
  text-align: center;
  padding: 32px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}
.rf-ty-icon {
  width: 48px; height: 48px;
  border-radius: 50%;
  background: var(--color-primary, #01696F);
  color: #fff;
  font-size: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}
.rf-ty-msg {
  font-size: 14px;
  line-height: 1.6;
  color: rgba(255,255,255,.8);
  max-width: 260px;
}
